From d44cbcf44d596c837ebd1bc789de2bfbf0091532 Mon Sep 17 00:00:00 2001 From: Alex Kaszynski Date: Sat, 17 Mar 2018 15:03:35 +0100 Subject: [PATCH] fixed nodal averaging for mixed elements --- README.rst | 2 +- doc/ansys_control.rst | 57 +- pyansys/__init__.py | 1 + pyansys/_cellqual.pxd | 4 + pyansys/{cython => }/_cellqual.pyx | 6 +- pyansys/_version.py | 2 +- pyansys/ansys.py | 104201 +++++++++++++------------- pyansys/ansysbase.py | 45 +- pyansys/binary_reader.py | 109 +- pyansys/convert.py | 98 + pyansys/cylinder_disp.png | Bin 95847 -> 0 bytes pyansys/cylinder_sx.png | Bin 106949 -> 0 bytes pyansys/cylinder_vonmises.png | Bin 88778 -> 0 bytes pyansys/cython/_cellqual.pxd | 3 - pyansys/cython/_rstHelper.pyx | 389 +- pyansys/examples/examples.py | 18 +- setup.py | 4 +- 17 files changed, 52654 insertions(+), 52285 deletions(-) create mode 100644 pyansys/_cellqual.pxd rename pyansys/{cython => }/_cellqual.pyx (99%) create mode 100644 pyansys/convert.py delete mode 100644 pyansys/cylinder_disp.png delete mode 100644 pyansys/cylinder_sx.png delete mode 100644 pyansys/cylinder_vonmises.png delete mode 100755 pyansys/cython/_cellqual.pxd diff --git a/README.rst b/README.rst index 4a15875f4e..43f56ece94 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ pyansys ======= This Python module allows you to: - - Interactively control an instance of ANSYS using Python. Linux only (for now) + - Interactively control an instance of ANSYS using Python. Linux only (for now). - Extract data from ANSYS files and to display them if ``VTK`` is installed. - Read in result ``(.rst)``, mass and stiffness ``(.full)``, and block archive ``(.cdb)`` files. diff --git a/doc/ansys_control.rst b/doc/ansys_control.rst index f686940f93..e77695149b 100644 --- a/doc/ansys_control.rst +++ b/doc/ansys_control.rst @@ -148,7 +148,62 @@ Additionally, each function with the ANSYS class has help associated within it. same number will be redefined. Keypoints may be redefined only if it is not yet attached to a line or is not yet meshed. Solid modeling in a toroidal system is not recommended. - + + +Translating Scripts +------------------- +Existing ANSYS scripts can be translated using: + +.. code:: python + + import pyansys + + inputfile = 'ansys_inputfile.inp' + pyscript = 'pyscript.py' + pyansys.ConvertFile(inputfile, pyscript) + +For example, verification file vm1.dat: + +.. code:: + + /VERIFY,VM1 + /PREP7 + /TITLE, VM1, STATICALLY INDETERMINATE REACTION FORCE ANALYSIS + C*** STR. OF MATL., TIMOSHENKO, PART 1, 3RD ED., PAGE 26, PROB.10 + ANTYPE,STATIC ! STATIC ANALYSIS + ET,1,LINK180 + SECTYPE,1,LINK + SECDATA,1 ! CROSS SECTIONAL AREA (ARBITRARY) = 1 + MP,EX,1,30E6 + N,1 + N,2,,4 + N,3,,7 + N,4,,10 + E,1,2 ! DEFINE ELEMENTS + +Translates to: + +.. code:: python + + import pyansys + ansys = pyansys.ANSYS(loglevel="debug") + + ansys.RunCommand("/VERIFY,VM1") + ansys.RunCommand("/PREP7") + ansys.RunCommand("/TITLE, VM1, STATICALLY INDETERMINATE REACTION FORCE ANALYSIS") + ansys.RunCommand("C*** STR. OF MATL., TIMOSHENKO, PART 1, 3RD ED., PAGE 26, PROB.10") + ansys.Antype("STATIC ! STATIC ANALYSIS") + ansys.Et(1, "LINK180") + ansys.Sectype(1, "LINK") + ansys.Secdata("1 ! CROSS SECTIONAL AREA (ARBITRARY) = 1") + ansys.Mp("EX", 1, 30E6) + ansys.N(1) + ansys.N(2, "", 4) + ansys.N(3, "", 7) + ansys.N(4, "", 10) + ansys.E(1, "2 ! DEFINE ELEMENTS") + +Some of the commands with ``/`` are not directly translated to functions and are instead run as commands. See the following Caveats and Notes section for more details. Caveats and Notes ----------------- diff --git a/pyansys/__init__.py b/pyansys/__init__.py index 19bff62461..b48b45bdd2 100755 --- a/pyansys/__init__.py +++ b/pyansys/__init__.py @@ -5,3 +5,4 @@ from pyansys.binary_reader import FullReader from pyansys.cellquality import * from pyansys.ansys import ANSYS +from pyansys.convert import ConvertFile diff --git a/pyansys/_cellqual.pxd b/pyansys/_cellqual.pxd new file mode 100644 index 0000000000..a3899d96ff --- /dev/null +++ b/pyansys/_cellqual.pxd @@ -0,0 +1,4 @@ +from libc.stdint cimport int32_t, int64_t + +cdef inline double HexLinJac(int64_t [::1] cellarr, int c, double [:, ::1] pts) nogil + diff --git a/pyansys/cython/_cellqual.pyx b/pyansys/_cellqual.pyx similarity index 99% rename from pyansys/cython/_cellqual.pyx rename to pyansys/_cellqual.pyx index a60ec2bbf0..17f262c478 100755 --- a/pyansys/cython/_cellqual.pyx +++ b/pyansys/_cellqual.pyx @@ -242,10 +242,8 @@ cdef inline double WegLinJac(int64_t [::1] cellarr, int c, return jac -cdef inline double HexLinJac(int64_t [::1] cellarr, int c, - double [:, ::1] pts) nogil: +cdef inline double HexLinJac(int64_t [::1] cellarr, int c, double [:, ::1] pts) nogil: """ Returns minimum scaled jacobian of a hexahedrals cell's edge nodes """ - cdef int indS, ind0, ind1, ind2 cdef double [3] e0 @@ -268,7 +266,7 @@ cdef inline double HexLinJac(int64_t [::1] cellarr, int c, e2[j] = pts[ind2, j] - pts[indS, j] # normalize the determinant of the jacobian - tnorm = (NormCalc(e0)*NormCalc(e1)*NormCalc(e2)) + tnorm = NormCalc(e0)*NormCalc(e1)*NormCalc(e2) normjac = TripleProduct(e1, e2, e0)/tnorm # Track minimum jacobian diff --git a/pyansys/_version.py b/pyansys/_version.py index b5383c111b..8c4c507b09 100644 --- a/pyansys/_version.py +++ b/pyansys/_version.py @@ -1,5 +1,5 @@ # major, minor, patch -version_info = 0, 25, 0 +version_info = 0, 26, 0 # Nice string for the version __version__ = '.'.join(map(str, version_info)) diff --git a/pyansys/ansys.py b/pyansys/ansys.py index 063d8d168a..9de707440c 100644 --- a/pyansys/ansys.py +++ b/pyansys/ansys.py @@ -40,14 +40,19 @@ b'AUX3:', b'AUX12:', b'AUX15:', + # continue b'YES,NO OR CONTINUOUS\)\=', b'executed\?', + # errors b'SHOULD INPUT PROCESSING BE SUSPENDED\?', + # prompts + b'ENTER FORMAT for', ] continue_idx = ready_items.index(b'YES,NO OR CONTINUOUS\)\=') warning_idx = ready_items.index(b'executed\?') error_idx = ready_items.index(b'SHOULD INPUT PROCESSING BE SUSPENDED\?') +prompt_idx = ready_items.index(b'ENTER FORMAT for') nitems = len(ready_items) expect_list = [] @@ -55,7 +60,12 @@ expect_list.append(re.compile(item)) # idenfity ignored commands -ignored = re.compile('\s+'.join(['This', 'command', 'will', 'be', 'ignored'])) +# ignored = re.compile('\s+'.join(['WARNING', 'command', 'ignored'])) +ignored = re.compile('[\s\S]+'.join(['WARNING', 'command', 'ignored'])) +# re.DOTALL = True +# ignored = re.compile('(?:.|\n)+'.join(['WARNING', 'ignored'])) +# ignored = re.compile('[\s\S]+'.join(['WARNING', 'ignored'])) +# print(ignored.search(response)) def SetupLogger(loglevel='INFO'): @@ -177,6 +187,7 @@ class ANSYS(object): # default settings allow_ignore = False auto_continue = True + block_override = None def __init__(self, exec_file=None, run_location=None, jobname='file', nproc=None, override=False, wait=True, loglevel='INFO'): @@ -241,16 +252,26 @@ def __init__(self, exec_file=None, run_location=None, jobname='file', nproc=None self.exec_file = exec_file self.jobname = jobname + def SetLogLevel(self, loglevel): + """ Sets log level """ + SetupLogger(loglevel=loglevel.upper()) + def __enter__(self): return self def RunCommand(self, command, return_response=False, block=True, - continue_on_error=False, timeout=None): + continue_on_error=False, ignore_prompt=False, timeout=None): """ Sends command and returns ANSYS's response """ if not self.process.isalive(): raise Exception('ANSYS process closed') + if self.block_override is not None: + block = self.block_override + + # send the command self.log.debug('Sending command %s' % command) + if ignore_prompt: + self.log.debug('... with ignore_prompt=True') self.process.sendline(command) if block: @@ -267,6 +288,7 @@ def RunCommand(self, command, return_response=False, block=True, else: user_input = input('Response: ') self.process.sendline(user_input) + elif i >= warning_idx and i < error_idx: # warning self.log.debug('Prompt: Response index %i. Matched %s' % (i, ready_items[i].decode('utf-8'))) @@ -277,7 +299,7 @@ def RunCommand(self, command, return_response=False, block=True, user_input = input('Response: ') self.process.sendline(user_input) - elif i >= error_idx: # error + elif i >= error_idx and i < prompt_idx: # error self.log.debug('Error index %i. Matched %s' % (i, ready_items[i].decode('utf-8'))) self.log.error(response) @@ -286,7 +308,22 @@ def RunCommand(self, command, return_response=False, block=True, self.process.sendline(user_input) else: raise Exception(response) - else: + + elif i >= prompt_idx: # prompt + self.log.debug('Prompt index %i. Matched %s' + % (i, ready_items[i].decode('utf-8'))) + self.log.info(response + ready_items[i].decode('utf-8')) + if ignore_prompt: + self.log.debug('Ignoring prompt') + # time.sleep(0.1) + break + else: + user_input = input('Response: ') + self.process.sendline(user_input) + + else: # continue item + self.log.debug('continue index %i. Matched %s' + % (i, ready_items[i].decode('utf-8'))) break # handle response @@ -360,3300 +397,3075 @@ def results(self): def __call__(self, command, **kwargs): self.RunCommand(command, **kwargs) - def Ktran(self, kcnto="", np1="", np2="", ninc="", kinc="", noelem="", - imove="", **kwargs): + def Erase(self, **kwargs): """ - APDL Command: KTRAN + APDL Command: ERASE - Transfers a pattern of keypoints to another coordinate system. + Explicitly erases the current display. + + Notes + ----- + Similar to a hardware screen erase key. Useful during an "immediate" + display to erase the screen without a replot so that the display + continues on a clean screen. This action is automatically included in + commands such as NPLOT and EPLOT. + + If the /NOERASE command is active, issuing the erase command will + simply clear the display area. Subsequent replots will provide the + display previously generated by the /NOERASE command. + + This command is valid in any processor. + + """ + command = "ERASE," % () + self.RunCommand(command, **kwargs) + + def Psel(self, type="", pname1="", pname2="", pname3="", pname4="", + pname5="", pname6="", pname7="", pname8="", pname9="", pname10="", + **kwargs): + """ + APDL Command: PSEL + + Selects a path or paths. Parameters ---------- - kcnto - Reference number of coordinate system where the pattern is to be - transferred. Transfer occurs from the active coordinate system. + type + Label identifying the type of select: - np1, np2, ninc - Transfer keypoints from pattern beginning with NP1 to NP2 (defaults - to NP1) in steps of NINC (defaults to 1). If NP1 = ALL, NP2 and - NINC are ignored and pattern is all selected keypoints [KSEL]. If - NP1 = 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 NP1 (NP2 and NINC are ignored). + S - Select a new path. - kinc - Keypoint increment between sets. If zero, the lowest available - keypoint numbers are assigned [NUMSTR]. + R - Reselect a path from the current set of paths. - noelem - Specifies whether nodes and elements are also to be generated: + A - Additionally select a path and extend the current set of paths. - 0 - Generate nodes and point elements associated with the original keypoints, if - they exist. + U - Unselect a path from the current set of paths. - 1 - Do not generate nodes and elements. + ALL - Restore the full set of paths. - imove - Specifies whether keypoints will be moved or newly defined: + NONE - Unselect the full set of paths. - 0 - Generate additional keypoints. + INV - Invert the current set of paths (selected becomes unselected and vice versa). - 1 - Move original keypoints to new position retaining the same keypoint numbers - (KINC and NOELEM are ignored). Valid only if the old keypoints - are no longer needed at their original positions. - Corresponding meshed items are also moved if not needed at - their original position. + pname1, pname2, pname3, . . . , pname10 + Name of existing path(s). Notes ----- - Transfers a pattern of keypoints (and corresponding mesh) from one - coordinate system to another (see analogous node transfer command, - TRANSFER). The MAT, TYPE, REAL, and ESYS attributes are based upon the - keypoints in the pattern and not upon the current settings. Coordinate - systems may be translated and rotated relative to each other. Initial - pattern may be generated in any coordinate system. Coordinate values - are interpreted in the active coordinate system and are transferred - directly. Solid modeling in a toroidal coordinate system is not - recommended. + Selects a path or multiple paths, up to ten. Data are flagged as + selected and unselected; no data are actually deleted from the + database. There is no default for this command; you must specify a + type and pathname. """ - command = "KTRAN, %s, %s, %s, %s, %s, %s, %s" % (str(kcnto), str(np1), str(np2), str(ninc), str(kinc), str(noelem), str(imove)) + command = "PSEL,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(type), str(pname1), str(pname2), str(pname3), str(pname4), str(pname5), str(pname6), str(pname7), str(pname8), str(pname9), str(pname10)) self.RunCommand(command, **kwargs) - def Store(self, lab="", npts="", **kwargs): + def Asol(self, lab="", opt="", **kwargs): """ - APDL Command: STORE + APDL Command: ASOL - Stores data in the database for the defined variables. + Specifies the output type of an acoustic scattering analysis. Parameters ---------- lab - Valid labels: + Acoustic solver specification (no default): - MERGE - Merge data from results file for the time points in memory with the existing - data using current specifications (default). + SCAT - Set acoustic solver to the scattered field formulation. - NEW - Store a new set of data, replacing any previously stored data with current - result file specifications and deleting any previously- - calculated (OPER) variables. Variables defined using the - ANSOL command are also deleted. + opt + Option identifying an acoustic solver status: - APPEN - Append data from results file to the existing data. + OFF - Deactivate the specified acoustic solver (default). - ALLOC - Allocate (and zero) space for NPTS data points. + ON - Activate the specified acoustic solver. - PSD - Create a new set of frequency points for PSD calculations (replacing any - previously stored data and erasing any previously calculated - data). + Notes + ----- + Use the ASOL command to activate the specified acoustic solution + process. - npts - The number of time points (or frequency points) for storage (used - only with Lab = ALLOC or PSD). The value may be input when using - POST26 with data supplied from other than a results file. This - value is automatically determined from the results file data with - the NEW, APPEN, and MERGE options. For the PSD option, NPTS - determines the resolution of the frequency vector (valid numbers - are between 1 and 10, defaults to 5). + The scattered option (Lab = SCAT) sets the acoustic solver to the + scattered-pressure field formulation. + + Issue the AWAVE command to define the incident pressure pinc. If the + AWAVE command is defined with Opt2 = INT, the acoustic solver is set to + the scattered field formulation regardless of the ASOL command issued. + + """ + command = "ASOL,%s,%s" % (str(lab), str(opt)) + self.RunCommand(command, **kwargs) + + def Mpchg(self, mat="", elem="", **kwargs): + """ + APDL Command: MPCHG + + Changes the material number attribute of an element. + + Parameters + ---------- + mat + Assign this material number to the element. Material numbers are + defined with the material property commands [MP]. + + elem + Element for material change. If ALL, change materials for all + selected elements [ESEL]. Notes ----- - This command stores data from the results file in the database for the - defined variables [NSOL, ESOL, SOLU, JSOL] per specification [FORCE, - LAYERP26, SHELL]. See the Basic Analysis Guide for more information. + Changes the material number of the specified element. Between load + steps in SOLUTION, material properties cannot be changed from linear to + nonlinear, or from one nonlinear option to another. - The STORE,PSD command will create a new frequency vector (variable 1) - for response PSD calculations [RPSD]. This command should first be - issued before defining variables [NSOL, ESOL, RFORCE] for which - response PSD's are to be calculated. + If you change from one MKIN model to another MKIN model, the different + MKIN models need to have the same number of data points. This + requirement also applies if you change from one KINH model to another + KINH model, or from one CHABOCHE model to another CHABOCHE model. """ - command = "STORE, %s, %s" % (str(lab), str(npts)) + command = "MPCHG,%s,%s" % (str(mat), str(elem)) self.RunCommand(command, **kwargs) - def Trans(self, fname="", ext="", **kwargs): + def Cesgen(self, itime="", inc="", nset1="", nset2="", ninc="", **kwargs): """ - APDL Command: TRANS + APDL Command: CESGEN - Reformats File.GRPH for improved performance with plotters. + Generates a set of constraint equations from existing sets. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. - - ext - Filename extension (eight-character maximum). + itime, inc + Do this generation operation a total of ITIMEs, incrementing all + nodes in the existing sets by INC each time after the first. ITIME + must be >1 for generation to occur. - -- - Unused field. + nset1, nset2, ninc + Generate sets from sets beginning with NSET1 to NSET2 (defaults to + NSET1) in steps of NINC (defaults to 1). If NSET1 is negative, + NSET2 and NINC are ignored and the last |NSET1| sets (in sequence + from maximum set number) are used as the sets to be repeated. Notes ----- - Reformats current Fname.GRPH data (based on color) for improved - performance with pen plotters. + Generates additional sets of constraint equations (with same labels) + from existing sets. Node numbers between sets may be uniformly + incremented. """ - command = "TRANS, %s, %s" % (str(fname), str(ext)) + command = "CESGEN,%s,%s,%s,%s,%s" % (str(itime), str(inc), str(nset1), str(nset2), str(ninc)) self.RunCommand(command, **kwargs) - def Bcsoption(self, memory_option="", memory_size="", solve_info="", - **kwargs): + def Slashexpand(self, nrepeat1="", type1="", method1="", dx1="", dy1="", + dz1="", nrepeat2="", type2="", method2="", dx2="", dy2="", + dz2="", nrepeat3="", type3="", method3="", dx3="", dy3="", + dz3="", **kwargs): """ - APDL Command: BCSOPTION + APDL Command: /EXPAND - Sets memory option for the sparse solver. + Allows the creation of a larger graphic display than represented by the + actual finite element analysis model. Parameters ---------- - -- - Unused field + nrepeat1, nrepeat2, nrepeat3 + The number of repetitions required for the element pattern. The + default is 0 (no expansion). - memory_option - Memory allocation option: + type1, type2, type3 + The type of expansion requested. - DEFAULT - Use the default memory allocation strategy for the sparse solver. The default - strategy attempts to run in the INCORE memory mode. If - there is not enough available physical memory when the - solver starts to run in the INCORE memory mode, the - solver will then attempt to run in the OUTOFCORE memory - mode. + RECT - Causes a Cartesian transformation of DX, DY, and DZ for each pattern (default). - INCORE - Use a memory allocation strategy in the sparse solver that will attempt to - obtain enough memory to run with the entire factorized - matrix in memory. This option uses the most amount of - memory and should avoid doing any I/O. By avoiding I/O, - this option achieves optimal solver performance. However, - a significant amount of memory is required to run in this - mode, and it is only recommended on machines with a large - amount of memory. If the allocation for in-core memory - fails, the solver will automatically revert to out-of-core - memory mode. + POLAR - Causes a polar transformation of DR, D-Theta and DZ for each pattern. - OUTOFCORE - Use a memory allocation strategy in the sparse solver that will attempt to - allocate only enough work space to factor each - individual frontal matrix in memory, but will store the - entire factorized matrix on disk. Typically, this - memory mode results in poor performance due to the - potential bottleneck caused by the I/O to the various - files written by the solver. + AXIS - Causes 2-D axisymmetric expansion (that is, rotates a 2-D model created in the + X-Y plane about the Y axis to create a 3-D model). - FORCE - This option, when used in conjunction with the Memory_Size option, allows you - to force the sparse solver to run with a specific amount of - memory. This option is only recommended for the advanced - user who understands sparse solver memory requirements for - the problem being solved, understands the physical memory - on the system, and wants to control the sparse solver - memory usage. + LRECT - Causes a Cartesian transformation of DX, DY, and DZ for each pattern about the + current local coordinate system (specified via the CSYS + command). - memory_size - Initial memory size allocation for the sparse solver in MB. This - argument allows you to tune the sparse solver memory and is not - generally required. Although there is no upper limit for - Memory_Size, the Memory_Size setting should always be well within - the physical memory available, but not so small as to cause the - sparse solver to run out of memory. Warnings and/or errors from the - sparse solver will appear if this value is set too low. If the - FORCE memory option is used, this value is the amount of memory - allocated for the entire duration of the sparse solver solution. + LPOLAR - Causes a polar transformation of DR, D-Theta, and DZ for each pattern about the + local coordinate system (specified via the CSYS command). - --, -- - Unused fields + method1, method2, method3 + The method by which the pattern is repeated. - solve_info - Solver output option: + FULL - Causes a normal repeat of the pattern (default). - OFF - Turns off additional output printing from the sparse solver (default). + HALF - Uses a symmetry transformation for alternate repeats (to produce an image of a + complete circular gear from the image of half a tooth, for + example). - PERFORMANCE - Turns on additional output printing from the sparse solver, including a - performance summary and a summary of file I/O for the - sparse solver. Information on memory usage during - assembly of the global matrix (that is, creation of - the Jobname.FULL file) is also printed with this - option. + dx1, dy1, dz1, dx2, dy2, dz2, dx3, dy3, dz3 + The Cartesian or polar increments between the repeated patterns. + Also determines the reflection plane. Reflection is about the plane + defined by the normal vector (DX, DY, DZ). If you want no + translation, specify a small nonzero value. For a half-image + expansion, the increment DX, DY, or DZ is doubled so that + POLAR,HALF, ,45 produces full images on 90° centers, and RECT,HALF, + ,1 produces full images on 2-meter centers. Notes ----- - This command controls options related to the sparse solver in all - analysis types where the sparse solver can be used. It also controls - the Block Lanczos eigensolver in a modal or buckling analysis. - - The sparse solver runs from one large work space (that is, one large - memory allocation). The amount of memory required for the sparse solver - is unknown until the matrix structure is preprocessed, including - equation reordering. The amount of memory allocated for the sparse - solver is then dynamically adjusted to supply the solver what it needs - to compute the solution. - - If you have a very large memory system, you may want to try selecting - the INCORE memory mode for larger jobs to improve performance. When - running the sparse solver on a machine with very slow I/O performance - (for example, slow hard drive speed), you may want to try using the - INCORE memory mode to achieve better performance. However, doing so may - require much more memory compared to running in the OUTOFCORE memory - mode. - - Running with the INCORE memory mode is best for jobs which comfortably - fit within the limits of the physical memory on a given system. If the - sparse solver work space exceeds physical memory size, the system will - be forced to use virtual memory (or the system page/swap file). In this - case, it is typically more efficient to run with the OUTOFCORE memory - mode. Assuming the job fits comfortably within the limits of the - machine, running with the INCORE memory mode is often ideal for jobs - where repeated solves are performed for a single matrix factorization. - This occurs in a modal or buckling analysis or when doing multiple load - steps in a linear, static analysis. + You can use the /EXPAND command to perform up to three symmetry + expansions at once (that is, X, Y, and Z which is equal to going from a + 1/8 model to a full model). Polar expansions allow you to expand a + wheel section into a half wheel, then into the half section, and then + into the whole. - For repeated runs with the sparse solver, you may set the initial - sparse solver memory allocation to the amount required for - factorization. This strategy reduces the frequency of allocation and - reallocation in the run to make the INCORE option fully effective. If - you have a very large memory system, you may use the Memory_Size - argument to increase the maximum size attempted for in-core runs. + The command displays elements/results when you issue the EPLOT command + or postprocessing commands. - """ - command = "BCSOPTION, %s, %s, %s" % (str(memory_option), str(memory_size), str(solve_info)) - self.RunCommand(command, **kwargs) + The command works on all element and result displays, except as noted + below. As the graphic display is created, the elements (and results) + are repeated as many times as necessary, expanding the geometry and, if + necessary, the displacements and stresses. - def Etcontrol(self, eltech="", eldegene="", **kwargs): - """ - APDL Command: ETCONTROL + Derived results are not supported. - Control the element technologies used in element formulation (for - applicable elements). + The /EXPAND command has the following limitations: - Parameters - ---------- - eltech - Element technology control: + It does not support solid model entities. - SUGGESTION - The program offers a suggestion for the best element technology before solving. - If necessary, mixed u-P (KEYOPT(6)) is also included - and reset. This behavior is the default. + POLAR, FULL or HALF operations are meaningful only in global + cylindrical systems and are unaffected by the RSYS or DSYS commands. + Cartesian symmetry or unsymmetric operations also occur about the + global Cartesian system. - SET - The program informs you of the best settings and resets any applicable KEYOPT - settings automatically. This action overrides any previous - manual settings. + It does not average nodal results across sector boundaries, even for + averaged plots (such as those obtained via the PLNSOL command). - OFF - Deactivates automatic selection of element technology. No suggestions are - issued, and no automatic resetting occurs. + Axisymmetric harmonic element results are not supported for Type = + AXIS. - eldegene - Element degenerated shape control: + The /EXPAND command differs significantly from the EXPAND command in + several respects: - ON - If element shapes are degenerated, the degenerated shape function is employed - and enhanced strain, simplified enhanced strain, and B-bar - formulations are turned off (default). + The uses of /EXPAND are of a more general nature, whereas the EXPAND + command is intended primarily to expand modal cyclic symmetry results. - OFF - If element shapes are degenerated, regular shape functions are still used, and - the specified element technologies (e.g., enhanced strain, - B-bar, uniform reduced integration) are still used. + /EXPAND does not change the database as does the EXPAND command. - Notes - ----- - The command default is ETCONTROL,SUGGESTION,ON. + You cannot print results displayed via /EXPAND. - This command is valid for elements SHELL181, PLANE182, PLANE183, - SOLID185, SOLID186, SOLID187, BEAM188, BEAM189, SHELL208, SHELL209, - PLANE223, SOLID226, SOLID227, REINF264, SOLID272, SOLID273, SHELL281, - SOLID285, PIPE288, PIPE289, ELBOW290. - For more information, see Automatic Selection of Element Technologies - and Formulations in the Element Reference. """ - command = "ETCONTROL, %s, %s" % (str(eltech), str(eldegene)) + command = "/EXPAND,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nrepeat1), str(type1), str(method1), str(dx1), str(dy1), str(dz1), str(nrepeat2), str(type2), str(method2), str(dx2), str(dy2), str(dz2), str(nrepeat3), str(type3), str(method3), str(dx3), str(dy3), str(dz3)) self.RunCommand(command, **kwargs) - def Andata(self, delay="", ncycl="", rsltdat="", min="", max="", incr="", - frclst="", autocont="", autocntr="", **kwargs): + def Lcdef(self, lcno="", lstep="", sbstep="", kimg="", **kwargs): """ - APDL Command: ANDATA + APDL Command: LCDEF - Displays animated graphics data for nonlinear problems. + Creates a load case from a set of results on a results file. Parameters ---------- - delay - Time delay during animation (defaults to 0.5 seconds). + lcno + Arbitrary pointer number (1-99) to be assigned to the load case + specified by LSTEP, SBSTEP and by the FILE command. Defaults to 1 + + previous value. - ncycl - Number of animation cycles (defaults to 5). Available in non-UI - mode only. + lstep + Load step number to be defined as the load case. Defaults to one. - rsltdat - The type of results data to be used for the animation sequence. - This can be: + sbstep + Substep number. Defaults to the last substep of the load step. - 0 - Current load step data (default). + kimg + Used only with results from complex analyses: - 1 - Range of load step data. + 0 - Use real part of complex solution - 2 - Range of results data. + 1 - Use imaginary part. - min - The range minimum value. If left blank or 0, defaults to the first - data point. + Notes + ----- + Creates a load case by establishing a pointer to a set of results on a + results file (written during the ANSYS solution phase). This pointer + (LCNO) can then be used on the LCASE or LCOPER commands to read the + load case data into the database. - max - The range maximum value. If left blank or 0, defaults to the last - data point. + Issue LCDEF,ERASE to delete all load case pointers (and all load case + files, if any). Issue LCDEF,LCNO,ERASE to delete only the specific + load case pointer LCNO (and its file, if any). With the ERASE options, + all pointers are deleted; however only files with the default extension + [LCWRITE] are deleted. Issue LCDEF,STAT for status of all selected + load cases [LCSEL], or LCDEF,STAT,ALL for status of all load cases. + The STAT command may be used to list all load cases. See also LCFILE + to establish a pointer to a set of results on a load case file (written + by LCWRITE). Harmonic element data read from a result file load case is + stored at the zero-degree position. - incr - The increment between result data (defaults to 1). + """ + command = "LCDEF,%s,%s,%s,%s" % (str(lcno), str(lstep), str(sbstep), str(kimg)) + self.RunCommand(command, **kwargs) - frclst - Key to force the last sub step in a selected load step to be - included in the animation (defaults to 0). + def Klist(self, np1="", np2="", ninc="", lab="", **kwargs): + """ + APDL Command: KLIST - autocont - A value of 1 enables automatic scaling of contour values based on - the overall subset range of values. The default value is 0 (no - automatic scaling). + Lists the defined keypoints or hard points. - -- - Unused field. + Parameters + ---------- + np1, np2, ninc + List keypoints from NP1 to NP2 (defaults to NP1) in steps of NINC + (defaults to 1). If NP1 = ALL (default), NP2 and NINC are ignored + and all selected keypoints [KSEL] are listed. If NP1 = 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 NP1 (NP2 and NINC are ignored). - autocntr - A value of 1 disables automatic centering of displaced plots. The - default value is 0 (allow automatic centering). + lab + Coordinate listing key: - Notes - ----- - Use the ANDATA command to create animations for nonlinear problems. The - command works by displaying an individual graphical image for each - result data set from the results file. For information about creating - animations for linear problems, see the ANIM command. + (blank) - List all keypoint information. - The command operates only on graphic display platforms supporting the - /SEG command. It uses a macro to produce an animation based on the last - plot action command (for example, PLDISP). + COORD - Suppress all but the keypoint coordinates (shown to a higher degree of accuracy + than when displayed with all information). - The results file must have more than one set of results. + HPT - List only hard point information. - The command implicitly issues /DSCALE, 1 for default displacement - scaling. Large displacements may not give good results. + Notes + ----- + Lists keypoints in the active display coordinate system [DSYS]. An + attribute (TYPE, MAT, REAL, or ESYS) listed as a zero is unassigned; + one listed as a positive value indicates that the attribute was + assigned with the KATT command (and will not be reset to zero if the + mesh is cleared); one listed as a negative value indicates that the + attribute was assigned using the attribute pointer [TYPE, MAT, REAL, or + ESYS] that was active during meshing (and will be reset to zero if the + mesh is cleared). - This command functions only in the postprocessor. + This command is valid in any processor. """ - command = "ANDATA, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(delay), str(ncycl), str(rsltdat), str(min), str(max), str(incr), str(frclst), str(autocont), str(autocntr)) + command = "KLIST,%s,%s,%s,%s" % (str(np1), str(np2), str(ninc), str(lab)) self.RunCommand(command, **kwargs) - def Ldele(self, nl1="", nl2="", ninc="", kswp="", **kwargs): + def Gformat(self, ftype="", nwidth="", dsignf="", **kwargs): """ - APDL Command: LDELE + APDL Command: /GFORMAT - Deletes unmeshed lines. + Specifies the format for the graphical display of numbers. Parameters ---------- - nl1, nl2, ninc - Delete lines from NL1 to NL2 (defaults to NL1) in steps of NINC - (defaults to 1). If NL1 = ALL, NL2 and NINC are ignored and all - selected lines [LSEL] are deleted. If NL1 = 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 NL1 (NL2 - and NINC are ignored). + ftype + FORTRAN format types (G is the default if this field is left + blank.) - kswp - Specifies whether keypoints are also to be deleted: + G - Gxx.yy. xx and yy are described below. - 0 - Delete lines only. + F - Fxx.yy - 1 - Delete lines, as well as keypoints attached to lines but not attached to other - lines. + E - Exx.yy + + nwidth + Total width (12 maximum) of the field (the xx in Ftype). Defaults + to 12. + + dsignf + Number of digits after the decimal point (yy in F or E format) or + number of significant digits in G format. Range is 1 to xx-6 for + Ftype = G or E; and 0 to xx-3 for Ftype = F. The default is a + function of Ftype and NWIDTH. Notes ----- - A line attached to an area cannot be deleted unless the area is first - deleted. + Lets you control the format of the graphical display of floating point + numbers. Issue /GFORMAT,STAT to display the current settings; issue + /GFORMAT,DEFA to let ANSYS choose the format for the graphical display + of floating numbers. + + This command is valid in any processor. """ - command = "LDELE, %s, %s, %s, %s" % (str(nl1), str(nl2), str(ninc), str(kswp)) + command = "/GFORMAT,%s,%s,%s" % (str(ftype), str(nwidth), str(dsignf)) self.RunCommand(command, **kwargs) - def Sflist(self, node="", lab="", **kwargs): + def Cpcyc(self, lab="", toler="", kcn="", dx="", dy="", dz="", knonrot="", + **kwargs): """ - APDL Command: SFLIST + APDL Command: CPCYC - Lists surface loads. + Couples the two side faces of a cyclically symmetric model for loadings + that are the same on every segment. Parameters ---------- - node - Node at which surface load is to be listed. If ALL (or blank), - list for 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 be substituted for NODE. - lab - Valid surface load label. If ALL (or blank), use all appropriate - labels. + Degree of freedom label for coupled nodes (in the nodal coordinate + system). If ALL, use all appropriate labels. Valid labels are: + Structural labels: UX, UY, or UZ (displacements); ROTX, ROTY, or + ROTZ (rotations, in radians). + + toler + Tolerance for coincidence (based on maximum coordinate difference + in each global Cartesian direction for node locations and on angle + differences for node orientations). Defaults to 0.0001. Only nodes + within the tolerance are considered to be coincident for coupling. + + kcn + In coordinate system KCN, node 1 of CP + dx dy dz = node 2 of CP. + + dx, dy, dz + Node location increments in the active coordinate system (DR, Dθ, + DZ for cylindrical, DR, D θ, DΦ for spherical or toroidal). + + knonrot + When KNONROT = 0, the nodes on coupled sets are rotated into + coordinate system KCN (see NROTAT command description). When + KNONROT = 1, the nodes are not rotated, and you should make sure + that coupled nodal DOF directions are correct. Notes ----- - Lists the surface loads as applied with the SF command. Loads are - listed only for the specified nodes on external faces of selected area - and volume elements. Use SFELIST for line elements. The surface loads - listed correspond to the current database values. The database is not - updated for surface loads in POST1. Surface loads specified in tabular - form, however, do list their values corresponding to the current - results set in POST1. - - For SURF151 or SURF152 elements with an extra node for radiation and/or - convection calculations (KEYOPT(5) = 1), the bulk temperature listed is - the temperature of the extra node. If the thermal solution does not - converge, the extra node temperature is not available for listing. + Cyclic coupling requires identical node and element patterns on the + low and high sector boundaries. The MSHCOPY operation allows convenient + generation of identical node and element patterns. See Using CPCYC and + MSHCOPY Commands in the Modeling and Meshing Guide for more + information. - This command is valid in any processor. + Although developed primarily for use with cyclically symmetric models, + your use of the CPCYC command is not limited to cyclic symmetry + analyses. """ - command = "SFLIST, %s, %s" % (str(node), str(lab)) + command = "CPCYC,%s,%s,%s,%s,%s,%s,%s" % (str(lab), str(toler), str(kcn), str(dx), str(dy), str(dz), str(knonrot)) self.RunCommand(command, **kwargs) - def Solu(self, nvar="", item="", comp="", name="", **kwargs): + def Starset(self, par="", value="", val2="", val3="", val4="", val5="", + val6="", val7="", val8="", val9="", val10="", **kwargs): """ - APDL Command: SOLU + APDL Command: *SET - Specifies solution summary data per substep to be stored. + Assigns values to user-named parameters. Parameters ---------- - nvar - Arbitrary reference number assigned to this variable (2 to NV - [NUMVAR]). - - item - Label identifying the item. Valid item labels are shown in the - table below. Some items may also require a component label. + par + An alphanumeric name used to identify this parameter. Par may be + up to 32 characters, beginning with a letter and containing only + letters, numbers, and underscores. Examples: ABC A3X TOP_END. + ANSYS command names, function names, label names, component and + assembly names, etc., should not be used. Parameter names + beginning with an underscore (e.g., _LOOP) are reserved for use by + ANSYS and should be avoided. Parameter names ending in an + underscore are not listed by the *STATUS command. Array parameter + names must be followed by a subscript, and the entire expression + must be 32 characters or less. Examples: A(1,1) NEW_VAL(3,2,5) + RESULT(1000). There is no character parameter substitution for the + Par field. Table parameters that are used in command fields (where + constant values are normally given) are limited to 32 characters. - comp - Component of the item (if required). Valid component labels are - shown in the table below. None are currently required. + value + Numerical value or alphanumeric character string (up to 32 + characters enclosed in single quotes) to be assigned to this + parameter. Examples: A(1,3)=7.4 B='ABC3'. May also be a + parameter or a parametric expression. Examples: C=A(1,3) + A(2,2)=(C+4)/2. If blank, delete this parameter. Example: A= + deletes parameter A. - name - Thirty-two character name identifying the item on printouts and - displays. Defaults to an eight character label formed by - concatenating the first four characters of the Item and Comp - labels. + val2, val3, val4, val5, val6, val7, val8, val9, val10 + If Par is an array parameter, values VAL2 through VAL10 (up to the + last nonblank value) are sequentially assigned to the succeeding + array elements of the column. Example: *SET,A(1,4),10,11 assigns + A(1,4)=10, A(2,4)=11. *SET,B(2,3),'file10','file11' assigns + B(2,3)='file10', B(3,3)='file11'. Notes ----- - See also the PRITER command of POST1 to display some of these items - directly. Valid for a static or full transient analysis. All other - analyses have zeros for the data. Valid item and component labels for - solution summary values are: - - """ - command = "SOLU, %s, %s, %s, %s" % (str(nvar), str(item), str(comp), str(name)) - self.RunCommand(command, **kwargs) - - def Operate(self, **kwargs): - """ - APDL Command: OPERATE + Assigns values to user-named parameters that may be substituted later + in the run. The equivalent (and recommended) format is - Specifies "Operation data" as the subsequent status topic. + Par = VALUE,VAL2,VAL3, . . . , VAL10 - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + which may be used in place of *SET,Par, : ... for convenience. - If entered directly into the program, the STAT command should - immediately follow this command. + This command is valid in any processor. - """ - command = "OPERATE, " % () - self.RunCommand(command, **kwargs) + Parameters (numeric or character) may be scalars (single valued) or + arrays (multiple valued in one, two, or three dimensions). An unlimited + number of parameter names may be defined in any ANSYS run. For very + large numbers of parameters, it is most efficient to define them in + alphabetical order. - def Tbeo(self, par="", value="", **kwargs): - """ - APDL Command: TBEO + Parameter values may be redefined at any time. Array parameters may + also be assigned values within a do-loop [*DO] for convenience. + Internally programmed do-loop commands are also available with the *VXX + commands (*VFILL). Parameter values (except for parameters ending in + an underscore) may be listed with the *STATUS command, displayed with + the *VPLOT command (numeric parameters only), and modified with the + *VEDIT command (numeric parameters only). - Sets special options or parameters for material data tables. + Older ANSYS-supplied macro files may use parameter names that do not + begin with an underscore. Using these macros embedded in your own + macros may cause conflicts if the same parameter names are used. - Parameters - ---------- - par - Parameter name: + Parameters can also be resolved in comments created by the /COM command + (see /COM for complete documentation). A parameter can be deleted by + redefining it with a blank VALUE. If the parameter is an array, the + entire array is deleted. Parameters may also be defined by a response + to a query with the *ASK command or from an "ANSYS-supplied" value + with the *GET command. - CAPCREEPREG - Available for the viscoplasticity/creep model (TB,CREEP), allows two creep - models to be specified via the same material ID when - used with the Extended Drucker-Prager model (TB,EDP). + Array parameters must be dimensioned [*DIM] before being assigned + values unless they are the result of an array operation or defined + using the implied loop convention. Scalar parameters that are not + defined are initialized to a "near" zero value. Numeric array + parameters are initialized to zero when dimensioned, and character + array parameters are initialized to blank. An existing array parameter + must be deleted before it can be redimensioned. Array parameter names + must be followed by a subscript list (enclosed in parentheses) + identifying the element of the array. The subscript list may have one, + two, or three values (separated by commas). Typical array parameter + elements are A(1,1), NEW_VAL(3,2,5), RESULT(1000). Subscripts for + defining an array element must be integers (or parameter expressions + that evaluate to integers). Non-integer values are rounded to the + nearest integer value. All array parameters are stored as 3-D arrays + with the unspecified dimensions set to 1. For example, the 4th array + element of a 1-dimensional array, A(4), is stored as array element + A(4,1,1). Arrays are patterned after standard FORTRAN conventions. - value - Parameter value: + If the parameter name Par is input in a numeric argument of a command, + the numeric value of the parameter (as assigned with *SET, *GET, =, + etc.) is substituted into the command at that point. Substitution + occurs only if the parameter name is used between blanks, commas, + parentheses, or arithmetic operators (or any combination) in a numeric + argument. Substitution can be prevented by enclosing the parameter + name Par within single quotes ( ' ), if the parameter is alone in the + argument; if the parameter is part of an arithmetic expression, the + entire expression must be enclosed within single quotes to prevent + substitution. In either case the character string will be used instead + of the numeric value (and the string will be taken as 0.0 if it is in a + numeric argument). - SHEA - Use the shear stress-state creep model with the Extended Drucker-Prager model. - Valid only when Par = CAPCREEPREG. + A forced substitution is available in the text fields of the /TITLE, + /STITLE, /TLABEL, /AN3D, /SYP (ARG1--ARG8), and *ABBR commands by + enclosing the parameter within percent (%) signs. Also, parameter + substitution may be forced within the file name or extension fields of + commands having these fields by enclosing the parameter within percent + (%) signs. Array parameters [*DIM] must include a subscript (within + parentheses) to identify the array element whose value is to be + substituted, such as A(1,3). Out-of-range subscripts result in an + error message. Non-integer subscripts are allowed when identifying a + TABLE array element for substitution. A proportional linear + interpolation of values among the nearest array elements is performed + before substitution. Interpolation is done in all three dimensions. - COMP - Use the compaction stress-state creep model with the Extended Drucker-Prager - model. Valid only when Par = CAPCREEPREG. + Note:: : Interpolation is based upon the assigned index numbers which + must be defined when the table is filled [*DIM]. - Notes - ----- - Issue the TBEO command after activating the data table (TB) but before - defining data for the table (TBDATA) or a point on a nonlinear data - curve (TBPT). + Most alphanumeric arguments permit the use of character parameter + substitution. When the parameter name Par input, the alphanumeric + value of the parameter is substituted into the command at that point. + Substitution can be suppressed by enclosing the parameter name within + single quotes ( ' ). Forced substitution is available in some fields + by enclosing the parameter name within percent (%) signs. Valid forced + substitution fields include command name fields, Fname (filename) or + Ext (extension) arguments, *ABBR command (Abbr arguments), /TITLE and + /STITLE commands (Title argument) and /TLABEL command (Text argument). + Character parameter substitution is also available in the *ASK, /AN3D, + *CFWRITE, *IF, *ELSEIF, *MSG, *SET, *USE, *VREAD, and *VWRITE + commands. Character array parameters must include a subscript (within + parentheses) to identify the array element whose value is to be + substituted. - """ - command = "TBEO, %s, %s" % (str(par), str(value)) - self.RunCommand(command, **kwargs) + If a parameter operation expression is input in a numeric argument, the + numeric value of the expression is substituted into the command at that + point. Allowable operation expressions are of the form - def Cmdomega(self, cm_name="", domegax="", domegay="", domegaz="", x1="", - y1="", z1="", x2="", y2="", z2="", **kwargs): - """ - APDL Command: CMDOMEGA + E1oE2oE3: ...oE10 - Specifies the rotational acceleration of an element component about a - user-defined rotational axis. + where E1, E2, etc. are expressions connected by operators (o). The + allowable operations (o) are - Parameters - ---------- - cm_name, - The name of the element component. + + - * / ** < > - domegax, domegay, domegaz - If the X2, Y2, Z2 fields are not defined, DOMEGAX, DOMEGAY, and - DOMEGAZ specify the components of the rotational acceleration - vector in the global Cartesian X, Y, Z directions. + For example, A+B**C/D*E is a valid operation expression. The * + represents multiplication and the ** represents exponentiation. - x1, y1, z1 - If the X2, Y2, Z2 fields are defined, X1, Y1, and Z1 define the - coordinates of the beginning point of the rotational axis vector. - Otherwise, X1, Y1, and Z1 are the coordinates of a point through - which the rotational axis passes. + Note:: : Exponentiation of a negative number (without parentheses) to + an integer power follows standard FORTRAN hierarchy conventions; that + is, the positive number is exponentiated and then the sign is attached. + Thus, -4**2 is evaluated as -16. If parentheses are applied, such as + (-4)**2, the result is 16. - x2, y2, z2 - The coordinates of the end point of the rotational axis vector. + A parameter is evaluated as a number within parentheses before + exponentiation. Exponentiation of a negative number to a non-integer + power is performed by exponentiating the positive number and prepending + the minus sign, for example, -4**2.3 is -(4**2.3). The < and > + operators allow conditional substitution. For example, E1 + 80, the value returned is zero. """ - command = "CMDOMEGA, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(cm_name), str(domegax), str(domegay), str(domegaz), str(x1), str(y1), str(z1), str(x2), str(y2), str(z2)) + command = "*SET,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(par), str(value), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9), str(val10)) self.RunCommand(command, **kwargs) - def Esys(self, kcn="", **kwargs): + def Esll(self, type="", **kwargs): """ - APDL Command: ESYS + APDL Command: ESLL - Sets the element coordinate system attribute pointer. + Selects those elements associated with the selected lines. Parameters ---------- - kcn - Coordinate system number: + type + Label identifying the type of element select: - 0 - Use element coordinate system orientation as defined (either by default or by - KEYOPT setting) for the element (default). + S - Select a new set (default). - N - Use element coordinate system orientation based on local coordinate system N - (where N must be greater than 10). For global system 0, 1, or - 2, define a local system N parallel to appropriate system with - the LOCAL or CS command (for example: LOCAL,11,1). + R - Reselect a set from the current set. + + A - Additionally select a set and extend the current set. + + U - Unselect a set from the current set. Notes ----- - Identifies the local coordinate system to be used to define the element - coordinate system of subsequently defined elements. Used only with area - and volume elements. For non-layered volume elements, the local - coordinate system N is simply assigned to be the element coordinate - system. For shell and layered volume elements, the x and y axes of the - local coordinate system N are projected onto the shell or layer plane - to determine the element coordinate system. See Understanding the - Element Coordinate System for more details. N refers to the coordinate - system reference number (KCN) defined using the LOCAL (or similar) - command. Element coordinate system numbers may be displayed [/PNUM]. + Selects line elements belonging to meshed [LMESH], selected [LSEL] + lines. + + This command is valid in any processor. """ - command = "ESYS, %s" % (str(kcn)) + command = "ESLL,%s" % (str(type)) self.RunCommand(command, **kwargs) - def Usrcal(self, rnam1="", rnam2="", rnam3="", rnam4="", rnam5="", - rnam6="", rnam7="", rnam8="", rnam9="", **kwargs): + def Cbmd(self, row="", c_r__r_="", c_r__r_plus_1_="", c_r__r_plus_2_="", + c_r__r_plus_3_="", c_r__r_plus_4_="", c_r__r_plus_5_="", + **kwargs): """ - APDL Command: USRCAL + APDL Command: CBMD - Allows user-solution subroutines to be activated or deactivated. + Specifies preintegrated section mass matrix for composite-beam + sections. Parameters ---------- - rnam1, rnam2, rnam3, . . . , rnam9 - User-defined solution subroutine names to be activated. Up to nine - may be defined on one command or multiple commands may be used. If - Rnam1 = ALL, activate all valid user subroutines. If Rnam1 = - NONE, deactivate all valid user subroutines. All characters are - required: + row + Row number of the matrix. - USREFL - Allows user defined scalar field (body force) loads. + c(r)(r), . . . , c(r)(r+5) + Upper triangle of the cross-section mass matrix [C]. - USERCV - Allows user defined convection (surface) loads. + Notes + ----- + With a unit beam length, the section mass matrix relates the resultant + forces and torques to accelerations and angular accelerations as + follows (applicable to the local element coordinate system): - USERPR - Allows user defined pressure (surface) loads. + The CBMD command, one of several composite beam section commands, + specifies the section mass matrix (submatrix [C] data) for a composite + beam section. The section data defined is associated with the section + most recently defined (SECTYPE) at the specified temperature (CBTMP). - USERFX - Allows user-defined heat flux (surface) loads. + Unspecified values default to zero. - USERCH - Allows user-defined charge density (surface) loads. + Related commands are CBTMP, CBTE, and CBMX. - USERFD - Computes the complex load vector for the frequency domain logic. + For complete information, see Using Preintegrated Composite Beam + Sections. - USEROU - Allows user supplied element output. + """ + command = "CBMD,%s,%s,%s,%s,%s,%s,%s" % (str(row), str(c_r__r_), str(c_r__r_plus_1_), str(c_r__r_plus_2_), str(c_r__r_plus_3_), str(c_r__r_plus_4_), str(c_r__r_plus_5_)) + self.RunCommand(command, **kwargs) - USERMC - Allows user control of the hygrothermal growth). + def Upcoord(self, factor="", key="", **kwargs): + """ + APDL Command: UPCOORD - USOLBEG - Allows user access before each solution. + Modifies the coordinates of the active set of nodes, based on the + current displacements. - ULDBEG - Allows user access before each load step. + Parameters + ---------- + factor + Scale factor for displacements being added to nodal coordinates. + If FACTOR = 1.0, the full displacement value will be added to each + node, 0.5, half the displacement value will be added, etc. If + FACTOR = -1, the full displacement value will be subtracted from + each node, etc. - USSBEG - Allows user access before each substep. + key + Key for zeroing displacements in the database: - UITBEG - Allows user access before each equilibrium iteration. + OFF - Do not zero the displacements (default). - UITFIN - Allows user access after each equilibrium iteration. + ON - Zero the displacements. - USSFIN - Allows user access after each substep. + Notes + ----- + The UPCOORD command uses displacements stored in the ANSYS database, + and not those contained within the results file, Jobname.RST. Nodal + coordinates are updated each time the command is issued. After + updating, both the nodal displacements and rotations are set to zero if + Key = ON. - ULDFIN - Allows user access after each load step. + For structural solutions with an updated mesh, unless the coefficient + matrix is otherwise reformed (e.g., a new analysis or NLGEOM,ON) it + should first be reformed by issuing a KUSE,-1 command. - USOLFIN - Allows user access after each solution. + UPCOORD should not be issued between load steps in structural analysis. - UANBEG - Allows user access at start of run. + For a multiphysics simulation where a CFD or electromagnetic field is + being coupled to a structure undergoing large displacements, all (or a + portion) of the surrounding field mesh may take part in the structural + solution to "move" with the displacing structure. You can use the + UPCOORD command with a suitable FACTOR to update the coordinates of the + nodes using the newly computed displacements. The mesh will now + conform with the displaced structure for subsequent field solutions. + However, the mesh should always be restored to its original location by + using an UPCOORD,FACTOR command before performing any subsequent + structural solutions. This is true for both repeated linear solutions, + and for nonlinear restarts. (All saved displacements are relative to + the original mesh location.) - UANFIN - Allows user access at end of run. - - UELMATX - Allows user access to element matrices and load vectors. - - UTIMEINC - Allows a user-defined time step, overriding the program-determined time step. - - UCNVRG - Allows user-defined convergence checking, overriding the program-determined - convergence. - - Notes - ----- - Allows certain user-solution subroutines to be activated or deactivated - (system-dependent). This command only affects the subroutines named. - Other user subroutines (such as user elements, user creep, etc.) have - their own activation controls described with the feature. - - The routines are commented and should be listed after performing a - custom installation from the distribution media for more details. See - also the Advanced Analysis Guide for a general description of user- - programmable features. - - Users must have system permission, system access, and knowledge to - write, compile, and link the appropriate subroutines into the program - at the site where it is to be run. All routines should be written in - FORTRAN. (For more information on FORTRAN compilers please refer to - either the ANSYS, Inc. Windows Installation Guide or the ANSYS, Inc. - Linux Installation Guide for details specific to your platform or - operating system.) Issue USRCAL,STAT to list the status of these user - subroutines. Since a user-programmed subroutine is a nonstandard use - of the program, the verification of any ANSYS run incorporating these - commands is entirely up to the user. In any contact with ANSYS - customer support regarding the performance of a custom version of the - ANSYS program, you should explicitly state that a user programmable - feature has been used. + This command is not intended to replace either the large displacement + or birth and death logic. This command is also valid in PREP7. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. - """ - command = "USRCAL, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(rnam1), str(rnam2), str(rnam3), str(rnam4), str(rnam5), str(rnam6), str(rnam7), str(rnam8), str(rnam9)) + command = "UPCOORD,%s,%s" % (str(factor), str(key)) self.RunCommand(command, **kwargs) - def Cycfiles(self, fnamerst="", extrst="", fnamerfrq="", extrfrq="", - **kwargs): + def Plot(self, nstrt="", nend="", ninc="", **kwargs): """ - APDL Command: CYCFILES + APDL Command: PLOT - Specifies the data files where results are to be found for a cyclic - symmetry mode-superposition harmonic analysis. + Forms a display. Parameters ---------- - fnamerst - The file name and directory path of the results file from the - cyclic modal solution. Defaults to Jobname. - - extrst - File name extension for FnameRst. Defaults to rst. - - fnamerfrq - The file name and directory path of the results file from the - cyclic mode-superposition harmonic solution. Defaults to the value - of the FnameRst argument. + nstrt, nend, ninc + Display plots sequentially from number NSTRT to NEND in steps of + NINC. NSTRT defaults to the next plot. NEND defaults to NSTRT. + NINC defaults to 1. If NSTRT = ALL, display all plots from the + beginning of the file. If NEND = ALL, display to the end of the + file. - extrfrq - File name extension for FnameRfrq. Defaults to rfrq. + Notes + ----- + Output will be to the terminal or to a file, depending on the driver + [/SHOWDISP]. The INTERLEAF and DUMP drivers produce an output file for + each plot named INTLnn and DUMPnn, with nn sequentially ranging from 00 + to 99. A blank line after the PLOT command causes the next plot to be + formed. """ - command = "CYCFILES, %s, %s, %s, %s" % (str(fnamerst), str(extrst), str(fnamerfrq), str(extrfrq)) + command = "PLOT,%s,%s,%s" % (str(nstrt), str(nend), str(ninc)) self.RunCommand(command, **kwargs) - def Target(self, nlist="", **kwargs): + def Kmodif(self, npt="", x="", y="", z="", **kwargs): """ - APDL Command: TARGET + APDL Command: KMODIF - Specifies the target nodes for mapping pressures onto surface effect - elements. + Modifies an existing keypoint. Parameters ---------- - nlist - Nodes defining the surface upon which the pressures will be mapped. - Use the label ALL or specify a nodal component name. If ALL, all - selected nodes [NSEL] are used (default). Individual nodes may not - be entered. + npt + Modify coordinates of this keypoint. If NPT = ALL, modify + coordinates of all selected keypoints [KSEL]. If NPT = 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 NPT. + + x, y, z + Replace the previous coordinate values assigned to this keypoint + with these corresponding coordinate values. Values are interpreted + according to the active coordinate system (R, θ, Z for cylindrical, + R, θ,Φ for spherical). If X = P, graphical picking is used to + locate keypoint and Y and Z are ignored. A blank retains the + previous value. You cannot specify Y = P. Notes ----- - The node list specified by Nlist must contain a sufficient number of - nodes to define an element surface. The surface must be meshed (ESURF - command) with SURF154 elements prior to issuing this command. + Lines, areas, and volumes attached to the modified keypoint (if any) + must all be selected and will be redefined using the active coordinate + system. However, solid modeling in a toroidal coordinate system is not + recommended. + + Caution:: : Redefined entities may be removed from any defined + components and assemblies. Nodes and elements will be automatically + cleared from any redefined keypoints, lines, areas, or volumes. + + The KMODIF command moves keypoints for geometry modification without + validating underlying entities. To merge keypoints and update higher + order entities, issue the NUMMRG command instead. """ - command = "TARGET, %s" % (str(nlist)) + command = "KMODIF,%s,%s,%s,%s" % (str(npt), str(x), str(y), str(z)) self.RunCommand(command, **kwargs) - def Psdspl(self, tblno="", rmin="", rmax="", **kwargs): + def Bfl(self, line="", lab="", val1="", val2="", val3="", val4="", + **kwargs): """ - APDL Command: PSDSPL + APDL Command: BFL - Defines a partially correlated excitation in a PSD analysis. + Defines a body force load on a line. Parameters ---------- - tblno - Input PSD table number defined with PSDVAL command. + line + Line to which body load applies. If ALL, apply to all selected + lines [LSEL]. A component name may also be substituted for Line. - rmin - Minimum distance between excitation points which are partially - correlated. Excited nodes closer than RMIN will be fully - correlated. + lab + Valid body load label. Load labels are listed under "Body loads" in + the input table for each element type in the Element Reference. - rmax - Maximum distance between excitation points which are partially - correlated. Excited nodes farther apart than RMAX will be - uncorrelated. + val1, val2, val3 + Value associated with the Lab item or a table name for specifying + tabular boundary conditions. Use only VAL1 for TEMP, FLUE, HGEN, + and CHRGD. For acoustics, if Lab = JS, use VAL1 for mass source in + a harmonic analysis or mass source rate in a transient analysis, + and ignoreVAL2 and VAL3. When specifying a table name, you must + enclose the table name in percent signs (%), e.g., + BFL,Line,Lab,%tabname%. Use the *DIM command to define a table. + + val4 + If Lab = JS, VAL4 is the phase angle in degrees. Notes ----- - Defines a partially correlated excitation in terms of a sphere of - influence relating excitation point geometry (in a PSD analysis). If - the distance between any two excitation points is less than RMIN, then - the excitation is fully correlated. If the distance is greater than - RMAX, then the excitation is uncorrelated. If the distance lies - between RMIN and RMAX, then the excitation is partially correlated with - the degree of correlation dependent on the separation distance between - the points. This command is not available for a pressure PSD analysis. + Defines a body force load (such as temperature in a structural + analysis, heat generation rate in a thermal analysis, etc.) on a line. + Body loads may be transferred from lines to line elements (or to nodes + if line elements do not exist) with the BFTRAN or SBCTRAN commands. + + You can specify a table name only when using temperature (TEMP) and + heat generation rate (HGEN) body load labels. + + Body loads specified by the BFL command can conflict with other + specified body loads. See Resolution of Conflicting Body Load + Specifications in the Basic Analysis Guide for details. + + Graphical picking is available only via the listed menu paths. This command is also valid in PREP7. """ - command = "PSDSPL, %s, %s, %s" % (str(tblno), str(rmin), str(rmax)) + command = "BFL,%s,%s,%s,%s,%s,%s" % (str(line), str(lab), str(val1), str(val2), str(val3), str(val4)) self.RunCommand(command, **kwargs) - def Fklist(self, kpoi="", lab="", **kwargs): + def Fe(self, nev="", cycle="", fact="", title="", **kwargs): """ - APDL Command: FKLIST + APDL Command: FE - Lists the forces at keypoints. + Defines a set of fatigue event parameters. Parameters ---------- - kpoi - List forces at this keypoint. If ALL (default), list for all - selected keypoints [KSEL]. If KPOI = 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 KPOI. + nev + Reference number for this event (within MXEV). - lab - Force label to be listed (defaults to ALL). See the DOFSEL command - for labels. + cycle + Number of required cycles (defaults to 1). If -1, erase all + parameters and fatigue stresses for this event. + + fact + Scale factor to be applied to all loadings in this event (defaults + to 1.0). + + title + User defined identification title for this event (up to 20 + characters). Notes ----- - Listing applies to the selected keypoints [KSEL] and the selected force - labels [DOFSEL]. + Repeat FE command to define additional sets of event parameters (MXEV + limit), to redefine event parameters, or to delete event stress + conditions. - This command is valid in any processor. + The set of fatigue event parameters is associated with all loadings and + all locations. See the FTSIZE command for the maximum set of events + (MXEV) allowed. """ - command = "FKLIST, %s, %s" % (str(kpoi), str(lab)) + command = "FE,%s,%s,%s,%s" % (str(nev), str(cycle), str(fact), str(title)) self.RunCommand(command, **kwargs) - def Edsolv(self, **kwargs): + def Secoffset(self, location="", offset1="", offset2="", cg_y="", cg_z="", + sh_y="", sh_z="", **kwargs): """ - APDL Command: EDSOLV + APDL Command: SECOFFSET - Specifies "explicit dynamics solution" as the subsequent status topic. + Defines the section offset for cross sections. + + Parameters + ---------- + location, offset1, offset2, cg-y, cg-z, sh-y, sh-z + The location of the nodes in the section. All are dependent on the + type. See the "Notes" section of this command description for + details about these values for the various section types. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + The SECOFFSET command is divided into three types: Beams, Pipes, and + Shells. - If entered directly into the program, the STAT command should - immediately follow this command. + The offsets defined by the SECOFFSET command are associated with the + section most recently defined using the SECTYPE command. Not all + SECOFFSET location values are valid for each subtype. - This command is also valid in PREP7. + For the thermal shell elements, SHELL131 and SHELL132, the node offset + specified by SECOFFSET is used in thermal contact analyses. Otherwise, + the SECOFFSET command has no effect on the solution for these elements + and is used only for visualization purposes. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is not valid with thermal solid elements SOLID278 and + SOLID279. """ - command = "EDSOLV, " % () + command = "SECOFFSET,%s,%s,%s,%s,%s,%s,%s" % (str(location), str(offset1), str(offset2), str(cg_y), str(cg_z), str(sh_y), str(sh_z)) self.RunCommand(command, **kwargs) - def Tvar(self, key="", **kwargs): + def Estif(self, kmult="", **kwargs): """ - APDL Command: TVAR + APDL Command: ESTIF - Changes time to the cumulative iteration number. + Specifies the matrix multiplier for deactivated elements. Parameters ---------- - key - Time key: - - 0 - Time is used for the variable TIME. - - 1 - NCUMIT is used for the variable TIME. + kmult + Stiffness matrix multiplier for deactivated elements (defaults to + 1.0E-6). Notes ----- - Changes the meaning of the time variable to the cumulative iteration - number (NCUMIT) variable. Data can be read from the file, printed, and - displayed as a function of NCUMIT rather than time. All POST26 - descriptions applying to TIME then apply to NCUMIT. + Specifies the stiffness matrix multiplier for elements deactivated with + the EKILL command (birth and death). + + This command is also valid in PREP7. """ - command = "TVAR, %s" % (str(key)) + command = "ESTIF,%s" % (str(kmult)) self.RunCommand(command, **kwargs) - def Gp(self, node1="", node2="", lab="", stif="", gap="", damp="", - **kwargs): + def Prep7(self, **kwargs): """ - APDL Command: GP - - Defines a gap condition for transient analyses. - - Parameters - ---------- - node1 - Node I of gap. If NODE1 = P, graphical picking is enabled and all - remaining command fields are ignored (valid only in the GUI). - - node2 - Node J of gap (must be different from NODE1). Non-grounded gap - nodes must be defined as master degrees of freedom or be - unconstrained, active DOF in a full analysis type. Grounded gap - nodes (those not defined as MDOF) need not appear elsewhere in the - model. - - lab - Direction of gap action in the nodal coordinate system (implied - from the following force labels): FX, FY, FZ, MX, MY, MZ. - - stif - Stiffness (Force/Length) of closed gap (may be positive or - negative). - - gap - Initial size of gap. A zero (or positive) value assumes an - initially open gap. A negative value defines an interference - condition. For a rotational gap, GAP should be in radians. + APDL Command: /PREP7 - damp - Damping coefficient (Force*Time/Length) of closed gap using pseudo - velocity (Newmark finite difference expansion scheme). + Enters the model creation preprocessor. Notes ----- - Defines a gap condition for the mode superposition transient analysis - (ANTYPE,TRANS with TRNOPT,MSUP). If used in SOLUTION, this command is - valid only within the first load step. Gap conditions specified in - subsequent load steps are ignored. - - Repeat GP command for additional gap conditions. Gaps are numbered - sequentially as input. - - Note:: : Gaps may be renumbered by the program during the solution (see - output listing) - - The mode-superposition transient analysis does not allow gap action - with the standard gap elements. However, you can define gap conditions - which are similar to gap elements; gap conditions can be specified - between surfaces that are expected to contact (impact) each other - during the transient. The gap condition simulates the basic gap action - of the COMBIN40 element. - - The gap condition is treated as an explicit force (equal to the - interference times contact stiffness) and affects only the load vector - calculation and not the stiffness matrix. The interference is - calculated from the displacement extrapolated from the previous time - points. - - Gap conditions can only be defined between two master degree of freedom - (DOF) nodes or between master DOF nodes and ground, as shown in the - following figure. + Enters the general input data preprocessor (PREP7). - Master degrees of freedom are the unconstrained and active degrees of - freedom. Gap nodes not defined as active degrees of freedom or attached - to an element are assumed to be grounded. Grounded gap nodes do not - need a spatial location, nor do they need to be located on an element. + This command is valid only at the Begin Level. - Gap conditions may be defined in parallel (across the same nodes), with - varying gap and stiffness values, to simulate a nonlinear (piecewise) - force-deflection curve. + """ + command = "/PREP7," % () + self.RunCommand(command, **kwargs) - The gap direction is determined from the force label input on the GP - command; i.e., FX defines a translational gap acting in the UX nodal - degree of freedom direction, and MZ defines a rotational gap acting in - the nodal ROTZ degree of freedom direction. The actual degree of - freedom directions available for a particular node depends upon the - degrees of freedom associated with the element types [ET] at that node. + def Immed(self, key="", **kwargs): + """ + APDL Command: IMMED - If the coordinate systems of the nodes connecting the gap are rotated - relative to each other, the same degree of freedom may be in different - directions. The gap, however, assumes only a one-dimensional action. - Nodes I and J may be anywhere in space (preferably coincident). No - moment effects are included due to noncoincident nodes. That is, if the - nodes are offset from the line of action, moment equilibrium may not be - satisfied. + Allows immediate display of a model as it is generated. - The contact stiffness value represents the stiffness of the closed gap. - Stiffness values are related to the integration time step size and - should be physically reasonable. High stiffness will require a small - integration time step; otherwise, due to the displacement - extrapolation, the solution may go unstable. Negative stiffness values - may be used with gaps in parallel to produce a decreasing force- - deflection curve. + Parameters + ---------- + key + Immediate mode key: - The order of specifying the gap nodes is important; i.e., a gap - condition connecting two nodes will act differently depending upon - which node is specified first on the GP command. For example, for Node - 1 at X = 0.0, Node 2 at X = 0.1, and the gap defined from Node 1 to 2, - a displacement of Node 1 greater than Node 2 will cause the gap to - close. For the gap defined from Node 2 to 1, a displacement of Node 2 - greater than Node 1 will cause the gap to close (like a hook action). - In general, the gap closes whenever the separation (defined as UJ - UI - + GAP) is negative. UJ is the displacement of node J, UI is the - displacement of node I, and GAP is the input gap value. The gap force - output appears in the printout only for the time steps for which the - gap is closed. A negative spring force is always associated with a - closed gap (even with the hook option). + 0 - Display only upon request, i.e., no immediate display (default with the GUI + off). - Some guidelines to define gap conditions are presented below: + 1 - Display immediately as model is generated (default with the GUI on). - Use enough gap conditions to obtain a smooth contact stress - distribution between the contacting surfaces. + Notes + ----- + Allows immediate display of a model (as it is generated) without a + screen erase or a display request. Available only during an + interactive session at a graphics display terminal. A valid graphics + device name must first be specified on the /SHOW command. - Define a reasonable gap stiffness. If the stiffness is too low, the - contacting surfaces may overlap too much. If the stiffness is too high, - a very small time step will be required during impact. A general - recommendation is to specify a gap stiffness that is one or two orders - of magnitude higher than the adjacent element stiffness. You can - estimate the adjacent element stiffness using AE/L, where A is the - contributing area around the gap condition, E is the elastic modulus of - the softer material at the interface, and L is the depth of the first - layer of elements at the interface. + The IMMED command allows you to control whether or not the model is + displayed immediately as it is generated in an interactive session. By + default in the GUI, your model will immediately be displayed in the + Graphics Window as you create new entities (such as areas, keypoints, + nodes, elements, local coordinate systems, boundary conditions, etc.). + This is called immediate mode graphics. Also note that symbols (such + as boundary conditions, local coordinate system triads, etc.) are shown + immediately and will be present on subsequent displays unless you "turn + off" the appropriate symbol using the GUI plot controls function or the + appropriate graphics specification command. - A mode-superposition transient using the nonlinear gap damping provided - through the DAMP field runs faster than a full transient analysis using - a gap element (COMBIN40). + An immediate image will also be automatically scaled to fit nicely + within the Graphics Window -- a feature called automatic scaling. The + new scaling is usually apparent on the automatic replot associated with + immediate mode. To suppress automatic replot, issue /UIS,REPLOT,0. + (With automatic replot suppressed, the immediate image may not always + be automatically scaled correctly.) - Use the GPLIST command to list gap conditions and the GPDELE command to - delete gap conditions. + Note:: : An immediate display in progress should not be aborted with + the usual system "break" feature (or else the ANSYS session itself will + be aborted). When you run the ANSYS program interactively without + using the GUI, immediate mode is off by default. - This command is also valid in PREP7. + This command is valid only in PREP7. """ - command = "GP, %s, %s, %s, %s, %s, %s" % (str(node1), str(node2), str(lab), str(stif), str(gap), str(damp)) + command = "IMMED,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Pdcfld(self, parr="", entity="", ctype="", clength="", **kwargs): + def Show(self, fname="", option="", vect="", ncpl="", **kwargs): """ - APDL Command: PDCFLD + APDL Command: /SHOW - Calculates a correlation field and stores it into an ANSYS array. + Specifies the device and other parameters for graphics displays. Parameters ---------- - parr - Parameter name. ParR is a one-dimensional array with the dimension - N * (N - 1)/2, where N is either the number of the selected nodes - or the number of the selected elements (depending on the Entity - field). The PDCFLD command automatically sets ParR as a one- - dimensional array, (so you do not have to use the *DIM command). If - you use the PDCFLD command twice with the ANSYS parameter ParR, - then the values stored in the array are automatically overwritten. - If the number of selected FE entities is different from the - previous PDCFLD command, then the array ParR is re-dimensioned - automatically. + fname + Device name, file name, or keyword, as listed below: - entity - Specifies which FE entity the calculation of the correlation field - is based on. This field must not be blank. + - Any valid graphics display device name (e.g., X11, 3-D etc.). Defaults to X11 + for most systems. See Getting Started with + Graphics in the Basic Analysis Guide for details. + A device name must be defined before activating the + Graphical User Interface (GUI). Once the GUI is + activated, the device name cannot be changed for + that session, except for switching between X11 and + X11C. - NODE - Calculate the correlation coefficients based on the distance between the - selected nodes. + - Name of graphics file to which graphics displays are to be diverted (248 + characters maximum). Should not be the same as a + valid device name or any other Fname option. Plots are + written to the file Filename.Ext (or just Filename.Ext + if Ext is left blank) in the working directory. This + file can be appended only during the same session; + reissuing the same file name in a new session will + overwrite existing file names from previous sessions. + Although multiple file names can be used within one + session, only the last file created or accessed will + be appended. Issuing /SHOW, CLOSE, or starting a new + session will prevent access to any previously created + files. - ELEM - Calculate the correlation coefficients based on the distance between the - centroids of the selected elements. + TERM - Graphics displays are switched back to the last-specified device name. - ctype - Specifies the equation used to calculate the correlation - coefficients as a function of the nodal or element centroid - distances. This field must not be blank. + CLOSE - This option purges the graphics file buffer. The CLOSE option should be issued + any time you are changing graphics devices or file output + types during a session. Graphics displays are switched back + to the last-specified device name, and any open graphics + files are closed. The CLOSE option is similar to the TERM + option, however, with the CLOSE option, another process, + such as the DISPLAY program, can access the data in the + graphics file. The CLOSE option causes graphics file + buffers to be flushed to the graphics file. - NONE - The random field is not correlated. This means the correlation coefficients are - determined according to + FILE - Graphics displays are switched back to the last-specified file name. - ρij = 1 for i = j - ρij = 0 for i ≠ j + OFF - Graphics display requests are ignored. - Here, ρij is the correlation coefficient between the i-th and j-th selected FE entity (node or element centroid). - LEXP + (blank) - If blank in interactive mode, graphics will be displayed on screen as requested + by display commands (no file written); If blank in batch + mode, graphics data will be written to Jobname.GRPH. - Calculate the correlation coefficient according to a linear-exponential decay function. - Here, D({xi} , {xj}) is the “domain distance” between {xi}, {xj}, and {xi} and - {xj} are the coordinate vectors of the i-th and - j-th selected FE entity (node or element - centroid), and CL is the correlation length of - the random field as specified in the CLENGTH - field. + PSCR - Creates PostScript graphic files that are named Jobnamennn.eps, where nnn is a + numeric value that is incremented by one as each additional + file is created; that is, Jobname000.eps, Jobname001.eps, + Jobname002.eps, and so on . (See the PSCR command for + options.) Ignores the Ext and NCPL fields. - clength - Correlation length of the correlation field. The correlation length - is a characteristic length that influences how strongly two - elements of a random field are correlated with each other. The - larger the value of CLENGTH, the stronger the correlation between - the random field elements. CLENGTH is required for Ctype = LEXP and - Ctype = QEXP; it must be a nonzero, positive number. + HPGL - Creates Hewlett-Packard Graphics Language files that are named Jobnamennn.hpgl, + where nnn is a numeric value that is incremented by one as + each additional file is created; that is, Jobname000.hpgl, + Jobname001.hpgl, Jobname002.hpgl, and so on. (See the HPGL + command for options.) Ignores the Ext and NCPL fields. - Notes - ----- - Calculates a correlation field for a probabilistic analysis involving a - random field. Random fields are random effects with a spatial - distribution; the value of a random field not only varies from - simulation to simulation at any given location, but also from location - to location. The correlation field describes the correlation - coefficient between two different spatial locations. Random fields can - be either based on element properties (typically material) or nodal - properties (typically surface shape defined by nodal coordinates). - Hence, random fields are either associated with the selected nodes or - the selected elements. If a random field is associated with elements, - then the correlation coefficients of the random field are calculated - based on the distance of the element centroids. + HPGL2 - Creates Hewlett-Packard Graphics Language files that are named Jobnamennn.hpgl, + where nn is a numeric value that is incremented by one as + each additional file is created; that is, Jobname000.hpgl, + Jobname001.hpgl, Jobname02.hpgl, and so on. The HPGL2 + files have enhanced color. (See the HPGL command for + options.) Ignores the Ext field. - For more information, see Probabilistic Design in the Advanced Analysis - Guide. + JPEG - Creates JPEG files that are named Jobnamennn.jpg, where nnn is a numeric value + that is incremented by one as each additional file is + created; that is, Jobname000.jpg, Jobname001.jpg, + Jobname002.jpg, and so on. Ignores the Ext field. - Note that for correlation fields, the “domain distance” D({xi} , {xj}) - is not the spatial distance |{xi} - {xj}|, but the length of a path - between {xi} and {xj} that always remains inside the finite element - domain. However, exceptions are possible in extreme meshing cases. For - elements that share at least one node, the PDCFLD evaluates the - distance by directly connecting the element centroids with a straight - line. If these neighboring elements form a sharp inward corner then it - is possible that the “domain distance” path lies partly outside the - finite element domain, as illustrated below. + TIFF - Creates tagged image format files that are named Jobnamennn.tif, where nnn is a + numeric value that is incremented by one as each additional + file is created; that is, Jobname000.tif, Jobname001.tif, + Jobname002.tif, and so on. This value for the Fname argument + ignores the Ext field. (See the TIFF command for options.) - After the correlation coefficients have been calculated and stored in - the ANSYS parameter ParR, then use the PDCORR command to define the - correlations between the elements of the random field. + PNG - Creates PNG (Portable Network Graphics) files that are named Jobnamennn.png, + where nnn is a numeric value that is incremented by one as + each additional file is created; that is, Jobname000.png, + Jobname001.png, Jobname002.png, and so on. This value for the + Fname argument ignores the Ext field. (See the PNGR command + for options.) - """ - command = "PDCFLD, %s, %s, %s, %s" % (str(parr), str(entity), str(ctype), str(clength)) - self.RunCommand(command, **kwargs) + VRML - Creates Virtual Reality Meta Language files named Jobname000.wrl that can be + displayed on 3-D Internet web browsers. Ignores the Ext and + NCPL fields. - def Numvar(self, nv="", **kwargs): - """ - APDL Command: NUMVAR + option + Assign a file name extension or specify reverse video output: - Specifies the number of variables allowed in POST26. + Ext - File name extension (eight-character maximum). - Parameters - ---------- - nv - Allow storage for NV variables. 200 maximum are allowed. Defaults - to 10 (except for an explicit dynamics analysis, which defaults to - 30). TIME (variable 1) should also be included in this number. + REV - Reverse background/image (black/white) colors. Valid with Fname = PNG + (recommended), JPEG, PSCR, TIFF, and HPGL. This option is + ignored if a previously specified color map table (/CMAP or + /RGB) is in effect. - Notes - ----- - Specifies the number of variables allowed for data read from the - results file and for data resulting from an operation (if any). For - efficiency, NV should not be larger than necessary. NV cannot be - changed after data storage begins. + vect + Specifies raster or vector display mode. This affects area, + volume, and element displays, as well as geometric results displays + such as contour plots. See the /DEVICE command for an alternate + way to toggle between raster and vector mode. Changing VECT also + resets the /TYPE command to its default. - """ - command = "NUMVAR, %s" % (str(nv)) - self.RunCommand(command, **kwargs) + 0 - Raster display (color filled entities; default) - def Mmf(self, **kwargs): - """ - APDL Command: MMF + 1 - Vector display (outlined entities; i.e., "wireframe") - Calculates the magnetomotive force along a path. + ncpl + Sets the number of color planes (4 to 8). Default is device- + dependent. NCPL is not supported by all graphics devices. Notes ----- - MMF invokes an ANSYS macro which calculates the magnetomotive force - (mmf) along a predefined path [PATH]. It is valid for both 2-D and - 3-D magnetic field analyses. The calculated mmf value is stored in the - parameter MMF. + Specifies the device to be used for graphics displays, and specifies + other graphics display parameters. Display may be shown at the time of + generation (for interactive runs at a graphics display terminal) or + diverted to a file for later processing with the DISPLAY program. + Issue /PSTATUS for display status. - A closed path [PATH], passing through the magnetic circuit for which - mmf is to be calculated, must be defined before this command is issued. - A counterclockwise ordering of points on the PPATH command will yield - the correct sign on the mmf. The mmf is based on Ampere's Law. The - macro makes use of calculated values of field intensity (H), and uses - path operations for the calculations. All path items are cleared upon - completion. The MMF macro sets the "ACCURATE" mapping method and "MAT" - discontinuity option of the PMAP command. + Batch runs do not have access to the fonts available on your system. + The Courier and Helvetica font files used for JPEG, PNG and TIFF batch + output are copyrighted by Adobe Systems Inc. and Digital Equipment + Corp. Permission to use these trademarks is hereby granted only in + association with the images described above. Batch run JPEG output is + produced at the default quality index value of 75, unless specified + otherwise. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Interactive displays default to eight color planes (NCPL = 8) for most + monitors, while graph file output defaults to eight color planes for + VRML output, and four color planes for PSCR, HPGL, HPGL2, JPEG, PNG, + TIFF and FILE33. + + This command is valid in any processor. """ - command = "MMF, " % () + command = "/SHOW,%s,%s,%s,%s" % (str(fname), str(option), str(vect), str(ncpl)) self.RunCommand(command, **kwargs) - def Esll(self, type="", **kwargs): + def Cfopen(self, fname="", ext="", loc="", **kwargs): """ - APDL Command: ESLL + APDL Command: *CFOPEN - Selects those elements associated with the selected lines. + Opens a "command" file. Parameters ---------- - type - Label identifying the type of element select: + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - S - Select a new set (default). + ext + Filename extension (eight-character maximum). - R - Reselect a set from the current set. + -- + Unused field. - A - Additionally select a set and extend the current set. + loc + Determines whether existing file will be overwritten or appended: - U - Unselect a set from the current set. + The existing file will be overwritten. - The file will be appended to the existing file. Notes ----- - Selects line elements belonging to meshed [LMESH], selected [LSEL] - lines. + Data processed with the *VWRITE command will also be written to this + file if the file is open when the *VWRITE command is issued. This command is valid in any processor. """ - command = "ESLL, %s" % (str(type)) + command = "*CFOPEN,%s,%s,%s" % (str(fname), str(ext), str(loc)) self.RunCommand(command, **kwargs) - def Hpgl(self, kywrd="", opt1="", opt2="", **kwargs): + def Shell(self, loc="", **kwargs): """ - APDL Command: HPGL + APDL Command: SHELL - Specifies various HP options. + Selects a shell element or shell layer location for results output. Parameters ---------- - pmod - Valid plotter model: 7475A (default), 7550A, 7580B, 7585B, 7586B, - COLORPRO, DRAFTPRO, or DRAFTMASTER. + loc + Location within shell element (or layer) to obtain stress results: + + TOP - Top of shell element (or layer) (default). + + MID - Middle of shell element (or layer). The default method averages the TOP and BOT + values to obtain a mid value. Setting KEYOPT(8) = 2 for + SHELL181, SHELL208, SHELL209, and ELBOW290 uses MID results + obtained directly from the results file. + + BOT - Bottom of shell element (or layer). Notes ----- - This command is available in both the ANSYS and DISPLAY programs. It - is valid for Hewlett Packard Graphics Language (HPGL) format files - selected in the ANSYS program with /SHOW,HPGL (or HPGL2), or with - /SHOWDISP,HPGL (or HPGL2) in the DISPLAY program. + Selects the location within a shell element (or a shell layer) for + results output (nodal stresses, strains, etc.). Applies to POST1 + selects, sorts, and output [NSEL, NSORT, PRNSOL, PLNSOL, PRPATH, + PLPATH, etc.], and is used for storage with the POST26 ESOL command. + For example, SHELL,TOP causes item S of the POST1 PRNSOL command or the + POST26 ESOL command to be the stresses at the top of the shell + elements. For layered shell elements, use the LAYER (POST1) or + LAYERP26 (POST26) command to select the layer. The SHELL command does + not apply to the layered thermal shell elements, SHELL131 and SHELL132. - An output file is generated for each plot. The ANSYS file is named - JobnameNN.HPGL. In the DISPLAY program, this file is named HPGLnn. - This file remains open for a subsequent /NOERASE plot, and will be - incomplete until the program is closed (/EXIT), or until the next file - is opened by the next /ERASE plot request. + For PowerGraphics [/GRAPHICS,POWER], the SHELL,MID command affects both + the printed output and the displayed results, while the SHELL (TOP or + BOT) command prints and displays both the top and bottom layers + simultaneously. Note that /CYCEXPAND,ON automatically turns on + PowerGraphics; however, for cyclic mode-superposition harmonic + postprocessing (CYCFILES), the SHELL command prints and displays only + the requested layer. + + In POST26, the ESOL data stored is based on the active SHELL + specification at the time the data is stored. To store data at various + specifications (for example, stresses at the top and bottom locations), + issue a STORE command before each new specification. """ - command = "HPGL, %s, %s, %s" % (str(kywrd), str(opt1), str(opt2)) + command = "SHELL,%s" % (str(loc)) self.RunCommand(command, **kwargs) - def Trpoin(self, x="", y="", z="", vx="", vy="", vz="", chrg="", m_ass="", - **kwargs): + def Ssbt(self, bt11="", bt22="", bt12="", t="", **kwargs): """ - APDL Command: TRPOIN + APDL Command: SSBT - Defines a point through which a particle flow or charged particle trace - will travel. + Specifies preintegrated bending thermal effects for shell sections. Parameters ---------- - x, y, z - Coordinate location of the trace point (in the active coordinate - system). If X = P, graphical picking is enabled and all remaining - command fields are ignored (valid only in the GUI). - - vx, vy, vz - Particle velocities in the X, Y and Z directions (in the active - coordinate system). - - chrg - Particle charge. + bt11, bt22, bt12 + Bending thermal effects component [BT]. - mass - Particle mass. + t + Temperature. Notes ----- - Defines a point through which a particle flow or charged particle trace - [PLTRAC] will travel. Multiple points (50 maximum) may be defined - which will result in multiple flow traces. Use TRPLIS to list the - currently defined trace points and TRPDEL to delete trace points. + The behavior of shell elements is governed by the generalized- + stress/generalized-strain relationship of the form: - The VX, VY, VZ, CHRG, and MASS arguments only apply to charged - particles. + The SSBT command, one of several preintegrated shell section commands, + specifies the bending thermal effects quantity (submatrix [BT] data) + for a preintegrated shell section. The section data defined is + associated with the section most recently defined (via the SECTYPE + command). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The [BT] quantity represents bending stress resultants caused by a unit + raise in temperature on a fully constrained model. For a layered + composite shell, it is usually necessary to specify both the [BT] and + [MT] quantities (by issuing the SSBT and SSMT commands, respectively). + + Unspecified values default to zero. + + Related commands are SSPA, SSPB, SSPD, SSPE, SSMT, and SSPM. + + If you are using the SHELL181 or SHELL281 element's Membrane option + (KEYOPT(1) = 1), it is not necessary to issue this command. + + For complete information, see Using Preintegrated General Shell + Sections. """ - command = "TRPOIN, %s, %s, %s, %s, %s, %s, %s, %s" % (str(x), str(y), str(z), str(vx), str(vy), str(vz), str(chrg), str(m_ass)) + command = "SSBT,%s,%s,%s,%s" % (str(bt11), str(bt22), str(bt12), str(t)) self.RunCommand(command, **kwargs) - def Cint(self, action="", par1="", par2="", par3="", par4="", par5="", - par6="", par7="", **kwargs): + def Pbc(self, item="", key="", min="", max="", abs="", **kwargs): """ - APDL Command: CINT + APDL Command: /PBC - Defines parameters associated with fracture parameter calculations + Shows boundary condition (BC) symbols and values on displays. Parameters ---------- - action - Specifies action for defining or manipulating initial crack data: - - NEW - Initiate a new calculation and assign an ID. - - CTNC - Define the crack tip node component. - - CENC - Define the crack extension node component, the crack tip node, and the crack - extension direction. + item + Label identifying the item: - TYPE - Define the type of calculation to perform. + U - Applied translational constraints (UX, UY, UZ). - DELE - Delete the CINT object associated with the specified ID. + ROT - Applied rotational constraints (ROTX, ROTY, ROTZ). - NCON - Define the number of contours to be calculated in the contour-integral - calculation. + TEMP - Applied temperatures (TEMP, TBOT, TE2, TE3, . . ., TTOP). - SYMM - Indicate whether the crack is on a symmetrical line or plane. + PRES - Applied fluid pressures. - NORM - Define the crack plane normal. + V - Applied flow velocities (VX, VY, VZ). - UMM - Activate or deactivate the unstructured mesh method. + VOLT - Applied voltages. - EDIR - Crack-assist extension direction. + MAG - Applied scalar magnetic potentials. - PLOT - Plots crack front and crack tip coordinate system. + A - Applied vector magnetic potentials. - CXFE - Define the crack tip element or crack front element set. Valid for XFEM-based - crack-growth analysis only. + CONC - Concentration. - RADIUS - Define the radius at which the given value is to be evaluated. Valid for XFEM- - based crack-growth analysis only. + CHRG - Applied electric charge. - RSWEEP - Define the minimum and maximum sweep angle from existing crack direction. Valid - for XFEM-based crack-growth analysis only. + F or FORC - Applied structural forces (FX, FY, FZ). - Notes - ----- - Initiate a new calculation via the Action = NEW parameter. Subsequent - CINT commands (with parameters other than NEW) define the input - required for the fracture parameter calculations. + M or MOME - Applied structural moments (MX, MY, MZ). - The simplest method is to define crack information using Action = CTNC; - however, this method limits you to only one node for a given location - along the crack front. + HEAT - Applied heat flows (HEAT, HBOT, HE2, HE3, . . ., HTOP). - To define crack information at multiple locations along the crack - front, use Action = CENC. You can issue CINT,CENC, Par1, etc. multiple - times to define the crack extension node component, the crack tip, and - the crack extension directions at multiple locations along the crack - front. + FLOW - Applied fluid flow. - Although you can vary the sequence of your definitions, all of the - crack tip nodes specified must be at the crack front, and no crack tip - node can be omitted + AMPS - Applied current flow. - You can define your crack extension direction directly using either - Action = CENC or Action = NORM. + FLUX - Applied magnetic flux. - The crack-assist extension direction (Action = EDIR) provides a generic - extension direction when Action = CTNC is specified. It is used to help - define crack extension directions based on the connectivity of the - crack front elements. For a 2-D case, when the crack tangent cannot be - calculated, the crack-assist extension direction provided is used - directly. + CSG - Applied magnetic current segments. - For Action = UMM, the default value can be OFF or ON depending on the - element type. The CINT, command overrides the default setting for the - given element. + RATE - Diffusion flow rate. - For an XFEM-based crack-growth analysis: + MAST - Master degrees of freedom. - Action = CTNC, CENC, NCON, SYMM, UMM, or EDIR have no effect. + CP - Coupled nodes. - Action = CXFE, RADIUS, or RSWEEP are XFEM-specific and cannot be used - for any other type of crack-growth analysis. + CE - Nodes in constraint equations. - For CINT,TYPE, only Par1 = PSMAX or STTMAX are valid. Other Par1 values - have no effect. + NFOR - POST1 nodal forces. - The stress-intensity factors calculation (CINT,TYPE,SIFS) applies only - to isotropic linear elasticity. Use only one material type for the - crack tip elements that are used for the calculations. + NMOM - POST1 nodal moments - When calculating energy release rates (CINT,TYPE,VCCT), do not restrict - the results from being written into the database (/CONFIG,NOELDB,1) - after solution processing. If you do so, incorrect and potentially - random results are possible. + RFOR - POST1 reaction forces. - The CINT command does not support the initial state capability - (INISTATE). + RMOM - POST1 reaction moments (MX, MY, MZ). - For more information about using the CINT command, including supported - element types and material behavior, see Evaluation of Fracture - Mechanics Parameters in the Fracture Analysis Guide. + PATH - Path geometry (undistorted) associated with the PATH command after a PDEF or + PVECT command has been issued. - """ - command = "CINT, %s, %s, %s, %s, %s, %s, %s, %s" % (str(action), str(par1), str(par2), str(par3), str(par4), str(par5), str(par6), str(par7)) - self.RunCommand(command, **kwargs) + ACEL - Global acceleration (ACELX, ACELY, ACELZ vector). - def Antype(self, antype="", status="", ldstep="", substep="", action="", - **kwargs): - """ - APDL Command: ANTYPE + OMEG - Global angular velocity (OMEGX, OMEGY, OMEGZ vector) and acceleration (DOMEGX, + DOMEGY, DOMEGZ vector). - Specifies the analysis type and restart status. + WELD - Applied spotwelds (ANSYS LS-DYNA). - Parameters - ---------- - antype - Analysis type (defaults to the previously specified analysis type, - or to STATIC if none specified): + ALL - Represents all appropriate labels. - STATIC or 0 - Perform a static analysis. Valid for all degrees of freedom. + -- + Unused field. - BUCKLE or 1 - Perform a buckling analysis. Implies that a previous static solution was - performed with prestress effects calculated - (PSTRES,ON). Valid for structural degrees of freedom - only. + key + Symbol key: - MODAL or 2 - Perform a modal analysis. Valid for structural and fluid degrees of freedom. + 0 - Do not show symbol. - HARMIC or 3 - Perform a harmonic analysis. Valid for structural, fluid, magnetic, and - electrical degrees of freedom. + 1 - Show symbol. - TRANS or 4 - Perform a transient analysis. Valid for all degrees of freedom. + 2 - Plot value next to symbol. - SUBSTR or 7 - Perform a substructure analysis. Valid for all degrees of freedom. + min + Minimum value in a range of values plotted on screen. - SPECTR or 8 - Perform a spectrum analysis. Implies that a previous modal analysis was - performed. Valid for structural degrees of freedom - only. + max + Maximum value in a range of values plotted on screen. - status - Specifies the status of the analysis (new or restart): + abs + Absolute number. If KEY = 2 and ABS = 0, a number falling between + the MIN and MAX is displayed. If ABS is not specified, it defaults + to 0. If KEY = 2 and ABS = 1, an absolute value falling between + the MIN and MAX is displayed. ABS = 1 lets you eliminate the + display of numbers whose absolute values are less than a desired + tolerance. For example, if ABS = 1, MIN = 10 and MAX = 1e8, values + such as .83646 and -5.59737 are not displayed. - NEW - Specifies a new analysis (default). If NEW, the remaining fields on this - command are ignored. + Notes + ----- + The /PBC command adds degree of freedom constraint, force load, and + other symbols to displays. - RESTART - Specifies a restart of a previous analysis. Valid for static, modal, and - transient (full or mode-superposition method) analyses. - For more information about restarting static and - transient analyses, see Multiframe Restart in the Basic - Analysis Guide. For more information on restarting a - modal analysis, see Modal Analysis Restart in the Basic - Analysis Guide. + Symbols are applied to the selected nodes only. All arrow and + arrowhead symbols are oriented in the nodal coordinate system and lie + in two perpendicular planes. Force arrows are scaled proportional to + their magnitude. (If KEY = 1, use /VSCALE to change arrow length.) + For scalar quantities, the specific component direction (i.e., x, y, or + z) of the symbol has no meaning, but the positive or negative sense + (e.g., positive or negative x) represents a positive or negative scalar + value, respectively. - Multiframe restart is also valid for harmonic analysis, but is limited to 2-D magnetic analysis only. - A substructure analysis (backsubstitution method only) can be restarted for the - purpose of generating additional load vectors. - For more information, see the SEOPT command and - Applying Loads and Creating the Superelement - Matrices in the Substructuring Analysis Guide. + The effects of the /PBC command are not cumulative (that is, the + command does not modify an existing setting from a previously issued + /PBC command). If you issue multiple /PBC commands during an analysis, + only the setting specified by the most recent /PBC command applies. - VTREST - Specifies the restart of a previous VT Accelerator analysis. Valid only with - Antype = STATIC, HARMIC, or TRANS. For more information, - see VT Accelerator Re-run in the Basic Analysis Guide. + Use /PSTATUS or /PBC,STAT to display settings. Use /PBC,DEFA to reset + all specifications back to default. See the /PSF and /PBF commands for + other display symbols. - ldstep - Specifies the load step at which a multiframe restart begins. + In a cyclic symmetry analysis, the /PBC command is deactivated when + cyclic expansion is active (/CYCEXPAND,,ON). To view boundary + conditions on the basic sector, deactivate cyclic expansion + (/CYCEXPAND,,OFF) and issue this command:: : /PBC,ALL,,1 - substep - Specifies the substep at which a multiframe restart begins. + Issuing the command /PBC,PATH, ,1 displays all defined paths. - action - Specifies the manner of a multiframe restart. + The /PBC command is valid in any processor. - CONTINUE - The program continues the analysis based on the specified LDSTEP and SUBSTEP - (default). The current load step is continued. If the - end of the load step is encountered in the .Rnnn file, a - new load step is started. The program deletes all .Rnnn - files, or .Mnnn files for mode-superposition transient - analyses, beyond the point of restart and updates the - .LDHI file if a new load step is encountered. + """ + command = "/PBC,%s,%s,%s,%s,%s" % (str(item), str(key), str(min), str(max), str(abs)) + self.RunCommand(command, **kwargs) - ENDSTEP - At restart, force the specified load step (LDSTEP) to end at the specified - substep (SUBSTEP), even though the end of the current - load step has not been reached. At the end of the - specified substep, all loadings are scaled to the level - of the current ending and stored in the .LDHI file. A run - following this ENDSTEP starts a new load step. This - capability allows you to change the load level in the - middle of a load step. The program updates the .LDHI file - and deletes all .Rnnn files, or .Mnnn files for mode- - superposition transient analyses, beyond the point of - ENDSTEP. The .Rnnn or .Mnnn file at the point of ENDSTEP - are rewritten to record the rescaled load level. + def Csdele(self, kcn1="", kcn2="", kcinc="", **kwargs): + """ + APDL Command: CSDELE - RSTCREATE - At restart, retrieve information to be written to the results file for the - specified load step (LDSTEP) and substep (SUBSTEP). Be - sure to use OUTRES to write the results to the - results file. This action does not affect the .LDHI or - .Rnnn files. Previous items stored in the results file - at and beyond the point of RSTCREATE are deleted. This - option cannot be used to restart a mode-superposition - transient analysis. + Deletes local coordinate systems. - PERTURB - At restart, a linear perturbation analysis (static, modal, buckling, or full - harmonic) is performed for the specified load step - (LDSTEP) and substep (SUBSTEP). This action does not - affect the .LDHI, .Rnnn, or .RST files. + Parameters + ---------- + kcn1, kcn2, kcinc + Delete coordinate systems from KCN1 (must be greater than 10) to + KCN2 (defaults to KCN1) in steps of KCINC (defaults to 1). If KCN1 + = ALL, KCN2 and KCINC are ignored and all coordinate systems are + deleted. Notes ----- - If using the ANTYPE command to change the analysis type in the same - SOLVE session, the program issues the following message: “Some analysis - options have been reset to their defaults. Please verify current - settings or respecify as required.” Typically, the program resets - commands such as NLGEOM and EQSLV to their default values. - - The analysis type (Antype) cannot be changed if a restart is specified. - Always save parameters before doing a restart. For more information on - the different types of restart, see Restarting an Analysis in the Basic - Analysis Guide. - - This command is also valid in PREP7. - - The ANSYS Professional - Nonlinear Structural (PRN) product supports - the Antype = TRANS option for mode-superposition (TRNOPT,MSUP) analyses - only. + This command is valid in any processor. """ - command = "ANTYPE, %s, %s, %s, %s, %s" % (str(antype), str(status), str(ldstep), str(substep), str(action)) + command = "CSDELE,%s,%s,%s" % (str(kcn1), str(kcn2), str(kcinc)) self.RunCommand(command, **kwargs) - def Outpr(self, item="", freq="", cname="", **kwargs): + def Lovlap(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nl7="", + nl8="", nl9="", **kwargs): """ - APDL Command: OUTPR + APDL Command: LOVLAP - Controls the solution printout. + Overlaps lines. Parameters ---------- - item - Item for print control: - - BASIC - Basic quantities (nodal DOF solution, nodal reaction loads, and element - solution) (default). - - NSOL - Nodal DOF solution. - - RSOL - Nodal reaction loads. - - ESOL - Element solution. + nl1, nl2, nl3, . . . , nl9 + Numbers of lines to be overlapped. If NL1 = ALL, NL2 to NL9 are + ignored and all selected lines are overlapped. If NL1 = 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 NL1. - NLOAD - Element nodal loads. When nonlinear stabilization is active, the stabilization - force/moments are also printed. + Notes + ----- + Overlaps lines. Generates new lines which encompass the geometry of all + the input lines. The new lines are defined by the regions of + intersection of the input lines, and by the complementary (non- + intersecting) regions. See the Modeling and Meshing Guide for an + illustration. This operation is only valid when the region of + intersection is a line. See the BOPTN command for an explanation of + the options available to Boolean operations. Element attributes and + solid model boundary conditions assigned to the original entities will + not be transferred to the new entities generated. - SFOR - Stabilization force/moment at the applicable nodes (valid only when nonlinear - stabilization is active). + """ + command = "LOVLAP,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nl7), str(nl8), str(nl9)) + self.RunCommand(command, **kwargs) - VENG - Element energies. When nonlinear stabilization is active, the energy - dissipation due to stabilization is also printed. + def Prvect(self, item="", lab2="", lab3="", labp="", **kwargs): + """ + APDL Command: PRVECT - V - Nodal velocity (applicable to structural transient analysis only - (ANTYPE,TRANS)). + Prints results as vector magnitude and direction cosines. - A - Nodal acceleration (applicable to structural transient analysis only - (ANTYPE,TRANS)). + Parameters + ---------- + item + Predefined vector item (from Table 226: PRVECT - Valid Item and + Component Labels below) or a label identifying the i-component of a + user-defined vector. - ALL - All of the above solution items. + lab2 + Label identifying the j-component of a user-defined vector. In most + cases, this value must be blank if Item is selected from Table 226: + PRVECT - Valid Item and Component Labels. Individual principal + stresses (Item = S) or principal strains (Item = EPxx) may be + printed by specifying the value as 1, 2, or 3. - freq - Print solution for this item every Freqth (and the last) substep of - each load step. If -n, print up to n equally spaced solutions - (only applies to static or full transient analyses when automatic - time stepping is enabled). If NONE, suppress all printout for this - item for this load step. If ALL, print solution for this item for - every substep. If LAST, print solution for this item only for the - last substep of each load step. For a modal analysis, use NONE or - ALL. + lab3 + Label identifying the k-component of a user-defined vector. Must + be blank if Item is selected from list below or for 2-D user + defined vector. - cname - Name of the component, created with the CM command, defining the - selected set of nodes or elements for which this specification is - active. If blank, the set is all entities. + labp + Label assigned to resultant vector for printout labeling (defaults + to Item). Notes ----- - Controls the solution items to be printed, the frequency with which - they are printed (in static, transient, or full harmonic analyses), and - the set of nodes or elements to which this specification applies (in - static, transient, or full harmonic analyses). An item is associated - with either a node (NSOL, RFORCE, V, and A items) or an element (all of - the remaining items). The specifications are processed in the order - that they are input. Up to 50 specifications (OUTPR and OUTRES - commands combined) may be defined. Use OUTPR,STAT to list the current - specifications and use OUTPR,ERASE to erase all the current - specifications. + Prints various solution results as vector magnitude and direction + cosines for the selected nodes and/or elements. For example, PRVECT,U + prints the displacement magnitude and its direction cosines for all + selected nodes. For nodal degree of freedom vector results, direction + cosines are with respect to the results coordinate system RSYS. For + element results, direction cosines are with respect to the global + Cartesian system. Item components may be printed with the PRNSOL + command. Various results also depend upon the recalculation method and + the selected results location [LAYER, SHELL, NSEL, and ESEL]. Items + may be selected from a set of recognized vector labels (Item) or a + vector may be defined from up to three scalar labels (Item,Lab2,Lab3). + Scalar labels may be user-defined with the ETABLE command. - As described above, OUTPR writes some or all items (depending on - analysis type) for all elements. To restrict the solution printout, - use OUTPR to selectively suppress (Freq = NONE) the writing of solution - data, or first suppress the writing of all solution data - (OUTPR,ALL,NONE) and then selectively turn on the writing of solution - data with subsequent OUTPR commands. + Portions of this command are not supported by PowerGraphics + [/GRAPHICS,POWER]. - If the generalized plane strain feature is active and OUTPR is issued, - the change of fiber length at the ending point during deformation and - the rotation of the ending plane about X and Y during deformation will - be printed if any displacement at the nodes is printed. The reaction - forces at the ending point will be printed if any reaction force at the - nodes is printed. + Table: 226:: : PRVECT - Valid Item and Component Labels - Nodal reaction loads (Item = RSOL) are processed according to the - specifications listed for the PRRSOL command. + """ + command = "PRVECT,%s,%s,%s,%s" % (str(item), str(lab2), str(lab3), str(labp)) + self.RunCommand(command, **kwargs) - Result printouts for interactive sessions are suppressed for models - with more than 10 elements. + def Fluxv(self, **kwargs): + """ + APDL Command: FLUXV - This command is also valid in PREP7. + Calculates the flux passing through a closed contour. + + Notes + ----- + FLUXV invokes an ANSYS macro which calculates the flux passing through + a closed contour (path) predefined by PATH. The calculated flux is + stored in the parameter FLUX. In a 2-D analysis, at least two nodes + must be defined on the path. In 3-D, a path of nodes describing a + closed contour must be specified (i.e., the first and last node in the + path specification must be the same). A counterclockwise ordering of + nodes on the PPATH command will give the correct sign on flux. Path + operations are used for the calculations, and all path items are + cleared upon completion. This macro is only available for vector + potential formulations. """ - command = "OUTPR, %s, %s, %s" % (str(item), str(freq), str(cname)) + command = "FLUXV," % () self.RunCommand(command, **kwargs) - def Edrd(self, option="", part="", mrb="", **kwargs): + def Modopt(self, method="", nmode="", freqb="", freqe="", cpxmod="", + nrmkey="", modtype="", blocksize="", scalekey="", **kwargs): """ - APDL Command: EDRD + APDL Command: MODOPT - Switches a part from deformable to rigid or from rigid to deformable in - an explicit dynamic analysis. + Specifies modal analysis options. Parameters ---------- - option - Label identifying the option to be performed. - - D2R - Change specified part from deformable to rigid (default). - - R2D - Change specified part from rigid to deformable. Use this option to switch a - part back to a deformable state after it has been changed to - rigid using EDRD,D2R. + method + Mode-extraction method to be used for the modal analysis. - LIST - List parts that are flagged to change from deformable to rigid or rigid to - deformable. + LANB - Block Lanczos - part - Part number for part to be changed (no default). + LANPCG - PCG Lanczos - mrb - Part number of the master rigid body to which the part is merged. - MRB is used only if Option = D2R. If MRB = 0 (which is the - default), the part becomes an independent rigid body. + SNODE - Supernode modal solver - Notes - ----- - This command is valid in a new explicit dynamic analysis or in a - restart. It is only possible to switch parts (D2R or R2D) in a restart - if part switching is first activated in the original analysis. If part - switching is not required in the original analysis but will be used in - the restart, you must issue EDRD,D2R with no further arguments in the - original analysis. You can use the EDRI command to define inertia - properties for newly created rigid bodies (D2R). + SUBSP - Subspace algorithm - Parts that are defined as rigid using EDMP,RIGID are permanently rigid - and cannot be changed to deformable. + UNSYM - Unsymmetric matrix - This command is also valid in PREP7. + DAMP - Damped system - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + QRDAMP - Damped system using QR algorithm - """ - command = "EDRD, %s, %s, %s" % (str(option), str(part), str(mrb)) - self.RunCommand(command, **kwargs) + VT - Variational Technology - def Mflcomm(self, type="", fname1="", intname1="", label1="", fname2="", - intname2="", label2="", option="", **kwargs): - """ - APDL Command: MFLCOMM + nmode + The number of modes to extract. The value can depend on the value + supplied for Method. NMODE has no default and must be specified. If + Method = LANB, LANPCG, or SNODE, the number of modes that can be + extracted can equal the DOFs in the model after the application of + all boundary conditions. - Defines a load transfer for code coupling analyses. + freqb + The beginning, or lower end, of the frequency range of interest. - Parameters - ---------- - type - Set to SURF for a surface load transfer. Only surface load - transfers are available for MFX. + freqe + The ending, or upper end, of the frequency range of interest (in + Hz). The default for Method = SNODE is described below. The default + for all other methods is to calculate all modes, regardless of + their maximum frequency. - fname1 - Sets the field solver name for the server (sending) code with a - case-sensitive character string of up to 80 characters. + cpxmod + Complex eigenmode key. (Valid only when Method = QRDAMP or Method = + UNSYM). - intname1 - Sets the interface name or number for the field solver of the - server code. ANSYS interfaces are numbered and are defined by the - SF family of commands (SF, SFA, or SFE) with the FSIN surface load - label. CFX interfaces use names, which are set in CFX-Pre. + AUTO - Determine automatically if the eigensolutions are real or complex and output + them accordingly. This is the default for Method = UNSYM. + Not supported for Method = QRDAMP. - label1 - Sets the surface load label for the field solver of the server code - with a character string of up to 80 characters. ANSYS uses a - combination of the label and option to determine what data is - transferred (e.g., heat flows and not fluxes are sent with the - label/option pair HFLU/CPP). ANSYS cannot serve total force or - total force density to CFX for either formulation. CFX will send - the data requested by the label regardless of the option. CFX - labels that have more than one word must be enclosed in single - quotes. Note that this field is case-sensitive; i.e., FORC will - work, but forc will not. + ON or CPLX - Calculate and output complex eigenmode shapes. - fname2 - Sets the field solver name for the client (receiving) code with a - character string of up to 80 characters. + OFF or REAL - Do not calculate complex eigenmode shapes. This is required if a mode- + superposition analysis is intended after the modal + analysis for Method = QRDAMP. This is the default for + this method. - intname2 - Sets the interface name or number for the field solver of the - client code with a character string of up to 80 characters. ANSYS - interfaces are numbered and are defined by the SF family of - commands (SF, SFA, or SFE) with the FSIN surface load label. CFX - interfaces use names, which are set in CFX-Pre. + nrmkey + Mode shape normalization key: - label2 - Sets the surface load label for the field solver of the client code - with a character string of up to 80 characters. ANSYS uses a - combination of the label and option to determine what data is - transferred (e.g., heat flows and not fluxes are sent with the - label-option pair HFLU/CPP). CFX will send the data requested by - the label regardless of the option. CFX labels that have more than - one word must be enclosed in single quotes. Note that this field is - case-sensitive; i.e., FORC will work, but forc will not. + OFF - Normalize the mode shapes to the mass matrix (default). - option - NONC + ON - Normalize the mode shapes to unity instead of to the mass matrix. If a + subsequent spectrum or mode-superposition analysis is planned, + the mode shapes should be normalized to the mass matrix + (Nrmkey = OFF). - NONC - Profile preserving: Sets the interface load transfer to the nonconservative - formulation (default for displacement and temperature). In - the nonconservative formulation, the force density (or heat - flux) is transferred across the interface, preserving the - density profile between the two fields. + modtype + Type of modes calculated by the eigensolver. Only applicable to the + unsymmetric eigensolver. - CPP - Conservative: Uses a local conservative formulation while preserving the - density profile (default for total force and wall heat flow). - In the conservative formulation, total force (or heat flow) - must be transferred across the interface from the CFX field - solver to the ANSYS field solver. + Blank - Right eigenmodes. This value is the default. - Notes - ----- - ANSYS input should always be in consistent units for its model. + BOTH - Right and left eigenmodes. The left eigenmodes are written to Jobname.LMODE. + This option must be activated if a mode-superposition + analysis is intended. - ANSYS uses a combination of the label and option to determine what data - to transfer. CFX will send exactly the data requested by the label, - regardless of the option. However, for the NONC option, the CFX label - must be Total Force Density or Wall Heat Flux and for the CPP option, - the CFX label must be Total Force or Wall Heat Flow. + blocksize + The block vector size to be used with the Block Lanczos or Subspace + eigensolver (used only when Method = LANB or SUBSP). BlockSize must + be an integer value between 0 and 16. When BlockSize = zero or + blank, the code decides the block size internally (normally, a + value of 8 is used for LANB and a value of 6 is used for SUBSP). + Typically, higher BlockSize values are more efficient under each of + the following conditions: - For more information on profile preserving and conservative load - transfer, see Load Interpolation in the Coupled-Field Analysis Guide. - Mapping Diagnostics are also available; however, if the improperly- - mapped nodes are based on the CFX mesh, you should ignore the ANSYS- - generated components because the CFX nodes are not present in the ANSYS - database. + -- + Unused field. - If you are working interactively, you can choose two pre-defined - combinations, Mechanical or Thermal, or you can choose a Custom option. - If you choose the Mechanical load type, then the Total Force Density - and Total Mesh Displacement data (corresponding to the ANSYS FORC and - DISP labels, respectively) is transferred. If you choose the Thermal - load type, then the Temperature and Wall Heat Flux data (corresponding - to the ANSYS TEMP and HFLU labels, respectively) is transferred. If you - choose Custom, you can select any valid combination of label and option - as described above. + -- + Unused field. - The ANSYS Multi-field solver solver does not allow you to switch the - load transfer direction for the same load quantity across the same - interfaces for a restart run. For example, if Field1 sends temperature - to and receives heat flow from Field2 across Interface 1 in a previous - solution, then you cannot make Field1 send heat flow to and receive - temperatures from Field2 across the same interface in a restart run, - even if you cleared the corresponding load transfer command. + scalekey + Matrices scaling key for acoustic-structural interaction: - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + OFF - Do not scale the matrices (default). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + ON - Scale the matrices. - """ - command = "MFLCOMM, %s, %s, %s, %s, %s, %s, %s, %s" % (str(type), str(fname1), str(intname1), str(label1), str(fname2), str(intname2), str(label2), str(option)) - self.RunCommand(command, **kwargs) + Notes + ----- + Specifies modal analysis (ANTYPE,MODAL) options. Additional options + used only for the Supernode (SNODE) eigensolver are specified by the + SNOPTION command. Additional options used only for the Subspace (SUBSP) + eigensolver are specified by the SUBOPT command. If Method = LANPCG, + ANSYS automatically switches to the PCG solver internally for this + modal analysis. You can further control the efficiency of the PCG + solver with the PCGOPT and EQSLV commands. - def Estif(self, kmult="", **kwargs): - """ - APDL Command: ESTIF + For models that involve a non-symmetric element stiffness matrix, as in + the case of a contact element with frictional contact, the QRDAMP + eigensolver (MODOPT, QRDAMP) extracts modes in the modal subspace + formed by the eigenmodes from the symmetrized eigenproblem. The QRDAMP + eigensolver symmetrizes the element stiffness matrix on the first pass + of the eigensolution, and in the second pass, eigenmodes are extracted + in the modal subspace of the first eigensolution pass. For such non- + symmetric eigenproblems, you should verify the eigenvalue and eigenmode + results using the non-symmetric matrix eigensolver (MODOPT,UNSYM). - Specifies the matrix multiplier for deactivated elements. + The DAMP and QRDAMP options cannot be followed by a subsequent spectrum + analysis. The UNSYM method supports spectrum analysis when + eigensolutions are real. - Parameters - ---------- - kmult - Stiffness matrix multiplier for deactivated elements (defaults to - 1.0E-6). + This command is also valid in PREP7. - Notes - ----- - Specifies the stiffness matrix multiplier for elements deactivated with - the EKILL command (birth and death). + Distributed ANSYS Restriction: The VT extraction method is not + supported in Distributed ANSYS. All other extraction methods are + supported. However, PCG Lanczos, SUBSP, UNSYM, DAMP, and QRDAMP are the + only distributed eigensolvers that will run a fully distributed + solution. The Block Lanczos and Supernode eigensolvers are not + distributed eigensolvers; therefore, you will not see the full + performance improvements with these methods that you would with a fully + distributed solution. - This command is also valid in PREP7. + The ANSYS DesignSpace (DS) product does not support distributed + solutions (Distributed ANSYS). """ - command = "ESTIF, %s" % (str(kmult)) + command = "MODOPT,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(method), str(nmode), str(freqb), str(freqe), str(cpxmod), str(nrmkey), str(modtype), str(blocksize), str(scalekey)) self.RunCommand(command, **kwargs) - def Blc4(self, xcorner="", ycorner="", width="", height="", depth="", - **kwargs): + def Color(self, lab="", clab="", n1="", n2="", ninc="", **kwargs): """ - APDL Command: BLC4 + APDL Command: /COLOR - Creates a rectangular area or block volume by corner points. + Specifies the color mapping for various items. Parameters ---------- - xcorner, ycorner - Working plane X and Y coordinates of one corner of the rectangle or - block face. + lab + Apply color to the items specified by the following labels: - width - The distance from XCORNER on or parallel to the working plane - X-axis that, together with YCORNER, defines a second corner of the - rectangle or block face. + AXES - Determines the color (specified in next argument, Clab) that the axes of a + graph will be plotted in. - height - The distance from YCORNER on or parallel to the working plane - Y-axis that, together with XCORNER, defines a third corner of the - rectangle or block face. + AXNUM - Determines the color (specified in next argument, Clab) that the numbering on + the axes of a graph will be plotted in. - depth - The perpendicular distance (either positive or negative based on - the working plane Z direction) from the working plane representing - the depth of the block. If DEPTH = 0 (default), a rectangular area - is created on the working plane. + NUM - Discretely numbered items (such as element types, element materials, etc., as + shown on the /PNUM command). Also specify number (1 to 11) + in the N1 field. For example, /COLOR,NUM,RED,3 will assign + the color red to all items having the discrete number 3 + (material displays would show elements having material 3 as + red). - Notes - ----- - Defines a rectangular area anywhere on the working plane or a - hexahedral volume with one face anywhere on the working plane. A - rectangle will be defined with four keypoints and four lines. A volume - will be defined with eight keypoints, twelve lines, and six areas, with - the top and bottom faces parallel to the working plane. See the BLC5, - RECTNG, and BLOCK commands for alternate ways to create rectangles and - blocks. + OUTL - Outline of elements, areas, and volumes. Ex: /COLOR,OUTL,BLUE. - """ - command = "BLC4, %s, %s, %s, %s, %s" % (str(xcorner), str(ycorner), str(width), str(height), str(depth)) - self.RunCommand(command, **kwargs) + ELEM - Elements. Use N1, N2, NINC fields for element numbers. - def Hrcplx(self, loadstep="", substep="", omegat="", firstlc_ase="", - secondlc_ase="", **kwargs): - """ - APDL Command: HRCPLX + LINE - Solid model lines. Use N1, N2, NINC fields for line numbers. - Computes and stores in the database the time-harmonic solution at a - prescribed phase angle. + AREA - Solid model areas. Use N1, N2, NINC fields for area numbers. - Parameters - ---------- - loadstep - Load step number of the data set to be read (defaults to 1). + VOLU - Solid model volumes. Use N1, N2, NINC fields for volume numbers. - substep - Substep number within LOADSTEP. + ISURF - Isosurfaces (surfaces of constant stress, etc.). This option is particularly + useful when capturing frames for animating a single + isosurface value. - omegat - Angle in degrees (Ω (angle) times T (time)). + WBAK - Window background. Use N1, N2, NINC fields for window numbers. The options + that you select using Lab = PBAK will supersede those + applied using Lab = WBAK. - 1stlcase - First load case number (defaults to 1). + b.c.label - Boundary condition label. Enter U, ROT, TEMP, PRES, V, VOLT, MAG, A, EMF, + CURR, F, M, HEAT, FLOW, VF, AMPS, FLUX, CSG, CURT, + VLTG, MAST, CP, CE, NFOR, NMOM, RFOR, RMOM, PATH. See + the /PBC command for boundary condition label + definitions. - 2ndlcase - Second load case number (defaults to 2). + GRBAK - Graph background. - Notes - ----- - HRCPLX invokes a macro that combines the real and imaginary parts of - the solution. If the angle is specified, it produces the following: + GRID - Graph grid lines. - Where: + AXLAB - Graph X and Y axis labels. - RR and RI are, respectively, the real and imaginary parts of the - results quantity (e.g. the nodal displacements, the reaction forces, - ...). + CURVE - Graph curves (identify curve numbers (1-10) in N1, N2, NINC fields). - α is the angle (OMEGAT). + CM - Component group. Use N1 field for component name, ignore N2 and NINC. - 1STLCASE and 2NDLCASE are internally generated load cases. You may want - to specify these to avoid overwriting an existing load case number 1 or - 2. + CNTR - ANSYS contour stress colors. The maximum number of contours available is 128. + The number of colors that can be specified interactively + (GUI) is 9. (/CONTOUR, , 9). Any other setting will yield + inconsistent results. - Not all results computed by this command are valid. See Summable, Non- - Summable and Constant Data in the Basic Analysis Guide for more - information. When the amplitude of the solution is requested (OMEGAT >= - 360°), averaged values (such as the nodal component stresses, which are - an average of element nodal component stresses) are calculated by - averaging the amplitudes. Because the degrees of freedom results have - different phases, derived results (such as the equivalent stress SEQV) - are not valid. See POST1 and POST26 – Complex Results Postprocessing - for more details about post-processing complex results. - - For postprocessing amplitudes, the only appropriate coordinate system - is the solution coordinate system (RSYS ,SOLU). When displaying the - displacement amplitudes, use a contour display (PLNSOL command). - Because a deformed shape display (PLDISP command) could lead to a non- - physical shape, the displacement scaling is off by default - (/DSCALE,,OFF). - - For postprocessing cylindrical geometry, it is suggested that you - rotate the element coordinate systems into the appropriate cylindrical - system (EMODIF,,ESYS) before running the solution and then view the - results in this system (RSYS,SOLU) in POST1. + SMAX - Specifies that all stress values above the maximum value entered in /CONTOUR + will be displayed in the color designated in the Clab field. + Defaults to dark grey. - Since HRCPLX performs load case combinations, it alters most of the - data in the database. In particular, it alters applied loads such as - forces and imposed displacements. To restore the original loads in the - database for a subsequent analysis, reissue the SET command in POST1 to - retrieve the real and imaginary set data. + SMIN - Specifies that all stress values below the minimum value entered in /CONTOUR + will be displayed in the color designated in the Clab field. + Defaults to dark grey. - To animate the solution over one period, use the ANHARM command. + PBAK - Activates background shading options (see command syntax at end of argument + descriptions below). The options that you select using Lab = + PBAK will supersede those applied using Lab = WBAK. - OMEGAT is not equal to the phase shift. + clab + Valid color labels are: - This command is not supported after a cyclic symmetry analysis; use - /CYCEXPAND,,PHASEANG instead. + BLAC (0) - Black - """ - command = "HRCPLX, %s, %s, %s, %s, %s" % (str(loadstep), str(substep), str(omegat), str(firstlc_ase), str(secondlc_ase)) - self.RunCommand(command, **kwargs) + MRED (1) - Magenta-Red - def Eorient(self, etype="", dir="", toler="", **kwargs): - """ - APDL Command: EORIENT + MAGE (2) - Magenta - Reorients solid element normals. + BMAG (3) - Blue-Magenta - Parameters - ---------- - etype - Specifies which elements to orient. + BLUE (4) - Blue - LYSL - Specifies that certain solid elements (such as SOLID185 with KEYOPT(3) = 1, - SOLID186 with KEYOPT(3) = 1, and SOLSH190) will be oriented. - This value is the default. + CBLU (5) - Cyan-Blue - Notes - ----- - EORIENT renumbers the element faces, designating the face most - parallel to the XY plane of the element coordinate system (set with - ESYS) as face 1 (nodes I-J-K-L, parallel to the layers in layered - elements). It calculates the outward normal of each face and changes - the node designation of the elements so the face with a normal most - nearly parallel with and in the same general direction as the target - axis becomes face 1. + CYAN (6) - Cyan - The target axis, defined by Dir, is either the negative or positive - indicated axis or the outward normal of face 1 of that element. + GCYA ((7) - Green-Cyan - All SOLID185 Layered Structural Solid, SOLID186 Layered Structural - Solid, and SOLSH190 solid shell elements in the selected set are - considered for reorientation. + GREE (8) - Green - After reorienting elements, you should always display and graphically - review results using the /ESHAPE command. When plotting models with - many or symmetric layers, it may be useful to temporarily reduce the - number of layers to two, with one layer being much thicker than the - other. + YGRE (9) - Yellow-Green - You cannot use EORIENT to change the normal direction of any element - that has a body or surface load. We recommend that you apply all of - your loads only after ensuring that the element normal directions are - acceptable. + YELL (10) - Yellow - Prisms and tetrahedrals are also supported, within the current - limitations of the SOLID185, SOLID186, and SOLSH190 elements. (Layers - parallel to the four-node face of the prism are not supported.) + ORAN (11) - Orange - """ - command = "EORIENT, %s, %s, %s" % (str(etype), str(dir), str(toler)) - self.RunCommand(command, **kwargs) + RED (12) - Red - def Psdval(self, tblno="", sv1="", sv2="", sv3="", sv4="", sv5="", sv6="", - sv7="", **kwargs): - """ - APDL Command: PSDVAL + DGRA (13) - Dark Gray - Defines PSD values. + LGRA (14) - Light Gray - Parameters - ---------- - tblno - Input table number being defined. + WHIT (15) - White - sv1, sv2, sv3, . . . , sv7 - Spectral values corresponding to the frequency points [PSDFRQ]. - Values are interpreted as defined with the PSDUNIT command. + n1, n2, ninc + Apply color to Lab items numbered N1 to N2 (defaults to N1) in + steps of NINC (defaults to 1). If N1 is blank, apply color to + entire selected range. If Lab is CM, use component name for N1 and + ignore N2 and NINC. If N1 = P, graphical picking of elements, + lines, areas and volumes is enabled; your can assign colors to the + entities via the picker. When picking is enabled, the Lab and Clab + fields are ignored. Notes ----- - Defines PSD values to be associated with the previously defined - frequency points. + Issue /COLOR,STAT to display the current color mapping. Issue + /COLOR,DEFA to reset the default color mapping. - Repeat PSDVAL command for additional values, up to the number of - frequency points [PSDFRQ]. Values are added after the last nonzero - value. + Note:: : Color labels may also be reassigned any "color" with the /CMAP + command. - This command is also valid in PREP7. + This command is valid anywhere. """ - command = "PSDVAL, %s, %s, %s, %s, %s, %s, %s, %s" % (str(tblno), str(sv1), str(sv2), str(sv3), str(sv4), str(sv5), str(sv6), str(sv7)) + command = "/COLOR,%s,%s,%s,%s,%s" % (str(lab), str(clab), str(n1), str(n2), str(ninc)) self.RunCommand(command, **kwargs) - def Nwpave(self, n1="", n2="", n3="", n4="", n5="", n6="", n7="", n8="", - n9="", **kwargs): + def Madapt(self, errtargt="", nadapt="", nmax="", kplt="", ksmooth="", + klst="", kcd="", device="", **kwargs): """ - APDL Command: NWPAVE + APDL Command: MADAPT - Moves the working plane origin to the average location of nodes. + Adaptively meshes and solves an edge-based model. Parameters ---------- - n1, n2, n3, . . . , n9 - Nodes used in calculation of the average. At least one must be - defined. If N1 = P, graphical picking is enabled and all remaining - command fields are ignored (valid only in the GUI). - - Notes - ----- - Averaging is based on the active coordinate system. + errtargt + Target percentage for Zienkiewitz Zhu magnetic flux error (defaults + to 5). - This command is valid in any processor. + nadapt + Maximum number of adaptive steps (defaults to 5). - """ - command = "NWPAVE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(n1), str(n2), str(n3), str(n4), str(n5), str(n6), str(n7), str(n8), str(n9)) - self.RunCommand(command, **kwargs) + nmax + Maximum number of elements at which the iterations may continue + (defaults to 50,000). Limits the number of elements that can be + chosen for refinement. - def Lccat(self, nl1="", nl2="", **kwargs): - """ - APDL Command: LCCAT + kplt + Plotting options: - Concatenates multiple lines into one line for mapped meshing. + 0 - No plot (default) - Parameters - ---------- - nl1, nl2 - Lines to be concatenated. If NL1 = ALL, NL2 is ignored and all - selected lines [LSEL] are concatenated. If NL1 = 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 NL1 (NL2 is ignored). + 1 - Elements and H - Notes - ----- - Concatenates multiple, adjacent lines (the input lines) into one line - (the output line) in preparation for mapped meshing. An area that - contains too many lines for mapped meshing can still be mapped meshed - if some of the lines in that area are first concatenated (see Meshing - Your Solid Model in the Modeling and Meshing Guide for details on - mapped meshing restrictions). + 2 - BERR error estimates - LCCAT is meant to be used solely for meshing and cannot be used for any - other purposes. Specifically, (a) the output line and any areas that - have the output line on their line list [ALIST] cannot be used as input - to any other solid modeling operation (not even another LCCAT command); - and (b) the output line cannot accept solid model boundary conditions - [DL, SFL]. + 3 - BDSG, BEPC error estimates - The output line will take on the element divisions of the input lines - and will not accept element divisions that are directly assigned - [LESIZE]. The output line from the LCCAT operation will be coincident - with the input lines and the input lines will be retained. Consider - the LCOMB command instead of LCCAT if you wish to delete the input - lines and if the lines to be combined have similar slopes at the common - keypoint(s). When an LCCAT command is issued, area line lists [ALIST] - that contain all of the input lines will be updated so that the area - line lists refer to the output line instead of the input lines. - Deletion of the output line [LDELE] effectively reverses the LCCAT - operation and restores area line lists to their original condition. + 4 - Adaptive details - You can use the LSEL command to select lines that were created by - concatenation, and then follow it with an LDELE,ALL command to delete - them. Also see Meshing Your Solid Model in the Modeling and Meshing - Guide for a discussion on how to easily select and delete concatenated - lines in one step. + ksmooth + Smoothing options for refinement - """ - command = "LCCAT, %s, %s" % (str(nl1), str(nl2)) - self.RunCommand(command, **kwargs) + 0 - No postprocessing will be done (default). - def Lsum(self, **kwargs): - """ - APDL Command: LSUM + 1 - Smoothing will be done. Node locations may change. - Calculates and prints geometry statistics of the selected lines. + 2 - Smoothing and cleanup will be done. Existing elements may be deleted, and node + locations may change. - Notes - ----- - Calculates and prints geometry statistics (length, centroid, moments of - inertia, etc.) associated with the selected lines. Geometry items are - reported in the global Cartesian coordinate system. A unit density is - assumed, irrespective of any material associations [LATT, MAT]. Items - calculated by LSUM and later retrieved by a *GET or *VGET command are - valid only if the model is not modified after the LSUM command is - issued. + klst + Listing options - """ - command = "LSUM, " % () - self.RunCommand(command, **kwargs) + 0 - No printing (default) - def Sfscale(self, lab="", fact="", fact2="", **kwargs): - """ - APDL Command: SFSCALE + 1 - Final report - Scales surface loads on elements. + 2 - Report at each iteration step - Parameters - ---------- - lab - Valid surface load label. If ALL, use all appropriate labels. + 3 - Report Zienkiewitz Zhu magnetic errors BERR and BSGD - fact - Scale factor for the first surface load value. Zero (or blank) - defaults to 1.0. Use a small number for a zero scale factor. + 4 - Regular details - fact2 - Scale factor for the second surface load value. Zero (or blank) - defaults to 1.0. Use a small number for a zero scale factor. + 5 - Full details - Notes - ----- - Scales surface loads (pressure, convection, etc.) in the database on - the selected elements. Surface loads are applied with the SF, SFE, or - SFBEAM commands. Issue the SFELIST command to list the surface loads. - Solid model boundary conditions are not scaled by this command, but - boundary conditions on the FE model are scaled. + 6 - Refine details - Note:: : Such scaled FE boundary conditions may still be overwritten by - unscaled solid model boundary conditions if a subsequent boundary - condition transfer occurs. + 7 - Track - SFSCALE does not work for tabular boundary conditions. + kcd + Allows you to issue a CDWRITE or CDREAD at every iteration. - This command is also valid in PREP7 and in the /MAP processor. + 0 - Do not issue CDWRITE or CDREAD (default). - """ - command = "SFSCALE, %s, %s, %s" % (str(lab), str(fact), str(fact2)) - self.RunCommand(command, **kwargs) + 1 - Issue CDWRITE at every iteration (to save every mesh variation). This option + issues CDWRITE,geom, writing the information to jobnameN.cdb. - def Dset(self, node1="", node2="", node3="", ddev="", **kwargs): - """ - APDL Command: DSET + 2 - Issue CDREAD at every iteration (to read every mesh variation). Reads from an + existing jobnameN.cdb. - Sets the scale and drawing plane orientation for a digitizing tablet. + device + Defines the output device for plotting. - Parameters - ---------- - node1, node2, node3 - Any three (noncolinear) nodes defining a plane parallel to the - drawing. Nodes and actual locations (in any coordinate system) - must have been previously defined. + 0 - Screen only (default) - ddev - Digitizing device type number (device dependent). + 1 - JPEG frames. Each frame is written to a file (jobnameN.jpg by default). See + /SHOW. Notes ----- - Sets drawing scale size and defines the drawing plane orientation for - use with a digitizing tablet. Drawings must be to scale. Views must - represent standard orthogonal parallel projections. The three nodes - indicated must be digitized [DIG] from the tablet after this command is - issued. - - """ - command = "DSET, %s, %s, %s, %s" % (str(node1), str(node2), str(node3), str(ddev)) - self.RunCommand(command, **kwargs) - - def Coval(self, tblno1="", tblno2="", sv1="", sv2="", sv3="", sv4="", - sv5="", sv6="", sv7="", **kwargs): - """ - APDL Command: COVAL - - Defines PSD cospectral values. - - Parameters - ---------- - tblno1 - First input PSD table number associated with this spectrum. - - tblno2 - Second input PSD table number associated with this spectrum. + MADAPT invokes a predefined ANSYS macro for adaptive meshing and + solution of edge-based magnetic analyses. The macro causes repeated + runs of the PREP7, SOLUTION, and POST1 phases of the ANSYS program with + mesh density refinements based upon the percentage error in energy + norm. - sv1, sv2, sv3, . . . , sv7 - PSD cospectral values corresponding to the frequency points - [PSDFRQ]. + The MADAPT command macro requires a second, user-defined macro, which + must be named madaptld.mac and must reside in the same directory where + ANSYS is being run. This madaptld macro must contain loads and boundary + conditions, based on permanent geometry or solid model features (such + as sides or vertices). Loads specified in the madaptld macro cannot be + based on node numbers because the node numbers will change throughout + the refinement process. This secondary macro is required because the + MADAPT macro process must delete all loads and boundary conditions at + every refinement step. - Notes - ----- - Defines PSD cospectral values to be associated with the previously - defined frequency points. Two table references are required since - values are off-diagonal terms. Unlike autospectra [PSDVAL], the - cospectra can be positive or negative. The cospectral curve segment - where there is a sign change is interpolated linearly (the rest of the - curve segments use log-log interpolation). For better accuracy, choose - as small a curve segment as possible wherever a sign change occurs. + MADAPT refines tetrahedral volume elements based on error. Hexahedra, + wedges, and pyramids are not refined (see NREFINE). - Repeat COVAL command using the same table numbers for additional - points. This command is valid for SPOPT,PSD only. + This command is also valid at the Begin level. - This command is also valid in PREP7. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "COVAL, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(tblno1), str(tblno2), str(sv1), str(sv2), str(sv3), str(sv4), str(sv5), str(sv6), str(sv7)) + command = "MADAPT,%s,%s,%s,%s,%s,%s,%s,%s" % (str(errtargt), str(nadapt), str(nmax), str(kplt), str(ksmooth), str(klst), str(kcd), str(device)) self.RunCommand(command, **kwargs) - def Arctrm(self, lab="", val="", node="", dof="", **kwargs): + def Fj(self, elem="", label="", value="", **kwargs): """ - APDL Command: ARCTRM + APDL Command: FJ - Controls termination of the solution when the arc-length method is - used. + Specify forces or moments on the components of the relative motion of a + joint element. Parameters ---------- - lab - Specifies the basis of solution termination: + elem + Element number or ALL to specify all joint elements. - OFF - Does not use ARCTRM to terminate analysis (default). + label + Valid labels: - L - Terminates the analysis if the first limit point has been reached. The first - limit point is that point in the response history when the - tangent stiffness matrix becomes singular (i.e., the point at - which the structure becomes unstable). If Lab = L, arguments - VAL, NODE, DOF are ignored. + FX - Force in local x direction. - U - Terminates the analysis when the displacement first equals or exceeds the - maximum desired value. + FY - Force in local y direction. - val - Maximum desired displacement (absolute value). Valid only if Lab = - U. The analysis terminates whenever the calculated displacement - first equals or exceeds this value. For rotational degrees of - freedom, VAL must be in radians (not degrees). + FZ - Force in local z direction. - node - Node number corresponding to displacement used to compare with - displacement specified by VAL. If blank, the maximum displacement - will be used. Valid only if Lab = U. + MX - Moment about local x axis. - dof - Valid degree of freedom label for nodal displacement specified by - NODE. Valid labels are UX, UY, UZ, ROTX, ROTY, ROTZ. Valid only - if NODE>0 and Lab = U. + MY - Moment about local y axis. + + MZ - Moment about local z axis. + + value + Value of the label. Notes ----- - The ARCTRM command is valid only when the arc-length method (ARCLEN,ON) - is used. + Valid for MPC184 (joint options in KEYOPT(1)). - It can be convenient to use this command to terminate the analysis when - the first limit point is reached. In addition, the NCNV command should - be used to limit the maximum number of iterations. If the ARCTRM - command is not used, and the applied load is so large that the solution - path can never reach that load, the arc-length solution will continue - to run until a CPU time limit or a "maximum number of iterations" is - reached. + See FJDELE for information on deleting forces and moments. """ - command = "ARCTRM, %s, %s, %s, %s" % (str(lab), str(val), str(node), str(dof)) + command = "FJ,%s,%s,%s" % (str(elem), str(label), str(value)) self.RunCommand(command, **kwargs) - def Sfalist(self, area="", lab="", **kwargs): + def Emagerr(self, **kwargs): """ - APDL Command: SFALIST - - Lists the surface loads for the specified area. - - Parameters - ---------- - area - Area at which surface load is to be listed. If ALL (or blank), - list for all selected areas [ASEL]. If AREA = P, graphical picking - is enabled and all remaining command fields are ignored (valid only - in the GUI). A component name may be substituted for AREA. + APDL Command: EMAGERR - lab - Valid surface load label. If ALL (or blank), use all appropriate - labels. See the SFA command for labels. + Calculates the relative error in an electrostatic or electromagnetic + field analysis. Notes ----- - This command is valid in any processor. + The relative error is an approximation of the mesh discretization error + associated with a solution. It is based on the discrepancy between the + unaveraged, element-nodal field values and the averaged, nodal field + values. The calculation is valid within a material boundary and does + not consider the error in continuity of fields across dissimilar + materials. + + For electrostatics, the field values evaluated are the electric field + strength (EFSUM) and the electric flux density (DSUM). A relative error + norm of each is calculated on a per-element basis and stored in the + element table [ETABLE] with the labels EF_ERR and D_ERR. Normalized + error values EFN_ERR and DN_ERR are also calculated and stored in the + element table. Corresponding quantities for electromagnetics are H_ERR, + B_ERR, HN_ERR, and BN_ERR, which are calculated from the magnetic field + intensity (HSUM) and the magnetic flux density (BSUM). The normalized + error value is the relative error norm value divided by the peak + element-nodal field value for the currently selected elements. + + Use the PLETAB and PRETAB commands to plot and list the error norms and + normalized error values. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "SFALIST, %s, %s" % (str(area), str(lab)) + command = "EMAGERR," % () self.RunCommand(command, **kwargs) - def Atype(self, **kwargs): + def Vlen(self, nrow="", ninc="", **kwargs): """ - APDL Command: ATYPE + APDL Command: *VLEN - Specifies "Analysis types" as the subsequent status topic. + Specifies the number of rows to be used in array parameter operations. + + Parameters + ---------- + nrow + Number of rows to be used with the *VXX or *MXX operations. + Defaults to the number of rows needed to fill the result array. + + ninc + Perform the operation on every NINC row (defaults to 1). Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Specifies the number of rows to be used in array parameter operations. + The size of the submatrix used is determined from the upper left + starting array element (defined on the operation command) to the lower + right array element (defined by the number of rows on this command and + the number of columns on the *VCOL command). NINC allows skipping row + operations for some operation commands. Skipped rows are included in + the row count. The starting row number must be defined on the + operation command for each parameter read and for the result written. - If entered directly into the program, the STAT command should - immediately follow this command. + The default NROW is calculated from the maximum number of rows of the + result array (the *DIM row dimension) minus the starting location + 1. + For example, *DIM,R,,10 and a starting location of R(7) gives a default + of 4 loops (filling R(7), R(8), R(9), and R(10)). Repeat operations + automatically terminate at the last row of the result array. Existing + values in the rows and columns of the results matrix remain unchanged + where not overwritten by the requested input or operation values. + + The stride (NINC) allows operations to be performed at regular + intervals. It has no effect on the total number of row operations. + Skipped operations retain the previous result. For example, *DIM,R,,6, + with a starting location of R(1), NROW = 10, and NINC = 2 calculates + values for locations R(1), R(3), and R(5) and retains values for + locations R(2), R(4), and R(6). A more general skip control may be + done by masking [*VMASK]. The row control settings are reset to the + defaults after each *VXX or *MXX operation. Use *VSTAT to list + settings. + + This command is valid in any processor. """ - command = "ATYPE, " % () + command = "*VLEN,%s,%s" % (str(nrow), str(ninc)) self.RunCommand(command, **kwargs) - def Hbc(self, wn="", key="", **kwargs): + def Jpeg(self, kywrd="", opt="", **kwargs): """ - APDL Command: /HBC + APDL Command: JPEG - Determines how boundary condition symbols are displayed in a display - window. + Provides JPEG file export for ANSYS displays. Parameters ---------- - wn - Window reference number. This number can be any window numbered 1 - to 5, or ALL (for all active windows). Defaults to 1 - - key - Key to enable/disable hidden surface boundary condition symbol - display for 2-D graphics devices and to request improved pressure - contour display for 2-D and 3-D devices: Key = ON, YES or 1 will - show your BC symbols on the hidden surfaces and use an improved - pressure contour display. Key = OFF, NO or 0 (default) will hide - the symbols . + kywrd + Specifies various JPEG file export options. + + QUAL - If Kywrd = QUAL, then OPT is an integer value defining the JPEG quality index + on an arbitrary scale ranging from 1 to 100. The default + value is 75. + + ORIENT - If Kywrd = ORIENT, then OPT will determine the orientation of the entire plot. + OPT can be either Horizontal (default) or Vertical. + + COLOR - If Kywrd = COLOR, then OPT will determine the color depth of the saved file. + OPT can be 0, 1, or 2, corresponding to Black and White, + Grayscale, and Color (default), respectively. + + TMOD - If Kywrd = TMOD, then OPT will determine the text method. OPT can be either 1 + or 0, corresponding to bitmap text (default) or line stroke + text, respectively. + + DEFAULT - If Kywrd = DEFAULT, then all of the default values, for all of the Kywrd + parameters listed above, are active. + + opt + OPT can have the following names or values, depending on the value + for Kywrd (see above). + + 1 to 100 - If Kywrd = QUAL, a value between 1 and 100 will determine the quality index of + the JPEG file. + + Horizontal, Vertical - If Kywrd = ORIENT, the terms Horizontal or Vertical determine the orientation + of the plot. + + 0,1,2 - If Kywrd = COLOR, the numbers 0, 1, and 2 correspond to Black and White, + Grayscale and Color, respectively. + + 1,0 - If Kywrd = TMOD, the values 1 and 0 determine whether bitmap (1) or stroke text + (0) fonts will be used """ - command = "/HBC, %s, %s" % (str(wn), str(key)) + command = "JPEG,%s,%s" % (str(kywrd), str(opt)) self.RunCommand(command, **kwargs) - def Cdwrite(self, option="", fname="", ext="", fnamei="", exti="", fmat="", - **kwargs): + def Tiff(self, kywrd="", opt="", **kwargs): """ - APDL Command: CDWRITE + APDL Command: TIFF - Writes geometry and load database items to a file. + Provides TIFF file Export for ANSYS Displays. Parameters ---------- - option - Selects which data to write: - - ALL - Write all appropriate geometry, material property, load, and component data - (default). Two files will be produced. Fname.Ext will contain - all data items mentioned in "Notes", except the solid model - data. Fnamei.Exti will contain the solid model geometry and - solid model loads data in the form of IGES commands. This - option is not valid when CDOPT,ANF is active. - - COMB - Write all data mentioned, but to a single file, Fname.Ext. Solid model geometry - data will be written in either IGES or ANF format as - specified in the CDOPT command, followed by the remainder of - the data in the form of ANSYS commands. More information on - these (IGES/ANF) file formats is provided in "Notes". - - DB - Write all database information except the solid model and solid model loads to - Fname.Ext in the form of ANSYS commands. This option is not - valid when CDOPT,ANF is active. + kywrd + Specifies various TIFF file export options. - SOLID - Write only the solid model geometry and solid model load data. This output will - be in IGES or ANF format, as specified in the CDOPT - command. More information on these (IGES/ANF) file formats - is provided in "Notes". + COMP - If Kywrd = COMP, then OPT controls data compression for the output file. If + COMP = 0, then compression is off. If COMP = 1 (default), + then compression is on. - GEOM - Write only element and nodal geometry data. Neither solid model geometry nor - element attribute data will be written. One file, Fname.Ext, - will be produced. Use CDREAD,DB to read in a file written - with this option. Element types [ET] compatible with the - connectivity of the elements on the file must first be - defined before reading the file in with CDREAD,DB. + ORIENT - If Kywrd = ORIENT, then OPT will determine the orientation of the entire plot. + OPT can be either Horizontal (default) or Vertical. - CM - Write only node and element component and geometry data to Fname.Ext. + COLOR - If Kywrd = COLOR, then OPT will determine the color attribute of the saved + file. OPT can be 0, 1, or 2, corresponding to Black and + White, Grayscale, and Color (default), respectively. - MAT - Write only material property data (both linear and nonlinear) to Fname.Ext. + TMOD - If Kywrd = TMOD, then OPT will determine the text method. OPT can be either 1 + or 0, corresponding to bitmap text (default) or line stroke + text, respectively. - LOAD - Write only loads for current load step to Fname.Ext. + DEFAULT - If Kywrd = DEFAULT, then all of the default values, for all of the Kywrd + parameters listed above, are active. - SECT - Write only section data to Fname.Ext. Pretension sections are not included. + opt + OPT can have the following names or values, depending on the value + for Kywrd (see above). - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + 1 or 0 - If Kywrd = COMP, a value or 1 (on) or 0 (off) will control compression for the + TIFF file. - ext - Filename extension (eight-character maximum). + Horizontal, Vertical - If Kywrd = ORIENT, the terms Horizontal or Vertical determine the orientation + of the plot. - -- - Unused field. + 0, 1, 2 - If Kywrd = COLOR, the numbers 0, 1, and 2 correspond to Black and White , + Grayscale and Color, respectively. - fnamei - Name of the IGES file and its directory path (248 characters - maximum, including directory). If you do not specify a directory - path, it will default to your working directory and you can use all - 248 characters for the file name. + 1, 0 - If Kywrd = TMOD, the values 1 and 0 determine whether bitmap (1) or stroke text + (0) fonts will be used - exti - Filename extension (eight-character maximum). + """ + command = "TIFF,%s,%s" % (str(kywrd), str(opt)) + self.RunCommand(command, **kwargs) - fmat - Format of the output file (defaults to BLOCKED). + def Freq(self, freq1="", freq2="", freq3="", freq4="", freq5="", freq6="", + freq7="", freq8="", freq9="", **kwargs): + """ + APDL Command: FREQ - BLOCKED - Blocked format. This format allows faster reading of the output file. The time - savings is most significant when BLOCKED is used to read - .cdb files associated with very large models. + Defines the frequency points for the SV vs. FREQ tables. - UNBLOCKED - Unblocked format. + Parameters + ---------- + freq1, freq2, freq3, . . . , freq9 + Frequency points for SV vs. FREQ tables. Values must be in + ascending order. FREQ1 should be greater than zero. Units are + cycles/time. Notes ----- - Load data includes the current load step only. Loads applied to the - solid model (if any) are automatically transferred to the finite - element model when this command is issued. CDWRITE writes out solid - model loads for meshed models only. If the model is not meshed, the - solid model loads cannot be saved. Component data include component - definitions, but not assembly definitions. Appropriate NUMOFF commands - are included at the beginning of the file; this is to avoid overlap of - an existing database when the file is read in. + Repeat the FREQ command for additional frequency points (100 maximum). + Values are added after the last nonzero frequency. If all fields + (FREQ1 -- FREQ9) are blank, erase SV vs. FREQ tables. - Element order information (resulting from a WAVES command) is not - written. The data in the database remain untouched. + Frequencies must be in ascending order. - Solution control commands are typically not written to the file unless - you specifically change a default solution setting. + Spectral values are input with the SV command and interpreted according + to the SVTYP command. Applies only to the SPRS (single-point) option + of the SPOPT command. See the SPFREQ command for frequency input in + MPRS (multi-point) analysis. - CDWRITE does not support the GSBDATA and GSGDATA commands, and these - commands are not written to the file. + Use the STAT command to list current frequency points. - The data may be reread (on a different machine, for example) with the - CDREAD command. Caution: When the file is read in, the NUMOFF,MAT - command may cause a mismatch between material definitions and material - numbers referenced by certain loads and element real constants. See - NUMOFF for details. Also, be aware that the files created by the - CDWRITE command explicitly set the active coordinate system to - Cartesian (CSYS,0). + This command is also valid in PREP7. - You should generally use the blocked format (Fmat = BLOCKED) when - writing out model data with CDWRITE. This is a compressed data format - that greatly reduces the time required to read large models through the - CDREAD command. The blocked and unblocked formats are described in - Chapter 3 of the Guide to Interfacing with ANSYS. + """ + command = "FREQ,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(freq1), str(freq2), str(freq3), str(freq4), str(freq5), str(freq6), str(freq7), str(freq8), str(freq9)) + self.RunCommand(command, **kwargs) - If you use CDWRITE in any of the derived products (ANSYS Emag, ANSYS - Professional), then before reading the file, you must edit the - Jobname.cdb file to remove commands that are not available in the - respective component product. + def Inquire(self, strarray="", func="", **kwargs): + """ + APDL Command: /INQUIRE - The CDWRITE command writes PART information for any ANSYS LS-DYNA input - file to the Jobname.cdb file via the EDPREAD command. (EDPREAD is not a - documented command; it is written only when the CDWRITE command is - issued.) The PART information can be automatically read in via the - CDREAD command; however, if more than one Jobname.cdb file is read, the - PART list from the last Jobname.cdb file overwrites the existing PART - list of the total model. This behavior affects all PART-related - commands contained in the Jobname.cdb file. You can join models, but - not PART-related inputs, which you must modify using the newly-created - PART numbers. In limited cases, an update of the PART list - (EDWRITE,PUPDATE) is possible; doing so requires that no used - combination of MAT/TYPE/REAL appears more than once in the list. + Returns system information to a parameter. - The CDWRITE command does not support (for beam meshing) any line - operation that relies on solid model associativity. For example, - meshing the areas adjacent to the meshed line, plotting the line that - contains the orientation nodes, or clearing the mesh from the line that - contains orientation nodes may not work as expected. For more - information about beam meshing, see Meshing Your Solid Model in the - Modeling and Meshing Guide. + Parameters + ---------- + strarray + Name of the "string array" parameter that will hold the returned + values. String array parameters are similar to character arrays, + but each array element can be as long as 128 characters. If the + string parameter does not exist, it will be created. - IGES and ANF File Formats for Solid Model Geometry Information + Notes + ----- + The /INQUIRE command is valid in any processor. - The format used for solid model geometry information is determined by - the current CDOPT command setting. The default format is IGES. + """ + command = "/INQUIRE,%s,%s" % (str(strarray), str(func)) + self.RunCommand(command, **kwargs) - IGES option (default) to write solid model information (CDOPT, IGS): + def Dmpstr(self, coeff="", **kwargs): + """ + APDL Command: DMPSTR - Before writing solid model entities, select all corresponding lower - level entities (ALLSEL,BELOW,ALL). + Sets a constant structural damping coefficient. - Section properties assigned to areas, lines and other solid model - entities are not maintained when the model is exported. + Parameters + ---------- + coeff + Structural damping coefficient. - If you issue CDWRITE after generating a beam mesh with orientation - nodes, the database file will contain all of the nodes for every beam - element, including the orientation nodes; however, the orientation - keypoints that were specified for the line (LATT) are no longer - associated with the line and won't be written out to the geometry file. - All associativity between the line and the orientation keypoints is - lost. + Notes + ----- + Sets a constant structural (or hysteretic) damping coefficient for use + in harmonic (ANTYPE,HARMIC) analyses (FULL, MSUP, and VT) and modal + analyses (ANTYPE,MODAL with MODOPT,UNSYM, DAMP or QRDAMP). - For beam meshing, this option does not support any line operation that - relies on solid model associativity. For example, meshing the areas - adjacent to the meshed line, plotting the line that contains the - orientation nodes, or clearing the mesh from the line that contains - orientation nodes may not work as expected. + Note that for structures with multiple materials, MP,DMPR can also be + used to specify constant structural material damping on a per material + basis. Note that if both DMPSTR and MP,DMPR are specified, the damping + effects are additive. - Concatenated lines are not written. The line segments that make up the - concatenated lines are written; however, if the command encounters an - area that contains a concatenated line, the write operation halts (that - area cannot be recreated during the read operation). If your model has - areas that contain concatenated lines, you must first list these and - then unconcatenate them before issuing the CDWRITE command. Similarly, - hardpoint information cannot be written. + Caution:: : DMPSTR adds the damping contribution as gK, whereas MP,DMPR + adds the contribution on a per-material basis as 2gK. For more + information, see Damping Matrices in the Mechanical APDL Theory + Reference. - ANF option to write solid model information (CDOPT, ANF): + This command is also valid in PREP7. - Writes all model information in the database (regardless of select - status) to the archive file; however, when you restore the database - using this archived file, the select status of entities is also - restored. + """ + command = "DMPSTR,%s" % (str(coeff)) + self.RunCommand(command, **kwargs) - Restores all line attributes, including orientation keypoints. It also - writes out any components (not assemblies) comprised of solid model - entities. + def Poly(self, **kwargs): + """ + APDL Command: POLY - Hhalts CDWRITE when a concatenated line or an area that contains a - concatenated line is detected. You must delete the concatenated lines - before issuing CDWRITE. Similarly, hardpoint information cannot be - written. + Creates a polygonal area based on working plane coordinate pairs. - This command is also valid in SOLUTION. + Notes + ----- + Defines a polygonal area on the working plane. The area will be + defined with NPT keypoints and NPT lines, where NPT (must be at least + 3) is the number of coordinate pairs defined with the PTXY command. + See the RPOLY and RPR4 commands for other ways to create polygons. """ - command = "CDWRITE, %s, %s, %s, %s, %s, %s" % (str(option), str(fname), str(ext), str(fnamei), str(exti), str(fmat)) + command = "POLY," % () self.RunCommand(command, **kwargs) - def Uis(self, label="", value="", **kwargs): + def Pddoel(self, name="", method="", vtype="", lopt="", val1="", val2="", + val3="", val4="", val5="", **kwargs): """ - APDL Command: /UIS + APDL Command: PDDOEL - Controls the GUI behavior. + Defines design of experiment levels for an individual random input + variable. Parameters ---------- - label - Behavior control key: - - BORD - Controls the functionality of the mouse buttons for dynamic viewing mode only. - When Label = BORD, the three values that follow control the - functionality of the LEFT, MIDDLE and RIGHT buttons, - respectively (see below). - - MSGPOP - Controls which messages from the ANSYS error message subroutine are displayed - in a message dialog box. - - REPLOT - Controls whether or not an automatic replot occurs after functions affecting - the model are executed. - - ABORT - Controls whether or not ANSYS displays dialog boxes to show the status of an - operation in progress and to cancel that operation. - - DYNA - Controls whether the dynamic mode preview is a bounding box or the edge outline - of the model. This label only applies to 2-D display - devices (i.e., /SHOW,XII or /SHOW,WIN32). This "model edge - outline" mode is only supported in PowerGraphics - [/GRAPHICS,POWER] and is intended for element, line, - results, area, or volume displays. - - PICK - Controls how graphical entities are highlighted from within the ANSYS Select - menu. + name + Parameter name. The parameter name must have been previously + defined as a random input variable using the PDVAR command. - POWER - Controls whether or not PowerGraphics is active when the GUI is initiated. The - ANSYS program default status is PowerGraphics “ON”; this - command is used (placed in the start.ans file) when full - graphics is desired on start up. + method + Specifies the response surface method for which the levels of the + design of experiment are to be defined. This field must not be left + blank. - DPRO - Controls whether or not the ANSYS input window displays a dynamic prompt. The - dynamic prompt shows the correct command syntax for the - command, as you are entering it. + CCD - Use the Central Composite Design method. The design experiment levels of a + central composite design are defined in the fields VAL1 to + VAL5. - UNDO - Controls whether or not the session editor includes nonessential commands or - comments in the file it creates. You can use this option to - include comments and other materials in the session editor - file. + BBM - Use the Box-Behnken Matrix method. The design experiment levels of a Box- + Behnken Matrix design are defined in the fields VAL1 to VAL3. + The fields VAL4 and VAL5 are ignored - LEGE - Controls whether or not the multi-legend is activated when you start the GUI. - The multi-legend enables you to specify the location of your - legend items in each of the five graphics windows. You can - place this option in your start.ans file and have the GUI - start with the legend items in a pre-specified location. + vtype + Specifies the type of the values of the design of experiment + levels. - PBAK - Controls whether or not the background shading is activated when you start the - GUI. You can place this option in your start.ans file. + PROB - The design of experiment levels are specified in terms of probabilities. This + is the default. - ZPIC - Controls the sorting order for entities that are coincident (directly in front - of or behind each other) to a picked spot on your model. - When you pick a spot on your model that could indicate two - or more entities, a message warns you of this condition, and - a list of the coincident entities can be generated. The - VALUE term (below) will determine the sort order. + PHYS - The design of experiment levels are specified in terms of physical values. - HPOP - Controls the prioritization of your GUI windows when the contents are ported to - a plot or print file (/UI,COPY,SAVE). OpenGL (3D) graphics - devices require that the ANSYS Graphics Screen contents be - set in front of all overlying windows in order to port them - to a printer or a file. This operation can sometimes - conflict with /NOERASE settings. See the VALUE term (below) - to determine the available control options. + lopt + Specifies the type of the design of experiment levels, indicating + if they are defined by lower and upper bound only (default) or all + specified by the user. - value - Values controlling behavior if Label = BORD: + BND - You specify the lower and upper bounds for the design of experiment levels. The + values for intermediate levels are calculated automatically + at run time (default). The lower and upper levels of the + design of experiment itself can be specified either in terms + of probabilities or in terms of physical values, depending on + the Vtype field. - 1 - PAN, controls dynamic translations. + For Lopt = BND and Method = CCD only the entries VAL1 and VAL5 are processed and they represent the lower and upper bound values of a central composite design. The intermediate levels VAL2 to VAL4 are evaluated automatically. For Lopt = BND and Method = BBM only the entries VAL1 and VAL3 are processed and they represent the lower and upper bound values of a Box-Behnken Matrix design respectively. The intermediate level VAL2 is evaluated automatically. - NOTE: The intermediate levels between the lower and upper bounds are calculated + so they are at equal intervals along the curve + (interpolated linearly in the physical space + whether the curve is symmetrical or not) + regardless of whether the lower and upper bounds + are specified as probabilities (Vtype = PROB) or + as physical values (Vtype = PHYS). - 2 - ZOOM, controls zoom, and dynamic rotation about the view vector. + ALL - You explicitly specify all necessary design of experiment levels. The design of + experiment levels can be in terms of probabilities or in + terms of physical values, depending on the Vtype field. - 3 - ROTATE, controls dynamic rotation about the screen X and Y axes. + val1, val2, val3, . . . , val5 + Values for the levels of the design of experiment for the random + input variable Name. Must be specified in ascending order. All + probabilities must be between 0.0 and 1.0. Notes ----- - Controls certain features of the Graphical User Interface (GUI), - including whether the ANSYS program displays dialog boxes to show you - the status of an operation (such as meshing or solution) in progress - and to enable you to cancel that operation. Issue /UIS,STAT for - current status. Issue /UIS,DEFA to reset default values for all - labels. Issue /UIS,Label,STAT and /UIS,Label,DEFA for status and to - reset a specific Label item. + If Vtype = PHYS, you must enter values for VAL1 through VAL3 or VAL5 + (depending on the Method and Lopt option you choose). If Vtype = PROB + and you do not enter values, they default to the values shown below. - A /UIS,HPOP,1 command employs a fast redraw method which does not allow - entering the legend logic for a /PLOPTS,INFO,1 or /PLOPTS,INFO,2 - command. However, the legend is redrawn for /PLOPTS,INFO,3 because that - command also allows a fast redraw. + For Method = CCD: - This command is valid in any processor. + For Method = BBM: + + See Probabilistic Design in the Advanced Analysis Guide for more + information on the PDS methods. """ - command = "/UIS, %s, %s" % (str(label), str(value)) + command = "PDDOEL,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(name), str(method), str(vtype), str(lopt), str(val1), str(val2), str(val3), str(val4), str(val5)) self.RunCommand(command, **kwargs) - def Sspd(self, d11="", d21="", d31="", d22="", d32="", d33="", t="", + def Latt(self, mat="", real="", type="", kb="", ke="", secnum="", **kwargs): """ - APDL Command: SSPD + APDL Command: LATT - Specifies a preintegrated bending stiffness for shell sections. + Associates element attributes with the selected, unmeshed lines. Parameters ---------- - d11, d21, d31, d22, d32, d33 - Bending stiffness component (symmetric lower part of submatrix - [D]). + mat, real, type + Material number, real constant set number, and type number to be + associated with selected, unmeshed lines. - t - Temperature. + -- + Unused field. + + kb, ke + Beginning and ending orientation keypoints to be associated with + selected, unmeshed lines. ANSYS uses the location of these + keypoints to determine how to orient beam cross sections during + beam meshing. Beam elements may be created along a line with a + constant orientation by specifying only one orientation keypoint + (KB), or a pre-twisted beam may be created by selecting different + orientation keypoints at each end of the line (KB and KE). (For a + line bounded by two keypoints (KP1 and KP2), the orientation vector + at the beginning of the line extends from KP1 to KB, and the + orientation vector at the end of the line extends from KP2 to KE. + The orientation vectors are used to compute the orientation nodes + of the elements.) + + secnum + Section identifier to be associated with selected, unmeshed lines. + For details, see the description of the SECTYPE and SECNUM + commands. Notes ----- - The behavior of shell elements is governed by the generalized- - stress/generalized-strain relationship of the form: - - The SSPD command, one of several preintegrated shell section commands, - specifies the bending stiffness quantity (submatrix [D] data) for a - preintegrated shell section. The section data defined is associated - with the section most recently defined (via the SECTYPE command). + The element attributes specified by the LATT command will be used when + the lines are meshed. - Unspecified commands default to zero. + Lines subsequently generated from the lines will also have the + attributes specified by MAT, REAL, TYPE, and SECNUM. If a line does + not have these attributes associated with it (by this command) at the + time it is meshed, the attributes are obtained from the then current + MAT, REAL, TYPE, and SECNUM command settings. - Related commands are SSPA, SSPB, SSPE, SSMT, SSBT, and SSPM. + In contrast, the values specified by KB and KE apply only to the + selected lines; that is, lines subsequently generated from these lines + will not share these attributes. Similarly, if a line does not have KB + and KE attributes associated with it via the LATT command at the time + it is meshed, ANSYS cannot obtain the attributes from elsewhere. See + the discussion on beam meshing in Meshing Your Solid Model in the + Modeling and Meshing Guide for more information. - If you are using the SHELL181 or SHELL281 element's Membrane option - (KEYOPT(1) = 1), it is not necessary to issue this command. + Reissue the LATT command (before lines are meshed) to change the + attributes. A zero (or blank) argument removes the corresponding + association. If any of the arguments are defined as -1, then that value + will be left unchanged in the selected set. - For complete information, see Using Preintegrated General Shell - Sections. + In some cases, ANSYS can proceed with a line meshing operation even + when no logical element type has been assigned via LATT,,,TYPE or TYPE. + See Meshing Your Solid Model in the Modeling and Meshing Guide for more + information about setting element attributes. """ - command = "SSPD, %s, %s, %s, %s, %s, %s, %s" % (str(d11), str(d21), str(d31), str(d22), str(d32), str(d33), str(t)) + command = "LATT,%s,%s,%s,%s,%s,%s" % (str(mat), str(real), str(type), str(kb), str(ke), str(secnum)) self.RunCommand(command, **kwargs) - def Reswrite(self, fname="", cflag="", **kwargs): + def Dspoption(self, reord_option="", memory_option="", memory_size="", + solve_info="", **kwargs): """ - APDL Command: RESWRITE + APDL Command: DSPOPTION - Appends results data from the database to a results file. + Sets memory option for the distributed sparse solver. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified directory - path defaults to the working directory; in this case, you can use - all 248 characters for the file name. - - --, --, -- - Unused fields. - - cflag - 0 + reord_option + Reordering option: - 0 - The complex results flag is set to 0 in the results file header. This is the - default option. + DEFAULT - Use the default reordering scheme. - 1 - The complex results flag is set to 1 in the results file header. + SEQORDER - Use a sequential equation reordering scheme within the distributed sparse + solver. Relative to PARORDER, this option typically + results in longer equation ordering times and therefore + longer overall solver times. Occasionally, however, this + option will produce better quality orderings which + decrease the matrix factorization times and improve + overall solver performance. - Notes - ----- - The RESWRITE command appends a data set to the specified file by - writing the results data currently in the database. If the intended - results file does not exist, it will be created and will include the - geometry records. The current load step, substep, and time (or - frequency) value are maintained. All data (summable and nonsummable) - are written. + PARORDER - Use a parallel equation reordering scheme within the distributed sparse solver. + Relative to SEQORDER, this option typically results in + shorter equation ordering times and therefore shorter + overall solver times. Occasionally, however, this option + will produce lower quality orderings which increase the + matrix factorization times and degrade overall solver + performance. - When complex results are appended, cFlag must be set to 1 so that the - header is consistent with the results written on the file. + memory_option + Memory allocation option: - The command is primarily intended for use in a top-down substructuring - analysis, where the full model is resumed and the results data read - from the use pass results file (SET), and subsequently from all - substructure expansion pass results files (APPEND). The full set of - data in memory can then be written out via the RESWRITE command to - create a complete results file (as though you had run a - nonsubstructured analysis). + DEFAULT - Use the default memory allocation strategy for the distributed sparse solver. + The default strategy attempts to run in the INCORE memory + mode. If there is not enough physical memory available + when the solver starts to run in the INCORE memory mode, + the solver will then attempt to run in the OUTOFCORE + memory mode. - The RESWRITE command can also be used to write a global results file - for a distributed parallel (Distributed ANSYS) solution. This should - only be necessary if the RESCOMBINE command was used to combine results - from local results files into the database. The RESWRITE command can - then be used to write the combined results into a new results file. - This new results file will essentially contain the current set of - results data for the entire (i.e., global) model. + INCORE - Use a memory allocation strategy in the distributed sparse solver that will + attempt to obtain enough memory to run with the entire + factorized matrix in memory. This option uses the most + amount of memory and should avoid doing any I/O. By + avoiding I/O, this option achieves optimal solver + performance. However, a significant amount of memory is + required to run in this mode, and it is only recommended + on machines with a large amount of memory. If the + allocation for in-core memory fails, the solver will + automatically revert to out-of-core memory mode. - """ - command = "RESWRITE, %s, %s" % (str(fname), str(cflag)) - self.RunCommand(command, **kwargs) + OUTOFCORE - Use a memory allocation strategy in the distributed sparse solver that will + attempt to allocate only enough work space to factor + each individual frontal matrix in memory, but will + share the entire factorized matrix on disk. Typically, + this memory mode results in poor performance due to the + potential bottleneck caused by the I/O to the various + files written by the solver. - def Filedisp(self, fname="", ext="", **kwargs): - """ - APDL Command: FILEDISP + FORCE - This option, when used in conjunction with the Memory_Size option, allows you + to force the distributed sparse solver to run with a + specific amount of memory. This option is only recommended + for the advanced user who understands distributed sparse + solver memory requirements for the problem being solved, + understands the physical memory on the system, and wants to + control the distributed sparse solver memory usage. - Specifies the file containing the graphics data. + memory_size + Initial memory size allocation for the sparse solver in MB. The + Memory_Size setting should always be well within the physical + memory available, but not so small as to cause the distributed + sparse solver to run out of memory. Warnings and/or errors from the + distributed sparse solver will appear if this value is set too low. + If the FORCE memory option is used, this value is the amount of + memory allocated for the entire duration of the distributed sparse + solver solution. - Parameters - ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + --, -- + Unused fields - ext - Filename extension (eight-character maximum). + solve_info + Solver output option: + + OFF - Turns off additional output printing from the distributed sparse solver + (default). + + PERFORMANCE - Turns on additional output printing from the distributed sparse solver, + including a performance summary and a summary of file + I/O for the distributed sparse solver. Information on + memory usage during assembly of the global matrix + (that is, creation of the Jobname.FULL file) is also + printed with this option. Notes ----- - Specifies the input file containing the graphics data (defaults to - File.GRPH). + This command controls options related to the distributed sparse solver + in all analysis types where the distributed sparse solver can be used. + + The amount of memory required for the distributed sparse solver is + unknown until the matrix structure is preprocessed, including equation + reordering. The amount of memory allocated for the distributed sparse + solver is then dynamically adjusted to supply the solver what it needs + to compute the solution. + + If you have a large memory system, you may want to try selecting the + INCORE memory mode for larger jobs to improve performance. Also, when + running the distributed sparse solver with many processors on the same + machine or on a machine with very slow I/O performance (e.g., slow hard + drive speed), you may want to try using the INCORE memory mode to + achieve better performance. However, doing so may require much more + memory compared to running in the OUTOFCORE memory mode. + + Running with the INCORE memory mode is best for jobs which comfortably + fit within the limits of the physical memory on a given system. If the + distributed sparse solver workspace exceeds physical memory size, the + system will be forced to use virtual memory (or the system page/swap + file). In this case, it is typically more efficient to run with the + OUTOFCORE memory mode. """ - command = "FILEDISP, %s, %s" % (str(fname), str(ext)) + command = "DSPOPTION,%s,%s,%s,%s" % (str(reord_option), str(memory_option), str(memory_size), str(solve_info)) self.RunCommand(command, **kwargs) - def Agen(self, itime="", na1="", na2="", ninc="", dx="", dy="", dz="", - kinc="", noelem="", imove="", **kwargs): + def Bfecum(self, lab="", oper="", fact="", tb_ase="", **kwargs): """ - APDL Command: AGEN + APDL Command: BFECUM - Generates additional areas from a pattern of areas. + Specifies whether to ignore subsequent element body force loads. Parameters ---------- - itime - Do this generation operation a total of ITIMEs, incrementing all - keypoints in the given pattern automatically (or by KINC) each time - after the first. ITIME must be more than 1 for generation to - occur. + lab + Valid body load label. If ALL, use all appropriate labels. - na1, na2, ninc - Generate areas from the pattern of areas NA1 to NA2 (defaults to - NA1) in steps of NINC (defaults to 1). If NA1 = ALL, NA2 and NINC - are ignored and the pattern is all selected areas [ASEL]. If NA1 = - P, graphical picking is enabled and all remaining arguments are - ignored (valid only in the GUI). A component name may also be - substituted for NA1 (NA2 and NINC are ignored). + oper + Replace or ignore key: - dx, dy, dz - Keypoint location increments in the active coordinate system (--, D - θ, DZ for cylindrical; --, D θ, -- for spherical). + REPL - Subsequent values replace the previous values (default). - kinc - Keypoint number increment between generated sets. If zero, the - lowest available keypoint numbers are assigned [NUMSTR]. + IGNO - Subsequent values are ignored. - noelem - Specifies if elements and nodes are also to be generated: + fact + Scale factor for the element body load values. Zero (or blank) + defaults to 1.0. Use a small number for a zero scale factor. The + scale factor is not applied to body load phase angles. - 0 - Generate nodes and elements associated with the original areas, if they exist. + tbase + Used (only with Lab = TEMP) to calculate the temperature used in + the add or replace operation (see Oper) as: - 1 - Do not generate nodes and elements. + Notes + ----- + Allows repeated element body force loads to be replaced or ignored. + Element body loads are applied with the BFE command. Issue the BFELIST + command to list the element body loads. The operations occur when the + next body loads are defined. For example, issuing the BFE command with + a temperature value of 25 after a previous BFE command with a + temperature value of 20 causes the new value of that temperature to be + 25 with the replace operation, or 20 with the ignore operation. A + scale factor is also available to multiply the next value before the + replace operation. A scale factor of 2.0 with the previous "replace" + example results in a temperature of 50. The scale factor is applied + even if no previous values exist. Issue BFECUM,STAT to show the + current label, operation, and scale factors. - imove - Specifies whether to redefine the existing areas: + BFECUM does not work for tabular boundary conditions. - 0 - Generate new areas as requested with the ITIME argument. + This command is also valid in PREP7. - 1 - Move original areas to new position, retaining the same keypoint numbers - (ITIME, KINC, and NOELEM are ignored). If the original areas - are needed in the original position (e.g., they may be - attached to a volume), they are not moved, and new areas are - generated instead. Meshed items corresponding to moved areas - are also moved if not needed at their original position. + """ + command = "BFECUM,%s,%s,%s,%s" % (str(lab), str(oper), str(fact), str(tb_ase)) + self.RunCommand(command, **kwargs) + + def Gsum(self, **kwargs): + """ + APDL Command: GSUM + + Calculates and prints geometry items. Notes ----- - Generates additional areas (and their corresponding keypoints, lines - and mesh) from a given area pattern. The MAT, TYPE, REAL, ESYS, and - SECNUM attributes of the new areas are based upon the areas in the - pattern and not upon the current settings of the pointers. End slopes - of the generated lines remain the same (in the active coordinate - system) as those of the given pattern. For example, radial slopes - remain radial. Generations which produce areas of a size or shape - different from the pattern (i.e., radial generations in cylindrical - systems, radial and phi generations in spherical systems, and theta - generations in elliptical systems) are not allowed. Solid modeling in - a toroidal coordinate system is not recommended. Area and line numbers - are automatically assigned, beginning with the lowest available values - [NUMSTR]. + Calculates and prints geometry items (centroid location, moments of + inertia, length, area, volume etc.) associated with the selected + keypoints, lines, areas, and volumes. Geometry items are reported in + the global Cartesian coordinate system. For volumes, a unit density + is assumed unless the volumes have a material association via the VATT + command. For areas, a unit density (and thickness) is assumed unless + the areas have a material (and real constant) association via the AATT + command. For lines and keypoints, a unit density is assumed, + irrespective of any material associations [LATT, KATT, MAT]. Items + calculated by GSUM and later retrieved by a *GET or *VGET commands are + valid only if the model is not modified after the GSUM command is + issued. This command combines the functions of the KSUM, LSUM, ASUM, + and VSUM commands. """ - command = "AGEN, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(itime), str(na1), str(na2), str(ninc), str(dx), str(dy), str(dz), str(kinc), str(noelem), str(imove)) + command = "GSUM," % () self.RunCommand(command, **kwargs) - def Nslk(self, type="", **kwargs): + def Emis(self, mat="", evalu="", **kwargs): """ - APDL Command: NSLK + APDL Command: EMIS - Selects those nodes associated with the selected keypoints. + Specifies emissivity as a material property for the Radiation Matrix + method. Parameters ---------- - type - Label identifying the type of node select: - - S - Select a new set (default). - - R - Reselect a set from the current set. - - A - Additionally select a set and extend the current set. + mat + Material number associated with this emissivity (500 maximum). + Defaults to 1. - U - Unselect a set from the current set. + evalu + Emissivity for this material (0.0 < EVALU  1.0). Enter a very + small number for zero. Notes ----- - Valid only if the nodes were generated by a keypoint meshing operation - [KMESH, LMESH, AMESH, VMESH] on a solid model that contains the - selected keypoints. - - This command is valid in any processor. + Specifies emissivity as a material property for the Radiation Matrix + method. This material property can then be associated with each + element. """ - command = "NSLK, %s" % (str(type)) + command = "EMIS,%s,%s" % (str(mat), str(evalu)) self.RunCommand(command, **kwargs) - def Cmsopt(self, cmsmeth="", nmode="", freqb="", freqe="", fbddef="", - fbdval="", iokey="", **kwargs): + def Gtype(self, wn="", label="", key="", **kwargs): """ - APDL Command: CMSOPT + APDL Command: /GTYPE - Specifies component mode synthesis (CMS) analysis options. + Controls the entities that the GPLOT command displays. Parameters ---------- - cmsmeth - The component mode synthesis method to use. This value is required. + wn + Window number (or ALL) to which this command applies (defaults to + 1) - FIX - Fixed-interface method. + label + This represents the type of entity to display: - FREE - Free-interface method. + NODE - Nodes - RFFB - Residual-flexible free-interface method. + ELEM - Elements - nmode - The number of normal modes extracted and used in the superelement - generation. This value is required; the minimum is 1. + KEYP - Keypoints - freqb - Beginning, or lower end, of frequency range of interest. This value - is optional. + LINE - Lines - freqe - Ending, or upper end, of frequency range of interest. This value is - optional. + AREA - Areas - fbddef - In a free-interface (CMSMETH = FREE) or residual-flexible free- - interface (CMSMETH = RFFB) CMS analysis, the method to use for - defining free body modes: + VOLU - Volumes - FNUM - The number (FDBVAL) of rigid body modes in the calculation. + GRPH - Graph displays - FTOL - Employ a specified tolerance (FDBVAL) to determine rigid body modes in the - calculation. + key + Switch: - FAUTO - Automatically determine rigid body modes in the calculation. This method is the - default. + 0 - Turns the entity type off. - RIGID - If no rigid body modes exist, define your own via the RIGID command. + 1 - Turns the entity type on. - fbdval - In a free-interface CMS analysis (CMSMETH = FREE), the number of - rigid body modes if FBDDEF = FNUM (where the value is an integer - from 0 through 6), or the tolerance to employ if FBDDEF = FTOL - (where the value is a positive real number representing rad/sec). - This value is required only when FBDDEF = FNUM or FBDDEF = FTOL; - otherwise, any specified value is ignored. + Notes + ----- + The /GTYPE command controls which entities the GPLOT command displays. + NODE, ELEM, KEYP, LINE, AREA, and VOLU are on by default. When ELEM is + activated, you can control the type of element displayed via the /GCMD + command (which also controls the type of graph display). When the GRPH + entity type is activated, all other entity types are deactivated. + Conversely, when any of the NODE, ELEM, KEYP, LINE, AREA, and VOLU + entity types are active, the GRPH entity type is deactivated. - iokey - Output key to control writing of the transformation matrix to the - .TCMS file (FIX or FREE methods) or body properties to the .EXB - file (FIX method). + The /GTYPE command gives you several options for multi-window layout: - TCMS - Write the transformation matrix of the nodal component defined by the OUTPR - command to a .TCMS file. Refer to TCMS File Format in the - Programmer's Reference for more information on the this - file. + One window - EXB - Write a body property input file (.EXB file) containing the condensed - substructure matrices and other body properties for use with - AVL EXCITE. Refer to ANSYS Interface to AVL EXCITE in the - Substructuring Analysis Guide for more information. + Two windows (left and right or top and bottom of the screen) - Notes - ----- - CMS employs the Block Lanczos eigensolution method in the generation - pass. + Three windows (two at the top and one at the bottom of the screen, or + one top and two bottom windows - CMS supports damping matrix reduction when a damping matrix exists. Set - the matrix generation key to 3 (SEOPT,Sename,SEMATR) to generate and - then reduce stiffness, mass, and damping matrices. + Four windows (two at the top and two at the bottom) - CMS does not support the SEOPT,,,,,RESOLVE command. Instead, ANSYS sets - the expansion method for the expansion pass (EXPMTH) to BACKSUB. - For more information about performing a CMS analysis, see Component - Mode Synthesis in the Substructuring Analysis Guide. - If IOKEY = TCMS is used to output the transformation matrix, then only - ITEM = NSOL is valid in the OUTPR command. In the interactive - sessions, the transformation matrix will not be output if the model has - more than 10 elements. + Once you choose a window layout, you can choose one of the following: + multiple plots, replotting, or no redisplay. - This command is also valid in /PREP7. + This command is valid in any processor. """ - command = "CMSOPT, %s, %s, %s, %s, %s, %s, %s" % (str(cmsmeth), str(nmode), str(freqb), str(freqe), str(fbddef), str(fbdval), str(iokey)) + command = "/GTYPE,%s,%s,%s" % (str(wn), str(label), str(key)) self.RunCommand(command, **kwargs) - def Mfsurface(self, inumb="", fnumb1="", label="", fnumb2="", **kwargs): + def Hpgl(self, kywrd="", opt1="", opt2="", **kwargs): """ - APDL Command: MFSURFACE + APDL Command: HPGL - Defines a surface load transfer for an ANSYS Multi-field solver - analysis. + Specifies various HP options. Parameters ---------- - inumb - Interface number for load transfer. The interface number - corresponds to the interface number specified by the surface flag - FSIN (SFxxcommands). - - fnumb1 - Field number of sending field. - - label - Valid surface load labels: - - fnumb2 - Field number for receiving field. + pmod + Valid plotter model: 7475A (default), 7550A, 7580B, 7585B, 7586B, + COLORPRO, DRAFTPRO, or DRAFTMASTER. Notes ----- - This command is also valid in PREP7. - - The ANSYS Multi-field solver solver does not allow you to switch the - load transfer direction for the same load quantity across the same - interfaces for a restart run. For example, if Field1 sends temperature - to and receives heat flow from Field2 across Interface 1 in a previous - solution, then you cannot make Field1 send heat flow to and receive - temperatures from Field2 across the same interface in a restart run, - even if you cleared the corresponding load transfer command. - - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + This command is available in both the ANSYS and DISPLAY programs. It + is valid for Hewlett Packard Graphics Language (HPGL) format files + selected in the ANSYS program with /SHOW,HPGL (or HPGL2), or with + /SHOWDISP,HPGL (or HPGL2) in the DISPLAY program. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + An output file is generated for each plot. The ANSYS file is named + JobnameNN.HPGL. In the DISPLAY program, this file is named HPGLnn. + This file remains open for a subsequent /NOERASE plot, and will be + incomplete until the program is closed (/EXIT), or until the next file + is opened by the next /ERASE plot request. """ - command = "MFSURFACE, %s, %s, %s, %s" % (str(inumb), str(fnumb1), str(label), str(fnumb2)) + command = "HPGL,%s,%s,%s" % (str(kywrd), str(opt1), str(opt2)) self.RunCommand(command, **kwargs) - def Cedele(self, neqn1="", neqn2="", ninc="", nsel="", **kwargs): + def Rate(self, option="", **kwargs): """ - APDL Command: CEDELE + APDL Command: RATE - Deletes constraint equations. + Specifies whether the effect of creep strain rate will be used in the + solution of a load step. Parameters ---------- - neqn1, neqn2, ninc - Delete constraint equations from NEQN1 to NEQN2 (defaults to NEQN1) - in steps of NINC (defaults to 1). If NEQN1 = ALL, NEQN2 and NINC - will be ignored all constraint equations will be deleted. + option + Activates implicit creep analysis. - nsel - Additional node selection control: + 0 or OFF  - No implicit creep analysis. This option is the default. - ANY  - Delete equation set if any of the selected nodes are in the set (default). + 1 or ON  - Perform implicit creep analysis. - ALL  - Delete equation set only if all of the selected nodes are in the set. + Notes + ----- + Set Option = 1 (or ON) to perform an implicit creep analysis (TB,CREEP + with TBOPT : 1). For viscoplasticity/creep analysis, Option specifies + whether or not to include the creep calculation in the solution of a + load step. If Option = 1 (or ON), ANSYS performs the creep calculation. + Set an appropriate time for solving the load step via a TIME,TIME + command. """ - command = "CEDELE, %s, %s, %s, %s" % (str(neqn1), str(neqn2), str(ninc), str(nsel)) + command = "RATE,%s" % (str(option)) self.RunCommand(command, **kwargs) - def Vcross(self, labxr="", labyr="", labzr="", labx1="", laby1="", - labz1="", labx2="", laby2="", labz2="", **kwargs): + def Abbsav(self, lab="", fname="", ext="", **kwargs): """ - APDL Command: VCROSS + APDL Command: ABBSAV - Forms element table items from the cross product of two vectors. + Writes the current abbreviation set to a coded file. Parameters ---------- - labxr, labyr, labzr - Label assigned to X, Y, and Z-component of resultant vector. + lab + Label that specifies the write operation: - labx1, laby1, labz1 - X, Y, and Z-component of first vector label. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - labx2, laby2, labz2 - X, Y, and Z-component of second vector label. + ext + Filename extension (eight-character maximum). + + -- + Unused field. Notes ----- - Forms labeled result items for the selected element from the cross - product of two vectors: - - {LabXR, LabYR, LabZR} = {LabX1, LabY1, LabZ1} X {LabX2, LabY2, LabZ2} + Existing abbreviations on this file, if any, will be overwritten. The + abbreviation file may be read with the ABBRES command. - Data must be in a consistent coordinate system. Labels are those - associated with the ETABLE command. + This command is valid in any processor. """ - command = "VCROSS, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(labxr), str(labyr), str(labzr), str(labx1), str(laby1), str(labz1), str(labx2), str(laby2), str(labz2)) + command = "ABBSAV,%s,%s,%s" % (str(lab), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Tbplot(self, lab="", mat="", tbopt="", temp="", segn="", **kwargs): + def Vwrite(self, par1="", par2="", par3="", par4="", par5="", par6="", + par7="", par8="", par9="", par10="", par11="", par12="", + par13="", par14="", par15="", par16="", par17="", par18="", + par19="", **kwargs): """ - APDL Command: TBPLOT + APDL Command: *VWRITE - Displays the material data table. + Writes data to a file in a formatted sequence. Parameters ---------- - lab - Data table label. Valid labels are: MKIN, KINH, MELAS, MISO, - BKIN, BISO, BH, GASKET, and JOIN. Defaults to the active table - label. For B-H data, also valid are: NB to display NU-B2, MH to - display MU vs. H, and SBH, SNB, SMH to display the slopes of the - corresponding data. + par1, par2, par3, . . . , par19 + You can write up to 19 parameters (or constants) at a time. Any Par + values after a blank Par value are ignored. If you leave them all + blank, one line will be written (to write a title or a blank line). + If you input the keyword SEQU, a sequence of numbers (starting from + 1) will be written for that item. - mat - Material number to be displayed (defaults to the active material). + Notes + ----- + You use *VWRITE to write data to a file in a formatted sequence. Data + items (Par1, Par2, etc.) may be array parameters, scalar parameters, + character parameters (scalar or array), or constants. You must + evaluate expressions and functions in the data item fields before using + the *VWRITE command, since initially they will be evaluated to a + constant and remain constant throughout the operation. Unless a file + is defined with the *CFOPEN command, data is written to the standard + output file. Data written to the standard output file may be diverted + to a different file by first switching the current output file with the + /OUTPUT command. You can also use the *MWRITE command to write data to + a specified file. Both commands contain format descriptors on the line + immediately following the command. The format descriptors can be in + either Fortran or C format. - tbopt - Gasket material or joint element material option to be plotted. - - ALL - Plots all gasket data. + You must enclose Fortran format descriptors in parentheses. They must + immediately follow the *VWRITE command on a separate line of the same + input file. Do not include the word FORMAT. The format must specify + the number of fields to be written per line, the field width, the + placement of the decimal point, etc. You should use one field + descriptor for each data item written. The write operation uses your + system's available FORTRAN FORMAT conventions (see your system FORTRAN + manual). You can use any standard FORTRAN real format (such as + (4F6.0), (E10.3,2X,D8.2), etc.) and alphanumeric format (A). + Alphanumeric strings are limited to a maximum of 8 characters for any + field (A8) using the Fortran format. Use the “C” format for string + arrays larger than 8 characters. Integer (I) and list-directed (*) + descriptors may not be used. You can include text in the format as a + quoted string. The parentheses must be included in the format and the + format must not exceed 80 characters (including parentheses). The + output line length is limited to 128 characters. - COMP - Plots gasket compression data only. + The “C” format descriptors are used if the first character of the + format descriptor line is not a left parenthesis. “C” format + descriptors are up to 80 characters long, consisting of text strings + and predefined "data descriptors" between the strings where numeric or + alphanumeric character data will be inserted. The normal descriptors + are %I for integer data, %G for double precision data, %C for + alphanumeric character data, and %/ for a line break. There must be one + data descriptor for each specified value (8 maximum) in the order of + the specified values. The enhanced formats described in *MSG may also + be used. - LUNL - Plots gasket linear unloading data with compression curve. + For array parameter items, you must define the starting array element + number. Looping continues (incrementing the vector index number of each + array parameter by one) each time you output a line, until the maximum + array vector element is written. For example, *VWRITE,A(1) followed by + (F6.0) will write one value per output line, i.e., A(1), A(2), A(3), + A(4), etc. You write constants and scalar parameters with the same + values for each loop. You can also control the number of loops and + loop skipping with the *VLEN and *VMASK commands. The vector + specifications *VABS, *VFACT, and *VCUM do not apply to this command. + If looping continues beyond the supplied data array's length, zeros + will be output for numeric array parameters and blanks for character + array parameters. For multi-dimensioned array parameters, only the + first (row) subscript is incremented. See the *VOPER command for + details. If you are in the GUI, the *VWRITE command must be contained + in an externally prepared file and read into ANSYS (i.e., *USE, /INPUT, + etc.). - NUNL - Plots gasket nonlinear unloading data only. + This command is valid in any processor. - temp - Specific temperature at which gasket data or joint element material - data will be plotted (used only when Lab = GASKET or JOIN). Use - TEMP = ALL to plot gasket data or joint element material data at - all temperatures. + """ + command = "*VWRITE,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(par1), str(par2), str(par3), str(par4), str(par5), str(par6), str(par7), str(par8), str(par9), str(par10), str(par11), str(par12), str(par13), str(par14), str(par15), str(par16), str(par17), str(par18), str(par19)) + self.RunCommand(command, **kwargs) - segn - Segment number of plotted curve (valid only when Lab = GASKET): + def Mat(self, mat="", **kwargs): + """ + APDL Command: MAT - NO - Segment number is not added to plotted curve (default). + Sets the element material attribute pointer. - YES - Segment number is added to plotted curve. This option is ignored if the number - of data points in a curve exceeds 20. + Parameters + ---------- + mat + Assign this material number to subsequently defined elements + (defaults to 1). Notes ----- - Only data for stress-strain, B-H, gasket curves, or joint element - nonlinear material model curves can be displayed. - - The TBOPT and TEMP values are valid only when Lab = GASKET or JOIN. - - The SEGN value is valid only when Lab = GASKET. - - This command is valid in any processor. + Identifies the material number to be assigned to subsequently defined + elements. This number refers to the material number (MAT) defined with + the material properties [MP]. Material numbers may be displayed + [/PNUM]. """ - command = "TBPLOT, %s, %s, %s, %s, %s" % (str(lab), str(mat), str(tbopt), str(temp), str(segn)) + command = "MAT,%s" % (str(mat)) self.RunCommand(command, **kwargs) - def Lgen(self, itime="", nl1="", nl2="", ninc="", dx="", dy="", dz="", - kinc="", noelem="", imove="", **kwargs): + def Seclock(self, dof1="", minvalue1="", maxvalue1="", dof2="", + minvalue2="", maxvalue2="", dof3="", minvalue3="", + maxvalue3="", **kwargs): """ - APDL Command: LGEN + APDL Command: SECLOCK - Generates additional lines from a pattern of lines. + Specifies locks on the components of relative motion in a joint + element. Parameters ---------- - itime - Do this generation operation a total of ITIMEs, incrementing all - keypoints in the given pattern automatically (or by KINC) each time - after the first. ITIME must be > 1 for generation to occur. - - nl1, nl2, ninc - Generate lines from pattern beginning with NL1 to NL2 (defaults to - NL1) in steps of NINC (defaults to 1). If NL1 = ALL, NL2 and NINC - are ignored and pattern is all selected lines [LSEL]. If NL1 = 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 NL1 (NL2 and NINC are ignored). - - dx, dy, dz - Keypoint location increments in the active coordinate system (--, - Dθ, DZ for cylindrical, --, Dθ, -- for spherical). - - kinc - Keypoint increment between generated sets. If zero, the lowest - available keypoint numbers are assigned [NUMSTR]. - - noelem - Specifies if elements and nodes are also to be generated: - - 0 - Generate nodes and elements associated with the original lines, if they exist. - - 1 - Do not generate nodes and elements. - - imove - Specifies whether to redefine the existing lines: + dof + Local degree of freedom to be locked. - 0 - Generate additional lines as requested with the ITIME argument. + minvalue + Low end of the range of allowed movement for the specified DOF. - 1 - Move original lines to new position retaining the same keypoint numbers (ITIME, - KINC, and NOELM are ignored). Valid only if the old lines are - no longer needed at their original positions. Corresponding - meshed items are also moved if not needed at their original - position. + maxvalue + High end of the range of allowed movement for the specified DOF. Notes ----- - Generates additional lines (and their corresponding keypoints and mesh) - from a given line pattern. The MAT, TYPE, REAL, and ESYS attributes - are based upon the lines in the pattern and not upon the current - settings. End slopes of the generated lines remain the same (in the - active coordinate system) as those of the given pattern. For example, - radial slopes remain radial, etc. Generations which produce lines of a - size or shape different from the pattern (i.e., radial generations in - cylindrical systems, radial and phi generations in spherical systems, - and theta generations in elliptical systems) are not allowed. Note - that solid modeling in a toroidal coordinate system is not recommended. - New line numbers are automatically assigned (beginning with the lowest - available values [NUMSTR]). + Specify up to three DOFs to be locked. Locks are activated when the + limit values are reached, and further motion in that DOF is frozen. If + necessary, you may repeat the command. """ - command = "LGEN, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(itime), str(nl1), str(nl2), str(ninc), str(dx), str(dy), str(dz), str(kinc), str(noelem), str(imove)) + command = "SECLOCK,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(dof1), str(minvalue1), str(maxvalue1), str(dof2), str(minvalue2), str(maxvalue2), str(dof3), str(minvalue3), str(maxvalue3)) self.RunCommand(command, **kwargs) - def Ancut(self, nfram="", delay="", ncycl="", qoff="", ktop="", topoff="", - node1="", node2="", node3="", **kwargs): + def Secmodif(self, secid="", kywrd="", **kwargs): """ - APDL Command: ANCUT + APDL Command: SECMODIF - Produces an animated sequence of Q-slices. + Modifies a pretension section Parameters ---------- - nfram - Number of frames captures (defaults to 5). - - delay - Time delay during animation (defaults to 0.1 seconds). - - ncycl - Number of animation cycles (defaults to 5). Available in non-UI - mode only. - - qoff - Q-slice working plane increment (defaults to .1 half screens). - - ktop - Topological effect on or off (YES or NO; default is NO). - - topoff - Topological offset (default is .1 half screens). + secid + Unique section number. This number must already be assigned to a + section. - node1 - Node 1 for start of the Q-slice. + norm + Keyword specifying that the command will modify the pretension + section normal direction. - node2 - Node 2 for direction of the Q-slice. + nx, ny, nz + Specifies the individual normal components to modify. - node3 - Node 3 for plane of the Q-slice. + kcn + Coordinate system number. This can be either 0 (Global Cartesian), + 1 (Global Cylindrical) 2 (Global Spherical), 4 (Working Plane), 5 + (Global Y Axis Cylindrical) or an arbitrary reference number + assigned to a coordinate system. Notes ----- - ANCUT involves an ANSYS macro which produces an animation of Q-slices - of the last plot action command. This command operates only on graphic - display platforms supporting the /SEG command. After executing ANCUT, - you can replay the animated sequence by issuing the ANIM command. - - The command functions only in the postprocessor. + The SECMODIF command either modifies the normal for a specified + pretension section, or changes the name of the specified pretension + surface. """ - command = "ANCUT, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nfram), str(delay), str(ncycl), str(qoff), str(ktop), str(topoff), str(node1), str(node2), str(node3)) + command = "SECMODIF,%s,%s" % (str(secid), str(kywrd)) self.RunCommand(command, **kwargs) - def Sphere(self, rad1="", rad2="", theta1="", theta2="", **kwargs): + def Noorder(self, lab="", **kwargs): """ - APDL Command: SPHERE + APDL Command: NOORDER - Creates a spherical volume centered about the working plane origin. + Re-establishes the original element ordering. Parameters ---------- - rad1, rad2 - Inner and outer radii (either order) of the sphere. A value of - zero or blank for either RAD1 or RAD2 defines a solid sphere. + lab + Turns element reordering on or off. - theta1, theta2 - Starting and ending angles (either order) of the sphere. Used for - creating a spherical sector. The sector begins at the - algebraically smaller angle, extends in a positive angular - direction, and ends at the larger angle. The starting angle - defaults to 0.0° and the ending angle defaults to 360.0°. See the - Modeling and Meshing Guide for an illustration. + ON (or blank) - Re-establishes original element ordering (default). + + OFF - Original ordering is not used and program establishes its own ordering at the + beginning of the solution phase. Notes ----- - Defines either a solid or hollow sphere or spherical sector centered - about the working plane origin. The sphere must have a spatial volume - greater than zero. (i.e., this volume primitive command cannot be used - to create a degenerate volume as a means of creating an area.) - Inaccuracies can develop when the size of the object you create is much - smaller than the relative coordinate system values (ratios near to or - greater than 1000). If you require an exceptionally small sphere, - create a larger object, and scale it down to the appropriate size. + If Lab = ON, the original element ordering is re-established and no + automatic reordering occurs at the beginning of the solution phase. + Use Lab = OFF only to remove the effect of a previous NOORDER command. + This command affects only those elements that were defined up to the + point that this command is issued. See the WSORT and WAVES commands for + reordering. - For a solid sphere of 360°, you define it with two areas, each - consisting of a hemisphere. See the SPH4 and SPH5 commands for the - other ways to create spheres. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "SPHERE, %s, %s, %s, %s" % (str(rad1), str(rad2), str(theta1), str(theta2)) + command = "NOORDER,%s" % (str(lab)) self.RunCommand(command, **kwargs) def Edbound(self, option="", lab="", cname="", xc="", yc="", zc="", @@ -3726,7034 +3538,6821 @@ def Edbound(self, option="", lab="", cname="", xc="", yc="", zc="", Distributed ANSYS. """ - command = "EDBOUND, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(lab), str(cname), str(xc), str(yc), str(zc), str(cname2), str(copt)) + command = "EDBOUND,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(lab), str(cname), str(xc), str(yc), str(zc), str(cname2), str(copt)) self.RunCommand(command, **kwargs) - def Prvect(self, item="", lab2="", lab3="", labp="", **kwargs): + def Form(self, lab="", **kwargs): """ - APDL Command: PRVECT + APDL Command: FORM - Prints results as vector magnitude and direction cosines. + Specifies the format of the file dump. Parameters ---------- - item - Predefined vector item (from Table 226: PRVECT - Valid Item and - Component Labels below) or a label identifying the i-component of a - user-defined vector. + lab + Format: - lab2 - Label identifying the j-component of a user-defined vector. In most - cases, this value must be blank if Item is selected from Table 226: - PRVECT - Valid Item and Component Labels. Individual principal - stresses (Item = S) or principal strains (Item = EPxx) may be - printed by specifying the value as 1, 2, or 3. + RECO - Basic record description only (minimum output) (default). - lab3 - Label identifying the k-component of a user-defined vector. Must - be blank if Item is selected from list below or for 2-D user - defined vector. + TEN - Same as RECO plus the first ten words of each record. - labp - Label assigned to resultant vector for printout labeling (defaults - to Item). + LONG - Same as RECO plus all words of each record. Notes ----- - Prints various solution results as vector magnitude and direction - cosines for the selected nodes and/or elements. For example, PRVECT,U - prints the displacement magnitude and its direction cosines for all - selected nodes. For nodal degree of freedom vector results, direction - cosines are with respect to the results coordinate system RSYS. For - element results, direction cosines are with respect to the global - Cartesian system. Item components may be printed with the PRNSOL - command. Various results also depend upon the recalculation method and - the selected results location [LAYER, SHELL, NSEL, and ESEL]. Items - may be selected from a set of recognized vector labels (Item) or a - vector may be defined from up to three scalar labels (Item,Lab2,Lab3). - Scalar labels may be user-defined with the ETABLE command. - - Portions of this command are not supported by PowerGraphics - [/GRAPHICS,POWER]. - - Table: 226:: : PRVECT - Valid Item and Component Labels + Specifies the format of the file dump (from the DUMP command). """ - command = "PRVECT, %s, %s, %s, %s" % (str(item), str(lab2), str(lab3), str(labp)) + command = "FORM,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Lcsl(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nl7="", - nl8="", nl9="", **kwargs): + def Selist(self, sename="", kopt="", kint="", **kwargs): """ - APDL Command: LCSL + APDL Command: SELIST - Divides intersecting lines at their point(s) of intersection. + Lists the contents of a superelement matrix file. Parameters ---------- - nl1, nl2, nl3, . . . , nl9 - Numbers of lines to be intersected. If NL1 = ALL, NL2 to NL9 are - ignored and the intersection of all selected lines is found. If - NL1 = P, use graphical picking to specify lines (NL2 to NL9 are - ignored). + sename + The name (case-sensitive) of the superelement matrix file created + by the substructure generation pass (Sename.SUB). Defaults to the + current Jobname. If a number, it is the element number of the + superelement as used in the use pass. - Notes - ----- - Divides intersecting (classifies) lines at their point(s) of - intersection. The original lines (and their corresponding keypoint(s)) - will be deleted by default. See the BOPTN command for the options - available to Boolean operations. Element attributes and solid model - boundary conditions assigned to the original entities will not be - transferred to the new entities generated. + kopt + List key: - """ - command = "LCSL, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nl7), str(nl8), str(nl9)) - self.RunCommand(command, **kwargs) + 0 - List summary data only. - def Neqit(self, neqit="", forcekey="", **kwargs): - """ - APDL Command: NEQIT + 1 - List contents, except load vectors and matrices. - Specifies the maximum number of equilibrium iterations for nonlinear - analyses. + 2 - List contents, except matrices. - Parameters - ---------- - neqit - Maximum number of equilibrium iterations allowed each substep. + 3 - List full contents. Be aware that the listing may be extensive. - forcekey - One iteration forcing key: + kint + Integer printout format key: - FORCE - Forces one iteration per substep. Leave this field blank otherwise. + OFF - Default. + + ON - Long format for large integers. Notes ----- - This command is also valid in PREP7. + This command is valid in any processor. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "NEQIT, %s, %s" % (str(neqit), str(forcekey)) + command = "SELIST,%s,%s,%s" % (str(sename), str(kopt), str(kint)) self.RunCommand(command, **kwargs) - def Grp(self, signif="", label="", forcetype="", **kwargs): + def Nsort(self, item="", comp="", order="", kabs="", numb="", sel="", + **kwargs): """ - APDL Command: GRP + APDL Command: NSORT - Specifies the grouping mode combination method. + Sorts nodal data. Parameters ---------- - signif - Combine only those modes whose significance level exceeds the - SIGNIF threshold. For single point, multipoint, or DDAM response - (SPOPT,SPRS, MPRS or DDAM), the significance level of a mode is - defined as the mode coefficient of the mode, divided by the maximum - mode coefficient of all modes. Any mode whose significance level - is less than SIGNIF is considered insignificant and is not - contributed to the mode combinations. The higher the SIGNIF - threshold, the fewer the number of modes combined. SIGNIF defaults - to 0.001. If SIGNIF is specified as 0.0, it is taken as 0.0. - (This mode combination method is not valid for SPOPT,PSD.) + item + Label identifying the item to be sorted on. Valid item labels are + shown in the table below. Some items also require a component + label. - label - Label identifying the combined mode solution output. + comp + Component of the item (if required). Valid component labels are + shown in the table below. - DISP - Displacement solution (default). Displacements, stresses, forces, etc., are - available. + order + Order of sort operation: - VELO - Velocity solution. Velocities, "stress velocities," "force velocities," etc., - are available. + 0 - Sort into descending order. - ACEL - Acceleration solution. Accelerations, "stress accelerations," "force - accelerations," etc., are available. + 1 - Sort into ascending order. - forcetype - Label identifying the forces to be combined: + kabs + Absolute value key: - STATIC - Combine the modal static forces (default). + 0 - Sort according to real value. - TOTAL - Combine the modal static plus inertial forces. + 1 - Sort according to absolute value. + + numb + Number of nodal data records to be sorted in ascending or + descending order (ORDER) before sort is stopped (remainder will be + in unsorted sequence) (defaults to all nodes). + + sel + Allows selection of nodes in the sorted field. + + (blank) - No selection (default). + + SELECT - Select the nodes in the sorted list. Notes ----- - The SIGNIF value set with this command (including the default value of - 0.001) overrides the SIGNIF value set with the MXPAND command. - - This command is also valid for PREP7. + Values are in the active coordinate system [CSYS for input data or RSYS + for results data]. Various element results also depend upon the + recalculation method and the selected results location [AVPRIN, RSYS, + SHELL, ESEL, and NSEL]. If simultaneous load cases are stored, the + last sorted sequence formed from any load case applies to all load + cases. Use NUSORT to restore the original order. This command is not + valid with PowerGraphics. - """ - command = "GRP, %s, %s, %s" % (str(signif), str(label), str(forcetype)) - self.RunCommand(command, **kwargs) + Table: 213:: : NSORT - Valid Item and Component Labels - def Vtype(self, nohid="", nzone="", **kwargs): - """ - APDL Command: VTYPE + Table: 214:: : NSORT - Valid Item and Component Labels for Nodal DOF + Result Values - Specifies the viewing procedure used to determine the form factors for - the Radiation Matrix method. + Table: 215:: : NSORT - Valid Item and Component Labels for Element + Result Values - Parameters - ---------- - nohid - Type of viewing procedure: + Works only if failure criteria information is provided. (For more + information, see the documentation for the FC and TB commands.) - 0 - Hidden procedure. + Must be added via the FCTYP command first. - 1 - Non-hidden (faster, but less general) procedure. + Works only if user failure criteria routine is provided. - nzone - Number of sampling zones for the hidden procedure (100 maximum for - 3-D, 1000 maximum for 2-D). Defaults to 20 for 3-D, 200 for 2-D. - Number of points is 2*NZONE for 2-D and 2*NZONE*(NZONE+1) for 3-D. + For more information about contact status and its possible values, see + Reviewing Results in POST1 in the Contact Technology Guide. """ - command = "VTYPE, %s, %s" % (str(nohid), str(nzone)) + command = "NSORT,%s,%s,%s,%s,%s,%s" % (str(item), str(comp), str(order), str(kabs), str(numb), str(sel)) self.RunCommand(command, **kwargs) - def Prrsol(self, lab="", **kwargs): + def Cycspec(self, label="", node="", item="", comp="", **kwargs): """ - APDL Command: PRRSOL + APDL Command: CYCSPEC - Prints the constrained node reaction solution. + Defines the set of result items for a subsequent CYCCALC command in + postprocessing a cyclic harmonic mode-superposition analysis. Parameters ---------- - lab - Nodal reaction load type. If blank, use the first ten of all - available labels. Valid labels are: + label + One of the following labels: - Notes - ----- - Prints the constrained node reaction solution for the selected nodes in - the sorted sequence. For coupled nodes and nodes in constraint - equations, the sum of all reactions in the coupled or constraint - equation set appears at the primary node of the set. Results are in - the global Cartesian coordinate directions unless transformed (RSYS). + ADD - Adds a new specification to the set (default). The maximum number of + specifications that can be defined is 50. - PRRSOL is not valid if any load is applied to a constrained node in the - direction of the constraint and any of the following is true: + LIST - Lists the current set of specifications. Node, Item, Comp are ignored. - LCOPER has been used. + ERASE - Erases the current set of specifications. Node, Item, Comp are ignored. - LCASE has been used to read from a load case file. + DELETE - Deletes an existing specification. Item, Comp are ignored. - The applied loads and constraints in the database are not the ones used - to create the results data being processed. + node + The node at which to evaluate the results. If Node is a nodal + component, then all nodes in the component are included. All + sectors containing this node (or set of nodes) are evaluated. - PRRSOL provides the total reaction solution (static, plus damping, plus - inertial, as appropriate based on the analysis type); however, modal - reactions include only the static contribution. + item + Specifies the type of values to evaluate: - Use PRRFOR instead of PRRSOL with the FORCE command to obtain only the - static, damping, or inertial components. + U - Displacement - """ - command = "PRRSOL, %s" % (str(lab)) - self.RunCommand(command, **kwargs) + S - Stress - def Pdpinv(self, rlab="", name="", prob="", conf="", **kwargs): - """ - APDL Command: PDPINV + EPEL - Elastic strain - Prints the result of the inversion of a probability. + comp + Specifies the specific component of displacement, stress, or strain + to evaluate: - Parameters - ---------- - rlab - Result set label. Identifies the result set to be used for - postprocessing. A result set label can be the solution set label - you defined in a PDEXE command (if you are directly postprocessing - Monte Carlo Simulation results), or the response surface set label - defined in an RSFIT command (for Response Surface Analyses). + X,Y,Z - Direct components - name - Parameter name. The parameter must have been previously defined as - a random input variable or a random output parameter with the PDVAR - command. + XY,YZ,XZ - Shear components (stress and strain only) - prob - Target probability for which the random parameter value should be - determined. + 1,2,3 - Principal values (stress and strain only) - -- - Unused field. + EQV - Equivalent value (stress and strain only) - conf - Confidence level. The confidence level is used to print the - confidence bounds on the random parameter value. The value for the - confidence level must be between 0.0 and 1.0 and it defaults to - 0.95 (95%). Printing of confidence bound is suppressed for CONF - 0.5. This parameter is ignored for response surface methods results - postprocessing. + SUM - Vector sum (displacement only) + + NORM - L2 norm for the set of nodes (displacement only) Notes ----- - Prints the value for the random parameter Name at which the probability - that there are simulation values lower than that value is equal to - PROB. This corresponds to an inversion of the cumulative distribution - function (see PDCDF command) at a given probability. In this sense the - PDPINV is doing the opposite of the PDPROB command. The PDPROB command - evaluates a probability for a given random parameter value and the - PDPINV command evaluates the random parameter value that corresponds to - a given probability. + Up to 50 specifications can be defined for use in a subsequent CYCCALC + command. If more than 50 specifications are desired, erase the table + after the CYCCALC operation and add new specifications and repeat the + CYCCALC command. All the specified nodes, items, and components are + evaluated for all sectors and the maximum amplitude value output. For + combined stresses and strains (Comp = 1,2,3 or EQV) or displacement + vector sum (Comp = SUM), a 360 degree phase sweep is performed at each + location to determine the maximum. - If Rlab is left blank, then the result set label is inherited from the - last PDEXE command (Slab), RSFIT command (RSlab), or the most recently - used PDS postprocessing command where a result set label was explicitly - specified. + Additional POST1 controls are used to refine the specification. For + component values, components are in the RSYS direction. For shell + elements, the results are at the SHELL location. For EPEL,EQV, the + results are based on the EFFNU value on the AVPRIN command. The + controls active when the CYCCALC command is issued determine the result + values. If results at another SHELL location are desired, issue the new + SHELL command and then re-issue the CYCCALC command. - The confidence level is a probability expressing the confidence that - the value for the requested result is in fact between the confidence - bounds. The larger the confidence level, the wider the confidence - bounds. Printing the confidence bounds only makes sense for - postprocessing Monte Carlo simulation results, where the confidence - bounds represent the accuracy of the results. With increasing sample - sizes, the width of the confidence bounds gets smaller for the same - confidence level. For response surface analysis methods, the number of - simulations done on the response surface is usually very large; - therefore, the accuracy of the results is determined by the response - surface fit and not by the confidence level. + If a single node is input, the Item/Comp value at that location in each + sector is output. If a node component is given, then the maximum + Item/Comp value within the set of nodes of each sector is output, one + value for each sector (the node of the maximum may vary from sector to + sector). For stress and strain items, only corner nodes are valid. - The PDPINV command cannot be used to postprocess the results in a - solution set that is based on Response Surface Methods, only Monte - Carlo Simulations. + For the displacement norm option (Item = U, Comp = NORM), the L2 norm + computed from all the nodes in the component is output, one per sector. """ - command = "PDPINV, %s, %s, %s, %s" % (str(rlab), str(name), str(prob), str(conf)) + command = "CYCSPEC,%s,%s,%s,%s" % (str(label), str(node), str(item), str(comp)) self.RunCommand(command, **kwargs) - def Pmore(self, x5="", y5="", x6="", y6="", x7="", y7="", x8="", y8="", - **kwargs): + def Mfun(self, parr="", func="", par1="", **kwargs): """ - APDL Command: /PMORE + APDL Command: *MFUN - Creates an annotation polygon (GUI). + Copies or transposes an array parameter matrix. Parameters ---------- - -- - Unused field. - - x5 - X location for vertex 5 of polygon (-1.0 < X < 2.0). - - y5 - Y location for vertex 5 of polygon (-1.0 < Y < 1.0). + parr + The name of the resulting array parameter matrix. See *SET for + name restrictions. - x6 - X location for vertex 6 of polygon (-1.0 < X < 2.0). + func + Copy or transpose function: - y6 - Y location for vertex 6 of polygon (-1.0 < Y < 1.0). + Par1 is copied to ParR - Par1 is transposed to ParR. Rows (m) and columns (n) of Par1 matrix are + transposed to resulting ParR matrix of shape + (n,m). - x7 - X location for vertex 7 of polygon (-1.0 < X < 2.0). + par1 + Array parameter matrix input to the operation. - y7 - Y location for vertex 7 of polygon (-1.0 < Y < 1.0). + Notes + ----- + Operates on one input array parameter matrix and produces one output + array parameter matrix according to: - x8 - X location for vertex 8 of polygon (-1.0 < X < 2.0). + ParR = f(Par1) - y8 - Y location for vertex 8 of polygon (-1.0 < Y < 1.0). + where the function (f) is either a copy or transpose, as described + above. - Notes - ----- - Defines the 5th through 8th vertices of an annotation polygon - [/POLYGON]. This is a command generated by the Graphical User - Interface (GUI) and will appear in the log file (Jobname.LOG) if - annotation is used. This command is not intended to be typed in - directly in an ANSYS session (although it can be included in an input - file for batch input or for use with the /INPUT command). + Functions are based on the standard FORTRAN definitions where possible. + ParR may be the same as Par1. Starting array element numbers must be + defined for each array parameter matrix if it does not start at the + first location. For example, *MFUN,A(1,5),COPY,B(2,3) copies matrix B + (starting at element (2,3)) to matrix A (starting at element (1,5)). + The diagonal corner elements for each submatrix must be defined: the + upper left corner by the array starting element (on this command), the + lower right corner by the current values from the *VCOL and *VLEN + commands. The default values are the (1,1) element and the last + element in the matrix. No operations progress across matrix planes (in + the 3rd dimension). Absolute values and scale factors may be applied + to all parameters [*VABS, *VFACT]. Results may be cumulative [*VCUM]. + Array elements should not be skipped with the *VMASK and the NINC value + of the *VLEN specifications. The number of rows [*VLEN] applies to the + Par1 array. See the *VOPER command for details. This command is valid in any processor. """ - command = "/PMORE, %s, %s, %s, %s, %s, %s, %s, %s" % (str(x5), str(y5), str(x6), str(y6), str(x7), str(y7), str(x8), str(y8)) + command = "*MFUN,%s,%s,%s" % (str(parr), str(func), str(par1)) self.RunCommand(command, **kwargs) - def Imagin(self, ir="", ia="", name="", facta="", **kwargs): + def Sv(self, damp="", sv1="", sv2="", sv3="", sv4="", sv5="", sv6="", + sv7="", sv8="", sv9="", **kwargs): """ - APDL Command: IMAGIN + APDL Command: SV - Forms an imaginary variable from a complex variable. + Defines spectrum values to be associated with frequency points. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. - - ia - Reference number of the variable to be operated on. - - --, -- - Unused fields. - - name - Thirty-two character name for identifying the variable on the - printout and displays. Embedded blanks are compressed upon output. - - --, -- - Unused fields. + damp + Damping ratio for this response spectrum curve. If the same as a + previously defined curve, the SV values are added to the previous + curve. Up to four different curves may be defined, each with a + different damping ratio. Damping values must be input in ascending + order. - facta - Scaling factor (positive or negative) applied to variable IA - (defaults to 1.0). + sv1, sv2, sv3, . . . , sv9 + Spectrum values corresponding to the frequency points [FREQ]. + Values are interpreted as defined with the SVTYP command. SV + values should not be zero. Values required outside the frequency + range use the extreme input values. Notes ----- - This command forms a new variable from a complex variable by storing - the imaginary part as the real part. The imaginary part can then be - used in other operations. Used only with harmonic analyses - (ANTYPE,HARMIC). + Defines the spectrum values to be associated with the previously + defined frequency points [FREQ]. Applies only to the single-point + response spectrum. Damping has no effect on the frequency solution. + Damping values are used only to identify SV curves for the mode + combinations calculation. Only the curve with the lowest damping value + is used in the initial mode coefficient calculation. Use STAT command + to list current spectrum curve values. - Complex variables are stored in two-column arrays with the real - component stored in the first column and the imaginary component stored - in the second column. This command extracts the value stored in the - second column (i.e., imaginary component). However, with harmonic - analyses, all variables are stored in two-column arrays as complex - variables. If the variable is not complex, then the same value is - stored in both columns. This command will extract the variable in the - second column of the array, even if this variable is not the imaginary - component of a complex variable. + Repeat SV command for additional SV points (100 maximum per DAMP + curve). SV values are added to the DAMP curve after the last nonzero + SV value. + + The interpolation method between response spectrum points and curves is + specified using KeyInterp in the SVTYP command. It is logarithmic by + default. + + This command is also valid in PREP7. """ - command = "IMAGIN, %s, %s, %s, %s" % (str(ir), str(ia), str(name), str(facta)) + command = "SV,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(damp), str(sv1), str(sv2), str(sv3), str(sv4), str(sv5), str(sv6), str(sv7), str(sv8), str(sv9)) self.RunCommand(command, **kwargs) - def Rsopt(self, opt="", filename="", ext="", dir="", **kwargs): + def Emtgen(self, ncomp="", ecomp="", pncomp="", dof="", gap="", gapmin="", + fkn="", epzero="", **kwargs): """ - APDL Command: RSOPT + APDL Command: EMTGEN - Creates or loads the radiosity mapping data file for SURF251 or SURF252 - element types. + Generates a set of TRANS126 elements. Parameters ---------- - opt - File option: + ncomp + Component name of the surface nodes of a structure which attach to + the TRANS126 elements. You must enclose name-strings in single + quotes in the EMTGEN command line. - SAVE - Write the radiosity mapping data to a file. (Default) + ecomp + Component name of the TRANS126 elements generated. You must + enclose name-strings in single quotes in the EMTGEN command line. + Defaults to EMTELM. - LOAD - Read in the specified mapping data file. + pncomp + Component name of the plane nodes generated by the command at an + offset (GAP) from the surface nodes. You must enclose name-strings + in single quotes in the EMTGEN command line. Defaults to EMTPNO. - fname - File name for radiosity mapping data file. Defaults to Jobname. + dof + Active structural degree of freedom (DOF) for TRANS126 elements + (UX, UY, or UZ) in the Cartesian coordinate system. You must + enclose the DOF in single quotes. - ext - Filename extension for radiosity mapping data file (default = - .rsm). + gap + Initial gap distance from the surface nodes to the plane. Be sure + to use the correct sign with respect to Ncomp node location. - dir - Directory path for radiosity mapping data file. If you do not - specify a directory path, it will default to your working - directory. + gapmin + Minimum gap distance allowed (GAPMIN real constant) for TRANS126 + elements. Defaults to the absolute value of (GAP)*0.05. + + fkn + Contact stiffness factor used as a multiplier for a contact + stiffness appropriate for bulk deformation. Defaults to 0.1. + + epzero + Free-space permittivity. Defaults to 8.854e-6 (μMKS units). Notes ----- - Use this command to manually create or load a radiosity mapping data - file. This command is useful if you want to create the mapping data - file without issuing SAVE or CDWRITE, or if you want to specify that - the file be located in a directory other than your working directory. - Also use this command to manually load an existing mapping data file - during a restart. + The EMTGEN command generates a set of TRANS126 elements between the + surface nodes of a moveable structure and a plane of nodes, typically + representing a ground plane. The plane of nodes are created by the + command at a specified offset (GAP). Each element attaches to a surface + node and to a corresponding node representing the plane. The created + elements are set to the augmented stiffness method (KEYOPT(6) = 1), + which can help convergence. The generated plane nodes should be + constrained appropriately for the analysis. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + You can use TRANS126 elements for simulating fully coupled + electrostatic structural coupling between a MEMS device and a plane, if + the gap distance between the device and the plane is small compared to + the overall surface area dimensions of the device. This assumption + allows for a point-wise closed-form solution of capacitance between the + surface nodes and the plane; i.e. CAP = EPZERO*AREA/GAP, where EPZERO + if the free-space permittivity, AREA is the area associated with the + node, and GAP is the gap between the node and the plane. The area for + each node is computed using the ARNODE function in ANSYS. See the *GET + command description for more information on the ARNODE function. + + With a distributed set of TRANS126 elements attached directly to the + structure and a plane (such as a ground plane), you can perform a full + range of coupled electrostatic-structural simulations, including: + + Static analysis (due to a DC voltage or a mechanical load) + + Prestressed modal analysis (eigenfrequencies, including frequency-shift + effects of a DC bias voltage) + + Prestressed harmonic analysis (system response to a small-signal AC + excitation with a DC bias voltage or mechanical load) + + Large signal transient analysis (time-transient solution due to an + arbitrary time-varying voltage or mechanical excitation) + + The TRANS126 element also employs a node-to-node gap feature so you can + perform contact-type simulations where the structure contacts a plane + (such as a ground plane). The contact stiffness factor, FKN, is used to + control contact penetration once contact is initiated. A smaller value + provides for easier convergence, but with more penetration. """ - command = "RSOPT, %s, %s, %s, %s" % (str(opt), str(filename), str(ext), str(dir)) + command = "EMTGEN,%s,%s,%s,%s,%s,%s,%s,%s" % (str(ncomp), str(ecomp), str(pncomp), str(dof), str(gap), str(gapmin), str(fkn), str(epzero)) self.RunCommand(command, **kwargs) - def Secread(self, fname="", ext="", option="", **kwargs): + def Gst(self, lab="", lab2="", **kwargs): """ - APDL Command: SECREAD + APDL Command: /GST - Reads a custom section library or a user-defined section mesh into - ANSYS. + Turns Graphical Solution Tracking (GST) on or off. Parameters ---------- - fname - Section library file name and directory path containing the section - library file (248 characters maximum, including directory). If you - do not specify a directory path, it will default to your working - directory and you can use all 248 characters for the file name. + lab + Determines whether the Graphical Solution Tracking feature is + active. Specify ON to activate GST, or OFF to deactivate the + feature. - ext - Filename extension (eight-character maximum). + lab2 + Activates generation of interface and field convergence files + (ANSYS MFX analyses only). - -- - Unused field. + Notes + ----- + For interactive runs using GUI [/MENU,ON] or graphics [/MENU,GRPH] + mode, ANSYS directs GST graphics to the screen. For interactive + sessions not using GUI or graphics mode, or for batch sessions, GST + graphics are saved in the ANSYS graphics file Jobname.GST when Lab2 is + unspecified. The file Jobname.GST can be viewed with the DISPLAY + program in this case. You must select All File Types to access it. For + more information on the DISPLAY program see Getting Started with the + DISPLAY Program in the Basic Analysis Guide. For MFX runs (when + Lab2=ON), the Jobname.GST file is in XML format, and it can be viewed + with the Results Tracker Utility, accessed from within the Tools menu + of the Mechanical APDL Product Launcher. - option - LIBRARY + The GST feature is available only for nonlinear structural, thermal, + electric, magnetic, fluid, or CFD simulations. For more information + about this feature and illustrations of the GST graphics for each + analysis type, see the ANSYS Analysis Guide for the appropriate + discipline. See also the CNVTOL command description. - LIBRARY - Reads in a library of sections and their associated section data values; the - default. A section library may be created by editing the - section-defining portions of the Jobname.LOG file and - saving it with a .SECT suffix. + When running an ANSYS MFX analysis, specify /GST,ON,ON to generate both + the interface (Jobname.NLH) and field convergence (Fieldname.GST) files + for monitoring the analysis. This field is not available on the GUI. - Notes - ----- - The SECREAD command operates on the section specified via the most - recently issued SECTYPE command. Issue a separate SECREAD command for - each section ID that you want to read in. + """ + command = "/GST,%s,%s" % (str(lab), str(lab2)) + self.RunCommand(command, **kwargs) - Here are excerpts from a sample user section mesh file for a section - with 75 nodes, 13 cells, and 9 nodes per cell for a two-hole box - section. Illustrations of the two-hole box section and the cell mesh - for it appear later in this command description. + def Pbf(self, item="", key="", **kwargs): + """ + APDL Command: /PBF - The mesh file is divided into three sections: the First Line, the Cells - Section, and the Nodes Section. Here are brief descriptions of the - contents of each. + Shows magnitude of body force loads on displays. - First Line: The First Line defines the number of nodes and the number - of cells for the mesh. + Parameters + ---------- + item + Label identifying the item: - Cells Section: The Cells Section contains as many lines as there are - cells. In this example, there are thirteen cells, so there are - thirteen lines in this section. In each line, the number “1” that - follows the cell connectivity information is the material number. + TEMP - Applied temperatures. - Cell nodal connectivity must be given in a counterclockwise direction, - with the center node being the ninth node. For details, see Figure: - 10:: Cell Mesh for the Two-hole Box Section. + FLUE - Applied fluences. - Nodes Section: The Nodes Section contains as many lines as there are - nodes. In this example, there are 75 nodes, so there are a total of 75 - lines in this section. Each node line contains the node's boundary - flag, the Y coordinate of the node, and the Z coordinate of the node. - Currently, all node boundary flags appear as 0s in a cell mesh file (as - illustrated in Figure: 9:: Two-hole Box Section). Since all node - boundary flags are 0, SECREAD ignores them when it reads a cell mesh - file into ANSYS. + HGEN - Applied heat generation rates. - There cannot be any gaps in the node numbering of a cell mesh. The - nodes in a cell mesh must be numbered consecutively, with the first - node having a node number of 1, and the last node having a node number - that is equal to the maximum number of nodes in the cell mesh. + JS - Applied current density magnitude. - Figure: 9:: : Two-hole Box Section + JSX - X-component of current density. - Figure: 10:: : Cell Mesh for the Two-hole Box Section + JSY - Y-component of current density. - """ - command = "SECREAD, %s, %s, %s" % (str(fname), str(ext), str(option)) - self.RunCommand(command, **kwargs) + JSZ - Z-component of current density. - def Page(self, iline="", ichar="", bline="", bchar="", comma="", **kwargs): - """ - APDL Command: /PAGE + PHASE - Phase angle of applied load. - Defines the printout and screen page size. + MVDI - Applied magnetic virtual displacements flag. - Parameters - ---------- - iline - Number of lines (11 minimum) per "page" or screen. Defaults to 24. - Applies to interactive non-GUI to the screen output only. + CHRGD - Applied electric charge density. - ichar - Number of characters (41 to 132) per line before wraparound. - Defaults to 80. Applies to interactive non-GUI to the screen - output only. + VLTG - Applied voltage drop. - bline - Number of lines (11 minimum) per page. Defaults to 56. Applies to - batch mode [/BATCH], diverted [/OUTPUT], or interactive GUI [/MENU] - output. If negative, no page headers are output. + -- + Unused field. - bchar - Number of characters (41 to 240 (system dependent)) per line before - wraparound. Defaults to 132. Applies to batch mode [/BATCH], - diverted [/OUTPUT], or interactive GUI [/MENU] output. + key + Symbol key: - comma - Input 1 to specify comma-separated output for node [NLIST] and - element [ELIST] output. + 0 - Do not show body force load contours. + + 1 - Show body force load contours. + + 2 - Show current density as a vector (not a contour). Notes ----- - Defines the printout page size for batch runs and the screen page size - for interactive runs. Applies to the POST1 PRNSOL, PRESOL, PRETAB, - PRRSOL, and PRPATH commands. See the /HEADER command for additional - controls (page ejects, headers, etc.) that affect the amount of - printout. A blank (or out-of-range) value retains the previous - setting. Issue /PAGE,STAT to display the current settings. Issue - /PAGE,DEFA to reset the default specifications. + Shows body force loads as contours on displays for the selected + elements. + + The effects of the /PBF command are not cumulative (that is, the + command does not modify an existing setting from a previously issued + /PBF command). If you issue multiple /PBF commands during an analysis, + only the setting specified by the most recent /PBF command applies. + + Use /PSTATUS or /PBF,STAT to display settings. Use /PBF,DEFA to reset + all specifications back to default. See also the /PSF and /PBC command + for other display contours. + + Portions of this command are not supported by PowerGraphics + [/GRAPHICS,POWER]. This command is valid in any processor. """ - command = "/PAGE, %s, %s, %s, %s, %s" % (str(iline), str(ichar), str(bline), str(bchar), str(comma)) + command = "/PBF,%s,%s" % (str(item), str(key)) self.RunCommand(command, **kwargs) - def Mfem(self, fnumb="", itype1="", itype2="", itype3="", itype4="", - itype5="", itype6="", itype7="", itype8="", itype9="", itype10="", - **kwargs): + def Cbte(self, alpha="", **kwargs): """ - APDL Command: MFEM + APDL Command: CBTE - Add more element types to a previously defined field number. + Specifies a thermal expansion coefficient for a composite beam section. Parameters ---------- - fnumb - Existing field number defined by the MFELEM command. - - itype1, itype2, itype3, . . . , itype10 - Element types defined by the ET command. + alpha + Coefficient of thermal expansion for the cross section. Notes ----- - You can add up to ten element types per MFEM command. This command - should not be used after an initial solution. + The CBTE command, one of several composite beam section commands, + specifies a thermal expansion coefficient for a beam section. The value + specified is associated with the section most recently defined + (SECTYPE) at the specified temperature (CBTMP). - This command is also valid in PREP7. + Unspecified values default to zero. - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + Related commands are CBTMP, CBMX, and CBMD. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + For complete information, see Using Preintegrated Composite Beam + Sections. """ - command = "MFEM, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(fnumb), str(itype1), str(itype2), str(itype3), str(itype4), str(itype5), str(itype6), str(itype7), str(itype8), str(itype9), str(itype10)) + command = "CBTE,%s" % (str(alpha)) self.RunCommand(command, **kwargs) - def Nrlsum(self, signif="", label="", labelcsm="", forcetype="", **kwargs): + def Nread(self, fname="", ext="", **kwargs): """ - APDL Command: NRLSUM + APDL Command: NREAD - Specifies the Naval Research Laboratory (NRL) sum mode combination - method. + Reads nodes from a file. Parameters ---------- - signif - Combine only those modes whose significance level exceeds the - SIGNIF threshold. For single point, multipoint, or DDAM response - (SPOPT,SPRS, MPRS or DDAM), the significance level of a mode is - defined as the mode coefficient of the mode, divided by the maximum - mode coefficient of all modes. Any mode whose significance level is - less than SIGNIF is considered insignificant and is not contributed - to the mode combinations. The higher the SIGNIF threshold, the - fewer the number of modes combined. SIGNIF defaults to 0.001. If - SIGNIF is specified as 0.0, it is taken as 0.0. (This mode - combination method is not valid for SPOPT,PSD.) + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - label - Label identifying the combined mode solution output. + ext + Filename extension (eight-character maximum). - DISP - Displacement solution (default). Displacements, stresses, forces, etc., are - available. - - VELO - Velocity solution. Velocities, "stress velocities," "force velocities," etc., - are available. - - ACEL - Acceleration solution. Accelerations, "stress accelerations," "force - accelerations," etc., are available. - - labelcsm - Label identifying the CSM (Closely Spaced Modes) method. + -- + Unused field. - CSM - Use the CSM method. + Notes + ----- + The read operation is not necessary in a standard ANSYS run but is + provided as a convenience to users wanting to read a coded node file, + such as from another mesh generator or from a CAD/CAM program. Data + should be formatted as produced with the NWRITE command. Only nodes + that are within the node range specified with the NRRANG command are + read from the file. Duplicate nodes already in the database will be + overwritten. The file is rewound before and after reading. Reading + continues until the end of the file. - Blank - Do not use the CSM method (default). + """ + command = "NREAD,%s,%s" % (str(fname), str(ext)) + self.RunCommand(command, **kwargs) - forcetype - Label identifying the forces to be combined: + def Seccontrol(self, val1="", val2="", val3="", val4="", val5="", val6="", + val7="", val8="", val9="", val10="", val11="", val12="", + val13="", **kwargs): + """ + APDL Command: SECCONTROL - STATIC - Combine the modal static forces (default). + Supplements or overrides default section properties. - TOTAL - Combine the modal static plus inertial forces. + Parameters + ---------- + val1, val2, val3, . . . , val13 + Values, such as the length of a side or the numbers of cells along + the width, that describe the geometry of a section. See the "Notes" + section of this command description for details about these values + for the various section types. Notes ----- - This command is also valid in PREP7. This mode combination method is - usually used for SPOPT,DDAM. + The SECCONTROL command is divided into these operation types: Beams, + Links, Pipes, Shells, and Reinforcings. - This CSM method is only applicable in a DDAM analysis (SPOPT,DDAM). The - CSM method combines two closely spaced modes into one mode when their - frequencies are within 10 percent of the common mean frequency and - their responses are opposite in sign. The contribution of these closely - spaced modes is then included in the NRL sum as a single effective - mode. Refer to Closely Spaced Modes (CSM) Method in the Mechanical APDL - Theory Reference for more information. + Values are associated with the most recently issued SECTYPE command. + The data required is determined by the section type and is different + for each type. - NRLSUM is not allowed in ANSYS Professional. + SECCONTROL overrides the program-calculated transverse-shear stiffness. + + The command does not apply to thermal shell elements SHELL131 and + SHELL132 or thermal solid elements SOLID278 and SOLID279. """ - command = "NRLSUM, %s, %s, %s, %s" % (str(signif), str(label), str(labelcsm), str(forcetype)) + command = "SECCONTROL,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9), str(val10), str(val11), str(val12), str(val13)) self.RunCommand(command, **kwargs) - def Rforce(self, nvar="", node="", item="", comp="", name="", **kwargs): + def Starlist(self, fname="", ext="", **kwargs): """ - APDL Command: RFORCE + APDL Command: *LIST - Specifies the total reaction force data to be stored. + Displays the contents of an external, coded file. Parameters ---------- - nvar - Arbitrary reference number assigned to this variable (2 to NV - [NUMVAR]). Overwrites any existing results for this variable. - - node - Node for which data are to be stored. If NODE = P, graphical - picking is enabled (valid only in the GUI). - - item - Label identifying the item. Valid item labels are shown in the - table below. Some items also require a component label. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - comp - Component of the item (if required). Valid component labels are - shown in the table below. + ext + Filename extension (eight-character maximum). - name - Thirty-two character name identifying the item on printouts and - displays. Defaults to an eight character label formed by - concatenating the first four characters of the Item and Comp - labels. + -- + Unused field. Notes ----- - Defines the total reaction force data (static, damping, and inertial - components) to be stored from single pass (ANTYPE,STATIC or TRANS) - solutions or from the expansion pass of mode-superposition - (ANTYPE,HARMIC or TRANS) solutions. + Displays the contents of an external, coded file. The file to be + listed cannot be in use (open) at the time (except for the error file, + File.ERR, which may be displayed with *LIST,ERR). - Table: 228:: : RFORCE - Valid Item and Component Labels + Use caution when you are listing active ANSYS files via the List> + Files> Other and File> List> Other menu paths. File I/O buffer and + system configurations can result in incomplete listings unless the + files are closed. - For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the - labels HBOT, HE2, HE3, . . ., HTOP instead of HEAT. + This command is valid in any processor. """ - command = "RFORCE, %s, %s, %s, %s, %s" % (str(nvar), str(node), str(item), str(comp), str(name)) + command = "*LIST,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Andyna(self, delay="", ncycl="", start="", end="", inc="", - autocontourkey="", **kwargs): + def Hropt(self, method="", maxmode="", minmode="", mcout="", damp="", + **kwargs): """ - APDL Command: ANDYNA + APDL Command: HROPT - Produces an animated sequence of contour values through substeps. + Specifies harmonic analysis options. Parameters ---------- - delay - Time delay during animation (defaults to 0.1 seconds). + method + Solution method for the harmonic analysis: - ncycl - Number of animation cycles (defaults to 5). Available in non-UI - mode only. + AUTO - Automatically select the most efficient method. Either the FULL method or the + Variational Technology method is selected depending on the + model. (default method). - start - Number of the starting substep (defaults to 1). + FULL - Full method. - end - Number of the ending substep (defaults to the maximum substep). + MSUP - Mode-superposition method. - inc - Increment between substeps (defaults to 1). + VT - Variational Technology method (based on FULL harmonic algorithm). - autocontourkey - Auto-scales contour values, based on the overall subset range of - values (defaults to 0, no auto-scaling). + VTPA - Variational Technology perfect absorber method (based on FULL harmonic + algorithm). - Notes - ----- - ANDYNA involves an ANSYS macro which produces an animation of contour - values through all the substeps of the last plot action command. This - command operates only on graphic display platforms supporting the /SEG - command. After executing ANDYNA, you can replay the animated sequence - by issuing the ANIM command. + VTRU - Variational Technology reuse method (based on FULL harmonic algorithm). - The command functions only in the postprocessor. + maxmode + Largest mode number to be used to calculate the response (for + Method = MSUP only). Defaults to the highest mode calculated in + the preceding modal analysis. - """ - command = "ANDYNA, %s, %s, %s, %s, %s, %s" % (str(delay), str(ncycl), str(start), str(end), str(inc), str(autocontourkey)) - self.RunCommand(command, **kwargs) + minmode + Smallest mode number to be used (for Method = MSUP only). Defaults + to 1. - def Rbe3(self, m_aster="", dof="", slaves="", wtfact="", **kwargs): - """ - APDL Command: RBE3 + mcout + Modal coordinates output key (valid only for the mode superposition + method MSUP): - Distributes the force/moment applied at the master node to a set of - slave nodes, taking into account the geometry of the slave nodes as - well as weighting factors. + NO - No output of modal coordinates (default). - Parameters - ---------- - master - Node at which the force/moment to be distributed will be applied. - This node must be associated with an element for the master node to - be included in the DOF solution. + YES - Output modal coordinates to the text file jobname.MCF. - dof - Refers to the master node degrees of freedom to be used in - constraint equations. Valid labels are: UX, UY, UZ, ROTX, ROTY, - ROTZ, UXYZ, RXYZ, ALL + damp + Damping mode for frequency-dependent material properties (valid + only for the Variational Technology Method VT). - slaves - The name of an array parameter that contains a list of slave nodes. - Must specify the starting index number. ALL can be used for - currently selected set of nodes. The slave nodes may not be - colinear, that is, not be all located on the same straight line - (see Notes below). + Hysteretic - Not proportional to the frequency. - wtfact - The name of an array parameter that contains a list of weighting - factors corresponding to each slave node above. Must have the - starting index number. If not specified, the weighting factor for - each slave node defaults to 1. + Viscous - Proportional to the frequency (default). Notes ----- - The force is distributed to the slave nodes proportional to the - weighting factors. The moment is distributed as forces to the slaves; - these forces are proportional to the distance from the center of - gravity of the slave nodes times the weighting factors. Only the - translational degrees of freedom of the slave nodes are used for - constructing the constraint equations. Constraint equations are - converted to distributed forces/moments on the slave nodes during - solution. + Specifies the method of solution for a harmonic analysis + (ANTYPE,HARMIC). If used in SOLUTION, this command is valid only + within the first load step. See the product restrictions indicated + below. - RBE3 creates constraint equations such that the motion of the master is - the average of the slaves. For the rotations, a least-squares approach - is used to define the "average rotation" at the master from the - translations of the slaves. If the slave nodes are colinear, then one - of the master rotations that is parallel to the colinear direction can - not be determined in terms of the translations of the slave nodes. - Therefore, the associated moment component on the master node in that - direction can not be transmitted. When this case occurs, a warning - message is issued and the constraint equations created by RBE3 are - ignored. + For cyclic symmetry mode-superposition harmonic solutions, MAXMODE and + MINMODE are ignored. - Applying this command to a large number of slave nodes may result in - constraint equations with a large number of coefficients. This may - significantly increase the peak memory required during the process of - element assembly. If real memory or virtual memory is not available, - consider reducing the number of slave nodes. + To include residual vectors in your mode-superposition harmonic + analysis, specify RESVEC,ON. - As an alternative to the RBE3 command, you can apply a similar type of - constraint using contact elements and the internal multipoint - constraint (MPC) algorithm. See Surface-based Constraints for more - information. + This command is also valid in PREP7. - This command is also valid in SOLUTION. + Distributed ANSYS Restriction: The VTRU method is not supported. """ - command = "RBE3, %s, %s, %s, %s" % (str(m_aster), str(dof), str(slaves), str(wtfact)) + command = "HROPT,%s,%s,%s,%s,%s" % (str(method), str(maxmode), str(minmode), str(mcout), str(damp)) self.RunCommand(command, **kwargs) - def Rsplot(self, rslab="", yname="", x1name="", x2name="", type="", - npts="", plow="", pup="", **kwargs): + def Prrsol(self, lab="", **kwargs): """ - APDL Command: RSPLOT + APDL Command: PRRSOL - Plot a response surface. + Prints the constrained node reaction solution. Parameters ---------- - rslab - Response Surface set label. Identifies the response surfaces - generated by the RSFIT command. - - yname - Parameter name. The parameter must have been previously defined as - a random output parameter with the PDVAR command. - - x1name - Parameter name. The parameter must have been previously defined as - a random input variable with the PDVAR command. - - x2name - Parameter name. The parameter must have been previously defined as - a random input variable with the PDVAR command. X2Name must be - different than X1Name. - - type - Type of the response surface visualization. - - 2D - 2-D contour plot. + lab + Nodal reaction load type. If blank, use the first ten of all + available labels. Valid labels are: - 3D - 3-D surface plot. + Notes + ----- + Prints the constrained node reaction solution for the selected nodes in + the sorted sequence. For coupled nodes and nodes in constraint + equations, the sum of all reactions in the coupled or constraint + equation set appears at the primary node of the set. Results are in + the global Cartesian coordinate directions unless transformed (RSYS). - npts - Number of grid points for both the X1-axis and the X2-axis. The - grid points are used for the evaluation of the response surface. - The number must be between 1 and 500. Defaults to 20. If NPTS = 0 - or greater than 500, then a value of 20 is used. + PRRSOL is not valid if any load is applied to a constrained node in the + direction of the constraint and any of the following is true: - plow - Lower probability level used to determine the lower boundary - (plotting range) of the curve in case the random input variable - does not have a minimum value (such as Gauss). This probability - must be between 0.0 and 1.0. Defaults to 0.0025. + LCOPER has been used. - pup - Upper probability level used to determine the upper boundary of the - curve. This probability must be between 0.0 and 1.0. Defaults to - 0.9975. + LCASE has been used to read from a load case file. - Notes - ----- - Plots the response surface of an output parameter YName as a function - of two input parameters X1Name and X2Name. + The applied loads and constraints in the database are not the ones used + to create the results data being processed. - If PLOW is left blank, then a minimum value of the distribution is used - for plotting, provided it exists (for example, uniform distribution). - If the distribution type has no minimum value (for example, Gaussian - distribution), then the default value is used to determine the lower - plotting range value. The same is true for the maximum value if PUP is - left blank. + PRRSOL provides the total reaction solution (static, plus damping, plus + inertial, as appropriate based on the analysis type); however, modal + reactions include only the static contribution. - In addition to the response surface, the sampling points that are - fitted by the response surface are also plotted by this command. - However, sampling points falling outside of the plotting range defined - by the PLOW and PUP fields will not be shown in the plot. + Use PRRFOR instead of PRRSOL with the FORCE command to obtain only the + static, damping, or inertial components. """ - command = "RSPLOT, %s, %s, %s, %s, %s, %s, %s, %s" % (str(rslab), str(yname), str(x1name), str(x2name), str(type), str(npts), str(plow), str(pup)) + command = "PRRSOL,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Sfl(self, line="", lab="", vali="", valj="", val2i="", val2j="", - **kwargs): + def Force(self, lab="", **kwargs): """ - APDL Command: SFL + APDL Command: FORCE - Specifies surface loads on lines of an area. + Selects the element nodal force type for output. Parameters ---------- - line - Line to which surface load applies. If ALL, apply load to all - selected lines [LSEL]. If Line = P, graphical picking is enabled - and all remaining command fields are ignored (valid only in the - GUI). A component name may be substituted for Line. - lab - Valid surface load label. Load labels are listed under "Surface - Loads" in the input table for each element type in the Element - Reference. + Type of force to be associated with the force items: - vali, valj - Surface load values at the first keypoint (VALI) and at the second - keypoint (VALJ) of the line, or table name for specifying tabular - boundary conditions. If VALJ is blank, it defaults to VALI. If - VALJ is zero, a zero is used. If Lab = CONV, VALI and VALJ are the - film coefficients and VAL2I and VAL2J are the bulk temperatures. - To specify a table, enclose the table name in percent signs (%), - e.g., %tabname%. Use the *DIM command to define a table. If Lab = - CONV and VALI = -N, the film coefficient may be a function of - temperature and is determined from the HF property table for - material N [MP]. If Lab = RAD, VALI and VALJ values are surface - emissivities and VAL2I and VAL2J are ambient temperatures. The - temperature used to evaluate the film coefficient is usually the - average between the bulk and wall temperatures, but may be user - defined for some elements. If Lab = RDSF, VALI is the emissivity - value; the following condition apply: If VALI = -N, the emissivity - may be a function of the temperature and is determined from the - EMISS property table for material N [MP]. If Lab = FSIN in a Multi- - field solver (single or multiple code coupling) analysis, VALI is - the surface interface number. If Lab = FSIN in a unidirectional - ANSYS to CFX analysis, VALJ is the surface interface number (not - available from within the GUI) and VALI is not used unless the - ANSYS analysis is performed using the Multi-field solver. + TOTAL - Total forces (static, damping, and inertia). - val2i, val2j - Second surface load values (if any). If Lab = CONV, VAL2I and - VAL2J are the bulk temperatures. If Lab = RAD, VAL2I and VAL2J are - the ambient temperatures. If Lab = RDSF, VAL2I is the enclosure - number. Radiation will occur between surfaces flagged with the same - enclosure numbers. If the enclosure is open, radiation will occur - to the ambient. VAL2I and VAL2J are not used for other surface load - labels. If VAL2J is blank, it defaults to VAL2I. If VAL2J is - zero, a zero is used. To specify a table (Lab = CONV), enclose the - table name in percent signs (%), e.g., %tabname%. Use the *DIM - command to define a table. + STATIC - Static forces. + + DAMP - Damping forces. + + INERT - Inertia forces. Notes ----- - Specifies surface loads on the selected lines of area regions. The - lines represent either the edges of area elements or axisymmetric shell - elements themselves. Surface loads may be transferred from lines to - elements with the SFTRAN or SBCTRAN commands. See the SFE command for - a description of surface loads. Loads input on this command may be - tapered. See the SFGRAD command for an alternate tapered load - capability. + FORCE selects the element nodal force type for output with the POST1 + PRESOL, PLESOL, PRRFOR, NFORCE, FSUM, etc. commands, the POST26 ESOL + command, and reaction force plotting [/PBC]. For example, FORCE,STATIC + causes item F of the PRESOL command to be the static forces for the + elements processed. Element member forces (such as those available for + beams and shells and processed by Item and Sequence number) are not + affected by this command. The SMISC records extract the static force. - You can specify a table name only when using structural (PRES) and - thermal (CONV [film coefficient and/or bulk temperature], HFLUX), and - surface emissivity and ambient temperature (RAD) surface load labels. - VALJ and VAL2J are ignored for tabular boundary conditions. + The PRRSOL command is not valid with FORCE. Use the PRRFOR command, + which provides the same functionality as PRRSOL, instead. - This command is also valid in PREP7. + Use the FORCE command prior to any load case operations (LCOPER) to + insure the correct element nodal force combinations. + + In POST26, the ESOL data stored is based on the active FORCE + specification at the time the data is stored. To store data at various + specifications (for example, static and inertia forces), issue a STORE + command before each new specification. + + The FORCE command cannot be used to extract static, damping, and + inertial forces for MPC184 joint elements. + + To retrieve the different force types, use the *GET command with + Entity=ELEM and Item1=EFOR. + + The FORCE command is not supported in a spectrum analysis. You can + specify the force type directly on the combination method commands + (ForceType on the PSDCOM, SRSS, CQC, etc. commands). + + The FORCE command is not supported in a modal analysis. """ - command = "SFL, %s, %s, %s, %s, %s, %s" % (str(line), str(lab), str(vali), str(valj), str(val2i), str(val2j)) + command = "FORCE,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Sed(self, sedx="", sedy="", sedz="", cname="", **kwargs): + def Neqit(self, neqit="", forcekey="", **kwargs): """ - APDL Command: SED + APDL Command: NEQIT - Defines the excitation direction for response spectrum and PSD + Specifies the maximum number of equilibrium iterations for nonlinear analyses. Parameters ---------- - sedx, sedy, sedz - Global Cartesian coordinates of a point that defines a line - (through the origin) corresponding to the excitation direction. - For example: 0.0, 1.0, 0.0 defines global Y as the spectrum - direction. + neqit + Maximum number of equilibrium iterations allowed each substep. - cname - The component name corresponding to the group of excited nodes. - Only applies to base excitation multi-point response spectrum - analysis (SPOPT, MPRS) and power spectral density analysis (SPOPT, - PSD). Defaults to no component. + forcekey + One iteration forcing key: + + FORCE - Forces one iteration per substep. Leave this field blank otherwise. Notes ----- - In single-point response spectrum analysis (SPOPT,SPRS), the excitation - direction without rocking (ROCK) is normalized to one so that the SEDX, - SEDY, and SEDZ values do not scale the spectrum. The excitation - direction with rocking is not normalized. The SEDX, SEDY, and SEDZ - values must be consistent with the OMX, OMY, and OMZ values on the ROCK - command. The calculated direction then scales the spectrum. For more - information, see Participation Factors and Mode Coefficients. - - In multi-point response spectrum analysis (SPOPT,MPRS) and power - spectral density analysis (SPOPT,PSD), the excitation direction is - normalized to one so that the SEDX, SEDY, and SEDZ values do not scale - the spectrum. The component name (Cname) is required. The constraints - corresponding to the excitation direction are applied to the component - nodes. - This command is also valid in PREP7. """ - command = "SED, %s, %s, %s, %s" % (str(sedx), str(sedy), str(sedz), str(cname)) + command = "NEQIT,%s,%s" % (str(neqit), str(forcekey)) self.RunCommand(command, **kwargs) - def Modseloption(self, dir1="", dir2="", dir3="", dir4="", dir5="", dir6 - ="", **kwargs): + def Pcalc(self, oper="", labr="", lab1="", lab2="", fact1="", fact2="", + const="", **kwargs): """ - APDL Command: MODSELOPTION + APDL Command: PCALC - Specifies the criteria for selecting the modes to be expanded. + Forms additional labeled path items by operating on existing path + items. Parameters ---------- - dir1, dir2, …, dir6 - Selection of the direction to be expanded. + oper + Type of operation to be performed. See "Notes" below for specific + descriptions of each operation: - Notes - ----- - This command is only applicable when a mode selection method is defined - (ModeSelMethod on the MXPAND command). See Using Mode Selection in the - Mechanical APDL Structural Analysis Guide for more details. + ADD - Adds two existing path items. - If a numerical value is specified for a direction, the significance - threshold (SIGNIF on the MXPAND command) is ignored for the selection - of the modes in this direction. + MULT - Multiplies two existing path items. - If a mode is determined to be expanded in any of the 6 directions, it - will be expanded in the .MODE file. : Otherwise, the mode will not be - expanded. + DIV - Divides two existing path items (a divide by zero results in a value of zero). - The default behavior is to consider all directions for expansion. + EXP - Exponentiates and adds existing path items. - """ - command = "MODSELOPTION, %s, %s, %s, %s, %s, %s" % (str(dir1), str(dir2), str(dir3), str(dir4), str(dir5), str(dir6 )) - self.RunCommand(command, **kwargs) + DERI - Finds a derivative. - def Kscon(self, npt="", delr="", kctip="", nthet="", rrat="", **kwargs): - """ - APDL Command: KSCON + INTG - Finds an integral. - Specifies a keypoint about which an area mesh will be skewed. + SIN - Sine. - Parameters - ---------- - npt - Keypoint number at concentration. If NPT = ALL, use all selected - keypoints. If remaining fields are blank, remove concentration - from this keypoint (if unmeshed). If NPT = 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 NPT. + COS - Cosine. - delr - Radius of first row of elements about keypoint. + ASIN - Arcsine. - kctip - Crack tip singularity key: + ACOS - Arccosine. - 0 - Do not skew midside nodes, if any, within the element. + LOG - Natural log. - 1 - Skew midside nodes of the first row of elements to the 1/4 point for crack tip - singularity. + labr + Label assigned to the resulting path item. - nthet - Number of elements in circumferential direction (defaults to - approximately one per 45° (or one per 30°, if KCTIP = 1)). + lab1 + First labeled path item in operation. - rrat - Ratio of 2nd row element size to DELR (defaults to 0.75, or 0.5 if - KCTIP = 1). + lab2 + Second labeled path item in operation. Lab2 must not be blank for + the MULT, DIV, DERI, and INTG operations. + + fact1 + Factor applied to Lab1. A (blank) or '0' entry defaults to 1.0. + + fact2 + Factor applied to Lab2. A (blank) or '0' entry defaults to 1.0. + + const + Constant value (defaults to 0.0). Notes ----- - Defines a concentration keypoint about which an area mesh will be - skewed. Useful for modeling stress concentrations and crack tips. - During meshing, elements are initially generated circumferentially - about, and radially away, from the keypoint. Lines attached to the - keypoint are given appropriate divisions and spacing ratios. Only one - concentration keypoint per unmeshed area is allowed. Use KSCON,STAT to - list current status of concentration keypoints. The KSCON command does - not support 3-D modeling. + If Oper = ADD, the command format is: - This command is also valid for rezoning. + PCALC,ADD,LabR,Lab1,Lab2,FACT1,FACT2,CONST - """ - command = "KSCON, %s, %s, %s, %s, %s" % (str(npt), str(delr), str(kctip), str(nthet), str(rrat)) - self.RunCommand(command, **kwargs) + This operation adds two existing path items according to the operation: - def Plvect(self, item="", lab2="", lab3="", labp="", mode="", loc="", - edge="", kund="", **kwargs): - """ - APDL Command: PLVECT + LabR = (FACT1 x Lab1) + (FACT2 x Lab2) + CONST - Displays results as vectors. + It may be used to scale the results for a single path item. - Parameters - ---------- - item - Predefined vector item (from Table 223: PLVECT - Valid Item Labels - below) or a label identifying the i-component of a user-defined - vector. + If Oper = MULT, the command format is: - lab2 - Label identifying the j-component of a user-defined vector. In most - cases, this value must be blank if Item is selected from Table 223: - PLVECT - Valid Item Labels. Individual principal stresses (Item = - S) or principal strains (Item = EPxx) may be plotted by specifying - the value as 1, 2, or 3. + PCALC,MULT,LabR,Lab1,Lab2,FACT1 - lab3 - Label identifying the k-component of a user-defined vector. Must - be blank if Item is selected from list below or for 2-D user - defined vector. + Lab2 must not be blank. This operation multiplies two existing path + items according to the operation: - labp - Label assigned to resultant vector for display labeling (defaults - to Item). + LabR = Lab1 x Lab2 x FACT1 - mode - Vector or raster mode override key: + If Oper = DIV, the command format is: - (blank) - Use the setting of KEY on the /DEVICE command. + PCALC,DIV,LabR,Lab1,Lab2,FACT1 - RAST - Use raster mode for PLVECT displays. + Lab2 must not be blank. This operation divides two existing path items + according to the operation: - VECT - Use vector mode for PLVECT displays. + LabR = (Lab1/Lab2) x FACT1 - loc - Vector location for display of field element results: + If Oper = EXP, the command format is: - ELEM - Display at element centroid (default). + PCALC,EXP,LabR,Lab1,Lab2,FACT1,FACT2 - NODE - Display at element nodes. + This operation exponentiates and adds existing path items according to + the operation: - edge - Edge display override key: + LabR = (|Lab1|FACT1) + (|Lab2|FACT2|) - (blank) - Use the setting of Key on the /EDGE command. + If Oper = DERI, the command format is: - OFF - Deactivate the edge display. + PCALC,DERI,LabR,Lab1,Lab2,FACT1 - ON - Activate the edge display. + Lab2 must not be blank. This operation finds a derivative according to + the operation: - kund - Undisplaced shape key: + LabR = FACT1 x d(Lab1)/d(Lab2) - 0 - Display vectors on undeformed mesh or geometry. + If Oper = INTG, the command format is: - 1 - Display vectors on deformed mesh or geometry. + PCALC,INTG,LabR,Lab1,Lab2,FACT1 - Notes - ----- - Displays various solution results as vectors (arrows) for the selected - nodes and/or elements (elements must contain at least three nodes that - are not colinear). For example, PLVECT,U displays the displacement - vector for all selected nodes. For section displays [/TYPE], the - vectors are shown only on the section face (i.e., cutting plane). The - PLVECT display of principal strains and stresses (Item = S, EPTO, - EPEL, EPPL, EPCR, or EPTH) on a "cut" of the model (/TYPE,,1 ,5,7,8, or - 9) is not supported. The resulting plot displays the vectors on all - selected elements, not on just the sliced surface. See the /VSCALE - command to scale vector lengths. Vector magnitudes may be shown as a - contour display with the PLNSOL command. Various results also depend - upon the recalculation method and the selected results location [LAYER, - SHELL, and NSEL]. + Lab2 must not be blank. This operation finds an integral according to + the operation: - Items may be selected from a set of recognized vector labels (Item) or - a vector may be defined from up to three scalar labels - (Item,Lab2,Lab3). Scalar labels may be user-defined with the ETABLE - command. The vectors appear on an element display as arrows showing - the relative magnitude of the vector and its direction. The predefined - items will be shown either at the node or at the element centroid, - depending on what item is being displayed and depending on the Loc - setting. User defined ETABLE items will be shown at the element - centroid, regardless of the Loc setting. Stress vectors appear as - arrows at the element centroid, with the arrowheads pointing away from - each other for tension and toward each other for compression. + Use S for Lab2 to integrate Lab1 with respect to the path length. S, + the distance along the path, is automatically calculated by the program + when a path item is created with the PDEF command. - For PowerGraphics, vector arrow displays are generated in Global - Cartesian (RSYS = 0). All subsequent displays will revert to your - original coordinate system. + If Oper = SIN, COS, ASIN, ACOS, or LOG, the command format is: - When vector mode is active (Mode = VECT), use the Z-buffered display - type [/TYPE,,6] to maximize speed of PLVECT plots (other hidden - display types may make plotting slow). For PowerGraphics - [/GRAPHICS,POWER], the items marked with [1] are not supported by - PowerGraphics. + PCALC,Oper,LabR,Lab1,,FACT1,CONST - It is possible to plot principal stresses (Item = S) or principal - strains (Item = EPxx) individually. To do so, specify a Lab2 value of - 1, 2, or 3. For example, the following are valid commands: + where the function (SIN, COS, ASIN, ACOS or LOG) is substituted for + Oper and Lab2 is blank. - Table: 223:: : PLVECT - Valid Item Labels + The operation finds the resulting path item according to one of the + following formulas: - Not supported by PowerGraphics + LabR = FACT2 x sin(FACT1 x Lab1) + CONST + + LabR = FACT2 x cos(FACT1 x Lab1) + CONST + + LabR = FACT2 x sin-1(FACT1 x Lab1) + CONST + + LabR = FACT2 x cos-1(FACT1 x Lab1) + CONST + + LabR = FACT2 x log(FACT1 x Lab1) + CONST """ - command = "PLVECT, %s, %s, %s, %s, %s, %s, %s, %s" % (str(item), str(lab2), str(lab3), str(labp), str(mode), str(loc), str(edge), str(kund)) + command = "PCALC,%s,%s,%s,%s,%s,%s,%s" % (str(oper), str(labr), str(lab1), str(lab2), str(fact1), str(fact2), str(const)) self.RunCommand(command, **kwargs) - def Ldiv(self, nl1="", ratio="", pdiv="", ndiv="", keep="", **kwargs): + def Flist(self, node1="", node2="", ninc="", **kwargs): """ - APDL Command: LDIV + APDL Command: FLIST - Divides a single line into two or more lines. + Lists force loads on the nodes. Parameters ---------- - nl1 - Number of the line to be divided. If negative, assume P1 (see - below) is the second keypoint of the line instead of the first for - RATIO. If ALL, divide all selected lines [LSEL]. If NL1 = P, + node1, node2, ninc + List forces for nodes NODE1 to NODE2 (defaults to NODE1) in steps + of NINC (defaults to 1). If ALL, list for all selected nodes + [NSEL] and NODE2 and NINC are ignored (default). 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 NL1. + substituted for NODE1. - ratio - Ratio of line length P1-PDIV to line length P1-P2. Must be between - 0.0 and 1.0. Input ignored if NDIV > 2. + Notes + ----- + Listing applies to the selected nodes [NSEL] and the selected force + labels [DOFSEL]. - pdiv - Number to be assigned to keypoint generated at division location - (defaults to lowest available keypoint number [NUMSTR]). Input - ignored if NL1 = ALL or NDIV > 2. If PDIV already exists and lies - on line NL1, divide line at PDIV (RATIO must also be 0.0). If PDIV - already exists and does not lie on line NL1, PDIV is projected and - moved to the nearest point on line NL1 (if possible). PDIV cannot - be attached to another line, area, or volume. + Caution:: : A list containing a node number that is larger than the + maximum defined node (NODE2), could deplete the system memory and + produce unpredictable results. - ndiv - The number of new lines to be generated from old line (defaults to - 2). + This command is valid in any processor. - keep - Specifies whether to keep the input entities: + """ + command = "FLIST,%s,%s,%s" % (str(node1), str(node2), str(ninc)) + self.RunCommand(command, **kwargs) - 0 - Modify old line to use new keypoints and slopes. + def Slasherase(self, **kwargs): + """ + APDL Command: /ERASE - 1 - Do not modify old line. New lines will overlay old line and have unique - keypoints. + Specifies that the screen is to be erased before each display. Notes ----- - Divides a single line NL1 (defined from keypoint P1 to keypoint P2) - into two or more lines. Line NL1 becomes the new line beginning with - keypoint P1 and new lines are generated ending at keypoint P2. If the - line is attached to an area, the area will also be updated. Line - divisions are set to zero (use LESIZE, etc. to modify). + Erase occurs with the next display request, but before the display is + actually started. /NOERASE can be used to suppress the automatic screen + erase. + + This command is valid in any processor. """ - command = "LDIV, %s, %s, %s, %s, %s" % (str(nl1), str(ratio), str(pdiv), str(ndiv), str(keep)) + command = "/ERASE," % () self.RunCommand(command, **kwargs) - def Edwrite(self, option="", fname="", ext="", **kwargs): + def Local(self, kcn="", kcs="", xc="", yc="", zc="", thxy="", thyz="", + thzx="", par1="", par2="", **kwargs): """ - APDL Command: EDWRITE + APDL Command: LOCAL - Writes explicit dynamics input to an LS-DYNA input file. + Defines a local coordinate system by a location and orientation. Parameters ---------- - option - Sets a flag in the LS-DYNA input file (Fname.Ext) to produce - desired output. + kcn + Arbitrary reference number assigned to this coordinate system. + Must be greater than 10. A coordinate system previously defined + with this number will be redefined. - ANSYS - Set a flag to write results files for the ANSYS postprocessors (default). The - files that will be written are Jobname.RST and Jobname.HIS - (see Notes below). + kcs + Coordinate system type: - LSDYNA - Set a flag to write results files for the LS-DYNA postprocessor (LS-POST). The - files that will be written are D3PLOT, and files specified - by EDOUT and EDHIST (see Notes below). + 0 or CART - Cartesian - BOTH - Set a flag to write results files for both ANSYS and LS-DYNA postprocessors. + 1 or CYLIN - Cylindrical (circular or elliptical) - fname - File name and directory path (80 characters maximum, including - directory; this limit is due to an LS-DYNA program limitation). If - you do not specify a directory path, it will default to your - working directory. The file name defaults to Jobname. Previous data - on this file, if any, are overwritten. + 2 or SPHE - Spherical (or spheroidal) - ext - Filename extension (eight-character maximum). + 3 or TORO - Toroidal - -- - Unused field. + xc, yc, zc + Location (in the global Cartesian coordinate system) of the origin + of the new coordinate system. - Notes - ----- - This command writes an LS-DYNA input file for the LS-DYNA solver. - EDWRITE is only valid if explicit dynamic elements have been specified. - This command is not necessary if the LS-DYNA solver is invoked from - within ANSYS, in which case Jobname.K (or Jobname.R) is written - automatically when the solution is initiated. (If LS-DYNA is invoked - from within ANSYS, use EDOPT to specify desired output.) + thxy + First rotation about local Z (positive X toward Y). - If the analysis is a small restart (EDSTART,2), the file that is - written will have the name Jobname.R (by default) and will only contain - changes from the original analysis. + thyz + Second rotation about local X (positive Y toward Z). - If the analysis is a full restart (EDSTART,3), the file that is written - will have the name Jobname_nn.K (by default) and will contain all the - information from the database. In a full restart, the jobname is - changed to Jobname_nn (nn = 01 initially, and is incremented for each - subsequent full restart.) + thzx + Third rotation about local Y (positive Z toward X). - A command is included in the LS-DYNA input file to instruct the LS-DYNA - solver to write the results files indicated by Option. By default, LS- - DYNA will write the ANSYS results file Jobname.RST (see the EDRST - command). If Jobname.HIS is desired, you must also issue EDHIST. + par1 + Used for elliptical, spheroidal, or toroidal systems. If KCS = 1 + or 2, PAR1 is the ratio of the ellipse Y-axis radius to X-axis + radius (defaults to 1.0 (circle)). If KCS = 3, PAR1 is the major + radius of the torus. - Option = LSDYNA or BOTH will cause LS-DYNA to write results files for - the LS-POST postprocessor. The D3PLOT file is always written for these - two options. If other LS-POST files are desired, you must issue the - appropriate EDHIST and EDOUT commands. + par2 + Used for spheroidal systems. If KCS = 2, PAR2 = ratio of ellipse + Z-axis radius to X-axis radius (defaults to 1.0 (circle)). - This command is also valid in PREP7. + Notes + ----- + Defines a local coordinate system by origin location and orientation + angles. The local coordinate system is parallel to the global + Cartesian system unless rotated. Rotation angles are in degrees and + redefine any previous rotation angles. See the CLOCAL, CS, CSWPLA, and + CSKP commands for alternate definitions. This local system becomes the + active coordinate system [CSYS]. Local coordinate systems may be + displayed with the /PSYMB command. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "EDWRITE, %s, %s, %s" % (str(option), str(fname), str(ext)) + command = "LOCAL,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(kcn), str(kcs), str(xc), str(yc), str(zc), str(thxy), str(thyz), str(thzx), str(par1), str(par2)) self.RunCommand(command, **kwargs) - def Ssbt(self, bt11="", bt22="", bt12="", t="", **kwargs): + def Rsurf(self, options="", delopts="", etnum="", **kwargs): """ - APDL Command: SSBT + APDL Command: RSURF - Specifies preintegrated bending thermal effects for shell sections. + Generates the radiosity surface elements (SURF251/SURF252) and stores + them in the database. Parameters ---------- - bt11, bt22, bt12 - Bending thermal effects component [BT]. + options + Command options: - t - Temperature. + CLEAR - Deletes radiosity surface elements and nodes. The set of elements and nodes to + be deleted is defined by Delopts. ETNUM is ignored. + + DEFINE - Creates the radiosity surface elements and nodes (default). + + STAT - Shows the status/listing. Other command options are ignored. + + delopts + Deletion options + + ALL - Deletes all radiosity surface elements and nodes. + + LAST - Deletes radiosity surface elements and nodes created by the last RSURF command. + + etnum + Element type number. Leave blank to indicate the next available + number. Notes ----- - The behavior of shell elements is governed by the generalized- - stress/generalized-strain relationship of the form: + This command generates the radiosity surface elements based on the + RSYMM and RDEC parameters and stores them in the database. It works + only on the faces of selected underlying elements that have RDSF flags + on them and all corner nodes selected. You can issue multiple RSURF + commands to build the radiosity model. However, all RSURF commands must + be issued after issuing the RSYMM, and after the model is complete + (i.e., after all meshing operations are complete). - The SSBT command, one of several preintegrated shell section commands, - specifies the bending thermal effects quantity (submatrix [BT] data) - for a preintegrated shell section. The section data defined is - associated with the section most recently defined (via the SECTYPE - command). + If you do issue multiple RSURF commands for different regions, you must + first mesh the different regions, and then generate the radiosity + surface elements on each meshed region individually. Use RSURF,,,ETNUM + to assign a separate element type number to each region. This procedure + allow you to identify the individual regions later in the multi-field + analysis. - The [BT] quantity represents bending stress resultants caused by a unit - raise in temperature on a fully constrained model. For a layered - composite shell, it is usually necessary to specify both the [BT] and - [MT] quantities (by issuing the SSBT and SSMT commands, respectively). + If the underlying solid elements are higher order, the radiosity + surface elements are always lower order (4- or 3-node in 3-D or 2-node + in 2-D). Decimation will always occur before any symmetry operations. - Unspecified values default to zero. + For 2-D axisymmetric YR models, the newly-generated nodes can have only + positive Y coordinates. - Related commands are SSPA, SSPB, SSPD, SSPE, SSMT, and SSPM. + If you have already issued RSURF for a surface and you issue RSURF + again, the program creates a new set of radiosity surface elements and + nodes over the existing set, resulting in an erroneous solution. - If you are using the SHELL181 or SHELL281 element's Membrane option - (KEYOPT(1) = 1), it is not necessary to issue this command. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - For complete information, see Using Preintegrated General Shell - Sections. + This is an action command (that creates or deletes surface meshes) and + is serial in nature. Even if Distributed ANSYS is running, the RSURF + command runs serially """ - command = "SSBT, %s, %s, %s, %s" % (str(bt11), str(bt22), str(bt12), str(t)) + command = "RSURF,%s,%s,%s" % (str(options), str(delopts), str(etnum)) self.RunCommand(command, **kwargs) - def Starstatus(self, par="", imin="", imax="", jmin="", jmax="", kmin="", - kmax="", lmin="", lmax="", mmin="", mmax="", kpri="", - **kwargs): + def Dk(self, kpoi="", lab="", value="", value2="", kexpnd="", lab2="", + lab3="", lab4="", lab5="", lab6="", **kwargs): """ - APDL Command: *STATUS + APDL Command: DK - Lists the current parameters and abbreviations. + Defines DOF constraints at keypoints. Parameters ---------- - par - Specifies the parameter or sets of parameters listed. For array - parameters, use IMIN, IMAX, etc. to specify ranges. Use *DIM to - define array parameters. Use *VEDIT to review array parameters - interactively. Use *VWRITE to print array values in a formatted - output. If Par is blank, list all scalar parameter values, array - parameter dimensions, and abbreviations. If ARGX, list the active - set of local macro parameters (ARG1 to ARG9 and AR10 to AR99) - [*USE]. + kpoi + Keypoint at which constraint is to be specified. If ALL, apply to + all selected keypoints [KSEL]. If KPOI = 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 KPOI. - Lists all parameters (except local macro parameters and those with names beginning or ending with an underbar) and toolbar abbreviations. - Lists only parameters with names beginning with an underbar (_). These are - ANSYS internal parameters. + lab + Valid degree of freedom label. If ALL, use all appropriate labels + except HDSP. Structural labels: UX, UY, or UZ (displacements); + ROTX, ROTY, or ROTZ (rotations); WARP (warping); HDSP (hydrostatic + pressure). Thermal labels: TEMP, TBOT, TE2, TE3, . . ., TTOP + (temperature). Acoustic labels: PRES (pressure); UX, UY, or UZ + (displacements for FSI coupled elements). Electric labels: VOLT + (voltage). Magnetic labels: MAG (scalar magnetic potential); AX, + AY, or AZ (vector magnetic potentials). Diffusion labels: CONC + (concentration). - Lists only parameters with names ending with an underbar (_). A good APDL programming convention is to ensure that all parameters created by your system programmer are named with a trailing underbar. - Lists all toolbar abbreviations. + value + Degree of freedom value or table name reference for tabular + boundary conditions. To specify a table, enclose the table name in + percent signs (%) (e.g., DK,NODE,TEMP,%tabname%). Use the *DIM + command to define a table. - Lists all parameters (except local macro parameters and those with names beginning or ending with an underbar). - Lists all APDL Math parameters, including vectors, matrices, and linear - solvers. + 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. - Lists only the parameter specified. PARNAME cannot be a local macro parameter name. - Lists all local macro parameter values (ARG1- AR99) that are non-zero or non- - blank. + kexpnd + Expansion key: - imin, imax, jmin, jmax, kmin, kmax, lmin, lmax, mmin, mmax - Range of array elements to display (in terms of the dimensions - (row, column, plane, book, and shelf). Minimum values default to - 1. Maximum values default to the maximum dimension values. Zero - may be input for IMIN, JMIN, and KMIN to display the index numbers. - See *TAXIS command to list index numbers of 4- and 5-D tables. + 0 - Constraint applies only to the node at this keypoint. - kpri - Use this field to list your primary variable labels (X, Y, Z, TIME, - etc.). + 1 - Flags this keypoint for constraint expansion. - List the labels (default). YES, Y, or ON are also valid entries. - Do not list the labels. NO, N, or OFF are also valid entries. + lab2, lab3, lab4, . . . , lab6 + Additional degree of freedom labels. The same values are applied + to the keypoints for these labels. Notes ----- - You cannot obtain the value for a single local parameter (e.g., - *STATUS,ARG2). You can only request all local parameters simultaneously - using *STATUS,ARGX. + A keypoint may be flagged using KEXPND to allow its constraints to be + expanded to nodes on the attached solid model entities having similarly + flagged keypoint constraints. Constraints are transferred from + keypoints to nodes with the DTRAN or SBCTRAN commands. The expansion + uses interpolation to apply constraints to the nodes on the lines + between flagged keypoints. If all keypoints of an area or volume + region are flagged and the constraints (label and values) are equal, + the constraints are applied to the interior nodes of the region. See + the D command for a description of nodal constraints. - This command is valid in any processor. + Tabular boundary conditions (VALUE = %tabname%) are available only for + the following degree of freedom labels: Electric (VOLT), structural + (UX, UY, UZ, ROTX, ROTY, ROTZ), Acoustic (PRES, UX, UY, UZ), and + temperature (TEMP, TBOT, TE2, TE3, . . ., TTOP). + + Constraints specified by the DK command can conflict with other + specified constraints. See Resolution of Conflicting Constraint + Specifications in the Basic Analysis Guide for details. + + This command is also valid in PREP7. """ - command = "*STATUS, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(par), str(imin), str(imax), str(jmin), str(jmax), str(kmin), str(kmax), str(lmin), str(lmax), str(mmin), str(mmax), str(kpri)) + command = "DK,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(kpoi), str(lab), str(value), str(value2), str(kexpnd), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6)) self.RunCommand(command, **kwargs) - def Angle(self, wn="", theta="", axis="", kincr="", **kwargs): + def Dsym(self, lab="", normal="", kcn="", **kwargs): """ - APDL Command: /ANGLE + APDL Command: DSYM - Rotates the display about an axis. + Specifies symmetry or antisymmetry degree-of-freedom constraints on + nodes. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). + lab + Symmetry label: - theta - Angle (degrees) for changing display orientation (positive, - counterclockwise about specified axis). + SYMM - Generate symmetry constraints as described below (default). - axis - Rotation axis: XS, YS, or ZS (default) for the screen axes; XM, - YM, or ZM for the global Cartesian model axes. ZS is normal to the - screen; all axes pass through the focus point. + ASYM - Generate antisymmetry constraints as described below. - kincr - Cumulative rotation key: + normal + Surface orientation label to determine the constraint set (surface + is assumed to be perpendicular to this coordinate direction in + coordinate system KCN): - 0 - Do not use cumulative successive rotations. + X - Surface is normal to coordinate X direction (default). Interpreted as R + direction for non-Cartesian coordinate systems. - 1 - Use cumulative rotations. Rotations are relative to the previous rotation. - View settings (/VIEW) are recalculated. + Y - Surface is normal to coordinate Y direction.  θ direction for non-Cartesian + coordinate systems. - Notes - ----- - Default orientation is YS vertical. When the /XFRM command is set for - rotation about two points, or for entities, the /ANGLE command is - functional only for Axis = ZS or ZM and KINCR = 1. + Z - Surface is normal to coordinate Z direction.  Φ direction for spherical or + toroidal coordinate systems. - This command is valid in any processor. - - """ - command = "/ANGLE, %s, %s, %s, %s" % (str(wn), str(theta), str(axis), str(kincr)) - self.RunCommand(command, **kwargs) - - def Edsp(self, option="", min="", max="", inc="", **kwargs): - """ - APDL Command: EDSP - - Specifies small penetration checking for contact entities in an - explicit dynamic analysis. - - Parameters - ---------- - option - Label identifying the option to be performed (no default). - - ON   - Turn small penetration checking on for specified contact entities. - - OFF - Turn small penetration checking off for specified contact entities. - - LIST   - List current setting for penetration checking. - - min - Minimum contact entity number for which to turn on/off small - penetration check (default = 1). - - max - Maximum contact entity number for which to turn on/off small - penetration check (defaults to MIN). - - inc - Contact entity number increment (default = 1). + kcn + Reference number of global or local coordinate system used to + define surface orientation. Notes ----- - This command controls small penetration checking in an explicit dynamic - analysis. EDSP is applicable only to the following contact types: STS, - NTS, OSTS, TNTS, and TSTS. The penetration checking specified by EDSP - is similar to PENCHK on the EDCONTACT command. However, EDSP controls - penetration checking for individual contact entities whereas PENCHK is - a global control that applies to all defined contact (of the types - mentioned above). EDSP can be used in a new analysis, or in a small - restart (EDSTART,2). + 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. - Use the EDCLIST command to list the contact entity numbers for all - defined contact. + This command is also valid in PREP7. - This command is also valid in SOLUTION. + 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. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + 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 = "EDSP, %s, %s, %s, %s" % (str(option), str(min), str(max), str(inc)) + command = "DSYM,%s,%s,%s" % (str(lab), str(normal), str(kcn)) self.RunCommand(command, **kwargs) - def Filldata(self, ir="", lstrt="", lstop="", linc="", value="", dval="", - **kwargs): + def Lptn(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nl7="", + nl8="", nl9="", **kwargs): """ - APDL Command: FILLDATA + APDL Command: LPTN - Fills a variable by a ramp function. + Partitions lines. Parameters ---------- - ir - Define data table as variable IR (2 to NV [NUMVAR]). - - lstrt - Start at location LSTRT (defaults to 1). - - lstop - Stop at location LSTOP (defaults to maximum location as determined - from data previously stored. - - linc - Fill every LINC location between LSTRT and LSTOP (defaults to 1). - - value - Value assigned to location LSTRT. - - dval - Increment value of previous filled location by DVAL and assign sum - to next location to be filled (may be positive or negative.) + nl1, nl2, nl3, . . . , nl9 + Numbers of lines to be operated on. If NL1 = ALL, NL2 to NL9 are + ignored all selected lines are used. If NL1 = P, graphical picking + is enabled and all remaining command fields are ignored (valid only + in the GUI). A component name may be substituted for NL1. Notes ----- - Locations may be filled continuously or at regular intervals (LINC). - Previously defined data at a location will be overwritten. + Partitions lines. Generates new lines which encompass the geometry of + all the input lines. The new lines are defined by both the regions of + intersection of the input lines and the complementary (non- + intersecting) regions. See the Modeling and Meshing Guide for an + illustration. See the BOPTN command for an explanation of the options + available to Boolean operations. Element attributes and solid model + boundary conditions assigned to the original entities will not be + transferred to the new entities generated. """ - command = "FILLDATA, %s, %s, %s, %s, %s, %s" % (str(ir), str(lstrt), str(lstop), str(linc), str(value), str(dval)) + command = "LPTN,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nl7), str(nl8), str(nl9)) self.RunCommand(command, **kwargs) - def Nsla(self, type="", nkey="", **kwargs): + def Fc(self, mat="", lab1="", lab2="", data1="", data2="", data3="", + data4="", data5="", data6="", **kwargs): """ - APDL Command: NSLA + APDL Command: FC - Selects those nodes associated with the selected areas. + Provides failure criteria information and activates a data table to + input temperature-dependent stress and strain limits. Parameters ---------- - type - Label identifying the type of node select: + mat + Material reference number. You can define failure criteria for up + to 250 different materials. - S - Select a new set (default). + lab1 + Type of data. - R - Reselect a set from the current set. + TEMP - Temperatures. Each of the materials you define can have a different set of + temperatures to define the failure criteria. - A - Additionally select a set and extend the current set. + EPEL - Strains. - U - Unselect a set from the current set. + S - Stresses. - nkey - Specifies whether only interior area nodes are to be selected: + lab2 + Specific criteria. Not used if Lab1 = TEMP. - 0 - Select only nodes interior to selected areas. + XTEN - Allowable tensile stress or strain in the x-direction. (Must be positive.) - 1 - Select all nodes (interior to area, interior to lines, and at keypoints) - associated with the selected areas. + XCMP - Allowable compressive stress or strain in the x-direction. (Defaults to + negative of XTEN.) - Notes - ----- - Valid only if the nodes were generated by an area meshing operation - [AMESH, VMESH] on a solid model that contains the selected areas. + YTEN - Allowable tensile stress or strain in the y-direction. (Must be positive.) - This command is valid in any processor. + YCMP - Allowable compressive stress or strain in the y-direction. (Defaults to + negative of YTEN.) - """ - command = "NSLA, %s, %s" % (str(type), str(nkey)) - self.RunCommand(command, **kwargs) + ZTEN - Allowable tensile stress or strain in the z-direction. (Must be positive.) - def Smfor(self, **kwargs): - """ - APDL Command: SMFOR + ZCMP - Allowable compressive stress or strain in the z-direction. (Defaults to + negative of ZTEN.) - Specifies "Forces on the solid model" as the subsequent status topic. + XY - Allowable XY stress or shear strain. (Must be positive.) - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + YZ - Allowable YZ stress or shear strain. (Must be positive.) - If entered directly into the program, the STAT command should - immediately follow this command. + XZ - Allowable XZ stress or shear strain. (Must be positive.) - """ - command = "SMFOR, " % () - self.RunCommand(command, **kwargs) + XYCP - XY coupling coefficient (Used only if Lab1 = S). Defaults to -1.0. [1] - def Torus(self, rad1="", rad2="", rad3="", theta1="", theta2="", **kwargs): - """ - APDL Command: TORUS + YZCP - YZ coupling coefficient (Used only if Lab1 = S). Defaults to -1.0. [1] - Creates a toroidal volume. + XZCP - XZ coupling coefficient (Used only if Lab1 = S). Defaults to -1.0. [1] - Parameters - ---------- - rad1, rad2, rad3 - Three values that define the radii of the torus. You can specify - the radii in any order. The smallest of the values is the inner - minor radius, the intermediate value is the outer minor radius, and - the largest value is the major radius. (There is one exception - regarding the order of the radii values--if you want to create a - solid torus, specify zero or blank for the inner minor radius, in - which case the zero or blank must occupy either the RAD1 or RAD2 - position.) At least two of the values that you specify must be - positive values; they will be used to define the outer minor radius - and the major radius. See the diagram in the Notes section for a - view of a toroidal sector showing all radii. + data1, data2, data3, . . . , data6 + Description of DATA1 through DATA6. - theta1, theta2 - Starting and ending angles (either order) of the torus. Used for - creating a toroidal sector. The sector begins at the algebraically - smaller angle, extends in a positive angular direction, and ends at - the larger angle. The starting angle defaults to 0° and the ending - angle defaults to 360°. + T1, T2, T3, T4, T5, T6 - Temperature at which limit data is input. Used only when Lab1 = TEMP. + + V1, V2, V3, V4, V5, V6 - Value of limit stress or strain at temperature T1 through T6. Used only when + Lab1 = S or EPEL. Notes ----- - Defines a toroidal volume centered about the working plane origin. A - solid torus of 360° will be defined with four areas, each area spanning - 180° around the major and minor circumference. + The data table can be input in either PREP7 or POST1. This table is + used only in POST1. When you postprocess failure criteria results + defined via the FC command (PLESOL, PRESOL, PLNSOL, PRNSOL, PRRSOL, + etc.), the active coordinate system must be the coordinate system of + the material being analyzed. You do this using RSYS, SOLU. For layered + applications, you also use the LAYER command. See the specific element + documentation in the Element Reference for information on defining your + coordinate system for layers. - To create the toroidal sector shown below, the command - TORUS,5,1,2,0,180 was issued. Since "1" was the smallest radii value - specified, it defined the inner minor radius; since "2" was the - intermediate radii value specified, it defined the outer minor radius; - and since "5" was the largest radii value specified, it defined the - major radius. The values "0" and "180" defined the starting and ending - angles of the torus. + Some plotting and printing functions will not support Failure Criteria + for your PowerGraphics displays. This could result in minor changes to + other data when Failure Criteria are applied. See the appropriate plot + or print command documentation for more information . """ - command = "TORUS, %s, %s, %s, %s, %s" % (str(rad1), str(rad2), str(rad3), str(theta1), str(theta2)) + command = "FC,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(mat), str(lab1), str(lab2), str(data1), str(data2), str(data3), str(data4), str(data5), str(data6)) self.RunCommand(command, **kwargs) - def Lmatrix(self, symfac="", coilname="", curname="", indname="", - **kwargs): + def Rmlvscale(self, nload="", fact1="", fact2="", fact3="", fact4="", + fact5="", **kwargs): """ - APDL Command: LMATRIX + APDL Command: RMLVSCALE - Calculates an inductance matrix and the total flux linkage for an - N-winding coil system. + Defines element load vector scaling for a ROM use pass. Parameters ---------- - symfac - Geometric symmetry factor. Inductance terms are scaled by this - factor which represents the fraction of the total device modeled. - Default is 1. - - coilname - Alphanumeric prefix identifier for coil label used in defining - named element coil components. Default is 'coil.' - - curname - Name of a predefined parameter array containing the nominal coil - currents of the system. The array must be defined (see *DIM - command) prior to calling the LMATRIX macro. Default is 'cur.' + nload + Total number of load cases to be considered within a ROM use pass. + If Nload = "DELETE", all defined load vectors are deleted. - indname - Name of the array parameter to be created by LMATRIX containing the - calculated inductance matrix and the flux linkage in each coil. A - text file of the same name with an extension .TXT is created - containing the matrix data. Default is 'lmatrix.' + fact1, fact2, fact3, . . . , fact5 + Scale factors applied to load vectors (maximum 5). Defaults to 0. Notes ----- - LMATRIX calculates the differential inductance matrix for an N-winding - system where N is the number of coils in the system, and calculates the - total flux linkage in each coil. LMATRIX may only be executed after the - solution of a problem with nominal currents applied to the coils at a - desired “operating point.” The array Indname has N rows and N+1 - columns. The N x N block is the differential inductance matrix; the - N+1th column contains the total flux linkage, with the ith row - corresponding to the ith coil. See the Mechanical APDL Theory Reference - for more details. - - To invoke the LMATRIX macro, for the classical formulations, the - elements for each coil must be grouped into a component using the CM - command. Each set of independent coil elements is assigned a component - name with the prefix Coilname followed by the coil number. For the - solenoidal formulations, you must make the exciting node with a F,AMPS - load a node component using the CM command. The classical and - solenoidal formulations cannot be mixed. - - To invoke the LMATRIX macro, the vector array parameter Curname with - dimension N must be defined and named using the *DIM command. You must - set each vector array entry equal to the nominal current per turn in - the corresponding coil at the operating point. Zero current values - must be approximated by a negligibly small applied current. - - Do not apply (or remove) inhomogeneous loads before using the LMATRIX - command. Inhomogeneous loads are those created by: - - Degree of freedom commands (D, DA, etc.) specifying nonzero degrees of - freedom values on nodes or solid model entities - - Any CE command with a nonzero constant term - - Do not put any loads (for example, current) on elements not contained - in the element component. - - Operating solutions must be obtained through static analysis before - calling LMATRIX. All name-strings must be enclosed in single quotes in - the LMATRIX command line. The geometric symmetry factor, Symfac, - represents the fraction of the device modeled, disregarding any current - source primitives. - - LMATRIX works only with magnetic field elements: PLANE53, SOLID96, and - SOLID97, and with SOURC36 solenoidal formulations. For electromagnetic - elements PLANE233, SOLID236 and SOLID237, static linear perturbation - analysis can be used to calculate the differential inductance using the - element incremental energy record (IENE). - - For more information, see LMATRIX in the Low-Frequency Electromagnetic - Analysis Guide. - - See the Mechanical APDL Theory Reference and Electric and Magnetic - Macros in the Low-Frequency Electromagnetic Analysis Guide for details. - - This command does not support multiframe restarts. + Specifies the element load scale factor applied to a ROM analysis use + pass. Element load vectors are extracted from a Static Analysis using + the RMNDISP command. Up to 5 element load vectors may be scaled and + applied to a ROM use pass. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "LMATRIX, %s, %s, %s, %s" % (str(symfac), str(coilname), str(curname), str(indname)) + command = "RMLVSCALE,%s,%s,%s,%s,%s,%s" % (str(nload), str(fact1), str(fact2), str(fact3), str(fact4), str(fact5)) self.RunCommand(command, **kwargs) - def Eusort(self, **kwargs): + def Dmove(self, node1="", node2="", ninc="", **kwargs): """ - APDL Command: EUSORT + APDL Command: DMOVE - Restores original order of the element table. + Digitizes nodes on surfaces and along intersections. + + Parameters + ---------- + node1, node2, ninc + Digitize nodes NODE1through NODE2 in steps of NINC. NODE2 defaults + to NODE1 and NINC defaults to 1. Notes ----- - Changing the selected element set [ESEL] also restores the original - element order. + Digitizes nodes on undefined surfaces, warped surfaces, and along + intersection lines. Two orthogonal views showing the nodes on a plane + in each view are required. No surfaces need be specified. Two + coordinates are determined from the second view and the other + coordinate is retained from the first view. Use the DIG command to + first define nodes in one view (as determined from the DSET command). + Then reset the view and use this command to move the nodes to the + proper location. """ - command = "EUSORT, " % () + command = "DMOVE,%s,%s,%s" % (str(node1), str(node2), str(ninc)) self.RunCommand(command, **kwargs) - def Pmgtran(self, fname="", freq="", fcnam1="", fcnam2="", pcnam1="", - pcnam2="", ecnam1="", ccnam1="", **kwargs): + def Enorm(self, enum="", **kwargs): """ - APDL Command: PMGTRAN + APDL Command: ENORM - Summarizes electromagnetic results from a transient analysis. + Reorients shell element normals or line element node connectivity. Parameters ---------- - fname - File name (8 characters maximum) to which tabular data and plot - files will be written. Must be enclosed in single quotes when the - command is manually typed in. Defaults to MG_TRNS. The data file - extension is .OUT and the plot file extension is .PLT. + enum + Element number having the normal direction that the reoriented + elements are to match. If ENUM = P, graphical picking is enabled + and all remaining command fields are ignored (valid only in the + GUI). - freq - Frequency of solution output. Defaults to 1. Every FREQth - solution on the results file is output. + Notes + ----- + Reorients shell elements so that their outward normals are consistent + with that of a specified element. ENORM can also be used to reorder + nodal connectivity of line elements so that their nodal ordering is + consistent with that of a specified element. - fcnam1, fcnam2 - Names of element components for force calculation. Must be - enclosed in single quotes when the command is manually typed in. + For shell elements, the operation reorients the element by reversing + and shifting the node connectivity pattern. For example, for a 4-node + shell element, the nodes in positions I, J, K and L of the original + element are placed in positions J, I, L and K of the reoriented + element. All 3-D shell elements in the selected set are considered for + reorientation, and no element is reoriented more than once during the + operation. Only shell elements adjacent to the lateral (side) faces are + considered. - pcnam1, pcnam2 - Names of element components for power loss calculation. Must be - enclosed in single quotes when the command is manually typed in. + The command reorients the shell element normals on the same panel as + the specified shell element. A panel is the geometry defined by a + subset of shell elements bounded by free edges or T-junctions (anywhere + three or more shell edges share common nodes). - ecnam1, ccnam1 - Names of element components for energy and total current - calculations, respectively. Must be enclosed in single quotes when - the command is manually typed in. + Reorientation progresses within the selected set until either of the + following conditions is true: - Notes - ----- - PMGTRAN invokes an ANSYS macro which calculates and summarizes - electromagnetic results from a transient analysis. The results are - summarized by element components and listed on the screen as well as - written to a file (Fname.OUT). Also, graph plots of results as a - function of time are created and written to a file (Fname.PLT) for use - in the DISPLAY program. + The edge of the model is reached. - Two components may be selected for the summary of electromagnetic - forces (see FMAGSUM), two for power loss, and one each for stored - energy (see SENERGY) and total current (see CURR2D). See the - referenced commands for other restrictions. + More than two elements (whether selected or unselected) are adjacent to + a lateral face. - PMGTRAN is restricted to MKSA units. + In situations where unselected elements might undesirably cause case b + to control, consider using ENSYM,0,,0,ALL instead of ENORM. It is + recommended that reoriented elements be displayed and graphically + reviewed. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + You cannot use the ENORM command to change the normal direction of any + element that has a body or surface load. We recommend that you apply + all of your loads only after ensuring that the element normal + directions are acceptable. + + Real constant values are not reoriented and may be invalidated by an + element reversal. """ - command = "PMGTRAN, %s, %s, %s, %s, %s, %s, %s, %s" % (str(fname), str(freq), str(fcnam1), str(fcnam2), str(pcnam1), str(pcnam2), str(ecnam1), str(ccnam1)) + command = "ENORM,%s" % (str(enum)) self.RunCommand(command, **kwargs) - def Create(self, fname="", ext="", **kwargs): + def Ksel(self, type="", item="", comp="", vmin="", vmax="", vinc="", + kabs="", **kwargs): """ - APDL Command: *CREATE + APDL Command: KSEL - Opens (creates) a macro file. + Selects a subset of keypoints or hard points. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + type + Label identifying the type of select: - ext - Filename extension (eight-character maximum). + S - Select a new set (default). - -- - Unused field. + R - Reselect a set from the current set. + + A - Additionally select a set and extend the current set. + + U - Unselect a set from the current set. + + ALL - Restore the full set. + + NONE - Unselect the full set. + + INVE - Invert the current set (selected becomes unselected and vice versa). + + STAT - Display the current select status. Notes ----- - See the *USE command for a discussion of macros. All commands - following the *CREATE command, up to the *END command, are written to - the specified file without being executed. An existing file of the - same name, if any, will be overwritten. Parameter values are not - substituted for parameter names in the commands when the commands are - written to the file. Use *CFWRITE to create a file if this is desired. - The resulting macro may be executed with a *USE command (which also - allows parameters to be passed into the macro) or a /INPUT command - (which does not allow parameters to be passed in). Several macros may - be stacked into a library file [*ULIB]. You cannot use *CREATE within a - DO loop. + Selects a subset of keypoints or hard points. For example, to select a + new set of keypoints based on keypoint numbers 1 through 7, use + KSEL,S,KP,,1,7. The selected subset is used when the ALL label is + entered (or implied) on other commands, such as KLIST,ALL. Only data + identified by keypoint number are selected. Data are flagged as + selected and unselected; no data are actually deleted from the + database. This command is valid in any processor. - """ - command = "*CREATE, %s, %s" % (str(fname), str(ext)) - self.RunCommand(command, **kwargs) + For selections based on non-integer numbers (coordinates, results, + etc.), items that are within the range VMIN -Toler and VMAX + Toler are + selected. The default tolerance Toler is based on the relative values + of VMIN and VMAX as follows: - def Kl(self, nl1="", ratio="", nk1="", **kwargs): - """ - APDL Command: KL + If VMIN = VMAX, Toler = 0.005 x VMIN. - Generates a keypoint at a specified location on an existing line. + If VMIN = VMAX = 0.0, Toler = 1.0E-6. - Parameters - ---------- - nl1 - Number of the line. If negative, the direction of line (as - interpreted for RATIO) is reversed. If NL1 = P, graphical picking - is enabled and all remaining command fields are ignored (valid only - in the GUI). + If VMAX ≠ VMIN, Toler = 1.0E-8 x (VMAX - VMIN). - ratio - Ratio of line length to locate keypoint. Must be between 0.0 and - 1.0. Defaults to 0.5 (divide the line in half). + Use the SELTOL command to override this default and specify Toler + explicitly. - nk1 - Number to be assigned to keypoint generated at division location - (defaults to lowest available keypoint number [NUMSTR]). + Table: 203:: : KSEL - Valid Item and Component Labels """ - command = "KL, %s, %s, %s" % (str(nl1), str(ratio), str(nk1)) + command = "KSEL,%s,%s,%s,%s,%s,%s,%s" % (str(type), str(item), str(comp), str(vmin), str(vmax), str(vinc), str(kabs)) self.RunCommand(command, **kwargs) - def Rmaster(self, node="", lab="", **kwargs): + def Edcnstr(self, option="", ctype="", comp1="", comp2="", val1="", + **kwargs): """ - APDL Command: RMASTER + APDL Command: EDCNSTR - Defines master nodes for the ROM method. + Defines various types of constraints for an explicit dynamic analysis. Parameters ---------- - node - Node number at which master degree of freedom is defined If Node = - P, graphical picking is enabled and all remaining command fields - are ignored (valid only in the GUI). + option + Label identifying the option to be performed. - lab - Valid labels are "ADD" (default) and "DEL". + ADD - Define a constraint (default). + + DELE - Delete the constraint specified by Ctype, Comp1, and Comp2. If Ctype = ALL, all + constraints are deleted. + + LIST - List all of the constraints previously defined by the EDCNSTR command. + + ctype + Constraint type. The command format will vary, depending on the + Ctype value. + + ENS - Extra node set added to an existing rigid body. + + NRB - Nodal rigid body. + + STS - Tie between a shell edge and solid elements. + + RIVET - Massless rivet between two noncoincident nodes. Notes ----- - Defines master nodes for the ROM. Master nodes are used to track the - total displacement of a structure in the operating direction [RMANL]. - They may be used as attachment points for 1-D structural elements - during a ROM use pass via the UX degree of freedom. + The EDCNSTR command allows you to define several types of constraints + in an explicit dynamic analysis. A brief description of each constraint + type is given below. See Constraints and Initial Conditions in the + ANSYS LS-DYNA User's Guide for more information. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Extra Node Set Added to a Rigid Body (Ctype = ENS) - """ - command = "RMASTER, %s, %s" % (str(node), str(lab)) - self.RunCommand(command, **kwargs) + The ability to add extra nodes to an existing rigid body has many + potential applications, including placing nodes where joints will be + attached between rigid bodies, defining nodes where point loads will be + applied, and defining a lumped mass at a specific location. The extra + nodes specified by Comp2 may be located anywhere in the model and may + have coordinates outside those of the original rigid body specified by + Comp1. - def Dflab(self, dof="", displab="", forcelab="", **kwargs): - """ - APDL Command: /DFLAB + Nodal Rigid Body (Ctype = NRB) - Changes degree-of-freedom labels for user custom elements. + Unlike typical rigid bodies that are defined with the EDMP command, + nodal rigid bodies defined with the EDCNSTR command are not associated + with a part number. This can be advantageous for modeling rigid + (welded) joints in a model. For a rigid joint, portions of different + flexible components (having different MAT IDs) act together as a rigid + body. It is difficult to define this type of rigid body with a unique + MAT ID (and corresponding part number). However, the rigid joint can be + easily defined using a nodal rigid body. - Parameters - ---------- - dof - Number between 1 and 32 indicating which degree of freedom is to - have its labels changed. For a list of these quantities, see the - degree-of-freedom table in the echprm.inc file. The first few - quantities follow: + Shell Edge to Solid Tie (Ctype = STS) - displab - New label (four-character maximum) for the displacement label. The - prior label is no longer valid. + The STS option ties regions of solid elements to regions of shell + elements. A single shell node may be tied to up to nine brick element + nodes that define a “fiber” vector. Solid element nodes constrained in + this way remain linear throughout the analysis but can move relative to + each other in the fiber direction. - forcelab - New label (four-character maximum) for the force label for this - degree of freedom. The prior label is no longer valid. + Rivet between Two Nodes (Ctype = RIVET) - Notes - ----- - The /DFLAB command is rarely used. Use it if you are writing a custom - element and want to use degrees of freedom that are not part of the - standard element set. + The RIVET option defines a massless rigid constraint between two nodes, + similar to spotwelds defined with the EDWELD command. Unlike a + spotweld, however, rivets contain nodes that are noncoincident, and + failure cannot be specified. When a rivet is defined, the distance + between the nodes is kept constant throughout any motion that occurs + during a simulation. Nodes connected by a rivet cannot be part of any + other constraints specified in the model. + + The EDCNSTR command is also valid in SOLUTION. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/DFLAB, %s, %s, %s" % (str(dof), str(displab), str(forcelab)) + command = "EDCNSTR,%s,%s,%s,%s,%s" % (str(option), str(ctype), str(comp1), str(comp2), str(val1)) self.RunCommand(command, **kwargs) - def Fslist(self, nloc1="", nloc2="", ninc="", nev="", nlod="", **kwargs): + def Oclist(self, datatype="", zonename="", **kwargs): """ - APDL Command: FSLIST + APDL Command: OCLIST - Lists the stresses stored for fatigue evaluation. + Summarizes all currently defined ocean loads. Parameters ---------- - nloc1, nloc2, ninc - List stresses from NLOC1 (defaults to 1) to NLOC2 (defaults to - NLOC1) in steps of NINC (defaults to 1). If NLOC1 = ALL, NLOC2 and - NINC are ignored and stresses for all locations are listed. - - nev - Event number for stress listing (defaults to ALL). + datatype + Ocean data type to list. Valid values are BASIC, CURRENT, WAVE, + ZONE, and ALL. - nlod - Loading number for stress listing (defaults to ALL). + zonename + The name of an ocean zone to list. If no name is specified, all + defined ocean zones are listed. Valid only when DataType = ZONE. Notes ----- - Stresses may be listed per location, per event, per loading, or per - stress condition. Use FELIST and FLLIST if only event and location - parameters (no stresses) are to be listed. + The OCLIST command summarizes the ocean properties for all defined + ocean loads in the current session. + + When this command follows the SOLVE command, certain waves types also + list the calculated wave length. + + This command is also valid in PREP7. """ - command = "FSLIST, %s, %s, %s, %s, %s" % (str(nloc1), str(nloc2), str(ninc), str(nev), str(nlod)) + command = "OCLIST,%s,%s" % (str(datatype), str(zonename)) self.RunCommand(command, **kwargs) - def Sfgrad(self, lab="", slkcn="", sldir="", slzer="", slope="", **kwargs): + def Ic(self, node="", lab="", value="", value2="", nend="", ninc="", + **kwargs): """ - APDL Command: SFGRAD + APDL Command: IC - Specifies a gradient (slope) for surface loads. + Specifies initial conditions at nodes. Parameters ---------- + node + Node at which initial condition is to be specified. If ALL, apply + 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 be substituted for NODE. + lab - Valid surface load label. Load labels are listed under "Surface - Loads" in the input table for each element type in the Element - Reference. + Degree-of-freedom label for which the initial condition is to be + specified. If ALL, use all appropriate labels. - slkcn - Reference number of slope coordinate system (used with Sldir and - SLZER to determine COORD). Defaults to 0 (the global Cartesian - coordinate system). + value + Initial value of the degree of freedom (first-order value). + Defaults to the program default for that degree of freedom (0.0 for + structural analysis, TUNIF for thermal analysis, etc.). Values are + in the nodal coordinate system and in radians for rotational + degrees of freedom. - sldir - Slope direction in coordinate system SLKCN: + value2 + Second-order degree of freedom value, mainly used to specify + initial structural velocity. Defaults to the program default for + that degree of freedom (0.0 for structural analysis). Values are + in the nodal coordinate system and in radians/time for rotational + degrees of freedom. - X - Slope is along X direction (default). Interpreted as R direction for non- - Cartesian coordinate systems. + nend, ninc + Specifies the same initial condition values at the range of nodes + from NODE to NEND (defaults to NODE), in steps of NINC (defaults to + 1). - Y - Slope is along Y direction. Interpreted as  θ direction for non-Cartesian - coordinate systems. + Notes + ----- + The IC command specifies initial conditions, which are the initial + values of the specified degrees of freedom. It is valid only for a + static analysis and full method transient analysis (TIMINT,ON and + TRNOPT,FULL). For the transient, the initial value is specified at the + beginning of the first load step, that is, at time = 0.0. - Z - Slope is along Z direction. Interpreted as Φ direction for spherical or - toroidal coordinate systems. + Initial conditions should always be step applied (KBC,1) and not + ramped. - slzer - Coordinate location (degrees for angular input) where slope - contribution is zero (CVALUE = VALUE). Allows the slope - contribution to be shifted along the slope direction. For angular - input, SLZER should be between ±180° if the singularity [CSCIR] is - at 180° and should be between 0° and 360° if the singularity is at - 0°. + If constraints (D, DSYM, etc.) and initial conditions are applied at + the same node, the constraint specification overrides. Exercise caution + when specifying constraints. The degree-of-freedom values start from + zero, or the first value given in the table when table name is + specified. To match the nonzero initial condition value with the + initial value for degree-of-freedom constraint, use a table for the + degree-of-freedom constraint. - slope - Slope value (load per unit length or per degree). + For thermal analyses, any TUNIF specification should be applied before + the IC command; otherwise, the TUNIF specification is ignored. If the + IC command is input before any TUNIF specification, use the ICDELE + command and then reissue any TUNIF specification and then follow with + the IC command. - Notes - ----- - Specifies a gradient (slope) for surface loads. All surface loads - issued with the SF, SFE, SFL, or SFA commands while this specification - is active will have this gradient applied (for complex pressures, only - the real component will be affected; for convections, only the bulk - temperature will be affected). The load value, CVALUE, calculated at - each node is: + When issuing the IC command for elements SOLID278 Layered Thermal Solid + and SOLID279 Layered Thermal Solid with through-the-thickness degrees + of freedom (KEYOPT(3) = 2), layers are always interpolated linearly + based on the location of the degrees of freedom. - CVALUE = VALUE + (SLOPE X (COORD-SLZER)) + Define consistent initial conditions. For example, if you define an + initial velocity at a single degree of freedom, the initial velocity at + every other degree of freedom will be 0.0, potentially leading to + conflicting initial conditions. In most cases, you should define + initial conditions at every unconstrained degree of freedom in your + model. If you define an initial condition for any degree of freedom at + the pilot node of a rigid body (see Modeling Rigid Bodies in the + Contact Technology Guide for the definition of rigid body), then the + same initial condition must also be defined for the same degree of + freedom on all other nodes of the rigid body. - where VALUE is the load value specified on the subsequent SF, SFE, SFL, - or SFA commands and COORD is the coordinate value (in the Sldir - direction of coordinate system SLKCN) of the node. Only one SFGRAD - specification may be active at a time (repeated use of this command - replaces the previous specification with the new specification). Issue - SFGRAD (with blank fields) to remove the specification. Issue - SFGRAD,STAT to show the current command status. The SFGRAD - specification (if active) is removed when the LSREAD (if any) command - is issued. + After a solution has been performed, the specified initial conditions + are overwritten by the actual solution and are no longer available. You + must respecify them if you want to perform a subsequent analysis. You + may want to keep a database file saved prior to the first solution for + subsequent reuse. - SFGRAD does not work for tabular boundary conditions. + If you use the CDWRITE command to archive your model, first-order + values (initial displacements, temperatures, etc.) specified via the IC + command are not written to the archive file; however, second-order + (structural velocity) terms are written. This command is also valid in PREP7. """ - command = "SFGRAD, %s, %s, %s, %s, %s" % (str(lab), str(slkcn), str(sldir), str(slzer), str(slope)) + command = "IC,%s,%s,%s,%s,%s,%s" % (str(node), str(lab), str(value), str(value2), str(nend), str(ninc)) self.RunCommand(command, **kwargs) - def Mfvolume(self, inumb="", fnumb1="", label="", fnumb2="", **kwargs): + def Edcadapt(self, freq="", tol="", opt="", maxlvl="", btime="", dtime="", + lcid="", adpsize="", adp_ass="", ireflg="", adpene="", + adpth="", maxel="", **kwargs): """ - APDL Command: MFVOLUME + APDL Command: EDCADAPT - Defines a volume load transfer for an ANSYS Multi-field solver - analysis. + Specifies adaptive meshing controls for an explicit dynamic analysis. Parameters ---------- - inumb - Interface number for load transfer. The interface number - corresponds to the interface number specified by the volume flag - FVIN (BFE command). + freq + Time interval between adaptive mesh refinements (default = 0.0). + Use FREQ = STAT to list the current adaptive meshing control + settings. - fnumb1 - Field number of sending field. + tol + Adaptive angle tolerance (in degrees) for which adaptive meshing + will occur (default = 1e31). If the relative angle change between + elements exceeds the specified tolerance value, the elements will + be refined. - label - Valid volume load labels: + opt + Adaptivity option: - fnumb2 - Field number for receiving field. + 1 - Angle change (in degrees) of elements is based on original mesh configuration + (default). - Notes - ----- - This command is also valid in PREP7. + 2 - Angle change (in degrees) of elements is incrementally based on previously + refined mesh. - The ANSYS Multi-field solver solver does not allow you to switch the - load transfer direction for the same load quantity across the same - interfaces for a restart run. For example, if Field1 sends temperature - to and receives heat flow from Field2 across Interface 1 in a previous - solution, then you cannot make Field1 send heat flow to and receive - temperatures from Field2 across the same interface in a restart run, - even if you cleared the corresponding load transfer command. + maxlvl + Maximum number of mesh refinement levels (default = 3). This + parameter controls the number of times an element can be remeshed. + Values of 1, 2, 3, 4, etc. allow a maximum of 1, 4, 16, 64, etc. + elements, respectively, to be created for each original element. - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + btime + Birth time to begin adaptive meshing (default = 0.0). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + dtime + Death time to end adaptive meshing (default = 1e31). - """ - command = "MFVOLUME, %s, %s, %s, %s" % (str(inumb), str(fnumb1), str(label), str(fnumb2)) - self.RunCommand(command, **kwargs) + lcid + Data curve number (previously defined on the EDCURVE command) + identifying the interval of remeshing (no default). The abscissa of + the data curve is time, and the ordinate is the varied adaptive + time interval. If LCID is nonzero, the adaptive frequency (FREQ) is + replaced by this load curve. Note that a nonzero FREQ value is + still required to initiate the first adaptive loop. - def Lang(self, nl1="", p3="", ang="", phit="", locat="", **kwargs): - """ - APDL Command: LANG + adpsize + Minimum element size to be adapted based on element edge length + (default = 0.0). - Generates a straight line at an angle with a line. + adpass + One or two pass adaptivity option. - Parameters - ---------- - nl1 - Number of the line to be hit (touched by the end of the new line). - If negative, assume P1 (see below) is the second keypoint of the - line instead of the first. If NL1 = P, graphical picking is - enabled and all remaining command fields are ignored (valid only in - the GUI). + 0 - Two pass adaptivity (default). - p3 - Keypoint at which generated line must end. + 1 - One pass adaptivity. - ang - Angle of intersection of generated line PHIT-P3 with tangent to - line P1-P2 at PHIT. If 0 (default), the generated line is tangent - to NL1 toward end P1; if 90, the generated line is perpendicular to - NL1. If 180, the generated line is tangent to NL1 toward end P2. - ANG can be any value, but is adjusted to the corresponding acute - angle with respect to LOCAT. See "Notes" for a discussion of - accuracy. + ireflg + Uniform refinement level flag (no default). Values of 1, 2, 3, etc. + allow 4, 16, 64, etc. elements, respectively, to be created + uniformly for each original element. - phit - Number to be assigned to keypoint generated at hit location - (defaults to lowest available keypoint number [NUMSTR]). + adpene + Adaptive mesh flag for starting adaptivity when approaching + (positive ADPENE value) or penetrating (negative ADPENE value) the + tooling surface (default = 0.0). - locat - Approximate location of PHIT in terms of the ratio of the distance - along the line (NL1) to the length of the line. LOCAT can range - from 0 to 1. If LOCAT is blank, the point will be located with - less speed and accuracy, and an arbitrary location may result. + adpth + Absolute shell thickness level below which adaptivity should begin. + This option works only if the adaptive angle tolerance (TOL) is + nonzero. If thickness based adaptive remeshing is desired without + angle change, set TOL to a large angle. The default is ADPTH = 0.0, + which means this option is not used. + + maxel + Maximum number of elements at which adaptivity will be terminated + (no default). Adaptivity is stopped if this number of elements is + exceeded. Notes ----- - Generates a straight line (PHIT-P3) at an angle (ANG) with a line NL1 - (P1-P2). The location of PHIT on the line is automatically calculated. - Line P1-P2 becomes P1-PHIT and new lines PHIT-P2 and PHIT-P3 are - generated. Line divisions are set to zero (use LESIZE, etc. to - modify). + The EDCADAPT command globally sets the control options for all part IDs + that are to be adaptively meshed (see the EDADAPT command). Because + FREQ defaults to zero, you must input a nonzero value in this field in + order to activate adaptive meshing. You must also specify a reasonable + value for TOL since the default adaptive angle tolerance (1e31) will + not allow adaptive meshing to occur. - PHIT is positioned closest to LOCAT for the given angle, ANG. To - ensure better performance, it is recommended that LOCAT be input, even - if it is 0. + The EDCADAPT command is not supported in an explicit dynamic full + restart analysis (EDSTART,3). - The program uses an iterative procedure to position PHIT. The - procedure is not exact, with the result that the actual value of ANG - will sometimes differ slightly from the specified value. + This command is also valid in PREP7. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "LANG, %s, %s, %s, %s, %s" % (str(nl1), str(p3), str(ang), str(phit), str(locat)) + command = "EDCADAPT,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(freq), str(tol), str(opt), str(maxlvl), str(btime), str(dtime), str(lcid), str(adpsize), str(adp_ass), str(ireflg), str(adpene), str(adpth), str(maxel)) self.RunCommand(command, **kwargs) - def Xfdata(self, enrichmentid="", elemnum="", nodenum="", phi="", - **kwargs): + def Time(self, time="", **kwargs): """ - APDL Command: XFDATA + APDL Command: TIME - Defines a crack in the model by specifying nodal level set values + Sets the time for a load step. Parameters ---------- - enrichmentid - Name of the enrichment specified via the associated XFENRICH - command. + time + Time at the end of the load step. - lsm (or blank) - Specify LSM to indicate that level set values (PHI and optional - PSI) are specified. + Notes + ----- + Associates the boundary conditions at the end of the load step with a + particular TIME value. - elemnum - Element number. + TIME must be a positive, nonzero, monotonically increasing quantity + that "tracks" the input history. Units of time should be consistent + with those used elsewhere (for properties, creep equations, etc.). - nodenum - Node number associated with the specified element ELNUM. + Typically, for the first load step TIME defaults to 1. However, for the + first load step of a mode-superposition transient analysis + (ANTYPE,TRANS and TRNOPT,MSUP), the TIME command is ignored and a + static solution is performed at TIME = 0. - phi - Signed normal distance of the node from the crack. + For a full transient analyses, the command's default behavior does not + apply. You must specify a time for each load step and it must be + greater than the time at the end of the prior load step. - Notes - ----- - Issue the XFDATA command multiple times as needed to specify nodal - level set values for all nodes of an element. + TIME does not apply to modal (ANTYPE,MODAL), harmonic (ANTYPE,HARMIC), + or substructure (ANTYPE,SUBSTR) analyses. - This command is valid in PREP7 (/PREP7) only. + This command is also valid in PREP7. """ - command = "XFDATA, %s, %s, %s, %s" % (str(enrichmentid), str(elemnum), str(nodenum), str(phi)) + command = "TIME,%s" % (str(time)) self.RunCommand(command, **kwargs) - def Numstr(self, label="", value="", **kwargs): + def Ppath(self, point="", node="", x="", y="", z="", cs="", **kwargs): """ - APDL Command: NUMSTR + APDL Command: PPATH - Establishes starting numbers for automatically numbered items. + Defines a path by picking or defining nodes, or locations on the + currently active working plane, or by entering specific coordinate + locations. Parameters ---------- - label - Apply starting number to one of the following sets of items: - - NODE - Node numbers. Value defaults (and is continually reset) to 1 + maximum node - number in model. Cannot be reset lower. - - ELEM - Element numbers. Value defaults (and is continually reset) to 1 + maximum - element number in model. Cannot be reset lower. - - KP - Keypoint numbers. Value defaults to 1. Only undefined numbers are used. - Existing keypoints are not overwritten. - - LINE - Line numbers. Value defaults to 1. Only undefined numbers are used. Existing - lines are not overwritten. - - AREA - Area numbers. Value defaults to 1. Only undefined numbers are used. Existing - areas are not overwritten. + point + The point number. It must be greater than zero and less than or + equal to the nPts value specified on the PATH command if graphical + picking is not being used. - VOLU - Volume numbers. Value defaults to 1. Only undefined numbers are used. - Existing volumes are not overwritten. + node + The node number defining this point. If blank, use the X, Y, Z + coordinates to define the point. A valid node number will override + X, Y, Z coordinate arguments. - DEFA - Default. Returns all starting numbers to their default values. + x, y, z + The location of the point in the global Cartesian coordinate + system. Use these arguments only if you omit the NODE argument. - value - Starting number value. + cs + The coordinate system for interpolation of the path between the + previous point and this point. Omit this argument if you wish to + use the currently active (CSYS) coordinate system. If the + coordinate system of two adjacent points is different, the CS value + of the latter point will be used. Notes ----- - Establishes starting numbers for various items that may have numbers - automatically assigned (such as element numbers with the EGEN command, - and node and solid model entity numbers with the mesh [AMESH, VMESH, - etc.] commands). Use NUMSTR,STAT to display settings. Use NUMSTR,DEFA - to reset all specifications back to defaults. Defaults may be lowered - by deleting and compressing items (i.e., NDELE and NUMCMP,NODE for - nodes, etc.). + For linearized stress calculations, the path must be defined with + nodes. - Note:: : A mesh clear operation (VCLEAR, ACLEAR, LCLEAR, and KCLEAR) - automatically sets starting node and element numbers to the highest - unused numbers. If a specific starting node or element number is - desired, issue NUMSTR after the clear operation. + This command is designed and works best in interactive (GUI) mode, + using the menu paths listed below. For command line operations, issue + PPATH,P to define your path by picking nodes. + + For information on displaying paths you have defined, see Defining Data + to be Retrieved in the Basic Analysis Guide. """ - command = "NUMSTR, %s, %s" % (str(label), str(value)) + command = "PPATH,%s,%s,%s,%s,%s,%s" % (str(point), str(node), str(x), str(y), str(z), str(cs)) self.RunCommand(command, **kwargs) - def Quit(self, **kwargs): + def Vcross(self, labxr="", labyr="", labzr="", labx1="", laby1="", + labz1="", labx2="", laby2="", labz2="", **kwargs): """ - APDL Command: /QUIT + APDL Command: VCROSS - Exits a processor. + Forms element table items from the cross product of two vectors. + + Parameters + ---------- + labxr, labyr, labzr + Label assigned to X, Y, and Z-component of resultant vector. + + labx1, laby1, labz1 + X, Y, and Z-component of first vector label. + + labx2, laby2, labz2 + X, Y, and Z-component of second vector label. Notes ----- - This is an alternative to the FINISH command. If any cleanup or file - writing is normally done by the FINISH command, it is bypassed if the - /QUIT command is used instead. A new processor may be entered after - this command. See the /EXIT command to terminate the run. + Forms labeled result items for the selected element from the cross + product of two vectors: - This command is valid in any processor. This command is not valid at - the Begin level. + {LabXR, LabYR, LabZR} = {LabX1, LabY1, LabZ1} X {LabX2, LabY2, LabZ2} + + Data must be in a consistent coordinate system. Labels are those + associated with the ETABLE command. """ - command = "/QUIT, " % () + command = "VCROSS,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(labxr), str(labyr), str(labzr), str(labx1), str(laby1), str(labz1), str(labx2), str(laby2), str(labz2)) self.RunCommand(command, **kwargs) - def Mfconv(self, lab="", toler="", minref="", **kwargs): + def Secjoint(self, kywrd="", val1="", val2="", val3="", val4="", val5="", + val6="", **kwargs): """ - APDL Command: MFCONV + APDL Command: SECJOINT - Sets convergence values for an ANSYS Multi-field solver analysis. + Defines local coordinate systems at joint element nodes and other data + for joint elements. Parameters ---------- - lab - Valid labels: - - toler - Convergence tolerance about program calculated reference value (the - L2 norm of the new load in a multi-field analysis). Defaults to - 0.01 (1%) for all labels. Must be less than 1.0. + kywrd + Keyword that indicates the type of joint element data being + defined. - -- - Unused field. + LSYS or blank - Define local coordinate systems at the nodes that form the MPC184 joint + element. - minref - The minimum value allowed for the program calculated reference - value. If negative, no minimum is enforced. Defaults to 1.0e-6 for - all labels. Not available in the GUI. MINREF corresponds to - ||ϕnew|| as defined in Set up Stagger Solution in the Coupled-Field - Analysis Guide. + RDOF - Define the relative degrees of freedom to be fixed for an MPC184-General joint + element. - Notes - ----- - MFCONV sets convergence values for variables at the ANSYS Multi-field - solver interface. + PITC - Define the pitch of an MPC184-Screw joint element. - This command is also valid in PREP7. + FRIC - Define the geometric quantities required for Coulomb frictional behavior in the + MPC184-Revolute or MPC184-Translational joint element. - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + val1, val2, val3, val4, val5, val6 + The meaning of Val1 through Val6 changes, depending on the value of + Kywrd. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Notes + ----- + Use this command to define additional section data for MPC184 joint + elements. To overwrite the current values, issue another SECJOINT + command with the same Kywrd value. The data input on this command is + interpreted based on the most recently issued SECTYPE command. """ - command = "MFCONV, %s, %s, %s" % (str(lab), str(toler), str(minref)) + command = "SECJOINT,%s,%s,%s,%s,%s,%s,%s" % (str(kywrd), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6)) self.RunCommand(command, **kwargs) - def Dsum(self, signif="", label="", td="", forcetype="", **kwargs): + def Return(self, level="", **kwargs): """ - APDL Command: DSUM + APDL Command: *RETURN - Specifies the double sum mode combination method. + Returns input stream to a higher level. Parameters ---------- - signif - Combine only those modes whose significance level exceeds the - SIGNIF threshold. For single point, multipoint, or DDAM response - (SPOPT, SPRS, MPRS, or DDAM), the significance level of a mode is - defined as the mode coefficient of the mode, divided by the maximum - mode coefficient of all modes. Any mode whose significance level - is less than SIGNIF is considered insignificant and is not - contributed to the mode combinations. The higher the SIGNIF - threshold, the fewer the number of modes combined. SIGNIF defaults - to 0.001. If SIGNIF is specified as 0.0, it is taken as 0.0. - (This mode combination method is not valid for SPOPT, PSD.) - - label - Label identifying the combined mode solution output. - - DISP - Displacement solution (default). Displacements, stresses, forces, etc., are - available. - - VELO - Velocity solution. Velocities, "stress velocities," "force velocities," etc., - are available. - - ACEL - Acceleration solution. Accelerations, "stress accelerations," "force - accelerations," etc., are available. - - td - Time duration for earthquake or shock spectrum. TD defaults to 10. - - forcetype - Label identifying the forces to be combined: - - STATIC - Combine the modal static forces (default). + level + Number of levels to move up from the current level. - TOTAL - Combine the modal static plus inertial forces. + Move relative to current level. For example: *Return,-2 will go up two levels from the current level. - Move to absolute level. For example: *Return,2 will go to level 2. Notes ----- - This command is also valid for PREP7. + This command is used to jump to the macro call sequence, ending the + current macro file, and returning to the line after the calling line in + the previous file. Unlike the *GO command, this command may be used + inside *IF or *DO constructs. """ - command = "DSUM, %s, %s, %s, %s" % (str(signif), str(label), str(td), str(forcetype)) + command = "*RETURN,%s" % (str(level)) self.RunCommand(command, **kwargs) - def Opncontrol(self, lab="", value="", numstep="", **kwargs): + def Czdel(self, grp1="", grp2="", grp3="", **kwargs): """ - APDL Command: OPNCONTROL + APDL Command: CZDEL - Sets decision parameter for automatically increasing the time step - interval. + Edits or clears cohesive zone sections. Parameters ---------- - lab - DOF - - DOF - Degree-of-freedom label used to base a decision for increasing the time step - (substep) interval in a nonlinear or transient analysis. - The only DOF label currently supported is TEMP. + grp1 + Initial group of cohesive zone elements to be deleted. - OPENUPFACTOR - Factor for increasing the time step interval. Specify when AUTOTS,ON is issued - and specify a VALUE > 1.0 (up to 10.0). The default - VALUE = 1.5 (except for thermal analysis, where it - is 3.0). Generally, VALUE > 3.0 is not recommended. + grp2 + Final group of cohesive zone elements to be deleted. - value, numstep - Two values used in the algorithm for determining if the time step - interval can be increased. Valid only when Lab = DOF. + grp3 + Increment for selected groups. Notes ----- - This command is available only for nonlinear or full transient - analysis. - - """ - command = "OPNCONTROL, %s, %s, %s" % (str(lab), str(value), str(numstep)) - self.RunCommand(command, **kwargs) - - def Nusort(self, **kwargs): - """ - APDL Command: NUSORT + The CZDEL command edits or deletes the interface elements and nodes, + along with the associated changes made to the underlying plane or solid + elements created during a previous CZMESH operation. - Restores original order for nodal data. + Each CZMESH operation will create groups of elements and nodes with + component names in the format CZME_EL01 (elements) and CZME_ND01 + (nodes). The final number of this format will be the number used for + grp1 and grp2. If grp1 = ALL, all nodes and elements created by the + CZMESH command will be deleted. After using CZDEL, all the user-defined + components will be unselected. - Notes - ----- - This command restores the nodal data to its original order (sorted in - ascending node number sequence) after an NSORT command. Changing the - selected nodal set [NSEL] also restores the original nodal order. + The CZDEL command is valid for structural analyses only. """ - command = "NUSORT, " % () + command = "CZDEL,%s,%s,%s" % (str(grp1), str(grp2), str(grp3)) self.RunCommand(command, **kwargs) - def Mult(self, m1="", t1="", m2="", t2="", m3="", **kwargs): + def Segen(self, mode="", nsuper="", mdof="", stopstage="", **kwargs): """ - APDL Command: *MULT + APDL Command: SEGEN - Performs the matrix multiplication M3 = M1(T1)*M2(T2). + Automatically generate superelements. Parameters ---------- - m1 - Name of matrix M1. Must have been previously specified by a *DMAT - or *SMAT command. + mode + Specify action to take (must be specified as one of the following): - t1 - Transpose key. Set T1 = TRANS to use the transpose of M1. If blank, - transpose will not be used. + AUTO - Turn on feature. - m2 - Name of matrix M2. Must have been previously specified by a *DMAT - command. + OFF - Turn off feature. - t2 - Transpose key. Set T2 = TRANS to use the transpose of M2. If blank, - transpose will not be used. + nsuper + Number of superelements to create. The minimum number of + superelements is 2, and the maximum number of superelements is 999. + Note that the number of requested superelements may not be the same + as the number of defined superelements (see "Notes" for more + details). - m3 - Name of resulting matrix, M3. Must be specified. + mdof + Specifies whether to use the master DOF defined by the user. - Notes - ----- - The matrices must be dimensionally consistent such that the number of - columns of M1 (or the transposed matrix, if requested) is equal to the - number of rows of M2 (or the transposed matrix, if requested). + YES - Use master DOF defined by the user with the M command. - You cannot multiply two sparse matrices with this command (that is, M1 - and M2 cannot both be sparse). The resulting matrix, M3, will always be - a dense matrix, no matter what combination of input matrices is used - (dense*sparse, sparse*dense, or dense*dense). + NO - Use the master DOF defined by the automatic generation process. Be aware that + this option can generate a large number of master DOFs (see + "Notes" for more details). - """ - command = "*MULT, %s, %s, %s, %s, %s" % (str(m1), str(t1), str(m2), str(t2), str(m3)) - self.RunCommand(command, **kwargs) + stopstage + Specifies when to stop the automatic superelement generation + process. - def Wsprings(self, **kwargs): - """ - APDL Command: WSPRINGS + PREVIEW - Preview the superelements only; stop after creating the domains which will + become the superelements, and after creating master DOF + on the interfaces between each domain. - Creates weak springs on corner nodes of a bounding box of the currently - selected elements. + GEN - Create (generate) the superelements. Notes ----- - WSPRINGS invokes a predefined ANSYS macro that is used during the - import of loads from the ADAMS program into the ANSYS program. WSPRINGS - creates weak springs on the corner nodes of the bounding box of the - currently selected elements. The six nodes of the bounding box are - attached to ground using COMBIN14 elements. The stiffness is chosen as - a small number and can be changed by changing the real constants of the - COMBIN14 elements. This command works only for models that have a - geometric extension in two or three dimensions. One dimensional - problems (pure beam in one axis) are not supported. + This command can be used to quickly generate a set of superelements. + Each superelement is created in a separate file (jobnameXXX.sub, where + XXX is a positive number from 1 to 999). - For more information on how WSPRINGS is used during the transfer of - loads from the ADAMS program to ANSYS, see Import Loads into ANSYS in - the Substructuring Analysis Guide. + Due to the heuristics in the automatic domain decomposer, which is used + to define the domains that will become superelements, the number of + defined superelements may exceed the number of requested superelements. + Use the mDof and stopStage options to determine exactly how many + superelements will be created, the interfaces between each + superelement, and where master DOF will be defined. With the + /PNUM,DOMAIN command, you can graphically (visually) preview the + elements in each superelement. Then, if required, you can add + additional master DOF to (or remove from) the boundaries of the + superelements. Use the SEGEN command again with stopStage = GEN to + actually create the superelements. + + ANSYS automatically defines master DOF at each of the following: all + interface DOF between superelements, all DOF attached to contact + elements (TARGE169 to CONTA177), and all DOF associated with nodes + having a point load defined. Note that for regular superelements, all + interface DOFs must be defined as master DOFs for the correct solution + to be obtained. However, for CMS superelements, some of the interface + DOFs can be removed without a significant loss of accuracy. + + For the case when mDof = YES, you should select the preview option + first (stopStage = PREVIEW) to verify exactly how many superelements + will be created and where the superelement boundaries are located. If + more superelements will be created than were requested, you should + define master DOF on the interface(s) between all superelements. + + This command is valid only for substructuring analyses (ANTYPE,SUBSTR). + Use SEOPT to specify any options for all of the superelements (e.g., + which matrices to reduce), and possibly CMSOPT for any CMS + substructuring analysis. Note that the created superelements will + follow the current /FILNAME instead of SENAME from SEOPT. Also, only + one load vector will be written to each .SUB file. Multiple load steps + are not supported with the automatic superelement generation process. + + During the actual creation of the superelements, the output is + redirected to jobname.autoTemp. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "WSPRINGS, " % () + command = "SEGEN,%s,%s,%s,%s" % (str(mode), str(nsuper), str(mdof), str(stopstage)) self.RunCommand(command, **kwargs) - def Vadd(self, nv1="", nv2="", nv3="", nv4="", nv5="", nv6="", nv7="", - nv8="", nv9="", **kwargs): + def Irlist(self, **kwargs): """ - APDL Command: VADD - - Adds separate volumes to create a single volume. + APDL Command: IRLIST - Parameters - ---------- - nv1, nv2, nv3, . . . , nv9 - Numbers of volumes to be added. If NV1 = ALL, add all selected - volumes and ignore NV2 to NV9. If NV1 = 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 NV1. + Prints inertia relief summary table. Notes ----- - Adds separate volumes to create a single volume. The original volumes - (and their corresponding areas, lines and keypoints) will be deleted by - default [BOPTN]. See the BOPTN command for the options available to - Boolean operations. Element attributes and solid model boundary - conditions assigned to the original entities will not be transferred to - the new entities generated. Concatenated entities are not valid with - this command. + Prints the inertia relief summary data, including the mass summary + table, the total load summary table, and the inertia relief summary + table resulting from the inertia relief calculations. These + calculations are performed in the solution phase [SOLVE] as specified + by the IRLF command. + + Inertia relief output is stored in the database rather than in the + results file (Jobname.RST). When you issue IRLIST, ANSYS pulls the + information from the database, which contains the inertia relief output + from the most recent solution [SOLVE]. + + This command is valid in any processor. """ - command = "VADD, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nv1), str(nv2), str(nv3), str(nv4), str(nv5), str(nv6), str(nv7), str(nv8), str(nv9)) + command = "IRLIST," % () self.RunCommand(command, **kwargs) - def Batch(self, lab="", **kwargs): + def Target(self, nlist="", **kwargs): """ - APDL Command: /BATCH + APDL Command: TARGET - Sets the program mode to "batch." + Specifies the target nodes for mapping pressures onto surface effect + elements. Parameters ---------- - lab - Specifies listing mode during a batch run: - - LIST - The batch output will include a listing of the input file. - - (blank) - Suppress input data listing. + nlist + Nodes defining the surface upon which the pressures will be mapped. + Use the label ALL or specify a nodal component name. If ALL, all + selected nodes [NSEL] are used (default). Individual nodes may not + be entered. Notes ----- - Sets the program mode to "batch" when included as the first line on an - input file of ANSYS commands. For convenience, this command is - automatically recorded on the log file (Jobname.LOG) at the beginning - of an interactive ANSYS session so that the log file can be reused - later for batch input. - - Caution:: : This command should not be entered directly in an - interactive ANSYS session since all subsequent keyboard input is simply - copied to a file, without further processing or prompts from the - program (use the "system break" to exit the ANSYS program if this - occurs). - - The recommended method for choosing batch mode, rather than using the - /BATCH command, is to select the Batch simulation environment from the - ANSYS Product Launcher task in the ANSYS launcher, or the batch mode - entry option on the ANSYS execution command when entering the program. - - This command is valid only at the Begin Level. + The node list specified by Nlist must contain a sufficient number of + nodes to define an element surface. The surface must be meshed (ESURF + command) with SURF154 elements prior to issuing this command. """ - command = "/BATCH, %s" % (str(lab)) + command = "TARGET,%s" % (str(nlist)) self.RunCommand(command, **kwargs) - def Seltol(self, toler="", **kwargs): + def Cpintf(self, lab="", toler="", **kwargs): """ - APDL Command: SELTOL + APDL Command: CPINTF - Sets the tolerance for subsequent select operations. + Defines coupled degrees of freedom at an interface. Parameters ---------- + lab + Degree of freedom label for coupled nodes (in the nodal coordinate + system). If ALL, use all appropriate labels except HDSP. Valid + labels are: Structural labels: UX, UY, or UZ (displacements); + ROTX, ROTY, or ROTZ (rotations, in radians), HDSP (hydrostatic + pressure). Thermal labels: TEMP, TBOT, TE2, TE3, . . ., TTOP + (temperature). Fluid labels: PRES (pressure); VX, VY, or VZ + (velocities). Electric labels: VOLT (voltage); EMF + (electromotive force drop); CURR (current). Magnetic labels: MAG + (scalar magnetic potential); AX, AY, or AZ (vector magnetic + potentials); CURR (current). Diffusion label: CONC + (concentration). + toler - Tolerance value. If blank, restores the default tolerance logic. + Tolerance for coincidence (based on maximum coordinate difference + in each global Cartesian direction for node locations and on angle + differences for node orientations). Defaults to 0.0001. Only + nodes within the tolerance are considered to be coincident for + coupling. Notes ----- - For selects based on non-integer numbers (e.g. coordinates, results, - etc.), items within the range VMIN - Toler and VMAX + Toler are - selected, where VMIN and VMAX are the range values input on the xSEL - commands (ASEL, ESEL, KSEL, LSEL, NSEL, and VSEL). - - The default tolerance logic is based on the relative values of VMIN and - VMAX as follows: - - If VMIN = VMAX, Toler = 0.005 x VMIN. - - If VMIN = VMAX = 0.0, Toler = 1.0E-6. - - If VMAX ≠ VMIN, Toler = 1.0E-8 x (VMAX-VMIN). - - This command is typically used when VMAX-VMIN is very large so that the - computed default tolerance is therefore large and the xSEL commands - selects more than what is desired. - - Toler remains active until respecified by a subsequent SELTOL command. - A SELTOL < blank > resets back to the default Toler logic. + Defines coupled degrees of freedom between coincident nodes (within a + tolerance). May be used, for example, to "button" together elements + interfacing at a seam, where the seam consists of a series of node + pairs. One coupled set is generated for each selected degree of + freedom for each pair of coincident nodes. For more than two + coincident nodes in a cluster, a coupled set is generated from the + lowest numbered node to each of the other nodes in the cluster. + Coupled sets are generated only within (and not between) clusters. If + fewer than all nodes are to be checked for coincidence, use the NSEL + command to select nodes. Coupled set reference numbers are incremented + by one from the highest previous set number. Use CPLIST to display the + generated sets. Only nodes having the same nodal coordinate system + orientations ("coincident" within a tolerance) are included. Use the + CEINTF command to connect nodes by constraint equations instead of by + coupling. Use the EINTF command to connect nodes by line elements + instead of by coupling. """ - command = "SELTOL, %s" % (str(toler)) + command = "CPINTF,%s,%s" % (str(lab), str(toler)) self.RunCommand(command, **kwargs) - def Pfact(self, tblno="", excit="", parcor="", **kwargs): + def Mgen(self, itime="", inc="", node1="", node2="", ninc="", **kwargs): """ - APDL Command: PFACT + APDL Command: MGEN - Calculates participation factors for the PSD or multi-point response - spectrum table. + Generates additional MDOF from a previously defined set. Parameters ---------- - tblno - Input PSD (Power Spectral Density) table number for which - participation factors are to be calculated. - - excit - Label defining the location of excitation: - - BASE - Base excitation (default). - - NODE - Nodal excitation. - - parcor - Label defining excitation type (applies only to SPOPT,PSD - analysis). Used only when partially correlated excitation is due - to wave propagation or spatial correlation. Defaults to partially - correlated excitation as defined by COVAL and QDVAL commands. - - WAVE - Excitation defined by PSDWAV command. + itime, inc + Do this generation operation a total of ITIMEs, incrementing all + nodes in the set by INC each time after the first. ITIME must be > + 1 for generation to occur. All previously defined master degree of + freedom directions are included in the set. A component name may + also be substituted for ITIME. - SPAT - Excitation defined by PSDSPL command. + node1, node2, ninc + Generate master degrees of freedom from set beginning with NODE1 to + NODE2 (defaults to NODE1) in steps of NINC (defaults to 1). If + NODE1 = ALL, NODE2 and NINC are ignored and set is all selected + nodes [NSEL]. If NODE1 = P, graphical picking is enabled and all + remaining command fields are ignored (valid only in the GUI). Notes ----- - Calculates the participation factors for a particular PSD or multi- - point response spectrum table defined with the PSDVAL or SPVAL command. - The Jobname.DB file must contain modal solution data in order for this - command to calculate the participation factor. There must be a PFACT - command for each excitation spectrum. You are limited to 300 - excitations. + Generates additional master degrees of freedom from a previously + defined set. If used in SOLUTION, this command is valid only within + the first load step. This command is also valid in PREP7. """ - command = "PFACT, %s, %s, %s" % (str(tblno), str(excit), str(parcor)) + command = "MGEN,%s,%s,%s,%s,%s" % (str(itime), str(inc), str(node1), str(node2), str(ninc)) self.RunCommand(command, **kwargs) - def Bfadele(self, area="", lab="", **kwargs): + def Autots(self, key="", **kwargs): """ - APDL Command: BFADELE + APDL Command: AUTOTS - Deletes body force loads on an area. + Specifies whether to use automatic time stepping or load stepping. Parameters ---------- - area - Area at which body load is to be deleted. If ALL, delete for all - selected areas [ASEL]. A component name may also be substituted for - AREA. + key + Automatic time stepping key: - lab - Valid body load label. If ALL, use all appropriate labels. Load - labels are listed under "Body Loads" in the input table for each - element type in the Element Reference. See the BFA command for - labels. + OFF - Do not use automatic time stepping. + + ON - Use automatic time stepping (default). + + AUTO - The program determines whether to use automatic time stepping (used by + Workbench). Notes ----- - Deletes body force loads (and all corresponding finite element loads) - for a specified area and label. Body loads may be defined on an area - with the BFA command. + Specifies whether to use automatic time stepping (or load stepping) + over this load step. If Key = ON, both time step prediction and time + step bisection will be used. - Graphical picking is available only via the listed menu paths. + You cannot use automatic time stepping [AUTOTS], line search [LNSRCH], + or the DOF solution predictor [PRED] with the arc-length method + [ARCLEN, ARCTRM]. If you activate the arc-length method after you set + AUTOTS, LNSRCH, or PRED, a warning message appears. If you choose to + proceed with the arc-length method, the program disables your automatic + time stepping, line search, and DOF predictor settings, and the time + step size is controlled by the arc-length method internally. This command is also valid in PREP7. """ - command = "BFADELE, %s, %s" % (str(area), str(lab)) - self.RunCommand(command, **kwargs) - - def Priter(self, **kwargs): - """ - APDL Command: PRITER - - Prints solution summary data. - - Notes - ----- - Prints solution summary data (such as time step size, number of - equilibrium iterations, convergence values, etc.) from a static or full - transient analysis. All other analyses print zeros for the data. - - """ - command = "PRITER, " % () + command = "AUTOTS,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Ovcheck(self, method="", frequency="", set="", **kwargs): + def Light(self, wn="", num="", int="", xv="", yv="", zv="", refl="", + **kwargs): """ - APDL Command: OVCHECK + APDL Command: /LIGHT - Checks for overconstraint among constraint equations and Lagrange - multipliers. + Specifies the light direction for the display window. Parameters ---------- - method - Method used to determine which slave DOFs will be eliminated: - - TOPO - Topological approach (default). This method only works with constraint - equations; it does not work with Lagrange multipliers. - - ALGE - Algebraic approach. - - NONE - Do not use overconstraint detection logic. - - frequency - Frequency of overconstraint detection for static or full transient - analyses: + wn + Window number (or ALL) to which command applies (defaults to 1). - ITERATION - For all equilibrium iterations (default). + num + Ambient or directional light key: - SUBSTEP - At the beginning of each substep. + 0 - Ambient light (default). - LOADSTEP - At the beginning of each load step. + 1 - Directional light. - set - Set of equations: + int + Light intensity factor (defaults to 0.3 for ambient, 1.0 for + directional). This option is valid only for 3-D devices). - All - Check for overconstraint between all constraint equations (default). + xv, yv, zv + Light direction (valid only for NUM = 1). The directional light + source is parallel to the line from point XV, YV, ZV to the origin, + in the global Cartesian system origin. Defaults to the viewing + direction [/VIEW]. - LAG - Check for overconstraint only on the set of equations that involves Lagrange - multipliers. This is faster than checking all sets, - especially when the model contains large MPC bonded contact - pairs. + refl + Light reflectance factor (valid only for NUM = 1 and 3-D devices). Notes ----- - The OVCHECK command checks for overconstraint among the constraint - equations (CE/CP) and the Lagrange multipliers for the globally - assembled stiffness matrix. If overconstrained constraint equations or - Lagrange multipliers are detected, they are automatically removed from - the system of equations. - - The constraint equations that are identified as redundant are removed - from the system and printed to the output file. It is very important - that you check the removed equations—they may lead to convergence - issues, especially for nonlinear analyses. - - The Frequency and Set arguments are active only for the topological - method (Method = TOPO). If you do not issue the OVCHECK command, - overconstraint detection is performed topologically, and the slave DOFs - are also determined topologically. - - Overconstraint detection slows down the run. We recommend using it to - validate that your model does not contain any overconstraints. Then, - you can switch back to the default method (no OVCHECK command is - needed). - - As an example, consider the redundant set of constraint equations - defined below: + Defines the light direction for the window. Use this command only with + 3-D graphics devices or 2-D devices when Z-buffering is used [/TYPE,,(6 + or 7)]. The ambient light has no direction, only an intensity. You + can position the directional light source by defining a point (in the + global Cartesian coordinate system) representing a point along the + light directional line. This point, and the global Cartesian + coordinate system origin, define the line along which the light is + positioned looking toward the origin. You can use any point along the + light line; for example, both (1.,1.,1.) and (2.,2.,2.) give the same + light effect. For 3-D graphics devices only, the directional light + source also has intensity and reflectance factors. - Equation number 2 will be removed by the overconstraint detection - logic. However, this is an arbitrary decision since equation number 1 - could be removed instead. This is an important choice as the constant - term is not the same in these two constraint equations. Therefore, you - must check the removed constraint equations carefully. + By choosing the highest intensity ambient light for 3-D graphics + devices (via the command /LIGHT,WN,0,1), you can nullify color shading + and other effects of directional lighting. - For detailed information on the topological and algebraic methods of - overconstraint detection, see Constraints: Automatic Selection of Slave - DOFs in the Mechanical APDL Theory Reference + This command is valid in any processor. """ - command = "OVCHECK, %s, %s, %s" % (str(method), str(frequency), str(set)) + command = "/LIGHT,%s,%s,%s,%s,%s,%s,%s" % (str(wn), str(num), str(int), str(xv), str(yv), str(zv), str(refl)) self.RunCommand(command, **kwargs) - def Xrange(self, xmin="", xmax="", **kwargs): + def Dcvswp(self, option="", elem="", cnum="", vmax="", vinc1="", vinc2="", + gap="", **kwargs): """ - APDL Command: /XRANGE + APDL Command: DCVSWP - Specifies a linear abscissa (X) scale range. + Performs a DC voltage sweep on a ROM element. Parameters ---------- - xmin - Minimum abscissa scale value. - - xmax - Maximum abscissa scale value. - - Notes - ----- - Specifies a linear abscissa (X) scale range for the line graph display. - Use /XRANGE,DEFAULT to return to automatic scaling. - - Automatic scaling will often yield inappropriate range values for - logarithmic scales (/GROPT, LOGX). - - This command is valid in any processor. + option + Sweep option: - """ - command = "/XRANGE, %s, %s" % (str(xmin), str(xmax)) - self.RunCommand(command, **kwargs) + GV - Perform voltage sweep up to given voltage Vmax. - def Aslv(self, type="", **kwargs): - """ - APDL Command: ASLV + elem + Element number of the ROM element for the ROM use pass analysis. - Selects those areas contained in the selected volumes. + cnum + Number of sweep conductor. - Parameters - ---------- - type - Label identifying the type of area select: + vmax + Maximum voltage. For the PI option, this voltage should be below + the pull-in voltage value. - S - Select a new set (default). + vinc1 + Voltage increment for Vmax (default = Vmax/20). - R - Reselect a set from the current set. + vinc2 + Voltage increment for pull-in voltage (default = 1). - A - Additionally select a set and extend the current set. + gap + Gap elements option: - U - Unselect a set from the current set. + 0 - Create gap elements (COMBIN40) (default). Notes ----- - This command is valid in any processor. + Vinc1 is used to ramp the sweep conductor voltage from 0 to Vmax. Vinc2 + is used to increase the sweep conductor voltage from Vmax to the pull- + in value if the PI sweep option is used. + + Because ramping the voltage may lead to the unstable region of an + electromechanical system, DCVSWP might not converge when the sweep + conductor voltage approaches the pull-in value. To avoid non-converged + solutions, you should use the gap option to create a set of spring-gap + elements (COMBIN40). By default, DCVSWP creates two spring-gap elements + with opposite orientations for each active modal displacement DOF of + the ROM element. The gap size is set to the maximum absolute values of + the deflection range for the corresponding mode, as calculated by + RMMSELECT or modified using the RMMRANGE command. The spring constants + are set to 1.E5 for all the COMBIN40 elements. Along with the spring- + gap elements, DCVSWP creates a set of constraint equations relating the + ROM element modal displacements DOF (EMF) and the displacement DOF (UX) + of the gap elements. Constraining the modal displacements using the + spring-gap elements allows DCVSWP to converge in the pull-in range. The + DCVSWP macro has a limit of 900 equilibrium iterations. If this limit + is not sufficient to reach convergence, try the advanced techniques + given in Overcoming Convergence Problems in the Structural Analysis + Guide. For more information on gap elements, see Using Gap Elements + with ROM144 in the Coupled-Field Analysis Guide. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "ASLV, %s" % (str(type)) + command = "DCVSWP,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(elem), str(cnum), str(vmax), str(vinc1), str(vinc2), str(gap)) self.RunCommand(command, **kwargs) - def Pred(self, sskey="", lskey="", **kwargs): + def Rdec(self, option ="", reduc ="", nplace ="", **kwargs): """ - APDL Command: PRED + APDL Command: RDEC - Activates a predictor in a nonlinear analysis. + Defines the decimation parameters. Parameters ---------- - sskey - Substep predictor key: + option + Command options: - OFF - No prediction occurs. + DEFINE - Defines the decimation parameters (default). - ON - Use a predictor on all substeps after the first. + STAT - Shows the status/listing. Other command options are ignored. - AUTO - The program uses a predictor but, within certain exceptions, automatically - switches prediction off. This behavior is the default; see - "Command Default" for details. + reduc + Approximate reduction in the number of surface elements. Valid + range is from 0.0 (no decimation, the default) to 1.0. This number + is a factor applied to the initial number of element radiosity + surfaces. -- Unused field. - lskey - Load step predictor: + nplace + Node placement algorithm - OFF - No prediction across load steps occurs. This is the default behavior. + OPTI - Optimal placement. An edge is collapsed by moving both nodes (I and J in the + figure below) to a new location. - ON - Use a predictor also on the first substep of the load step. (Sskey = ON is - required.) + SUBS - Subset placement. An edge is collapsed by moving one node to another one. In + the figure below, node I is moved to node J. Notes ----- - Activates a predictor in a nonlinear analysis on the degree-of-freedom - solution for the first equilibrium iteration of each substep. - - When using the arc-length method (ARCLEN, ARCTRM), you cannot issue the - DOF solution predictor command (PRED), the automatic time stepping - command (AUTOTS), or the line search command (LNSRCH). If you activate - the arc-length method after you set PRED, AUTOTS, or LNSRCH, a warning - message appears. If you elect to proceed with the arc-length method, - the program disables your DOF predictor, automatic time stepping, and - line search settings, and the time step size is controlled by the arc- - length method internally. - - When using step-applied loads, such as TUNIF, BFUNIF, etc., or other - types of non-monotonic loads, the predictor may adversely affect the - convergence. If the solution is discontinuous, the predictor may need - to be turned off. - - When performing a nonlinear analysis involving large rotations, the - predictor may require using smaller substeps. + Decimation is the process of simplifying a fine surface mesh into a + coarse one. This process is accomplished by a sequence of edge + collapses. - This command is also valid in PREP7. + The maximum degree of decimation (1.0) is unreachable. The real degree + of decimation is always less than 1.0 because the decimated mesh must + always consist of at least one element. """ - command = "PRED, %s, %s" % (str(sskey), str(lskey)) + command = "RDEC,%s,%s,%s" % (str(option ), str(reduc ), str(nplace )) self.RunCommand(command, **kwargs) - def Thexpand(self, key="", **kwargs): + def Edrun(self, option="", cons="", ncpu="", **kwargs): """ - APDL Command: THEXPAND + APDL Command: EDRUN - Enables or disables thermal loading + Specify LS-DYNA serial or parallel processing. Parameters ---------- - key - Activation key: - - ON - Thermal loading is included in the load vector (default). - - OFF - Thermal loading is not included in the load vector. - - Notes - ----- - Temperatures applied in the analysis are used by default to evaluate - material properties and contribute to the load vector if the - temperature does not equal the reference temperature and a coefficient - of thermal expansion is specified. - - Use THEXPAND,OFF to evaluate the material properties but not contribute - to the load vector. This capability is particularly useful when - performing a harmonic analysis where you do not want to include - harmonically varying thermal loads. It is also useful in a modal - analysis when computing a modal load vector but excluding the thermal - load. - - This command is valid for all analysis types except linear perturbation - modal and linear perturbation harmonic analyses. For these two linear - perturbation analysis types, the program internally sets THEXPAND,OFF, - and it cannot be set to ON by using this command (THEXPAND,ON is - ignored). - - """ - command = "THEXPAND, %s" % (str(key)) - self.RunCommand(command, **kwargs) + option + LS-DYNA processing option - def Cyl4(self, xcenter="", ycenter="", rad1="", theta1="", rad2="", - theta2="", depth="", **kwargs): - """ - APDL Command: CYL4 + SERIAL - Use serial processing (default) - Creates a circular area or cylindrical volume anywhere on the working - plane. + SMP - Use Shared Memory Parallel processing - Parameters - ---------- - xcenter, ycenter - Working plane X and Y coordinates of the center of the circle or - cylinder. + cons + Consistency setting (only applicable when Option = SMP) - rad1, rad2 - Inner and outer radii (either order) of the circle or cylinder. A - value of zero or blank for either RAD1 or RAD2, or the same value - for both RAD1 and RAD2, defines a solid circle or cylinder. + 0 - Result consistency is not required (default) - theta1, theta2 - Starting and ending angles (either order) of the circle or faces of - the cylinder. Used for creating a partial annulus or partial - cylinder. The sector begins at the algebraically smaller angle, - extends in a positive angular direction, and ends at the larger - angle. The starting angle defaults to 0° and the ending angle - defaults to 360°. See the Modeling and Meshing Guide for an - illustration. + 1 - Result consistency is required - depth - The perpendicular distance (either positive or negative based on - the working plane Z direction) from the working plane representing - the depth of the cylinder. If DEPTH = 0 (default), a circular area - is created on the working plane. + ncpu + Number of processors to use (applicable only with Option = SMP) Notes ----- - Defines a circular area anywhere on the working plane or a cylindrical - volume with one face anywhere on the working plane. For a solid - cylinder of 360°, the top and bottom faces will be circular (each area - defined with four lines) and they will be connected with two surface - areas (each spanning 180°). See the CYL5, PCIRC, and CYLIND commands - for alternate ways to create circles and cylinders. + The EDRUN command specifies either serial (one CPU) processing or + shared (multiple CPU) memory parallel processing (SMP). When using SMP, + the calculations may be executed in a different order, depending on CPU + availability and the load on each CPU. You may therefore see slight + differences in the results when running the same job multiple times, + either with the same number or a different number of processors. + Comparing nodal accelerations often shows wider discrepancies. To avoid + such differences, you can specify that consistency be maintained by + setting CONS = 1. Maintaining consistency can result in an increase of + up to 15 percent in CPU time. - When working with a model imported from an IGES file (DEFAULT import - option), you must provide a value for DEPTH or the command will be - ignored. + The parallel processing setting is only effective when you have + multiple CPUs and licenses for the appropriate number of ANSYS LS-DYNA + SMP tasks. If your site does not meet both requirements, the EDRUN + command sets serial processing, regardless of command settings. + + For more information on using SMP, see Solution Features in the ANSYS + LS-DYNA User's Guide. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "CYL4, %s, %s, %s, %s, %s, %s, %s" % (str(xcenter), str(ycenter), str(rad1), str(theta1), str(rad2), str(theta2), str(depth)) + command = "EDRUN,%s,%s,%s" % (str(option), str(cons), str(ncpu)) self.RunCommand(command, **kwargs) - def Lsbac(self, enginename="", rhsvector="", solvector="", **kwargs): + def Qrdopt(self, reusekey="", symmeth="", cmccoutkey="", **kwargs): """ - APDL Command: *LSBAC + APDL Command: QRDOPT - Performs the solve (forward/backward substitution) of a factorized - linear system. + Specifies additional QRDAMP modal analysis options. Parameters ---------- - enginename - Name used to identify this engine. Must have been previously - created using *LSENGINE and factorized using *LSFACTOR. - - rhsvector - Name of vector containing the right-hand side (load) vectors as - input. Must have been previously defined as a *VEC vector or a - *DMAT matrix. + reusekey + Reuse key for method=QRDAMP specified in MODOPT command. - solvector - Name of vector that will contain the solution vectors upon - completion. Must be predefined as a *VEC vector or *DMAT matrix. + ON - Reuse the symmetric eigensolution from the previous load steps or from the + previous solution. - Notes - ----- - This command performs forward and back substitution to obtain the - solution to the linear matrix equation Ax = b. The matrix engine must - have been previously defined using *LSENGINE, and the matrix factored - using *LSFACTOR. + OFF - Do not reuse (calculates symmetric eigensolution at current load step). This is + the default. - You can use the *DMAT,,,COPY (or *VEC,,,COPY) command to copy the load - vector to the solution vector in order to predefine it with the - appropriate size. + --, -- + Unused fields. - """ - command = "*LSBAC, %s, %s, %s" % (str(enginename), str(rhsvector), str(solvector)) - self.RunCommand(command, **kwargs) + symmeth + Mode-extraction method to be used for the symmetric eigenvalue + problem. - def Smbc(self, mode="", **kwargs): - """ - APDL Command: /SMBC + LANB - Block Lanczos (default for shared-memory parallel processing). - Controls the display of solid model boundary condition symbols and - labels. + SUBSP - Subspace algorithm (default for distributed-memory parallel processing). - Parameters - ---------- - mode - CENT + cmccoutkey + Complex Modal Contribution Coefficients (CMCC) output key. See + Calculate the Complex Mode Contribution Coefficients (CMCC) in the + Structural Analysis Guide for details and usage. - CENT - Solid model boundary condition symbols and labels appear at the centroid of the - solid model entity (default). + ON - Output the CMCC to the text file Jobname.CMCC. - TESS - Solid model boundary condition symbols and labels appear inside each - constituent element of the tessellation. + OFF - Do not output the CMCC. This is the default. Notes ----- - Mode = CENT is designed to reduce the clutter of boundary condition - symbols in solid model plots. For example, if you have assigned normal - pressure loads to an area, you may choose to display the pressures as - arrows with the /PSF command using /PSF,PRES,NORM,2. When Mode = CENT, - the pressure arrow is displayed at the centroid of the area. When Mode - = TESS, a pressure arrow is displayed at the centroid of each polygon - of the area's tessellation. + If the filename.modesym file exists in the working directory and + ReuseKey = ON, filename.modesym will be reused. If filename.modesym + does not exist in the working directory, the symmetric eigensolution + will be calculated. - This command is valid in any processor. + When ReuseKey=ON, both the new modal analysis (filename.modesym usage) + and the preceding modal analysis (filename.modesym generation) must be + performed using the same product version number. + + The mode-extraction method changes depending on the type of parallelism + involved. For performance reasons, the subspace method is used with + distributed-memory parallel processing (Distributed ANSYS) runs, while + the Block Lanczos method is used with shared-memory parallel processing + runs. """ - command = "/SMBC, %s" % (str(mode)) + command = "QRDOPT,%s,%s,%s" % (str(reusekey), str(symmeth), str(cmccoutkey)) self.RunCommand(command, **kwargs) - def Mfci(self, val1="", val2="", **kwargs): + def Pcirc(self, rad1="", rad2="", theta1="", theta2="", **kwargs): """ - APDL Command: MFCI + APDL Command: PCIRC - Sets the control parameters used by the conservative (CPP) - interpolation scheme. + Creates a circular area centered about the working plane origin. Parameters ---------- - val1 - Controls the pixel resolution. The higher the resolution, the more - accurate and more expensive the conservative (CPP) interpolation - will be. Valid values are 10 to 256; defaults to 100. + rad1, rad2 + Inner and outer radii (either order) of the circle. A value of + either zero or blank for either RAD1 or RAD2, or the same value for + both RAD1 and RAD2, defines a solid circle. - val2 - The separation factor to handle any gap between the two surfaces. - It is a relative measure of the gap, normalized by the averaged - element face sizes from both sides of the interface. Defaults to - 0.1. + theta1, theta2 + Starting and ending angles (either order) of the circular area. + Used for creating a circular sector. The sector begins at the + algebraically smaller angle, extends in a positive angular + direction, and ends at the larger angle. The starting angle + defaults to 0.0° and the ending angle defaults to 360.0°. See the + Modeling and Meshing Guide for an illustration. Notes ----- - In a conservative (CPP) interpolation scheme as specified on the - MFLCOMM command, each element face is first divided into n number of - faces, where n is the number of nodes on the face. The three- - dimensional faces are then converted onto a two-dimensional polygon - made up of rows and columns of dots called pixels. By default, these - pixels have a resolution of 100 x 100; use VAL1 to increase the - resolution and improve the accuracy of the algorithm. See Load - Interpolation in the Coupled-Field Analysis Guide for more information - on interpolation schemes and adjusting the pixel resolution for the - conservative interpolation scheme. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Defines a solid circular area or circular sector centered about the + working plane origin. For a solid circle of 360°, the area will be + defined with four keypoints and four lines. See the CYL4 and CYL5 + commands for alternate ways to create circles. """ - command = "MFCI, %s, %s" % (str(val1), str(val2)) + command = "PCIRC,%s,%s,%s,%s" % (str(rad1), str(rad2), str(theta1), str(theta2)) self.RunCommand(command, **kwargs) - def Gmatrix(self, symfac="", condname="", numcond="", matrixname="", - **kwargs): + def Mwrite(self, parr="", fname="", ext="", label="", n1="", n2="", n3="", + **kwargs): """ - APDL Command: GMATRIX + APDL Command: *MWRITE - Performs electric field solutions and calculates the self and mutual - conductance between multiple conductors. + Writes a matrix to a file in a formatted sequence. Parameters ---------- - symfac - Geometric symmetry factor. Conductance values are scaled by this - factor which represents the fraction of the total device modeled. - Defaults to 1. + parr + The name of the array parameter. See *SET for name restrictions. - condname - Alphanumeric prefix identifier used in defining named conductor - components. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - numcond - Total number of components. If a ground is modeled, it is to be - included as a component. + ext + Filename extension (eight-character maximum). -- Unused field. - matrixname - Array name for computed conductance matrix. Defaults to GMATRIX. + label + Can use a value of IJK, IKJ, JIK, JKI, KIJ, KJI, or blank (JIK). + + n1, n2, n3 + Write as (((ParR(i,j,k), k = 1,n1), i = 1, n2), j = 1, n3) for + Label = KIJ. n1, n2, and n3 default to the corresponding dimensions + of the array parameter ParR. Notes ----- - To invoke the GMATRIX macro, the exterior nodes of each conductor must - be grouped into individual components using the CM command. Each set - of independent components is assigned a component name with a common - prefix followed by the conductor number. A conductor system with a - ground must also include the ground nodes as a component. The ground - component is numbered last in the component name sequence. - - A ground conductance matrix relates current to a voltage vector. A - ground matrix cannot be applied to a circuit modeler. The lumped - conductance matrix is a combination of lumped "arrangements" of - voltage differences between conductors. Use the lumped conductance - terms in a circuit modeler to represent conductances between - conductors. - - Enclose all name-strings in single quotes in the GMATRIX command line. - - GMATRIX works with the following elements: + Writes a matrix or vector to a specified file in a formatted sequence. + You can also use the *VWRITE command to write data to a specified file. + Both commands contain format descriptors on the line immediately + following the command. The format descriptors can be in either Fortran + or C format. - SOLID5 (KEYOPT(1) = 9) - - SOLID98 (KEYOPT(1) = 9) - - LINK68 - - PLANE230 - - SOLID231 - - SOLID232 + Fortran format descriptors are enclosed in parentheses. They must + immediately follow the *MWRITE command on a separate line of the same + input file. The word FORMAT should not be included. The format must + specify the number of fields to be written per line, the field width, + the placement of the decimal point, etc. There should be one field + descriptor for each data item written. The write operation uses the + available system FORTRAN FORMAT conventions (see your system FORTRAN + manual). Any standard FORTRAN real format (such as (4F6.0), + (E10.3,2X,D8.2), etc.) and character format (A) may be used. Integer + (I) and list-directed (*) descriptors may not be used. Text may be + included in the format as a quoted string. The FORTRAN descriptor must + be enclosed in parentheses and the format must not exceed 80 characters + (including parentheses). - This command is available from the menu path shown below only if - existing results are available. + The “C” format descriptors are used if the first character of the + format descriptor line is not a left parenthesis. “C” format + descriptors may be up to 80 characters long, consisting of text strings + and predefined "data descriptors" between the strings where numeric or + alphanumeric character data are to be inserted. The normal descriptors + are %I for integer data, %G for double precision data, %C for + alphanumeric character data, and %/ for a line break. There must be one + data descriptor for each specified value in the order of the specified + values. The enhanced formats described in *MSG may also be used. - This command does not support multiframe restarts + The starting array element number must be defined. Looping continues in + the directions indicated by the Label argument. The number of loops and + loop skipping may also be controlled with the *VLEN and *VMASK + commands, which work in the n2 direction (by row on the output file), + and by the *VCOL command, which works in the n1 direction (by column + in the output file). The vector specifications *VABS and *VFACT apply + to this command, while *VCUM does not apply to this command. See the + *VOPER command for details. If you are in the GUI, the *MWRITE command + must be contained in an externally prepared file and read into ANSYS + (i.e., *USE, /INPUT, etc.). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "GMATRIX, %s, %s, %s, %s" % (str(symfac), str(condname), str(numcond), str(matrixname)) + command = "*MWRITE,%s,%s,%s,%s,%s,%s,%s" % (str(parr), str(fname), str(ext), str(label), str(n1), str(n2), str(n3)) self.RunCommand(command, **kwargs) - def Hrout(self, reimky="", clust="", mcont="", **kwargs): + def Devdisp(self, label="", key="", **kwargs): """ - APDL Command: HROUT + APDL Command: /DEVDISP - Specifies the harmonic analysis output options. + Controls graphics device options. Parameters ---------- - reimky - Real/Imaginary print key: + label + Device function label: - ON - Print complex displacements as real and imaginary components (default). + BBOX - Disables display information sorting for PowerGraphics displays. When activated + (KEY = 1 or ON), model rotations and replots are performed + without recalculating edge and surface data. This will speed + up the rotation (especially for 2-D displays) of large + models, although the display information will not be + resolved as quickly (you will see a bounding box instead of + the model during dynamic rotations). The default is OFF (KEY + = 0). - OFF - Print complex displacements as amplitude and phase angle (degrees). + DITHER - Dithering. When turned on (default), dithering smooths transitions in color + intensity. Applies only to Z-buffered displays. - clust - Cluster option (for HROPT,MSUP): + FONT - Font selection for the ANSYS graphics window. When Label = FONT, the command + format is: /DEVDISP,FONT,KEY,Val1,Val2,Val3,VAL4,Val5,Val6, + where KEY determines the type of font being controlled, and + values 1 through 6 control various font parameters. Note + that these values are device specific; using the same + command input file [/INPUT] on different machines may yield + different results.The following KEY values determine the + font information that will be supplied to the appropriate + driver (e.g., Postscript, X11, Win32, JPEG, ...): - OFF - Uniform spacing of frequency solutions (default). + KEY = 1 - The command controls the LEGEND (documentation column) font. - ON - Cluster frequency solutions about natural frequencies. + KEY = 2 - The command controls the ENTITY (node and keypoint number) font. - mcont - Mode contributions key (for HROPT,MSUP): + KEY = 3 - The command controls the ANNOTATION/GRAPH font. - OFF - No print of mode contributions at each frequency (default). + Linux: Values 1 through 4 are used to find a match in the X11 database of font strings. Values 1, 2, and 3 are character strings; value 4 is a nonzero integer: - Val1 - ON - Print mode contributions at each frequency. + Family name (e.g., Courier*New). Substitute an asterisk (*) for any blank character that appears in a family name. If Val1 = MENU, all other values are ignored, and a font selection menu appears (GUI must be active). - Val2 - Notes - ----- - Specifies the harmonic analysis (ANTYPE,HARMIC) output options. If - used in SOLUTION, this command is valid only within the first load - step. OUTPR,NSOL must be specified to print mode contributions at each - frequency. + Weight (e.g., medium) - Val3 - This command is ignored if the HROPT command has been issued with - Method = VT, VTPA, or VTRU. Displacements are not available at expanded - frequencies with these solution methods. + Slant (e.g., r) - Val4 - For cyclic symmetry mode-superposition harmonic solutions, the cluster - option is not available. + Pixel size (e.g., 14). Note that this value does not affect the annotation fonts (KEY = 3). Use the /TSPEC command to control the pixel size of your annotation fonts. - Val5 - This command is also valid in PREP7. + unused - Val6 + + unused - PC: The values are encoded in a PC logical font structure. Value 1 is a + character string, and the remaining values are integers: + + Val1 - Family name (e.g., Courier*New) Substitute an asterisk (*) for any blank + character that appears in a family name. If Val1 = MENU, all + other values are ignored and a font selection menu appears + (GUI must be active). A value containing all blank + characters causes ANSYS to use the first available resource + it finds. + + Val2 - Weight (0 - 1000) + + Val3 - Orientation (in tenths of a degree) + + Val4 - Height (in logical units) Note that this value does not affect the annotation + fonts (KEY =3). Use the /TSPEC command to control the height + of your annotation fonts. + + Val5 - Width (in logical units) + + Val6 - Italics (0 = OFF, 1 = ON) + + TEXT - Text size specification for the ANSYS Graphics window. When Label = TEXT, the + command format is: /DEVDISP,TEXT,KEY,PERCENT, where KEY + determines the type of text being controlled (1 for LEGEND, + and 2 for ENTITY), and PERCENT specifies the new text size + as a percent of the default text size. If PERCENT = 100, + the new text size is precisely the default size. If PERCENT + = 200, the new text size is twice the default text size. + + key + Control key: + + OFF or 0 - Turns specified function off. + + ON or 1 - Turns specified function on. """ - command = "HROUT, %s, %s, %s" % (str(reimky), str(clust), str(mcont)) + command = "/DEVDISP,%s,%s" % (str(label), str(key)) self.RunCommand(command, **kwargs) - def Czmesh(self, ecomps1="", ecomps2="", kcn="", kdir="", value="", - cztol="", **kwargs): + def Krefine(self, np1="", np2="", ninc="", level="", depth="", post="", + retain="", **kwargs): """ - APDL Command: CZMESH + APDL Command: KREFINE - Create and mesh an interface area composed of cohesive zone elements. + Refines the mesh around specified keypoints. Parameters ---------- - ecomps1 - Component name or number for the group of plane or solid structural - elements adjacent to the interface being meshed. + np1, np2, ninc + Keypoints (NP1 to NP2 in increments of NINC) around which the mesh + is to be refined. NP2 defaults to NP1, and NINC defaults to 1. If + NP1 = ALL, NP2 and NINC are ignored and all selected keypoints are + used for refinement. If NP1 = 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 NP1 (NP2 and NINC are + ignored). - ecomps2 - Component name or number for the opposing (from ecomps1) group of - plane or solid structural elements adjacent to the interface being - meshed. + level + Amount of refinement to be done. Specify the value of LEVEL as an + integer from 1 to 5, where a value of 1 provides minimal + refinement, and a value of 5 provides maximum refinement (defaults + to 1). - kcn - Coordinate system number for the separation surface and normal - direction. (if ecomps1 and ecomps2 not specified) + depth + Depth of mesh refinement in terms of the number of elements outward + from the indicated keypoints (defaults to 1). - kdir - Direction (x, y, or z) normal to separation surface in the KCN - coordinate system (if ecomps1 and ecomps2 not specified). + post + Type of postprocessing to be done after element splitting, in order + to improve element quality: - value - Coordinate value along the KDIR axis at which to locate the - interface (if ecomps1 and ecomps2 not specified). + OFF - No postprocessing will be done. - cztol - Optional absolute tolerance about VALUE (if ecomps1 and ecomps2 not - specified). Allows nodes occurring slightly above or below the - separation to be grouped properly. The following expression - represents the default value: + SMOOTH - Smoothing will be done. Node locations may change. - Notes - ----- - CZMESH is used on a mesh with shared nodes at the interface. + CLEAN - Smoothing and cleanup will be done. Existing elements may be deleted, and node + locations may change (default). - If ecomps1 and ecomps2 are specified, the CZMESH command creates/meshes - interface elements (INTER202, INTER203, INTER204, INTER205) along the - boundary between the two components or groups of elements. + retain + Flag indicating whether quadrilateral elements must be retained in + the refinement of an all-quadrilateral mesh. (The ANSYS program + ignores the RETAIN argument when you are refining anything other + than a quadrilateral mesh.) - The elements in each of the components or groups of elements will share - nodes with each other and also with the interface elements. This one- - element thick boundary of interface elements will split the body - between the two components or groups of elements. + ON - The final mesh will be composed entirely of quadrilateral elements, regardless + of the element quality (default). - Subsequent separation (delamination and failure) of the interface zone - will result in an increasing displacement between the nodes (within the - interface element) along the cohesive zone elements. Unless otherwise - specified, the CZMESH command analyzes the configuration and geometry - of the adjacent structural elements and provides the appropriate - interface element. + OFF - The final mesh may include some triangular elements in order to maintain + element quality and provide transitioning. - The CZMESH operation copies any nodal temperatures you have defined on - the split surface of the original mesh from the original nodes to the - newly created coincident duplicate nodes. However, displacements, - forces, and other boundary conditions are not copied. + Notes + ----- + KREFINE performs local mesh refinement around the specified keypoints. + By default, the indicated elements are split to create new elements + with 1/2 the edge length of the original elements (LEVEL = 1). - The CZMESH command is valid for structural analyses only. + KREFINE refines all area elements and tetrahedral volume elements that + are adjacent to the specified keypoints. Any volume elements that are + adjacent to the specified keypoints, but are not tetrahedra (for + example, hexahedra, wedges, and pyramids), are not refined. + + You cannot use mesh refinement on a solid model that contains initial + conditions at nodes [IC], coupled nodes [CP family of commands], + constraint equations [CE family of commands], or boundary conditions or + loads applied directly to any of its nodes or elements. This applies + to nodes and elements anywhere in the model, not just in the region + where you want to request mesh refinement. See Revising Your Model in + the Modeling and Meshing Guide for additional restrictions on mesh + refinement. + + This command is also valid for rezoning. """ - command = "CZMESH, %s, %s, %s, %s, %s, %s" % (str(ecomps1), str(ecomps2), str(kcn), str(kdir), str(value), str(cztol)) + command = "KREFINE,%s,%s,%s,%s,%s,%s,%s" % (str(np1), str(np2), str(ninc), str(level), str(depth), str(post), str(retain)) self.RunCommand(command, **kwargs) - def Sf(self, nlist="", lab="", value="", value2="", **kwargs): + def Parain(self, name="", extension="", path="", entity="", fmt="", + scale="", **kwargs): """ - APDL Command: SF + APDL Command: ~PARAIN - Specifies surface loads on nodes. + Transfers a Parasolid file into the ANSYS program. Parameters ---------- - nlist - Nodes defining the surface upon which the load is to be applied. - Use the label ALL or P, or a component name. If ALL, all selected - nodes [NSEL] are used (default). If P, graphical picking is - enabled and all remaining command fields are ignored (valid only in - the GUI). + name + The name of a valid Parasolid file. The first character of the file + name must be an alphanumeric. - lab - Valid surface load label. Load labels are listed under "Surface - Loads" in the input table for each element type in the Element - Reference. + extension + The extension for the file. The default extension is .x_t on a PC + or .xmt_txt on a Linux system. Parasolid files are compatible + across systems, and do not need to be renamed to be used on another + platform. - value - Surface load value or table name reference for specifying tabular - boundary conditions. + path + The path name of the directory in which the file resides, enclosed + in single quotes. The default path name is the current working + directory. - value2 - Second surface load value (if any). + entity + Entity to be imported: - Notes - ----- - Individual nodes may not be entered for this command. The node list is - to identify a surface and the Nlist field must contain a sufficient - number of nodes to define an element surface. The loads are internally - stored on element faces defined by the specified nodes. All nodes on - an element face (including midside nodes, if any) must be specified for - the face to be used, and the element must be selected. + SOLIDS - Solids only, imported as ANSYS volumes (default) - If all nodes defining a face are shared by an adjacent face of another - selected element, the face is not free and will not have a load - applied. If more than one element can share the same nodes (for - example, a surface element attached to a solid element), select the - desired element type before issuing the SF command. The SF command - applies only to area and volume elements. + SURFACES - Surfaces only, imported as ANSYS areas. - For shell elements, if the specified nodes include face one (which is - usually the bottom face) along with other faces (such as edges), only - face one is used. Where faces cannot be uniquely determined from the - nodes, or where the face does not fully describe the load application, - use the SFE command. A load key of 1 (which is typically the first - loading condition on the first face) is used if the face determination - is not unique. A uniform load value is applied over the element face. + WIREFRAME - Wireframe only, imported as ANSYS lines. - See the SFBEAM command for applying surface loads to beam elements. - See the SFGRAD command for an alternate tapered load capability. See - the SFFUN command for applying loads from a node vs. value function. - Also see the SFE command for applying tapered loads on individual - element faces. Use the SFDELE command to delete loads applied with - this command. Use the SFCUM command to accumulate (add) surface loads - applied with SF. + ALL - All entities. Use this option when the file contains more than one type of + entity. - Tabular boundary conditions (VALUE = %tabname% and/or VALUE2 = - %tabname%) are available for the following surface load labels (Lab) - only: : PRES (real and/or imaginary components), CONV (film coefficient - and/or bulk temperature) or HFLUX, DFLUX (diffusion flux), RAD (surface - emissivity and ambient temperature), IMPD (resistance and reactance), - SHLD (normal velocity and phase or acceleration), and ATTN (attenuation - coefficient). Use the *DIM command to define a table. + fmt + Sets the format in which ANSYS will store the model - This command is also valid in PREP7 and in the /MAP processor. + 0 - Neutral format (default). Defeaturing after import is restricted. Use this + option if you need to scale a model to a specific unit of + measure (other than meters). - """ - command = "SF, %s, %s, %s, %s" % (str(nlist), str(lab), str(value), str(value2)) - self.RunCommand(command, **kwargs) + 1 - Solid format; this allows defeaturing after import. - def Sftran(self, **kwargs): - """ - APDL Command: SFTRAN + scale + Allows scaling for the model - Transfer the solid model surface loads to the finite element model. + 0 - Do not rescale the model; retain the default Parasolid setting of meters + (default). + + 1 - Scale the model if warranted by the model size. Notes ----- - Surface loads are transferred only from selected lines and areas to all - selected elements. The SFTRAN operation is also done if the SBCTRAN - command is issued or automatically done upon initiation of the solution - calculations [SOLVE]. - - This command is also valid in PREP7. + More information on importing Parasolid parts is available in Parasolid + in the Connection User's Guide. """ - command = "SFTRAN, " % () + command = "~PARAIN,%s,%s,%s,%s,%s,%s" % (str(name), str(extension), str(path), str(entity), str(fmt), str(scale)) self.RunCommand(command, **kwargs) - def Synchro(self, ratio="", cname="", **kwargs): + def Ftcalc(self, nloc="", node="", **kwargs): """ - APDL Command: SYNCHRO + APDL Command: FTCALC - Specifies whether the excitation frequency is synchronous or - asynchronous with the rotational velocity of a structure. + Performs fatigue calculations for a particular node location. Parameters ---------- - ratio - The ratio between the frequency of excitation and the frequency of - the rotational velocity of the structure. This value must be - greater than 0. The default is an unbalance excitation (RATIO = - 1.0). - - cname - The name of the rotating component on which to apply the harmonic - excitation. - - Notes - ----- - The SYNCHRO command specifies whether the excitation frequency is - synchronous or asynchronous with the rotational velocity of a structure - in a harmonic analysis. Use the command to take into account rotating - harmonic forces on rotating structures. - - Mechanical APDL calculatestes the rotational velocity Ω of the - structure from the excitation frequency f, defined (via the HARFRQ - command) as Ω = 2πf / RATIO. The rotational velocity is applied along - the direction cosines of the rotation axis (specified via an OMEGA or - CMOMEGA command). - - Specifying any value for RATIO causes a general rotational force - excitation and not an unbalance force. To define an unbalance - excitation force (F = Ω2 * Unb), RATIO should be left blank (the nodal - unbalance Unb is specified via the F command). + nloc + Location number of stress conditions to be used for fatigue + calculation. - The SYNCHRO command is valid only for a full-solution harmonic analysis - (HROPT,Method = FULL) and the Variational Technology method - (HROPT,Method = VT) involving a rotating structure (OMEGA or CMOMEGA) - with Coriolis enabled in a stationary reference frame - (CORIOLIS,,,,RefFrame = ON). + node + Node number (used only for convenience if NLOC is not input). """ - command = "SYNCHRO, %s, %s" % (str(ratio), str(cname)) + command = "FTCALC,%s,%s" % (str(nloc), str(node)) self.RunCommand(command, **kwargs) - def Prvar(self, nvar1="", nvar2="", nvar3="", nvar4="", nvar5="", nvar6="", - **kwargs): + def Trnopt(self, method="", maxmode="", minmode="", mcout="", tintopt="", + vaout="", **kwargs): """ - APDL Command: PRVAR + APDL Command: TRNOPT - Lists variables vs. time (or frequency). + Specifies transient analysis options. Parameters ---------- - nvar1, nvar2, nvar3, . . . , nvar6 - Variables to be displayed, defined either by the reference number - or a unique thirty-two character name. If duplicate names are used - the command will print the data for the lowest-numbered variable - with that name. + method + Solution method for the transient analysis: - Notes - ----- - Lists variables vs. time (or frequency). Up to six variables may be - listed across the line. Time column output format can be changed using - the /FORMAT command arguments Ftype, NWIDTH, and DSIGNF. + FULL - Full method (default). - """ - command = "PRVAR, %s, %s, %s, %s, %s, %s" % (str(nvar1), str(nvar2), str(nvar3), str(nvar4), str(nvar5), str(nvar6)) - self.RunCommand(command, **kwargs) + MSUP - Mode-superposition method. - def Force(self, lab="", **kwargs): - """ - APDL Command: FORCE + VT - Variational Technology method. - Selects the element nodal force type for output. + maxmode + Largest mode number to be used to calculate the response (for + Method = MSUP). Defaults to the highest mode calculated in the + preceding modal analysis. - Parameters - ---------- - lab - Type of force to be associated with the force items: + -- + Unused field. - TOTAL - Total forces (static, damping, and inertia). + minmode + Smallest mode number to be used (for Method = MSUP). Defaults to + 1. - STATIC - Static forces. + mcout + Modal coordinates output key (valid only for the mode-superposition + method): - DAMP - Damping forces. + NO - No output of modal coordinates (default). - INERT - Inertia forces. + YES - Output modal coordinates to the text file Jobname.MCF. + + tintopt + Time integration method for the transient analysis: + + NMK or 0 - Newmark algorithm (default). + + HHT or 1 - HHT algorithm (valid only for the full transient method). + + vaout + Velocities and accelerations output key (valid only for mode- + superposition transient analysis): + + NO - No output of velocities and accelerations (default). + + YES - Write velocities and accelerations on the reduced displacement file + Jobname.RDSP. Notes ----- - FORCE selects the element nodal force type for output with the POST1 - PRESOL, PLESOL, PRRFOR, NFORCE, FSUM, etc. commands, the POST26 ESOL - command, and reaction force plotting [/PBC]. For example, FORCE,STATIC - causes item F of the PRESOL command to be the static forces for the - elements processed. Element member forces (such as those available for - beams and shells and processed by Item and Sequence number) are not - affected by this command. The SMISC records extract the static force. + Specifies transient analysis (ANTYPE,TRANS) options. If used in + SOLUTION, this command is valid only within the first load step. Use + the TINTP command to set transient integration parameters. - The PRRSOL command is not valid with FORCE. Use the PRRFOR command, - which provides the same functionality as PRRSOL, instead. + Method = VT is valid for either thermal or structural analysis, where + it attempts to reduce the total number of iterations. Both linear and + nonlinear structural transient analyses are supported. The VT method is + a full transient solution. - Use the FORCE command prior to any load case operations (LCOPER) to - insure the correct element nodal force combinations. + To include residual vectors in your mode-superposition transient + analysis (Method = MSUP), specify RESVEC,ON. - In POST26, the ESOL data stored is based on the active FORCE - specification at the time the data is stored. To store data at various - specifications (for example, static and inertia forces), issue a STORE - command before each new specification. + Method = MSUP is not available for ocean loading. - The FORCE command cannot be used to extract static, damping, and - inertial forces for MPC184 joint elements. + This command is also valid in PREP7. - To retrieve the different force types, use the *GET command with - Entity=ELEM and Item1=EFOR. + Distributed ANSYS Restriction: The VT transient solution method is not + supported in Distributed ANSYS. - The FORCE command is not supported in a spectrum analysis. You can - specify the force type directly on the combination method commands - (ForceType on the PSDCOM, SRSS, CQC, etc. commands). + Additional product restrictions for the TRNOPT command are shown in the + table below. - The FORCE command is not supported in a modal analysis. + The ANSYS Professional - Nonlinear Thermal (PR) product supports the + Method = FULL option only when thermal degrees of freedom are present + in the model. """ - command = "FORCE, %s" % (str(lab)) + command = "TRNOPT,%s,%s,%s,%s,%s,%s" % (str(method), str(maxmode), str(minmode), str(mcout), str(tintopt), str(vaout)) self.RunCommand(command, **kwargs) - def Elbow(self, transkey="", tol="", dof="", cons1="", cons2="", cons3="", - cons4="", **kwargs): + def Rmalist(self, **kwargs): """ - APDL Command: ELBOW + APDL Command: RMALIST - Specifies degrees of freedom to be coupled for end release and applies - section constraints to elbow elements. + Lists all defined master nodes for a ROM method. - Parameters - ---------- - transkey - Pipe-to-elbow transition flag: + Notes + ----- + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - OFF - Do not automatically transition pipes to elbows. (This behavior is the - default.) + """ + command = "RMALIST," % () + self.RunCommand(command, **kwargs) - ON - Automatically convert straight PIPE289 elements to ELBOW290 elements where it - is beneficial. The program converts elements in transition - regions where curved ELBOW290 elements are connected to - straight PIPE289 elements. + def Linl(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nl7="", + nl8="", nl9="", **kwargs): + """ + APDL Command: LINL - tol - Angle tolerance (in degrees) between adjacent ELBOW290 elements. - The default value is 20. A value of -1 specifies all selected - ELBOW290 elements. + Finds the common intersection of lines. - dof - Degrees of freedom to couple: + Parameters + ---------- + nl1, nl2, nl3, . . . , nl9 + Numbers of lines to be intersected. If NL1 = ALL, find the + intersection of all selected lines and NL2 to NL9 are ignored. If + NL1 = 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 NL1. - ALL - Couple all nodal degrees of freedom (UX, UY, UZ, ROTX, ROTY, and ROTZ). This - behavior is the default. + Notes + ----- + Finds the common (not pairwise) intersection of lines. The common + intersection is defined as the regions shared (in common) by all lines + listed on this command. New lines will be generated where the original + lines intersect. If the regions of intersection are only points, new + keypoints will be generated instead. See the Modeling and Meshing + Guide for an illustration. See the BOPTN command for the options + available to Boolean operations. Element attributes and solid model + boundary conditions assigned to the original entities will not be + transferred to the new entities generated. - BALL - Create ball joints (equivalent to releasing ROTX, ROTY, and ROTZ). + """ + command = "LINL,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nl7), str(nl8), str(nl9)) + self.RunCommand(command, **kwargs) - cons1, cons2, cons3, cons4 - Section degrees of freedoms to constrain. If Cons1 through Cons4 - are unspecified, no section constraints are applied: + def Sftran(self, **kwargs): + """ + APDL Command: SFTRAN - SECT - All section deformation + Transfer the solid model surface loads to the finite element model. - SE - Section radial expansion + Notes + ----- + Surface loads are transferred only from selected lines and areas to all + selected elements. The SFTRAN operation is also done if the SBCTRAN + command is issued or automatically done upon initiation of the solution + calculations [SOLVE]. - SO - Section ovalization + This command is also valid in PREP7. - SW - Section warping + """ + command = "SFTRAN," % () + self.RunCommand(command, **kwargs) - SRA - Local shell normal rotation about cylindrical axis t2 + def Alist(self, na1="", na2="", ninc="", lab="", **kwargs): + """ + APDL Command: ALIST - SRT - Local shell normal rotation about cylindrical axis t1 + Lists the defined areas. + + Parameters + ---------- + na1, na2, ninc + List areas from NA1 to NA2 (defaults to NA1) in steps of NINC + (defaults to 1). If NA1 = ALL (default), NA2 and NINC are ignored + and all selected areas [ASEL] are listed. If NA1 = P, graphical + picking is enabled and all remaining arguments are ignored (valid + only in the GUI). A component name may also be substituted for NA1 + (NA2 and NINC are ignored). + + lab + Determines what type of listing is used (one of the following): + + (blank) - Prints information about all areas in the specified range. + + HPT - Prints information about only those areas that contain hard points. Notes ----- - The ELBOW command specifies end releases and section constraints for - ELBOW290 elements and converts straight PIPE289 elements to ELBOW290 - elements. + An attribute (TYPE, MAT, REAL, or ESYS) listed as a zero is unassigned; + one listed as a positive value indicates that the attribute was + assigned with the AATT command (and will not be reset to zero if the + mesh is cleared); one listed as a negative value indicates that the + attribute was assigned using the attribute pointer [TYPE, MAT, REAL, or + ESYS] that was active during meshing (and will be reset to zero if the + mesh is cleared). A "-1" in the "nodes" column indicates that the area + has been meshed but there are no interior nodes. The area size is + listed only if an ASUM command has been performed on the area. - Curved PIPE289 elements are not converted to ELBOW290 elements. + """ + command = "ALIST,%s,%s,%s,%s" % (str(na1), str(na2), str(ninc), str(lab)) + self.RunCommand(command, **kwargs) - ELBOW290 elements are generated only if there are existing ELBOW290 - elements in the curved areas. + def Vec(self, vector="", type="", method="", val1="", val2="", val3="", + val4="", **kwargs): + """ + APDL Command: *VEC - The command works on currently selected nodes and elements. It creates - end releases on any two connected elbow elements whose angle at - connection exceeds the specified tolerance. From within the GUI, the - Picked node option generates an end release and section constraints at - the selected node regardless of the angle of connection (that is, the - angle tolerance [TOL ] is set to -1). + Creates a vector. - Elbow and pipe elements must share the same section ID in order for the - pipe-to-elbow transition to occur. + Parameters + ---------- + vector + Name used to identify the vector. Must be specified. - To list the elements altered by the ELBOW command, issue an ELIST - command. + type + Vector type: - To list the coupled sets generated by the ELBOW command, issue a CPLIST - command. + Double precision real values (default). - Complex double precision values. - To list the section constraints generated by the ELBOW command, issue a - DLIST command. + method + Method used to create the vector: - """ - command = "ELBOW, %s, %s, %s, %s, %s, %s, %s" % (str(transkey), str(tol), str(dof), str(cons1), str(cons2), str(cons3), str(cons4)) - self.RunCommand(command, **kwargs) + Allocate space for a vector (default). - Resize an existing vector to a new length. Values are kept from the original + vector. If the length specified by Val1 is + greater than the original vector length, the + additional rows are assigned a value of zero. - def Calc(self, **kwargs): - """ - APDL Command: CALC + Copy an existing vector. - Import the vector from a file. - Specifies "Calculation settings" as the subsequent status topic. + val1, val2, val3, val4, val5 + Additional input. The meaning of Val1 through Val5 will vary + depending on the specified Method. See details below. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Use the *DMAT command to create a matrix. - If entered directly into the program, the STAT command should - immediately follow this command. + For more information on the BACK and FORWARD nodal mapping vectors, see + Degree of Freedom Ordering in the ANSYS Parametric Design Language + Guide. """ - command = "CALC, " % () + command = "*VEC,%s,%s,%s,%s,%s,%s,%s" % (str(vector), str(type), str(method), str(val1), str(val2), str(val3), str(val4)) self.RunCommand(command, **kwargs) - def Pvect(self, oper="", labxr="", labyr="", labzr="", **kwargs): + def Edpart(self, option="", partid="", cname="", **kwargs): """ - APDL Command: PVECT + APDL Command: EDPART - Interpolates a set of items onto a path. + Configures parts for an explicit dynamics analysis. Parameters ---------- - oper - Valid operations for geometry operations along a path are: + option + Option used to organize parts. (No default; Option must be + specified.) - NORM - Defines a unit normal vector at each interpolation point in the direction of - the cross product of the tangent to the path and the active - Z axis. Resulting vector components are in the active - coordinate system (which must be Cartesian). + CREATE - Creates new PART IDs assigned to groups of elements with unique combinations of + MAT, TYPE, and REAL set numbers. If this option is issued + repeatedly, the part list is overwritten, except for PART + IDs created with the ADD option. Remaining fields are + ignored for this option. - TANG - Defines a unit vector tangent to the path at each interpolation point. Vector - components are in the active coordinate system (which must - be Cartesian). + UPDATE - Updates the PART IDs for the element groups without changing the order of the + existing part list. If elements are redefined (or new + elements are created) with different MAT, TYPE, or REAL + set numbers, then use this option to create an updated + list of PART IDs. Remaining fields are ignored for this + option. - RADI - Defines the position vector of each interpolation point of the path from the - center of the active coordinate system (which must be - Cartesian). + ADD - Assigns a user-specified PART ID (PARTID) to the elements contained in the + element component Cname, or to the currently selected set of + elements if Cname = ALL. Use this option to assign a specific + PART ID to an element group that has the same combination of + MAT, TYPE, and REAL set numbers. An UPDATE operation is + automatically performed on the currently selected set of + elements immediately following the ADD operation. - labxr - Label (8 characters maximum) assigned to X-component of the - resulting vector. + DELE - Deletes a PART ID assigned by the ADD option. PARTID is also required. An + UPDATE operation is automatically performed on the currently + selected set of elements immediately following the DELE + operation. - labyr - Label (8 characters maximum) assigned to Y-component of the - resulting vector. + LIST - Lists the PART IDs for the element groups. The part list consists of five + columns of numbers, one each for PART, MAT, TYPE, and REAL + numbers, and one to indicate if the PART ID is used + (including how many elements use it). The part list is based + on the last CREATE or UPDATE operation. Remaining fields are + ignored for this option. - labzr - Label (8 characters maximum) assigned to Z-component of the - resulting vector. + partid + A positive integer to be used as PART ID for the elements specified + by Cname (no default). The number input must not be currently used + for an existing part (except when Option = DELE). Any previously + defined PART IDs for the elements, whether assigned by the user or + created by ANSYS LS-DYNA, will be overwritten. The user-specified + PART ID will not be changed by subsequent EDPART,CREATE or + EDPART,UPDATE commands. + + cname + Element component name for user-specified PART ID definition + (Option = ADD). If Cname = ALL (default), all currently selected + elements are considered for the part. The elements in the element + component (or the currently selected set of elements if Cname = ALL + or blank) must have the same combination of MAT, TYPE, and REAL set + numbers, or the ADD option will be ignored. Notes ----- - Defines and interpolates a set of labeled path items along predefined - path [PATH] and performs various geometric operations on these path - items. A path item must be defined before it can be used with other - path operations. Additional path items may be defined with the PDEF, - PCALC, PDOT, and PCROSS commands. Path items may be listed or - displayed with the PLPATH, PLPAGM and PRPATH commands. Path geometry - items (XG, YG, ZG, S) are automatically interpolated (in the active - CSYS) if not done so previously with the PDEF command. + Certain ANSYS LS-DYNA commands (such as EDCGEN, EDLOAD, EDREAD, etc.) + refer to PART IDs. You must define PART IDs (EDPART,CREATE or + EDPART,ADD) before using these commands. + + If parts are repeatedly created using Option = CREATE, the part list is + continuously overwritten. This may cause problems for previously + defined commands that reference a part number that has changed. To + avoid this problem, the part list should be updated (Option = UPDATE) + rather than recreated to obtain the current part list. + + EDPART,ADD allows you to assign a specific part number to a group of + elements instead of a number generated by the ANSYS LS-DYNA program. + The user-specified PART IDs will not be changed by subsequent + EDPART,CREATE or EDPART,UPDATE commands. Thus, you can use EDPART,ADD + to specify PART IDs for some element groups, and use EDPART,CREATE or + EDPART,UPDATE to assign PART IDs for the remaining element groups. Use + EDPART,DELE to delete a PART ID generated by the ADD option. In this + case, ANSYS LS-DYNA will generate a new PART ID for those elements + associated with the deleted PART ID. + + After creating or updating the part list, use EDPART,LIST to list the + PART IDs and choose the correct one for use with other ANSYS LS-DYNA + commands. For a detailed discussion on PART IDs, see The Definition of + Part in the ANSYS LS-DYNA User's Guide. + + This command is also valid in SOLUTION. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "PVECT, %s, %s, %s, %s" % (str(oper), str(labxr), str(labyr), str(labzr)) + command = "EDPART,%s,%s,%s" % (str(option), str(partid), str(cname)) self.RunCommand(command, **kwargs) - def Esln(self, type="", ekey="", nodetype="", **kwargs): + def Resvec(self, key="", **kwargs): """ - APDL Command: ESLN + APDL Command: RESVEC - Selects those elements attached to the selected nodes. + Calculates or includes residual vectors. Parameters ---------- - type - Label identifying the type of element selected: + key + Residual vector key: - S - Select a new set (default). + OFF - Do not calculate or include residual vectors. This option is the default. - R - Reselect a set from the current set. + ON - Calculate or include residual vectors. - A - Additionally select a set and extend the current set. + Notes + ----- + In a modal analysis, the RESVEC command calculates residual vectors. In + a mode-superposition transient dynamic, mode-superposition harmonic, + PSD or spectrum analysis, the command includes residual vectors. - U - Unselect a set from the current set. + In a component mode synthesis (CMS) generation pass, the RESVEC command + calculates one residual vector which is included in the normal modes + basis used in the transformation matrix. It is supported for the three + available CMS methods. RESVEC,ON can only be specified in the first + load step of a generation pass and is ignored if issued at another load + step. - ekey - Node set key: + If rigid-body modes exist, pseudo-constraints are required for the + calculation. Issue the D,,,SUPPORT command to specify only the minimum + number of pseudo-constraints necessary to prevent rigid-body motion. - 0 - Select element if any of its nodes are in the selected nodal set (default). + For more information about residual vector formulation, see Residual + Vector Method in the Mechanical APDL Theory Reference. - 1 - Select element only if all of its nodes are in the selected nodal set. + """ + command = "RESVEC,%s" % (str(key)) + self.RunCommand(command, **kwargs) - nodetype - Label identifying type of nodes to consider when selecting: + def Sread(self, strarray="", fname="", ext="", nchar="", nskip="", + nread="", **kwargs): + """ + APDL Command: *SREAD - ALL - Select elements considering all of their nodes (default). + Reads a file into a string array parameter. - ACTIVE - Select elements considering only their active nodes. An active node is a node - that contributes DOFs to the model. + Parameters + ---------- + strarray + Name of the "string array" parameter which will hold the read file. + String array parameters are similar to character arrays, but each + array element can be as long as 128 characters. If the string + parameter does not exist, it will be created. The array will be + created as: *DIM,StrArray,STRING,nChar,nRead - INACTIVE - Select elements considering only their inactive nodes (such as orientation or - radiation nodes). + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - CORNER - Select elements considering only their corner nodes. + ext + Filename extension (eight-character maximum). - MID - Select elements considering only their midside nodes. + -- + Unused field. + + nchar + Number of characters per line to read (default is length of the + longest line in the file). + + nskip + Number of lines to skip at the start of the file (default is 0). + + nread + Number of lines to read from the file (default is the entire file). Notes ----- - ESLN selects elements which have any (or all EKEY) NodeType nodes in - the currently-selected set of nodes. Only elements having nodes in the - currently-selected set can be selected. - - This command is valid in any processor. + The *SREAD command reads from a file into a string array parameter. The + file must be an ASCII text file. """ - command = "ESLN, %s, %s, %s" % (str(type), str(ekey), str(nodetype)) + command = "*SREAD,%s,%s,%s,%s,%s,%s" % (str(strarray), str(fname), str(ext), str(nchar), str(nskip), str(nread)) self.RunCommand(command, **kwargs) - def Ngen(self, itime="", inc="", node1="", node2="", ninc="", dx="", dy="", - dz="", space="", **kwargs): + def Gsbdata(self, labz="", valuez="", labx="", valuex="", laby="", + valuey="", **kwargs): """ - APDL Command: NGEN + APDL Command: GSBDATA - Generates additional nodes from a pattern of nodes. + Specifies the constraints or applies the load at the ending point for + generalized plane strain option. Parameters ---------- - itime, inc - Do this generation operation a total of ITIME times, incrementing - all nodes in the given pattern by INC each time after the first. - ITIME must be > 1 for generation to occur. + labz + Constraint or load at the ending point in the fiber Z direction. - node1, node2, ninc - Generate nodes from the pattern of nodes beginning with NODE1 to - NODE2 (defaults to NODE1) in steps of NINC (defaults to 1). If - NODE1 = ALL, NODE2 and NINC are ignored and the pattern is all - selected nodes [NSEL]. 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). + F - Apply a force in the fiber direction (default). - dx, dy, dz - Node location increments in the active coordinate system (DR, Dθ, - DZ for cylindrical, DR, Dθ, DΦ for spherical or toroidal). + LFIBER - Define a length change in the fiber direction. - space - Spacing ratio. Ratio of last division size to first division size. - If > 1.0, divisions increase. If < 1.0, divisions decrease. Ratio - defaults to 1.0 (uniform spacing). + valuez + Value for LabZ. The default is zero. - Notes - ----- - Generates additional nodes from a given node pattern. Generation is - done in the active coordinate system. Nodes in the pattern may have - been generated in any coordinate system. + labx + Constraint or load on rotation about X. - This command is also valid in the /MAP processor. + MX - Supply a moment to cause the rotation of the ending plane about X (default). - """ - command = "NGEN, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(itime), str(inc), str(node1), str(node2), str(ninc), str(dx), str(dy), str(dz), str(space)) - self.RunCommand(command, **kwargs) + ROTX - Define a rotation angle (in radians) of the ending plane about X. - def Mfcalc(self, fnumb="", freq="", **kwargs): - """ - APDL Command: MFCALC + valuex + Value for LabX. The default is zero. - Specifies a calculation frequency for a field in an ANSYS Multi-field - solver analysis. + laby + Constraint or load on rotation about Y - Parameters - ---------- - fnumb - Field number set by the MFELEM command. + MY - Supply a moment to cause the rotation of the ending plane about Y (default). - freq - Perform calculation every Nth ANSYS Multi-field solver time step. - Defaults to 1 for every time step. + ROTY - Define a rotation angle (in radians) of the ending plane about Y. + + valuey + Value for LabY. The default is zero. Notes ----- - This command only applies to a harmonic analysis of the specified - field. It is useful when a field contributes negligible field - interaction within a single ANSYS Multi-field solver time step. + 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. - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. - """ - command = "MFCALC, %s, %s" % (str(fnumb), str(freq)) + command = "GSBDATA,%s,%s,%s,%s,%s,%s" % (str(labz), str(valuez), str(labx), str(valuex), str(laby), str(valuey)) self.RunCommand(command, **kwargs) - def Mfrstart(self, time="", **kwargs): + def V2dopt(self, geom="", ndiv="", hidopt="", nzone="", **kwargs): """ - APDL Command: MFRSTART + APDL Command: V2DOPT - Specifies restart status for an ANSYS Multi-field solver analysis. + Specifies 2-D/axisymmetric view factor calculation options. Parameters ---------- - time - Restart time + geom + Choice of geometry: - 0  - New analysis (Default) + 0 - Planar (default). - -1  - Restart from the last result set from a previous run. + 1 - Axisymmetric - n  - Specify any positive number for the actual time point from which the ANSYS - Multi-field solver will restart. ANSYS checks the availability - of the result set and database file. + ndiv + Number of divisions for axisymmetric geometry (that is, the number + of circumferential segments). Default is 20. Maximum is 90. - Notes - ----- - For MFX analyses, ANSYS always passes an actual time value to CFX (zero - for a new analysis or a positive value for a restart run) and CFX - verifies the consistency with the initial results file. For more - details about ANSYS restart capabilities, please see Restarting an - Analysis in the Basic Analysis Guide. + hidopt + Viewing option: - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + 0 - Hidden (default). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + 1 - Non-hidden + + nzone + Number of zones (that is, the number of rays emanating from a + surface) for view factor calculation. Default is 200. Maximum is + 1000. """ - command = "MFRSTART, %s" % (str(time)) + command = "V2DOPT,%s,%s,%s,%s" % (str(geom), str(ndiv), str(hidopt), str(nzone)) self.RunCommand(command, **kwargs) - def Nropt(self, option1="", option2="", optval="", **kwargs): + def Pscontrol(self, option="", key="", **kwargs): """ - APDL Command: NROPT + APDL Command: PSCONTROL - Specifies the Newton-Raphson options in a static or full transient - analysis. + Enables or disables shared-memory parallel operations. Parameters ---------- - option1 - Option key: + option + Specify the operations for which you intend to enable/disable + parallel behavior: - AUTO - Let the program choose the option (default). + ALL - Enable/disable parallel for all areas (default). - FULL - Use full Newton-Raphson. + PREP - Enable/disable parallel during preprocessing (/PREP7). - MODI - Use modified Newton-Raphson. + SOLU - Enable/disable parallel during solution (/SOLU). - INIT - Use the previously computed matrix (initial-stiffness). + FORM - Enable/disable parallel during element matrix generation. - UNSYM - Use full Newton-Raphson with unsymmetric matrices of elements where the - unsymmetric option exists. + SOLV - Enable/disable parallel during equation solver. - option2 - Option key: + RESU - Enable/disable parallel during element results calculation. - CRPL - When applicable in a static creep analysis, activates modified Newton-Raphson - with a creep-ratio limit. Valid only when Option1 = AUTO. + POST - Enable/disable parallel during postprocessing (/POST1 and /POST26). - optval - If Option2 is blank, Optval is the Adaptive Descent Key (Adptky): + STAT - List parallel operations that are enabled/disabled. - ON - Use adaptive descent (default if frictional contact exists). Explicit ON is - valid only if Option = FULL. + key + Option control key. Used for all Option values except STAT. - OFF - Do not use adaptive descent (default in all other cases). + ON - Enable parallel operation. + + OFF - Disable parallel operation. Notes ----- - The NROPT command specifies the Newton-Raphson option used to solve the - nonlinear equations in a static or full transient analysis. - - The automatic modified Newton-Raphson procedure with creep-ratio limit - control (NROPT,AUTO,CRPL,CRLIMIT) applies to static creep analysis - only. When the creep ratio is smaller than the value of the creep ratio - limit specified, the modified Newton-Raphson procedure is used. If - convergence difficulty occurs during solution, use the full Newton- - Raphson procedure. - - The command NROPT,UNSYM is also valid in a linear non-prestressed modal - analysis that is used to perform a brake squeal analysis. In this - special case, the command is used only to generate the unsymmetric - stiffness matrix; no Newton-Raphson iterations are performed. - - NROPT,MODI and NROPT,INIT are only applicable with the sparse solver - (EQSLV,SPARSE). Thermal analyses will always use full Newton-Raphson - irrespective of the Option1 value selected. - - See Newton-Raphson Option in the Structural Analysis Guide for more - information. - - This command is also valid in PREP7. - - Switching Between the Symmetric and Unsymmetric Option - - Normally, switching from the symmetric Newton-Raphson option - (NROPT,FULL) to the unsymmetric option (NROPT,UNSYM) or from the - unsymmetric option to the symmetric option is allowed between load - steps within the same analysis type. This is applicable to linear and - nonlinear, static and full transient analyses. - - Under the following circumstances, the solution could be slightly - different or inaccurate if you switch from symmetric to unsymmetric or - vice versa: - - The underlying elements or materials are unsymmetric by their - mathematical definition, and you switch from unsymmetric to symmetric. + Use this command in shared-memory parallel operations. - You change analysis types and also switch from symmetric to unsymmetric - (or vise versa) at the same time. This situation could result in - failures such as data corruption or a core dump and should therefore be - avoided. + This command is useful when you encounter minor discrepancies in a + nonlinear solution when using different numbers of processors. A + parallel operation applied to the element matrix generation can produce + a different nonlinear solution with a different number of processors. + Although the nonlinear solution converges to the same nonlinear + tolerance, the minor discrepancy created may not be desirable for + consistency. - In some rare cases, switching between the symmetric and unsymmetric - options can cause a system core dump when reading/writing the .ESAV or - .OSAV file, and the analysis terminates. Typically, this happens when - the record length of the element nonlinear saved variables cannot be - altered between load steps by their mathematical definition. + Enabling/disabling parallel behavior for the solution (Option = SOLU) + supersedes the activation/deactivation of parallel behavior for element + matrix generation (FORM), equation solver (SOLV), and element results + calculation (RESU). - If all the elements and the material are symmetric by their - mathematical definition and you use the unsymmetric option, the - solution accuracy is the same as the symmetric option. However, the - analysis will run twice as slow as the symmetric case. + The SOLV option supports only the sparse direct and PCG solvers + (EQSLV,SPARSE or PCG). No other solvers are supported. - If the static or full transient solution is used as the base analysis - for a linear perturbation, be aware that switching to the unsymmetric - Newton-Raphson option forces the program to use the UNSYM or DAMP - eigensolver in a downstream modal analysis, which may be more expensive - than symmetric modal analysis. + This command applies only to shared-memory architecture. It does not + apply to the Distributed ANSYS product. """ - command = "NROPT, %s, %s, %s" % (str(option1), str(option2), str(optval)) + command = "PSCONTROL,%s,%s" % (str(option), str(key)) self.RunCommand(command, **kwargs) - def Acel(self, acel_x="", acel_y="", acel_z="", **kwargs): + def Deltim(self, dtime="", dtmin="", dtmax="", carry="", **kwargs): """ - APDL Command: ACEL + APDL Command: DELTIM - Specifies the linear acceleration of the global Cartesian reference - frame for the analysis. + Specifies the time step sizes to be used for the current load step. Parameters ---------- - acel_x, acel_y, acel_z - Linear acceleration of the reference frame along global Cartesian - X, Y, and Z axes, respectively. + dtime + Time step size for this step. If automatic time stepping is used + (AUTOTS), DTIME is the starting time substep. + + dtmin + Minimum time step (if automatic time stepping is used). The program + automatically determines the default based on the physics of the + model. + + dtmax + Maximum time step (if automatic time stepping is used). The program + automatically determines the default based on the physics of the + model. + + carry + Time step carry over key: + + OFF - Use DTIME as time step at start of each load step. + + ON - Use final time step from previous load step as the starting time step (if + automatic time stepping is used). Notes ----- - In the absence of any other loads or supports, the acceleration of the - structure in each of the global Cartesian (X, Y, and Z) axes would be - equal in magnitude but opposite in sign to that applied in the ACEL - command. Thus, to simulate gravity (by using inertial effects), - accelerate the reference frame with an ACEL command in the direction - opposite to gravity. - - You can define the acceleration for the following analyses types: + See NSUBST for an alternative input. - Static (ANTYPE,STATIC) + Use consistent values for DTIME and TIME (TIME). For example, using 0.9 + for DTIME and 1.0 for TIME results in one time step because 1.0 (TIME) + is divisible by .9 (DTIME) at most once. If you intend to load in 10 + increments over a time span of 1.0, use 0.1 for DTIME and 1.0 for TIME. - Harmonic (ANTYPE,HARMIC), full or mode-superposition method + The program calculates the initial incremental time so that (EndingTime + - StartingTime)/DTIME is an integer, which may affect the initial + incremental time that you specify. For example, if the starting time is + 0, the ending time is 1, and the initial incremental time is 0.4, the + program rounds to the nearest integer and adjusts the time to 0.33333. - Transient (ANTYPE,TRANS) + For solution efficiency, specify values for all fields of this command. - Substructure (ANTYPE,SUBSTR). + This command is also valid in PREP7. - For all transient dynamic (ANTYPE,TRANS) analyses, accelerations are - combined with the element mass matrices to form a body force load - vector term. The element mass matrix may be formed from a mass input - constant or from a nonzero density (DENS) property, depending upon the - element type. + """ + command = "DELTIM,%s,%s,%s,%s" % (str(dtime), str(dtmin), str(dtmax), str(carry)) + self.RunCommand(command, **kwargs) - For analysis type ANTYPE,HARMIC, the acceleration is assumed to be the - real component with a zero imaginary component. + def Etcontrol(self, eltech="", eldegene="", **kwargs): + """ + APDL Command: ETCONTROL - Units of acceleration and mass must be consistent to give a product of - force units. + Control the element technologies used in element formulation (for + applicable elements). - The ACEL command supports tabular boundary conditions (%TABNAME_X%, - %TABNAME_Y%, and %TABNAME_Z%) for ACEL_X, ACEL_Y, and ACEL_Z input - values (*DIM) as a function of both time and frequency for full - transient and harmonic analyses. + Parameters + ---------- + eltech + Element technology control: - Related commands for rotational effects are CMACEL, CGLOC, CGOMGA, - DCGOMG, DOMEGA, OMEGA, CMOMEGA, and CMDOMEGA. + SUGGESTION - The program offers a suggestion for the best element technology before solving. + If necessary, mixed u-P (KEYOPT(6)) is also included + and reset. This behavior is the default. - See Analysis Tools in the Mechanical APDL Theory Reference for more - information. + SET - The program informs you of the best settings and resets any applicable KEYOPT + settings automatically. This action overrides any previous + manual settings. - This command is also valid in /PREP7. + OFF - Deactivates automatic selection of element technology. No suggestions are + issued, and no automatic resetting occurs. - """ - command = "ACEL, %s, %s, %s" % (str(acel_x), str(acel_y), str(acel_z)) - self.RunCommand(command, **kwargs) + eldegene + Element degenerated shape control: - def Rmrgenerate(self, **kwargs): - """ - APDL Command: RMRGENERATE + ON - If element shapes are degenerated, the degenerated shape function is employed + and enhanced strain, simplified enhanced strain, and B-bar + formulations are turned off (default). - Performs fitting procedure for all ROM functions to generate response - surfaces. + OFF - If element shapes are degenerated, regular shape functions are still used, and + the specified element technologies (e.g., enhanced strain, + B-bar, uniform reduced integration) are still used. Notes ----- - The fitting procedure uses modal analysis data and function data - generated using the RMSMPLE command and specifications set forth in the - RMROPTIONS command. The files jobname_ijk.pcs (modes i, j, k) will be - generated containing the coefficients of the response surfaces. These - files are needed for the ROM Use Pass along with a ROM data base file - [RMSAVE]. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The command default is ETCONTROL,SUGGESTION,ON. - Strain energy and capacitance data file jobname_ijk.dec + This command is valid for elements SHELL181, PLANE182, PLANE183, + SOLID185, SOLID186, SOLID187, BEAM188, BEAM189, SHELL208, SHELL209, + PLANE223, SOLID226, SOLID227, REINF264, SOLID272, SOLID273, SHELL281, + SOLID285, PIPE288, PIPE289, ELBOW290. - Response surface coefficients jobname_ijk.pcs (modes i, j, k) + For more information, see Automatic Selection of Element Technologies + and Formulations in the Element Reference. """ - command = "RMRGENERATE, " % () + command = "ETCONTROL,%s,%s" % (str(eltech), str(eldegene)) self.RunCommand(command, **kwargs) - def Llist(self, nl1="", nl2="", ninc="", lab="", **kwargs): + def Pdot(self, labr="", labx1="", laby1="", labz1="", labx2="", laby2="", + labz2="", **kwargs): """ - APDL Command: LLIST + APDL Command: PDOT - Lists the defined lines. + Calculates the dot product of two path vectors along the current path. Parameters ---------- - nl1, nl2, ninc - List lines from NL1 to NL2 (defaults to NL1) in steps of NINC - (defaults to 1). If NL1 = ALL (default), NL2 and NINC are ignored - and all selected lines [LSEL] are listed. If NL1 = 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 NL1 (NL2 and NINC are ignored). - - lab - Determines what type of listing is used (one of the following): - - (blank) - Prints information about all lines in the specified range. - - RADIUS - Prints the radius of certain circular arcs, along with the keypoint numbers of - each line. Straight lines, non-circular curves, and - circular arcs not internally identified as arcs (which - depends upon how each arc is created) will print a radius - value of zero. - - LAYER - Prints layer-mesh control specifications. + labr + Label assigned to dot product result. - HPT - Prints information about only those lines that contain hard points. HPT is not - supported in the GUI. + labx1 + X-component of first vector label (labeled path item). - ORIENT - Prints a list of lines, and identifies any orientation keypoints and any cross - section IDs that are associated with the lines. Used for - beam meshing with defined orientation nodes and cross - sections. + laby1 + Y-component of first vector label (labeled path item). - Notes - ----- - There are 2 listings for the number of element divisions and the - spacing ratio. The first listing shows assignments from LESIZE only, - followed by the “hard” key (KYNDIV). See LESIZE for more information. - The second listing shows NDIV and SPACE for the existing mesh, if one - exists. Whether this existing mesh and the mesh generated by LESIZE - match at any given point depends upon meshing options and the sequence - of meshing operations. + labz1 + Z-component of first vector label (labeled path item). - A "-1" in the "nodes" column indicates that the line has been meshed - but that there are no interior nodes. + labx2 + X-component of second vector label (labeled path item). - An attribute (TYPE, MAT, REAL, or ESYS) listed as a zero is unassigned; - one listed as a positive value indicates that the attribute was - assigned with the LATT command (and will not be reset to zero if the - mesh is cleared); one listed as a negative value indicates that the - attribute was assigned using the attribute pointer [TYPE, MAT, REAL, or - ESYS] that was active during meshing (and will be reset to zero if the - mesh is cleared). + laby2 + Y-component of second vector label (labeled path item). - This command is valid in any processor. + labz2 + Z-component of second vector label (labeled path item). """ - command = "LLIST, %s, %s, %s, %s" % (str(nl1), str(nl2), str(ninc), str(lab)) + command = "PDOT,%s,%s,%s,%s,%s,%s,%s" % (str(labr), str(labx1), str(laby1), str(labz1), str(labx2), str(laby2), str(labz2)) self.RunCommand(command, **kwargs) - def Vsbv(self, nv1="", nv2="", sepo="", keep1="", keep2="", **kwargs): + def Nwplan(self, wn="", norig="", nxax="", nplan="", **kwargs): """ - APDL Command: VSBV + APDL Command: NWPLAN - Subtracts volumes from volumes. + Defines the working plane using three nodes. Parameters ---------- - nv1 - Volume (or volumes, if picking is used) to be subtracted from. If - ALL, use all selected volumes. Volumes specified in set NV2 are - removed from set NV1. If P, graphical picking is enabled (valid - only in the GUI) and remaining fields are ignored. A component - name may also be substituted for NV1. - - nv2 - Volume (or volumes, if picking is used) to subtract. If ALL, use - all selected volumes (except those included in the NV1 argument). - A component name may also be substituted for NV2. - - sepo - Behavior if the intersection of the NV1 volumes and the NV2 volumes - is an area or areas: + wn + Window number whose viewing direction will be modified to be normal + to the working plane (defaults to 1). If WN is a negative value, + the viewing direction will not be modified. If fewer than three + points are used, the viewing direction of window WN will be used + instead to define the normal to the working plane. - (blank) - The resulting volumes will share area(s) where they touch. + norig + Node number defining the origin of the working plane coordinate + system. If NORIG = P, graphical picking is enabled and all + remaining command fields are ignored (valid only in the GUI). - SEPO - The resulting volumes will have separate, but coincident area(s) where they - touch. + nxax + Node number defining the x-axis orientation (defaults to the x-axis + being parallel to the global X-axis; or if the normal to the + working plane is parallel to the global X-axis, then defaults to + being parallel to the global Y-axis). - keep1 - Specifies whether NV1 volumes are to be deleted: + nplan + Node number defining the working plane (the normal defaults to the + present display view [/VIEW] of window WN). - (blank) - Use the setting of KEEP on the BOPTN command. + Notes + ----- + Defines a working plane to assist in picking operations using three + nodes as an alternate to the WPLANE command. The three nodes also + define the working plane coordinate system. A minimum of one node (at + the working plane origin) is required. Immediate mode may also be + active. See the WPSTYL command to set the style of the working plane + display. - DELETE - Delete NV1 volumes after VSBV operation (override BOPTN command settings). + This command is valid in any processor. - KEEP - Keep NV1 volumes after VSBV operation (override BOPTN command settings). + """ + command = "NWPLAN,%s,%s,%s,%s" % (str(wn), str(norig), str(nxax), str(nplan)) + self.RunCommand(command, **kwargs) - keep2 - Specifies whether NV2 volumes are to be deleted: + def Ltan(self, nl1="", p3="", xv3="", yv3="", zv3="", **kwargs): + """ + APDL Command: LTAN - (blank) - Use the setting of KEEP on the BOPTN command. + Generates a line at the end of, and tangent to, an existing line. - DELETE - Delete NV2 volumes after VSBV operation (override BOPTN command settings). + Parameters + ---------- + nl1 + Number of the line the generated line is tangent to. If negative, + assume P1 (see below), instead of P2, is the second keypoint of + line NL1. If NL1 = P, graphical picking is enabled and all + remaining command fields are ignored (valid only in the GUI). - KEEP - Keep NV2 volumes after VSBV operation (override BOPTN command settings). + p3 + Keypoint at which generated line must end. Notes ----- - Generates new volumes by subtracting the regions common to both NV1 and - NV2 volumes (the intersection) from the NV1 volumes. The intersection - can be a volume(s) or area(s). If the intersection is an area and SEPO - is blank, the NV1 volume is divided at the area and the resulting - volumes will be connected, sharing a common area where they touch. If - SEPO is set to SEPO, NV1 is divided into two unconnected volumes with - separate areas where they touch. See the Modeling and Meshing Guide - for an illustration. See the BOPTN command for an explanation of the - options available to Boolean operations. Element attributes and solid - model boundary conditions assigned to the original entities will not be - transferred to the new entities generated. VSBV,ALL,ALL will have no - effect because all the volumes in set NV1will have been moved to set - NV2. + Generates a line (P2-P3) tangent at end point (P2) of line NL1 (P1-P2). """ - command = "VSBV, %s, %s, %s, %s, %s" % (str(nv1), str(nv2), str(sepo), str(keep1), str(keep2)) + command = "LTAN,%s,%s,%s,%s,%s" % (str(nl1), str(p3), str(xv3), str(yv3), str(zv3)) self.RunCommand(command, **kwargs) - def Seopt(self, sename="", sematr="", sepr="", sesst="", expmth="", - seoclvl="", **kwargs): + def Emore(self, q="", r="", s="", t="", u="", v="", w="", x="", **kwargs): """ - APDL Command: SEOPT + APDL Command: EMORE - Specifies substructure analysis options. + Adds more nodes to the just-defined element. Parameters ---------- - sename - The name (case-sensitive, thirty-two character maximum) assigned to - the superelement matrix file. The matrix file will be named - Sename.SUB. This field defaults to Fname on the /FILNAME command. - - sematr - Matrix generation key: + q, r, s, t, u, v, w, x + Numbers of nodes typically assigned to ninth (node Q) through + sixteenth (node X) nodal positions, if any. If Q = P, graphical + picking is enabled and all remaining command fields are ignored + (valid only in the GUI). - 1 - Generate stiffness (or conductivity) matrix (default). + Notes + ----- + Repeat EMORE command for up to 4 additional nodes (20 maximum). Nodes + are added after the last nonzero node of the element. Node numbers + defined with this command may be zeroes. - 2 - Generate stiffness and mass (or conductivity and specific heat) matrices. + """ + command = "EMORE,%s,%s,%s,%s,%s,%s,%s,%s" % (str(q), str(r), str(s), str(t), str(u), str(v), str(w), str(x)) + self.RunCommand(command, **kwargs) - 3 - Generate stiffness, mass and damping matrices. + def Timerange(self, tmin="", tmax="", **kwargs): + """ + APDL Command: TIMERANGE - sepr - Print key: + Specifies the time range for which data are to be stored. - 0 - Do not print superelement matrices or load vectors. + Parameters + ---------- + tmin + Minimum time (defaults to first time (or frequency) point on the + file). - 1 - Print both load vectors and superelement matrices. + tmax + Maximum time (defaults to last time (or frequency) point on the + file). - 2 - Print load vectors but not matrices. + Notes + ----- + Defines the time (or frequency) range for which data are to be read + from the file and stored in memory. Use the NSTORE command to define + the time increment. - sesst - Stress stiffening key: + Use PRTIME or PLTIME to specify the time (frequency) range for cyclic + mode-superposition harmonic analyses. - 0 - Do not save space for stress stiffening in a later run. + """ + command = "TIMERANGE,%s,%s" % (str(tmin), str(tmax)) + self.RunCommand(command, **kwargs) - 1 - Save space for the stress stiffening matrix (calculated in a subsequent - generation run after the expansion pass). + def Smin(self, labr="", lab1="", lab2="", fact1="", fact2="", **kwargs): + """ + APDL Command: SMIN - expmth - Expansion method for expansion pass: + Forms an element table item from the minimum of two other items. - BACKSUB - Save necessary factorized matrix files for backsubstitution during subsequent - expansion passes (default). This normally results in a - large usage of disk space + Parameters + ---------- + labr + Label assigned to results. If same as existing label, the existing + values will be overwritten by these results. - RESOLVE - Do not save factorized matrix files. Global stiffness matrix will be reformed - during expansion pass. This option provides an effective - way to save disk space usage. This option cannot be used - if the use pass uses large deflections (NLGEOM,ON). + lab1 + First labeled result item in operation. - seoclvl - For the added-mass calculation, the ocean level to use when ocean - waves (OCTYPE,,WAVE) are present: + lab2 + Second labeled result item in operation (may be blank). - ATP - The ocean level at this point in time (default). + fact1 + Scale factor applied to Lab1. A (blank) or '0' entry defaults to + 1.0. - MSL - The mean ocean level. + fact2 + Scale factor applied to Lab2. A (blank) or '0' entry defaults to + 1.0. Notes ----- - The SEOPT command specifies substructure analysis options - (ANTYPE,SUBSTR). If used during solution, the command is valid only - within the first load step. - - When ocean waves (OCTYPE,,WAVE) are present, the SeOcLvL argument - specifies the ocean height or level to use for the added-mass - calculation, as the use-run analysis type is unknown during the - generation run. + Forms a labeled result item (see ETABLE command) for the selected + elements by comparing two existing labeled result items according to + the operation: - The expansion pass method RESOLVE is not supported with component mode - synthesis analysis (CMSOPT). ExpMth is automatically set to BACKSUB for - CMS analysis. The RESOLVE method invalidates the use of the NUMEXP - command. The RESOLVE method does not allow the computation of results - based on nodal velocity and nodal acceleration (damping force, inertial - force, kinetic energy, etc.) in the substructure expansion pass. + LabR = (FACT1 x Lab1) cmn (FACT2 x Lab2) - This command is also valid in PREP7. + where "cmn" means "compare and save minimum." If absolute values are + requested [SABS,1], the absolute values of Lab1 and Lab2 are used. """ - command = "SEOPT, %s, %s, %s, %s, %s, %s" % (str(sename), str(sematr), str(sepr), str(sesst), str(expmth), str(seoclvl)) + command = "SMIN,%s,%s,%s,%s,%s" % (str(labr), str(lab1), str(lab2), str(fact1), str(fact2)) self.RunCommand(command, **kwargs) - def Ucmd(self, cmd="", srnum="", **kwargs): + def Secplot(self, secid="", val1="", val2="", val3="", **kwargs): """ - APDL Command: /UCMD + APDL Command: SECPLOT - Assigns a user-defined command name. + Plots the geometry of a beam, pipe, shell, or reinforcing section to + scale. Parameters ---------- - cmd - User-defined command name. Only the first four characters are - significant. Must not conflict with any ANSYS command name or any - user "unknown command" macro name. + secid + The section ID number (as defined via the SECTYPE command). - srnum - User subroutine number (1 to 10) programmed for this command. For - example, the command /UCMD,MYCMD,3 will execute subroutine USER03 - whenever the command MYCMD is entered. Use a blank command name to - disassociate SRNUM from its command. For example, /UCMD,,3 removes - MYCMD as a command. + val1, val2, val3 + Values that control the information to be plotted. See the "Notes" + section of this command description for more information. For + clarity, the labels VAL1, VAL2, and VAL3 are renamed according to + the section type. Notes ----- - Assigns a user-defined command name to a user-programmable (system- - dependent) subroutine. This feature allows user-defined commands to be - programmed into the ANSYS program. Once programmed, this command can - be input to the program like other commands, and can also be included - in the ANSYS start-up file. See *ULIB for another way of defining user - commands. + The SECPLOT command is valid only for "Beams and Pipes", "Shells", and + "Reinforcings". - Up to 10 subroutines are available for user-defined commands (USER01 to - USER10). Users must have system permission, system access, and - knowledge to write, compile, and link the appropriate subprocessors - into the ANSYS program at the site where it is to be run. All routines - should be written in FORTRAN. For more information on FORTRAN compilers - please refer to either the ANSYS, Inc. Windows Installation Guide or - the ANSYS, Inc. Linux Installation Guide for details specific to your - platform or operating system. The USER01 routine is commented and - should be listed from the distribution media (system dependent) for - more details. Issue /UCMD,STAT to list all user-defined command names. - Since a user-programmed command is a nonstandard use of the program, - the verification of any ANSYS run incorporating these commands is - entirely up to the user. In any contact with ANSYS customer support - regarding the performance of a custom version of the ANSYS program, you - should explicitly state that a user programmable feature has been used. - See the Advanced Analysis Guide for a general description of user- - programmable features and Guide to User-Programmable Features for a - detailed description of these features. - - This command is valid only at the Begin Level. + SECPLOT cannot display the plot of an ASEC (arbitrary section) subtype. - """ - command = "/UCMD, %s, %s" % (str(cmd), str(srnum)) - self.RunCommand(command, **kwargs) + Plots the geometry of the beam or pipe section to scale depicting the + centroid, shear center, and origin. SECPLOT also lists various section + properties such as Iyy, Iyz, and Izz. - def Return(self, level="", **kwargs): - """ - APDL Command: *RETURN + Data to be supplied in the value fields: - Returns input stream to a higher level. + Beam or pipe section mesh display options: - Parameters - ---------- - level - Number of levels to move up from the current level. + Display section outline only. - Move relative to current level. For example: *Return,-2 will go up two levels from the current level. - Move to absolute level. For example: *Return,2 will go to level 2. + Display beam or pipe section mesh. - Notes - ----- - This command is used to jump to the macro call sequence, ending the - current macro file, and returning to the line after the calling line in - the previous file. Unlike the *GO command, this command may be used - inside *IF or *DO constructs. + Display the section mesh with node numbers. - """ - command = "*RETURN, %s" % (str(level)) - self.RunCommand(command, **kwargs) + Display the section mesh with cell numbers. - def Pcalc(self, oper="", labr="", lab1="", lab2="", fact1="", fact2="", - const="", **kwargs): - """ - APDL Command: PCALC + Display the section mesh with material numbers and colors. - Forms additional labeled path items by operating on existing path - items. + Display the section mesh with material colors only. - Parameters - ---------- - oper - Type of operation to be performed. See "Notes" below for specific - descriptions of each operation: + Display the section mesh with the RST node numbers. RST nodes are + section corner nodes where results are available. This is applicable + when the averaged results format (KEYOPT(15) = 0 for BEAM188, BEAM189, + PIPE288, and PIPE289) is used. - ADD - Adds two existing path items. + Display the section mesh with the RST cell numbers. RST cells are + section cells where results are available. This is applicable when the + non-averaged results format (KEYOPT(15) = 1 for BEAM188, BEAM189, + PIPE288, and PIPE289) is used. - MULT - Multiplies two existing path items. + Options 2 through 6 do not depict centroid and shear center, nor do + they list section properties. - DIV - Divides two existing path items (a divide by zero results in a value of zero). + Following is a sample section plot for the beam section type: - EXP - Exponentiates and adds existing path items. + Plots the layer arrangement of the shell section showing the layer + material and orientation. - DERI - Finds a derivative. + Data to be supplied in the value fields: - INTG - Finds an integral. + The range of layer numbers to be displayed. If LAYR1 is greater than + LAYR2, a reversed order display is produced. Up to 20 layers may be + displayed at the same time. LAYR1 defaults to 1. LAYR2 defaults to + LAYR1 if LAYR1 is input or to the number of layers (or to 19+LAYR1, if + smaller) if LAYR1 is not input. - SIN - Sine. + Following is a sample section plot for the shell section type: - COS - Cosine. + Plots the arrangement of a reinforcing section within the base element. - ASIN - Arcsine. + Data to be supplied in the value fields: - ACOS - Arccosine. + REINF1, REINF2 -- The numerical range of reinforcings to be displayed. + The default REINF1 value is 1. The default REINF2 value is the number + of reinforcings. - LOG - Natural log. + OVERLAY -- The section ID of the base element within which to display + the reinforcing section. The section appears translucent and the + reinforcing section is solid. Valid values are: - labr - Label assigned to the resulting path item. + SOLID -- Display a translucent solid block over the reinforcing section - lab1 - First labeled path item in operation. + SECID -- A number corresponding to a specific section ID of the base + element. - lab2 - Second labeled path item in operation. Lab2 must not be blank for - the MULT, DIV, DERI, and INTG operations. + If no OVERLAY value is specified, ANSYS displays the reinforcing + section only. - fact1 - Factor applied to Lab1. A (blank) or '0' entry defaults to 1.0. + Following is a sample section plot for the reinforcing section type: - fact2 - Factor applied to Lab2. A (blank) or '0' entry defaults to 1.0. + For more information about reinforcing, see the documentation for the + SECDATA command, and the REINF264 and REINF265 elements. - const - Constant value (defaults to 0.0). + """ + command = "SECPLOT,%s,%s,%s,%s" % (str(secid), str(val1), str(val2), str(val3)) + self.RunCommand(command, **kwargs) - Notes - ----- - If Oper = ADD, the command format is: + def Mfconv(self, lab="", toler="", minref="", **kwargs): + """ + APDL Command: MFCONV - PCALC,ADD,LabR,Lab1,Lab2,FACT1,FACT2,CONST + Sets convergence values for an ANSYS Multi-field solver analysis. - This operation adds two existing path items according to the operation: + Parameters + ---------- + lab + Valid labels: - LabR = (FACT1 x Lab1) + (FACT2 x Lab2) + CONST + toler + Convergence tolerance about program calculated reference value (the + L2 norm of the new load in a multi-field analysis). Defaults to + 0.01 (1%) for all labels. Must be less than 1.0. - It may be used to scale the results for a single path item. + -- + Unused field. - If Oper = MULT, the command format is: + minref + The minimum value allowed for the program calculated reference + value. If negative, no minimum is enforced. Defaults to 1.0e-6 for + all labels. Not available in the GUI. MINREF corresponds to + ||ϕnew|| as defined in Set up Stagger Solution in the Coupled-Field + Analysis Guide. - PCALC,MULT,LabR,Lab1,Lab2,FACT1 + Notes + ----- + MFCONV sets convergence values for variables at the ANSYS Multi-field + solver interface. - Lab2 must not be blank. This operation multiplies two existing path - items according to the operation: + This command is also valid in PREP7. - LabR = Lab1 x Lab2 x FACT1 + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. - If Oper = DIV, the command format is: + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - PCALC,DIV,LabR,Lab1,Lab2,FACT1 + """ + command = "MFCONV,%s,%s,%s" % (str(lab), str(toler), str(minref)) + self.RunCommand(command, **kwargs) - Lab2 must not be blank. This operation divides two existing path items - according to the operation: + def Fctyp(self, oper="", lab="", **kwargs): + """ + APDL Command: FCTYP - LabR = (Lab1/Lab2) x FACT1 + Activates or removes failure-criteria types for postprocessing. - If Oper = EXP, the command format is: + Parameters + ---------- + oper + Operation key: - PCALC,EXP,LabR,Lab1,Lab2,FACT1,FACT2 + ADD - Activate failure-criteria types. This option is the default behavior. - This operation exponentiates and adds existing path items according to - the operation: + DELE - Remove failure-criteria types. - LabR = (|Lab1|FACT1) + (|Lab2|FACT2|) + lab + Valid failure-criteria labels. If ALL, select all available + (including user-defined) failure criteria. - If Oper = DERI, the command format is: + EMAX - Maximum strain criterion (default) - PCALC,DERI,LabR,Lab1,Lab2,FACT1 + SMAX - Maximum stress criterion (default) - Lab2 must not be blank. This operation finds a derivative according to - the operation: + TWSI - Tsai-Wu strength index (default) - LabR = FACT1 x d(Lab1)/d(Lab2) + TWSR - Inverse of Tsai-Wu strength ratio index (default) - If Oper = INTG, the command format is: + HFIB - Hashin fiber failure criterion - PCALC,INTG,LabR,Lab1,Lab2,FACT1 + HMAT - Hashin matrix failure criterion - Lab2 must not be blank. This operation finds an integral according to - the operation: + PFIB - Puck fiber failure criterion - Use S for Lab2 to integrate Lab1 with respect to the path length. S, - the distance along the path, is automatically calculated by the program - when a path item is created with the PDEF command. + PMAT - Puck inter-fiber (matrix) failure criterion - If Oper = SIN, COS, ASIN, ACOS, or LOG, the command format is: + L3FB - LaRc03 fiber failure criterion - PCALC,Oper,LabR,Lab1,,FACT1,CONST + L3MT - LaRc03 matrix failure criterion - where the function (SIN, COS, ASIN, ACOS or LOG) is substituted for - Oper and Lab2 is blank. + L4FB - LaRc04 fiber failure criterion - The operation finds the resulting path item according to one of the - following formulas: + L4MT - LaRc04 matrix failure criterion - LabR = FACT2 x sin(FACT1 x Lab1) + CONST + USR1 through USR9 - User-defined failure criteria - LabR = FACT2 x cos(FACT1 x Lab1) + CONST + Notes + ----- + The FCTYP command modifies the list of active failure criteria. - LabR = FACT2 x sin-1(FACT1 x Lab1) + CONST + By default, active failure criteria include EMAX, SMAX, TWSI, and TWSR. - LabR = FACT2 x cos-1(FACT1 x Lab1) + CONST + The command affects any subsequent postprocessing listing and plotting + commands (such as PRESOL, PRNSOL, PLESOL, PLNSOL, and ETABLE). - LabR = FACT2 x log(FACT1 x Lab1) + CONST + A single FCTYP command allows up to six failure-criteria labels. If + needed, reissue the command to activate or remove additional failure- + criteria types. """ - command = "PCALC, %s, %s, %s, %s, %s, %s, %s" % (str(oper), str(labr), str(lab1), str(lab2), str(fact1), str(fact2), str(const)) + command = "FCTYP,%s,%s" % (str(oper), str(lab)) self.RunCommand(command, **kwargs) - def Rmrplot(self, refname="", type="", mode1="", mode2="", **kwargs): + def Psearch(self, pname="", **kwargs): """ - APDL Command: RMRPLOT + APDL Command: /PSEARCH - Plots response surface of ROM function or its derivatives with respect - to the dominant mode(s). + Specifies a directory to be searched for "unknown command" macro files. Parameters ---------- - refname - Reference name of ROM function. Valid reference names are "SENE" - for the strain energy of the mechanical domain and any capacitance - definition, previously defined by means of the RMCAP command, for - the electrostatic domain. - - type - Type of data to be plotted. Valid types are: - - FUNC - Response surface (default) - - mode1 - First mode number (used for Type = "FIRST" and Type = "SECOND" - only). - - mode2 - Second mode number (used for Type = "SECOND" only). + pname + Path name (64 characters maximum, and must include the final + delimiter) of the middle directory to be searched. Defaults to the + user home directory. If Pname = OFF, search only the ANSYS and + current working directories. If Pname = STAT, list the current + middle directory and show the ANSYS_MACROLIB setting. Notes ----- - The objective of response surface fit is to compute an analytical - expression for the strain energy and the capacitance as functions of - modal amplitudes. This command assumes that the coefficient files - jobnam_ijk.pcs are available [RMRGENERATE]. Visualization of the - response surface will help to evaluate the validity of the function - fit. + Specifies the pathname of a directory for file searches when reading + "unknown command" macro files. The search for the files is typically + from the ANSYS directory, then from the user home directory, and then + from the current working directory. This command allows the middle + directory searched to be other than the user home directory. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid only at the Begin Level. """ - command = "RMRPLOT, %s, %s, %s, %s" % (str(refname), str(type), str(mode1), str(mode2)) + command = "/PSEARCH,%s" % (str(pname)) self.RunCommand(command, **kwargs) - def Spower(self, inletport="", outletport="", **kwargs): + def Esort(self, item="", lab="", order="", kabs="", numb="", **kwargs): """ - APDL Command: SPOWER + APDL Command: ESORT - Calculates sound power parameters. + Sorts the element table. Parameters ---------- - inletport - Inlet source port number. + item + Label identifying the item: - outletport - Outlet port number. + ETAB - (currently the only Item available) - Notes - ----- - The SPOWER command calculates the input sound power level, reflected - sound power level, return loss, and absorption coefficient for an inlet - port. + lab + element table label: - If a matched outlet port is defined, the command also calculates the - transmission loss. + Lab - Any user-defined label from the ETABLE command (input in the Lab field of the + ETABLE command). - The sound power parameters are output to the file - jobname%ARG1%%ARG2%.anp (where n = 1 or 2). + order + Order of sort operation: - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + 0 - Sort into descending order. - """ - command = "SPOWER, %s, %s" % (str(inletport), str(outletport)) - self.RunCommand(command, **kwargs) + 1 - Sort into ascending order. - def Aflist(self, **kwargs): - """ - APDL Command: AFLIST + kabs + Absolute value key: - Lists the current data in the database. + 0 - Sort according to real value. + + 1 - Sort according to absolute value. + + numb + Number of elements (element table rows) to be sorted in ascending + or descending order (ORDER) before sort is stopped (remainder will + be in unsorted sequence) (defaults to all elements). Notes ----- - Lists the current data and specifications in the database. If batch, - lists all appropriate data. If interactive, lists only summaries. + The element table rows are sorted based on the column containing the + Lab values. Use EUSORT to restore the original order. If ESORT is + specified with PowerGraphics on [/GRAPHICS,POWER], then the nodal + solution results listing [PRNSOL] will be the same as with the full + graphics mode [/GRAPHICS,FULL]. """ - command = "AFLIST, " % () + command = "ESORT,%s,%s,%s,%s,%s" % (str(item), str(lab), str(order), str(kabs), str(numb)) self.RunCommand(command, **kwargs) - def Rmsmple(self, nlgeom="", cap="", seqslv="", eeqslv="", **kwargs): + def Hptdelete(self, np1="", np2="", ninc="", **kwargs): """ - APDL Command: RMSMPLE + APDL Command: HPTDELETE - Runs finite element solutions and obtains sample points for the ROM - method. + Deletes selected hardpoints. Parameters ---------- - nlgeom - Specify whether a large or small deflection analysis is to be - performed for the mechanical domain: - - OFF (or 0) - Perform small deflection analysis (default). - - cap - Capacitance calculation method. - - CHARGE - Compute capacitance based on the charge voltage relationship (default). + np1, np2, ninc + Delete the pattern of hard points beginning with NP1 to NP2 in + steps of NINC (defaults to 1). If NP1 = ALL, NP2 and NINC are + ignored and the pattern is all selected hard points [KSEL]. If NP1 + = P, graphical picking is enabled and all remaining command fields + are ignored. - seqslv - Solver for structural analysis: + Notes + ----- + Deletes all attributes attached to the designated hard points as well + as the hard points themselves. If any entity is attached to a + designated hard point, the command detaches the hard point from that + entity (the program will alert you that this will occur). - SPARSE - Sparse direct equation solver (default). + """ + command = "HPTDELETE,%s,%s,%s" % (str(np1), str(np2), str(ninc)) + self.RunCommand(command, **kwargs) - eeqslv - Solver for electrostatic analysis: + def Sort(self, **kwargs): + """ + APDL Command: SORT - SPARSE - Sparse direct equation solver (default). + Specifies "Sort settings" as the subsequent status topic. Notes ----- - This command prepares and runs multiple finite element solutions on the - Structural domain and the Electrostatic domain of a model to collect - sample points of data for ROM response curve fitting. The command - requires a model database [RMANL] and two Physics Files (Structural - domain, titled "STRU" and an Electrostatic domain, titled "ELEC"; see - PHYSICS command). Also required is a complete ROM database generated - from the ROM Tools. The Cap = CHARGE method is preferred when - capacitance to "infinity" is not required. Capacitance conductor pairs - are defined by the RMCAP command. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - Strain energy and capacitance data files jobname_ijk.dec (mode i, j, - k). + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "RMSMPLE, %s, %s, %s, %s" % (str(nlgeom), str(cap), str(seqslv), str(eeqslv)) + command = "SORT," % () self.RunCommand(command, **kwargs) - def Syp(self, string="", arg1="", arg2="", arg3="", arg4="", arg5="", - arg6="", arg7="", arg8="", **kwargs): + def An3d(self, kywrd="", key="", **kwargs): """ - APDL Command: /SYP + APDL Command: /AN3D - Passes a command string and arguments to the operating system. + Specifies 3-D annotation functions Parameters ---------- - string - Command string (cannot include commas). See also the /SYS command. + num + Unique number assigned as each annotation is applied to a model. + These numbers are applied sequentially, although when an annotation + entity is deleted, its number is reassigned. - arg1, arg2, arg3, . . . , arg8 - Arguments to be appended to the command string, separated by - blanks, commas, or other delimiter characters (see the Operations - Guide). The arguments may be numbers, parameters, or parametric - expressions. + type + Annotation internal type number (101 = text, 102 = line, 103 = + point, 104 = area, 105 = arrow, 106 = symbol, 108 = bitmap). + + xhot, yhot, zhot + X, Y, Z coordinates for hot spot location. Notes ----- - Passes a command string to the operating system for execution, along - with arguments to be appended to the command string. See the - Operations Guide for details. ANSYS may not be aware of your specific - user environment. For example, on Linux this command may not recognize - aliases, depending on the hardware platform and user environment. + Because 3-D annotation is applied in relation to the XYZ coordinates of + the anchor, you can transform your model, and the annotation will + maintain the spatial relationship with the model. This works within + reason, and there are instances where changing the perspective or the + size of the model will change the apparent relationship between the + annotation and the model. - This command is valid in any processor. + The overall 3-D dimensions of your model are defined by a bounding + box. If portions of your model's bounding box lie outside of the + visible area of your graphics window (if you are zoomed in on a + specific area of your model), it can affect the placement of your 3-D + annotations. Zooming out will usually overcome this problem. + + 3-D annotation is valid for the Cartesian (CSYS,0) coordinate system + only. If you want to annotate a model you created in another coordinate + system, use 2-D annotation (note that 2-D annotations do not remain + anchored for dynamic rotations or transformations). + + When you apply user defined bitmaps, the size of the annotation can + vary. Use the options menu of the 3-D annotation widget to adjust the + size and placement of your bitmaps. + + You cannot use the “!” and “$” characters in ANSYS text annotation. + + The GUI generates this command during 3-D annotation operations and + inserts the command into the log file (Jobname.LOG). You should NOT + type this command directly during an ANSYS session (although the + command can be included in an input file for batch input or for use + with the /INPUT command). """ - command = "/SYP, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(string), str(arg1), str(arg2), str(arg3), str(arg4), str(arg5), str(arg6), str(arg7), str(arg8)) + command = "/AN3D,%s,%s" % (str(kywrd), str(key)) self.RunCommand(command, **kwargs) - def Pmlopt(self, esys="", lab="", xminus="", xplus="", yminus="", yplus="", - zminus="", zplus="", **kwargs): + def Cmplot(self, label="", entity="", keyword="", **kwargs): """ - APDL Command: PMLOPT + APDL Command: CMPLOT - Defines perfectly matched layers (PMLs) for acoustic and structural - analyses. + Plots the entities contained in a component or assembly. Parameters ---------- - esys - Element coordinate system number. ESYS may be 0 (global Cartesian) - or any previously defined local Cartesian coordinate system number - (>10). Defaults to 0. + label + Name of the component or assembly to be plotted. - lab - Label defining the number of dimensions: + (blank) - All selected components and assemblies are plotted (default). If fewer than 11 + components are selected, then all are plotted. If more + than 11 components are selected, then only the first 11 + are plotted. - ONE - A one-dimensional PML region. + ALL - All selected components are plotted. If number of selected components is + greater than 11, then the legend showing component names will + not be shown. - THREE - A three-dimensional PML region (default). + N - Next set of defined components and assemblies is plotted. - xminus - For harmonic analysis, normal reflection coefficient in negative X - direction of ESYS. Defaults to 1.E−3 (equivalent to -60 dB) for a - harmonic analysis and 30 for a static structural analysis. + P - Previous set of defined components and assemblies is plotted. - xplus - For harmonic analysis, normal reflection coefficient in positive X - direction of ESYS. Defaults to 1.E−3 (equivalent to -60 dB) for a - harmonic analysis and 30 for a static structural analysis. + Cname - The specified component or assembly is plotted. - yminus - For harmonic analysis, normal reflection coefficient in negative Y - direction of ESYS. Defaults to 1.E−3 (equivalent to -60 dB) for a - harmonic analysis and 30 for a static structural analysis. + SetNo. - The specified set number is plotted. - yplus - For harmonic analysis, normal reflection coefficient in positive Y - direction of ESYS. Defaults to 1.E−3 (equivalent to -60 dB) for a - harmonic analysis and 30 for a static structural analysis. + entity + If Label is BLANK or ALL, then the following entity types can be + specified: - zminus - For harmonic analysis, normal reflection coefficient in negative Z - direction of ESYS. Defaults to 1.E−3 (equivalent to -60 dB) for a - harmonic analysis and 30 for a static structural analysis. + VOLU - Plot the volume components only. - zplus - For harmonic analysis, normal reflection coefficient in positive Z - direction of ESYS. Defaults to 1.E−3 (equivalent to -60 dB) for a - harmonic analysis and 30 for a static structural analysis. + AREA - Plot the area components only. - Notes - ----- - PMLOPT defines perfectly matched layers (PML) for acoustic or - structural analyses. Each PML region must have a uniquely defined - element coordinate system. Normal reflection coefficient values for a - harmonic analysis must be less than 1. + LINE - Plot the line components only. - Issue PMLOPT,STAT to list the current normal reflection coefficient or - attenuation factor settings for a PML region. Issue PMLOPT,CLEAR to - clear all normal reflection coefficient settings and restore them to - the defaults. Issue PMLOPT,ESYS,CLEAR to clear all normal reflection - coefficient settings for this element coordinate system and restore - them to the defaults. + KP - Plot the keypoint components only. + + ELEM - Plot the element components only. + + NODE - Plot the node components only. + + keyword + For Keyword = ALL, plot the specified component name in the Label + field in the context of all entities of the same type. Not valid if + Label field is BLANK or ALL. + + Notes + ----- + Components are plotted with their native entities. For assemblies, all + native entities for the underlying component types are plotted + simultaneously. Although more components can be plotted, the legend + displays only 11 at a time. When more than eleven are plotted, the + legend is not displayed. + + Possible usage: + + This command is valid in any processor. """ - command = "PMLOPT, %s, %s, %s, %s, %s, %s, %s, %s" % (str(esys), str(lab), str(xminus), str(xplus), str(yminus), str(yplus), str(zminus), str(zplus)) + command = "CMPLOT,%s,%s,%s" % (str(label), str(entity), str(keyword)) self.RunCommand(command, **kwargs) - def Expand(self, nrepeat="", hindex="", icsys="", sctang="", ph_ase="", - **kwargs): + def Dynopt(self, **kwargs): """ - APDL Command: EXPAND + APDL Command: DYNOPT - Displays the results of a modal cyclic symmetry analysis. + Specifies "Dynamic analysis options" as the subsequent status topic. + + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. + + """ + command = "DYNOPT," % () + self.RunCommand(command, **kwargs) + + def Smrtsize(self, sizlvl="", fac="", expnd="", trans="", angl="", angh="", + gratio="", smhlc="", smanc="", mxitr="", sprx="", **kwargs): + """ + APDL Command: SMRTSIZE + + Specifies meshing parameters for automatic (smart) element sizing. Parameters ---------- - nrepeat - Number of sector repetitions for expansion. The default is 0 (no - expansion). + sizlvl + Overall element size level for meshing. The level value controls + the fineness of the mesh. (Any input in this field causes + remaining arguments to be ignored.) Valid inputs are: - modal - Specifies that the expansion is for a modal cyclic symmetry - analysis. + n - Activate SmartSizing and set the size level to n. Must be an integer value + from 1 (fine mesh) to 10 (coarse mesh). Remaining arguments + are ignored, and argument values are set as shown in Table 229: + SMRTSIZE - Argument Values for h-elements . - hindex - The harmonic index ID for the results to expand. + STAT - List current SMRTSIZE settings. - icsys - The coordinate system number used in the modal cyclic symmetry - solution. The default is the global cylindrical coordinate system - (specified via the CSYS command where KCN = 1). + DEFA - Set all SMRTSIZE settings to default values (as shown in Table 229: SMRTSIZE - + Argument Values for h-elements for size level 6). - sctang - The sector angle in degrees, equal to 360 divided by the number of - cyclic sectors. + OFF - Deactivate SmartSizing. Current settings of DESIZE will be used. To + reactivate SmartSizing, issue SMRTSIZE,n. - -- - This field is reserved for future use. + fac + Scaling factor applied to the computed default mesh sizing. + Defaults to 1 for h-elements (size level 6), which is medium. + Values from 0.2 to 5.0 are allowed. - phase - The phase angle in degrees to use for the expansion. The default is - 0. Typically, the value is the peak displacement (or stress/strain) - phase angle obtained via the CYCPHASE command. + expnd + Mesh expansion (or contraction) factor. (This factor is the same + as MOPT,EXPND,Value.) EXPND is used to size internal elements in + an area based on the size of the elements on the area's boundaries. + For example, issuing SMRTSIZE,,,2 before meshing an area will allow + a mesh with elements that are approximately twice as large in the + interior of an area as they are on the boundary. If EXPND is less + than 1, a mesh with smaller elements on the interior of the area + will be allowed. EXPND should be greater than 0.5 but less than 4. + EXPND defaults to 1 for h-elements (size level 6), which does not + allow expansion or contraction of internal element sizes (except + when using AESIZE element sizing). (If EXPND is set to zero, the + default value of 1 will be used.) The actual size of the internal + elements will also depend on the TRANS option or upon AESIZE or + ESIZE sizing, if used. - Notes - ----- - Issue this command to display the results of a modal cyclic symmetry - analysis. + trans + Mesh transition factor. (This factor is the same as + MOPT,TRANS,Value.) TRANS is used to control how rapidly elements + are permitted to change in size from the boundary to the interior + of an area. TRANS defaults to 2.0 for h-elements (size level 6), + which permits elements to approximately double in size from one + element to the next as they approach the interior of the area. (If + TRANS is set to zero, the default value will be used.) TRANS must + be greater than 1 and, for best results, should be less than 4. + The actual size of the internal elements will also depend on the + EXPND option or upon AESIZE or ESIZE sizing, if used. - When you issue the EXPAND,Nrepeat command, subsequent SET commands read - data from the results file and expand them to Nrepeat sectors. As long - as no entities have been modified, this expansion can be negated (that - is, reverted to single sector) by issuing EXPAND with no arguments. If - you modify entities and wish to return to the partial model, use the - Session Editor (see Restoring Database Contents in the Operations - Guide). + angl + Maximum spanned angle per lower-order element for curved lines. + Defaults to 22.5 degrees per element (size level 6). This angle + limit may be exceeded if the mesher encounters a small feature + (hole, fillet, etc.). (This value is not the same as that set by + DESIZE,,,,ANGL.) - EXPAND displays the results and allows you to print them, as if for a - full model. The harmonic index (automatically retrieved from the - results file) appears in the legend column. + angh + Maximum spanned angle per higher-order element for curved lines. + Defaults to 30 degrees per element (size level 6). This angle + limit may be exceeded if the mesher encounters a small feature + (hole, fillet, etc.). (This value is NOT the same as that set by + DESIZE,,,,,ANGH.) - When plotting or printing element strain energy (SENE), the EXPAND - command works with brick or tet models only. Element kinetic energy - (KENE) plotting or printing is not supported. + gratio + Allowable growth ratio used for proximity checking. Defaults to + 1.5 for h-elements (size level 6). Values from 1.2 to 5.0 are + allowed; however, values from 1.5 to 2.0 are recommended. - EXPAND is a specification command valid only in POST1. It is - significantly different from the /CYCEXPAND command in several - respects, (although you can use either command to display the results - of a modal cyclic symmetry analysis): + smhlc + Small hole coarsening key, can be ON (default for size level 6) or + OFF. If ON, this feature suppresses curvature refinement that + would result in very small element edges (i.e., refinement around + small features). - EXPAND has none of the limitations of the /CYCEXPAND command. + smanc + Small angle coarsening key, can be ON (default for all levels) or + OFF. If ON, this feature restricts proximity refinement in areas + where it is ill-advised (that is, in tight corners on areas, + especially those that approach 0 degrees). - EXPAND changes the database by modifying the geometry, the nodal - displacements, and element stresses as they are read from the results - file, whereas the /CYCEXPAND command does not change the database. + mxitr + Maximum number of sizing iterations (defaults to 4 for all levels). - Caution:: : The EXPAND command creates new nodes and elements; - therefore, saving (or issuing the /EXIT, ALL command) after issuing the - EXPAND command can result in large databases. + sprx + Surface proximity refinement key, can be off (SPRX = 0, which is + the default for all levels) or on via two different values (SPRX = + 1 or SPRX = 2). If SPRX = 1, surface proximity refinement is + performed and any shell elements that need to be modified are + modified. If SPRX=2, surface proximity refinement is performed but + no shell elements are altered. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Notes + ----- + If a valid level number (1 (fine) to 10 (coarse)) is input on SIZLVL, + inputs for remaining arguments are ignored, and the argument values are + set as shown in Table: 229:: SMRTSIZE - Argument Values for h-elements + . + + The settings shown are for h-elements. The first column contains SIZLV + data, ranging from 10 (coarse) to 1 (fine). The default is 6 (indicated + by the shaded row). + + Table: 229:: : SMRTSIZE - Argument Values for h-elements + + Where appropriate, SmartSizing will start with AESIZE settings. + Elsewhere, it will start with any defined ESIZE,SIZE setting. It will + locally override AESIZE or ESIZE for proximity and curvature. + SmartSizing ignores any ESIZE,,NDIV setting. + + LESIZE line division and spacing specifications will be honored by + SmartSizing, unless you give permission for SmartSizing to override + them (for proximity or curvature) by setting KYNDIV to 1. Lines not + having an LESIZE specification are meshed as well as they can be. + + This command is also valid for rezoning. """ - command = "EXPAND, %s, %s, %s, %s, %s" % (str(nrepeat), str(hindex), str(icsys), str(sctang), str(ph_ase)) + command = "SMRTSIZE,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(sizlvl), str(fac), str(expnd), str(trans), str(angl), str(angh), str(gratio), str(smhlc), str(smanc), str(mxitr), str(sprx)) self.RunCommand(command, **kwargs) - def View(self, wn="", xv="", yv="", zv="", **kwargs): + def Bfalist(self, area="", lab="", **kwargs): """ - APDL Command: /VIEW + APDL Command: BFALIST - Defines the viewing direction for the display. + Lists the body force loads on an area. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). + area + Area at which body load is to be listed. If ALL (or blank), list + for all selected areas [ASEL]. If AREA = 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 AREA. - xv, yv, zv - The object is viewed along the line from point XV,YV,ZV (in the - global coordinate system) to the global coordinate system origin. - For section displays, the cutting plane is assumed to be - perpendicular to this line. If XV = WP, modify view to be normal - to the currently defined working plane. Defaults to (0,0,1). + lab + Valid body load label. If ALL, use all appropriate labels. Load + labels are listed under "Body Loads" in the input table for each + element type in the Element Reference. See the BFA command for + labels. Notes ----- - The view line is always normal to the screen. The view is selected by - defining a point (in the global Cartesian coordinate system) - representing a point along the viewing line. This point, and the - global Cartesian coordinate system origin, define the line along which - the object is viewed while looking toward the origin. Any point along - the view line may be used, i.e., (1,1,1) and (2,2,2) give the same - view. The display orientation may be changed as desired [/ANGLE]. The - display coordinate system type may be changed (from Cartesian to - cylindrical, spherical, toroidal, etc.) with the DSYS command. + Lists the body force loads for the specified area and label. Body + loads may be defined on an area with the BFA command. This command is valid in any processor. """ - command = "/VIEW, %s, %s, %s, %s" % (str(wn), str(xv), str(yv), str(zv)) + command = "BFALIST,%s,%s" % (str(area), str(lab)) self.RunCommand(command, **kwargs) - def Blc5(self, xcenter="", ycenter="", width="", height="", depth="", - **kwargs): + def Golist(self, **kwargs): """ - APDL Command: BLC5 - - Creates a rectangular area or block volume by center and corner points. - - Parameters - ---------- - xcenter, ycenter - Working plane X and Y coordinates of the center of the rectangle or - block face. - - width - The total distance on or parallel to the working plane X-axis - defining the width of the rectangle or block face. - - height - The total distance on or parallel to the working plane Y-axis - defining the height of the rectangle or block face. + APDL Command: /GOLIST - depth - The perpendicular distance (either positive or negative based on - the working plane Z direction) from the working plane representing - the depth of the block. If DEPTH = 0 (default), a rectangular area - is created on the working plane. + Reactivates the suppressed data input listing. Notes ----- - Defines a rectangular area anywhere on the working plane or a - hexahedral volume with one face anywhere on the working plane by - specifying the center and corner points. A rectangle will be defined - with four keypoints and four lines. A volume will be defined with - eight keypoints, twelve lines, and six areas, with the top and bottom - faces parallel to the working plane. See the BLC4, RECTNG, and BLOCK - commands for alternate ways to create rectangles and blocks. + Reactivates printout of the data input listing suppressed with /NOLIST. + + This command is valid in any processor, but only within a batch run + [/BATCH]. """ - command = "BLC5, %s, %s, %s, %s, %s" % (str(xcenter), str(ycenter), str(width), str(height), str(depth)) + command = "/GOLIST," % () self.RunCommand(command, **kwargs) - def Prjsol(self, item="", comp="", **kwargs): + def Mfbucket(self, key="", value="", **kwargs): """ - APDL Command: PRJSOL + APDL Command: MFBUCKET - Prints joint element output. + Turns a bucket search on or off. Parameters ---------- - item - Label identifying the item. Some items also require a component - label. - - DISP - Relative displacements. - - ROT - Relative rotations. + key + Bucket search key: - VEL - Relative linear velocities. + ON - Activates a bucket search (default). - OMG - Relative angular velocities. + OFF - Deactivates a bucket search. A global search is then activated. - ACC - Relative linear accelerations. + value + Scaling factor (%) used to determine the number of buckets for a + bucket search. Defaults to 50%. - DMG - Relative angular accelerations. + Notes + ----- + A bucket search will more efficiently compute the mapping of surface + and volumetric interpolation data across field interfaces (flagged by + the FSIN label using SF, SFA, SFE, or SFL or the FVIN label using BFE). - SMISC - Summable miscellaneous quantities. + The number of buckets used to partition a flagged interface is equal to + the scaling factor (%) times the total number of interface elements. + For example, for the default scaling factor of 50% and a 10,000 element + interface, 5,000 buckets are used. - comp - Component of the item (if required). For Item = DISP, ROT, VEL, - OMG, ACC, and DMG, enter the direction label, X, Y, or Z. For Item - = SMISC, enter a valid number. + This command is also valid in PREP7. - Notes - ----- - Prints element output for the MPC184 joint element. The joint element - quantities printed are the values for the free or unconstrained - relative degrees of freedom. + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. - This command is valid in POST1 only. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "PRJSOL, %s, %s" % (str(item), str(comp)) + command = "MFBUCKET,%s,%s" % (str(key), str(value)) self.RunCommand(command, **kwargs) - def Abextract(self, mode1="", mode2="", **kwargs): + def Spoint(self, node="", x="", y="", z="", **kwargs): """ - APDL Command: ABEXTRACT + APDL Command: SPOINT - Extracts the alpha-beta damping multipliers for Rayleigh damping. + Defines a point for moment summations. Parameters ---------- - mode1 - First mode number. + node + Node number of the desired point. If zero, use X,Y,Z to describe + point. - mode2 - Second mode number. + x, y, z + Global Cartesian coordinates of the desired summation point. Used + if NODE is 0. Defaults to (0,0,0). Notes ----- - ABEXTRACT calls the command macro DMPEXT to extract the damping ratio - of MODE1 and MODE2 and then computes the Alpha and Beta damping - multipliers for use in a subsequent structural harmonic or transient - analysis. See Damping in the Structural Analysis Guide for more - information on the alpha and beta damping multipliers. The damping - multipliers are stored in parameters ALPHADMP and BETADMP and can be - applied using the ALPHAD and BETAD commands. Before calling ABEXTRACT, - you must issue RMFLVEC to extract the modal displacements. In addition, - a node component FLUN must exist from all FLUID136 nodes. See - Introduction for more information on thin film analyses. - - This command is also valid in PREP7. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Defines a point (any point other than the origin) about which the + tabular moment summations are computed [NFORCE, FSUM]. If force + summations are desired in other than the global Cartesian directions, a + node number must be specified on the NODE field, and the desired + coordinate system must be activated with RSYS. """ - command = "ABEXTRACT, %s, %s" % (str(mode1), str(mode2)) + command = "SPOINT,%s,%s,%s,%s" % (str(node), str(x), str(y), str(z)) self.RunCommand(command, **kwargs) - def Susel(self, type="", name1="", name2="", name3="", name4="", name5="", - name6="", name7="", name8="", **kwargs): + def Zoom(self, wn="", lab="", x1="", y1="", x2="", y2="", **kwargs): """ - APDL Command: SUSEL + APDL Command: /ZOOM - Selects a subset of surfaces + Zooms a region of a display window. Parameters ---------- - type - Label identifying the type of select: - - S - Selects a new set (default). - - R - Reselects a set from the current set. + wn + Window number to which command applies (defaults to 1). - A - Additionally selects a set and extends the current set. + lab + Label to define the desired type of zoom: - U - Unselects a set from the current set. + OFF - Turns zoom off (refits image of entire model to the window). - ALL - Also selects all surfaces. + BACK - Goes back to previous zoom setting (five successive back ups, maximum). - NONE - Unselects all surfaces. + SCRN - Interprets X1,Y1 as the screen coordinates of the center of a square zoom + region; X2,Y2 as the screen coordinates of a point on one + side of that square. - name1, name2, name3, . . . , name8 - Eight character surface names + RECT - Interprets X1,Y1 and X2,Y2 as the screen coordinates of two opposite corners of + a rectangular zoom region. Notes ----- - The selected set of surfaces is used in the following operations: - SUMAP, SUDEL, SUCALC, SUEVAL, and SUVECT. + Zooms (centers and magnifies) the specified region of a display window. + /ZOOM will operate on a display that has been formed by an explicit + graphics action command (APLOT, EPLOT, etc.). /ZOOM has no effect on + an "immediate" graphics display. When /ZOOM is executed, the display + is automatically replotted such that the specified zoom region is + centered and sized to fill the window. + + Auto resizing is disabled when you issue the /ZOOM command. To restore + auto resizing, issue the /AUTO command, or select FIT from the Pan, + Zoom, Rotate box. + + This command is valid in any processor. """ - command = "SUSEL, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(type), str(name1), str(name2), str(name3), str(name4), str(name5), str(name6), str(name7), str(name8)) + command = "/ZOOM,%s,%s,%s,%s,%s,%s" % (str(wn), str(lab), str(x1), str(y1), str(x2), str(y2)) self.RunCommand(command, **kwargs) - def Vscfun(self, parr="", func="", par1="", **kwargs): + def Elseif(self, val1="", oper1="", val2="", conj="", val3="", oper2="", + val4="", **kwargs): """ - APDL Command: *VSCFUN + APDL Command: *ELSEIF - Determines properties of an array parameter. + Separates an intermediate if-then-else block. Parameters ---------- - parr - The name of the resulting scalar parameter. See *SET for name - restrictions. + val1 + First numerical value (or parameter which evaluates to numerical + value) in the conditional comparison operation. VAL1, VAL2, VAL3, + and VAL4 can also be character strings (enclosed in quotes) or + parameters for Oper = EQ and NE only. - func - Functions: + oper1 + Operation label. A tolerance of 1.0E-10 is used for comparisons + between real numbers: - Maximum: the maximum Par1 array element value. - Minimum: the minimum Par1 array element value. + Equal (for VAL1 = VAL2). - Not equal (for VAL1 ≠VAL2). - Index location of the maximum Par1 array element value. Array Par1 is searched starting from its specified index. - Index location of the minimum Par1 array element value. Array Par1 is searched - starting from its specified index. + Less than (for VAL1VAL2). - Index location of the first nonzero value in array Par1. Array Par1 is searched starting from its specified index. - Index location of the last nonzero value in array Par1. Array Par1 is searched - starting from its specified index. + Less than or equal (for VAL1 VAL2). - Greater than or equal (for VAL1 VAL2). - Sum: Par1 (the summation of the Par1 array element values). - Median: value of Par1 at which there are an equal number of values above and - below. + Absolute values of VAL1 and VAL2 before < operation. - Absolute values of VAL1 and VAL2 before > operation. - Mean: (σ Par1)/NUM, where NUM is the number of summed values. - Variance: (σ ((Par1-MEAN)**2))/NUM. + val2 + Second numerical value (or parameter which evaluates to numerical + value) in the conditional comparison operation. - Standard deviation: square root of VARI. - Root-mean-square: square root of (σ (Par1**2))/NUM. + conj + (Optional) Connection between two logical clauses. - par1 - Array parameter vector in the operation. + True if both clauses (Oper1 and Oper2) are true. - True if either clause is true. - Notes - ----- - Operates on one input array parameter vector and produces one output - scalar parameter according to: + val3 + (Optional) Third numerical value (or parameter which evaluates to + numerical value). - ParR = f(Par1) + oper2 + (Optional) Operation label. This will have the same labels as + Oper1, except it uses Val3 and Val4. A tolerance of 1.0E-10 is used + for comparisons between real numbers. - where the functions (f) are described below. The starting array element - number must be defined for the array parameter vector. For example, - *VSCFUN,MU,MEAN,A(1) finds the mean of the A vector values, starting - from the first value and stores the result as parameter MU. Operations - use successive array elements [*VLEN, *VMASK] with the default being - all successive array elements. Absolute values and scale factors may - be applied to all parameters [*VABS, *VFACT]. Results may be - cumulative [*VCUM]. See the *VOPER command for details. + val4 + (Optional) Fourth numerical value (or parameter value which + evaluates to a numerical value). + + Notes + ----- + Optional intermediate block separator within an if-then-else construct. + All seven characters of the command name (*ELSEIF) must be input. This + command is similar to the *IF command except that the Base field is + not used. The *IF, *ELSEIF, *ELSE, and *ENDIF commands for each if- + then-else construct must all be read from the same file (or keyboard). This command is valid in any processor. """ - command = "*VSCFUN, %s, %s, %s" % (str(parr), str(func), str(par1)) + command = "*ELSEIF,%s,%s,%s,%s,%s,%s,%s" % (str(val1), str(oper1), str(val2), str(conj), str(val3), str(oper2), str(val4)) self.RunCommand(command, **kwargs) - def Rate(self, option="", **kwargs): + def Gline(self, wn="", style="", **kwargs): """ - APDL Command: RATE + APDL Command: /GLINE - Specifies whether the effect of creep strain rate will be used in the - solution of a load step. + Specifies the element outline style. Parameters ---------- - option - Activates implicit creep analysis. + wn + Window number (or ALL) to which command applies (defaults to 1). - 0 or OFF  - No implicit creep analysis. This option is the default. + style + Outline key: - 1 or ON  - Perform implicit creep analysis. +  0  - Solid element outlines (default) + +  1  - Dashed element outlines + + -1  - No element outlines Notes ----- - Set Option = 1 (or ON) to perform an implicit creep analysis (TB,CREEP - with TBOPT : 1). For viscoplasticity/creep analysis, Option specifies - whether or not to include the creep calculation in the solution of a - load step. If Option = 1 (or ON), ANSYS performs the creep calculation. - Set an appropriate time for solving the load step via a TIME,TIME - command. + Determines the element outline style. Often used when node numbers are + displayed to prevent element lines from overwriting node numbers. + + Unless you are using an OpenGL or Starbase driver, the dashed element + outline option (/GLINE,WN,1) is not available in the following + situations: + + Z-buffered displays (/TYPE,WN,6). + + Capped Z-buffered displays (/TYPE,WN,7). + + Qslice Z-buffered displays (/TYPE,WN,8). + + This command is valid in any processor. """ - command = "RATE, %s" % (str(option)) + command = "/GLINE,%s,%s" % (str(wn), str(style)) self.RunCommand(command, **kwargs) - def Prnsol(self, item="", comp="", **kwargs): + def Edcsc(self, key="", **kwargs): """ - APDL Command: PRNSOL + APDL Command: EDCSC - Prints nodal solution results. + Specifies whether to use subcycling in an explicit dynamics analysis. Parameters ---------- - item - Label identifying the item. Valid item labels are shown in Table - 225: PRNSOL - Valid Item and Component Labels below. Some items - also require a component label. + key + Subcycling key: - comp - Component of the item (if required). Valid component labels are - shown in Table 225: PRNSOL - Valid Item and Component Labels below. - Defaults to COMP. + OFF - Do not use subcycling (default). + + ON - Use subcycling. Notes ----- - Prints the nodal solution results for the selected nodes in the sorted - sequence. For example, PRNSOL,U,X prints the X component of - displacement vector U (that is, the UX degree of freedom). Component - results are in the global Cartesian coordinate directions unless - transformed (RSYS). Various element results also depend upon the - recalculation method and the selected results location (AVPRIN, RSYS, - LAYER, SHELL, and NSEL). If the LAYER command is issued, then the - resulting output is listed in full graphics mode (/GRAPHICS,FULL). You - can use the FORCE command to define which component of the nodal load - (static, damping, inertia, or total) should be used. - - PowerGraphics can affect your nodal solution listings. For - PowerGraphics (/GRAPHICS,POWER), results are listed only for the model - exterior surfaces. - - When shell element types are present, results are output on a surface- - by-surface basis. For shell elements, such as SHELL181 or SHELL281, and - for ELBOW290, printed output is for both the top and bottom surfaces. - For solid elements such as SOLID185, the output is averaged for each - surface and printed as follows: - - For a node at a vertex, three lines are output (one printed line for - each surface). - - For a node on an edge, two lines are output (one printed line for each - surface). - - For nodes on a face, one value is output. - - For nodes interior to the volume, no printed values are output. - - If a node is common to more than one element, or if a geometric - discontinuity exists, several conflicting listings may result. For - example, a corner node incorporating results from solid elements and - shell elements could yield as many as nine different results; the - printed output would be averages at the top and bottom for the three - shell surfaces plus averages at the three surfaces for the solid, for a - total of nine lines of output. ANSYS does not average result listings - across geometric discontinuities when shell element types are present. - It is important to analyze the listings at discontinuities to ascertain - the significance of each set of data. - - The printed output for full graphics (/GRAPHICS,FULL) follows the - standard ANSYS convention of averaging results at the node. For shell - elements, the default for display is TOP so that the results for the - top of the shell are averaged with the other elements attached to that - node. - - If an NSORT, ESORT or /ESHAPE command is issued with PowerGraphics - activated, then the PRNSOL listings will be the same as in full - graphics mode (/GRAPHICS,FULL). The items marked with [2] are not - supported by PowerGraphics. To print midside nodes, you must first - issue an /EFACET,2 command. + Subcycling can be used to speed up an analysis when element sizes + within a model vary significantly. Relatively small elements will + result in a small time step size. When subcycling is on, the minimum + time step size is increased for the smallest elements. - Table: 225:: : PRNSOL - Valid Item and Component Labels + This command is also valid in PREP7. - Failure criteria [2][4]. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - Default components: Maximum of all failure criteria defined at current - location (MAX), maximum strain (EMAX), maximum stress (SMAX), Tsai-Wu - Strength Index (TWSI), inverse of Tsai-Wu Strength Ratio Index (TWSR). + """ + command = "EDCSC,%s" % (str(key)) + self.RunCommand(command, **kwargs) - Other available components: Other available components: Hashin Fiber - Failure (HFIB), Hashin Matrix Failure (HMAT), Puck Fiber Failure - (PFIB), Puck Matrix Failure (PMAT), LaRc03 Fiber Failure (L3FB), - LaRc03 Matrix Failure (L3MT), LaRc04 Fiber Failure (L4FB), LaRc04 - Matrix Failure (L4MT), and any user-defined failure criteria (USR1 - through USR9) [5]. + def Cbdof(self, fname1="", ext1="", fname2="", ext2="", kpos="", clab="", + kshs="", tolout="", tolhgt="", tolthk="", **kwargs): + """ + APDL Command: CBDOF - To activate or remove failure criteria, issue the FCTYP command. + Activates cut-boundary interpolation (for submodeling). - Failure criteria based on the effective stresses in the damaged - material. + Parameters + ---------- + fname1 + File name and directory path (248 characters maximum, including + directory) from which to read boundary node data. If no specified + directory path exists, the path defaults to your working directory + and you can use all 248 characters for the file name. - Components: Maximum of all failure criteria defined at current location - (MAX), fiber tensile failure (FT), fiber compressive failure (FC), - matrix tensile failure (MT), and matrix compressive (MC). + ext1 + Filename extension (eight-character maximum). - Progressive damage parameters. + -- + Unused field. - Components: Damage status (STAT, 0 - undamaged, 1 - damaged, 2 - - complete damage), fiber tensile damage variable (FT), fiber compressive - damage variable (FC), matrix tensile damage variable (MT), matrix - compressive damage variable (MC), shear damage variable (S), energy - dissipated per unit volume (SED), energy per unit volume due to viscous - damping (SEDV). + fname2 + File name and directory path (248 characters maximum, including + directory) to which cut-boundary D commands are written. If no + specified directory path exists, the path defaults to your working + directory and you can use all 248 characters for the file name. - For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the - labels TBOT, TE2, TE3, . . ., TTOP instead of TEMP. + ext2 + Filename extension (eight-character maximum). - Not supported by PowerGraphics + -- + Unused field. - For the CONT items for elements CONTA171 through CONTA177, the reported - data is averaged across the element. To obtain a more meaningful STAT - value, use the PRESOL command. + kpos + Position on Fname2 to write block of D commands: - Works only if failure criteria information is provided. (For more - information, see the documentation for the FC and TB commands.) + 0 - Beginning of file (overwrite existing file). - Works only if user failure criteria routine is provided. + 1 - End of file (append to existing file). - """ - command = "PRNSOL, %s, %s" % (str(item), str(comp)) - self.RunCommand(command, **kwargs) + clab + Label (eight characters maximum, including the colon) for this + block of D commands on Fname2. his label is appended to the colon + (:). Defaults to CBn, where n is the cumulative iteration number + for the data set currently in the database. For imaginary data + (see KIMG on the *SET command), Clab defaults to CIn. - def Bfe(self, elem="", lab="", stloc="", val1="", val2="", val3="", - val4="", **kwargs): - """ - APDL Command: BFE + kshs + Shell-to-solid submodeling key: - Defines an element body force load. + 0 - Solid-to-solid or shell-to-shell submodel. - Parameters - ---------- - elem - The element to which body load applies. If ALL, apply to all - selected elements (ESEL). A component name may also be substituted - for Elem. + 1 - Shell-to-solid submodel. - lab - Valid body load label. Valid labels are also listed for each - element type in the Element Reference under "Body Loads" in the - input table. + tolout + Extrapolation tolerance about elements, based on a fraction of the + element dimension. Submodel nodes outside the element by more than + TOLOUT are not accepted as candidates for DOF extrapolation. + Defaults to 0.5 (50 percent). - stloc - Starting location for entering VAL data, below. For example, if - STLOC = 1, data input in the VAL1 field applies to the first - element body load item available for the element type, VAL2 applies - to the second element item, etc. If STLOC = 5, data input in the - VAL1 field applies to the fifth element item, etc. Defaults to 1. + tolhgt + Height tolerance above or below shell elements, in units of length. + Used only for shell-to-shell submodeling (KSHS = 0). Submodel nodes + off the element surface by more than TOLHGT are not accepted as + candidates for degree-of-freedom interpolation or extrapolation. + Defaults to 0.0001 times the maximum element dimension. - val1, val2, val3, val4 - For Lab = TEMP, FLUE, DGEN, HGEN, and CHRGD, VAL1--VAL4 represent - body load values at the starting location and subsequent locations - (usually nodes) in the element. VAL1 can also represent a table - name for use with tabular boundary conditions. Enter only VAL1 for - a uniform body load across the element. For nonuniform loads, the - values must be input in the same order as shown in the input table - for the element type. Values initially default to the BFUNIF value - (except for CHRGD which defaults to zero). For subsequent - specifications, a blank leaves a previously specified value - unchanged; if the value was not previously specified, the default - value as described in the Element Reference is used. + tolthk + Height tolerance above or below shell elements, based on a fraction + of the shell element thickness. Used only for shell-to-solid + submodeling (KSHS = 1). Submodel nodes off the element surface by + more than TOLTHK are not accepted as candidates for DOF + interpolation or extrapolation. Defaults to 0.1 times the average + shell thickness. Notes ----- - Defines an element body force load (such as temperature in a structural - analysis, heat generation rate in a thermal analysis, etc.). Body loads - and element specific defaults are described for each element type in - the Element Reference. If both the BF and BFE commands are used to - apply a body load to an element, the BFE command takes precedence. + File Fname1 should contain a node list for which boundary conditions + are to be interpolated (NWRITE). File Fname2 is created to contain + interpolated boundary conditions written as a block of D commands. - For heat-generation (HGEN) loading on layered thermal solid elements - SOLID278 / SOLID279 (KEYOPT(3) = 1 or 2), or layered thermal shell - elements SHELL131 / SHELL132 (KEYOPT(3) = 1), STLOC refers to the layer - number (not the node). In such cases, use VAL1 through VAL4 to specify - the heat-generation values for the appropriate layers. Heat generation - is constant over the layer. + Boundary conditions are written for the active degree-of-freedom set + for the element from which interpolation is performed. Interpolation + occurs on the selected set of elements. The block of D commands begins + with an identifying colon label and ends with a /EOF command. The + colon label is of the form :Clab (described above). - Specifying a Table + Interpolation from multiple results sets can be performed by looping + through the results file in a user-defined macro. Additional blocks + can be appended to Fname2 by using KPOS and unique colon labels. To + read the block of commands, issue the /INPUT command with the + appropriate colon label. - You can specify a table name (VAL1) when using temperature (TEMP), - diffusing substance generation rate (DGEN), heat generation rate - (HGEN), and current density (JS) body load labels. + If the model has coincident (or very close) nodes, the CBDOF must be + applied to each part of the model separately to ensure that the mapping + of the nodes is correct. For example, if nodes belonging to two + adjacent parts linked by springs are coincident, the operation should + be performed on each part of the model separately. - Enclose the table name (tabname) in percent signs (%), as shown: + Resume the coarse model database at the beginning of the cut-boundary + procedure. The database should have been saved after the first coarse + model solution, as the number of nodes in the database and the results + file must match, and internal nodes are sometimes created during the + solution. - BFE,Elem, Lab,STLOC,%tabname% + Caution:: : Relaxing the TOLHGT or TOLTHK tolerances to allow submodel + nodes to be “found” can produce poor submodel results. - Use the *DIM command to define a table. + """ + command = "CBDOF,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(fname1), str(ext1), str(fname2), str(ext2), str(kpos), str(clab), str(kshs), str(tolout), str(tolhgt), str(tolthk)) + self.RunCommand(command, **kwargs) - For Lab = TEMP, each table defines NTEMP temperatures, as follows: + def Rsopt(self, opt="", filename="", ext="", dir="", **kwargs): + """ + APDL Command: RSOPT - For layered elements, NTEMP is the number of layer interface corners - that allow temperature input. + Creates or loads the radiosity mapping data file for SURF251 or SURF252 + element types. - For non-layered elements, NTEMP is the number of corner nodes. + Parameters + ---------- + opt + File option: - The temperatures apply to element items with a starting location of - STLOC + n, where n is the value field location (VALn) of the table name - input. + SAVE - Write the radiosity mapping data to a file. (Default) - For layered elements, a single BFE command returns temperatures for one - layer interface. Multiple BFE commands are necessary for defining all - layered temperatures. + LOAD - Read in the specified mapping data file. - For beam, pipe and elbow elements that allow multiple temperature - inputs per node, define the tabular load for the first node only (Node - I), as loads on the remaining nodes are applied automatically. For - example, to specify a tabular temperature load on a PIPE288 element - with the through-wall-gradient option (KEYOPT(1) = 0), the BFE command - looks like this: + fname + File name for radiosity mapping data file. Defaults to Jobname. - BFE,Elem,TEMP,1,%tabOut%, %tabIn% + ext + Filename extension for radiosity mapping data file (default = + .rsm). - When a tabular function load is applied to an element, the load does - not vary according to the positioning of the element in space. + dir + Directory path for radiosity mapping data file. If you do not + specify a directory path, it will default to your working + directory. - Graphical picking is available only via the listed menu paths. + Notes + ----- + Use this command to manually create or load a radiosity mapping data + file. This command is useful if you want to create the mapping data + file without issuing SAVE or CDWRITE, or if you want to specify that + the file be located in a directory other than your working directory. + Also use this command to manually load an existing mapping data file + during a restart. - This command is also valid in PREP7. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "BFE, %s, %s, %s, %s, %s, %s, %s" % (str(elem), str(lab), str(stloc), str(val1), str(val2), str(val3), str(val4)) + command = "RSOPT,%s,%s,%s,%s" % (str(opt), str(filename), str(ext), str(dir)) self.RunCommand(command, **kwargs) - def Mpplot(self, lab="", mat="", tmin="", tmax="", pmin="", pmax="", - **kwargs): + def Bfldele(self, line="", lab="", **kwargs): """ - APDL Command: MPPLOT + APDL Command: BFLDELE - Plots linear material properties as a function of temperature. + Deletes body force loads on a line. Parameters ---------- - lab - Linear material property label (EX, EY, etc.) [MP]. - - mat - Material reference number. Defaults to 1. - - tmin - Minimum abscissa value to be displayed. - - tmax - Maximum abscissa value. - - pmin - Minimum property (ordinate) value to be displayed. + line + Line at which body load is to be deleted. If ALL, delete for all + selected lines [LSEL]. A component name may also be substituted + for LINE. - pmax - Maximum property value. + lab + Valid body load label. If ALL, use all appropriate labels. Load + labels are listed under "Body Loads" in the input table for each + element type in the Element Reference. See the BFL command for + labels. Notes ----- - When the property is from tables, the MPPLOT command will not be valid - because the property could be a function of more than temperature. + Deletes body force loads (and all corresponding finite element loads) + for a specified line and label. Body loads may be defined on a line + with the BFL command. - This command is valid in any processor. + Graphical picking is available only via the listed menu paths. + + This command is also valid in PREP7. """ - command = "MPPLOT, %s, %s, %s, %s, %s, %s" % (str(lab), str(mat), str(tmin), str(tmax), str(pmin), str(pmax)) + command = "BFLDELE,%s,%s" % (str(line), str(lab)) self.RunCommand(command, **kwargs) - def Xfrm(self, lab="", x1="", y1="", z1="", x2="", y2="", z2="", **kwargs): + def Flst(self, nfield="", narg="", type="", otype="", leng="", **kwargs): """ - APDL Command: /XFRM + APDL Command: FLST - Controls the centroid or the axis of dynamic rotation. + Specifies data required for a picking operation (GUI). Parameters ---------- - lab - The location or entity (centroid) used to define the center or axis - of rotation. + nfield + Field number on the command which uses the picking data. (Count + the command name as a field, so that a 2 indicates the first + command argument, 3 for the second command argument, etc.) The + corresponding field on the command will have a P51X label. - NODE - If NODE is chosen for the center of rotation, the node number will be X1. If - the rotation is to be about an axis, then X1 and Y1 define - the two nodes between which a line is drawn to determine the - axis. The remaining arguments are ignored. + narg + Number of items in the picked list. - ELEMENT - If ELEMENT is chosen for the center of rotation, the element number will be X1. - If the rotation is to be about an axis, then X1 and Y1 - define the two elements between which a line is drawn to - determine the axis. The remaining arguments are ignored. + type + Type of items picked: - KP - If KP is chosen for the center of rotation, the keypoint number will be X1. If - the rotation is to be about an axis, then X1 and Y1 define the - two keypoints between which a line is drawn to determine the - axis. The remaining arguments are ignored. + 1 - Node numbers - LINE - If LINE is chosen for the center of rotation, the line number will be X1. If - the rotation is to be about an axis, then X1 and Y1 define - the two lines between which a line is drawn to determine the - axis. The remaining arguments are ignored. + 2 - Element numbers - AREA - If AREA is chosen for the center of rotation, the area number will be X1. If - the rotation is to be about an axis, then X1 and Y1 define - the two areas between which a line is drawn to determine the - axis. The remaining arguments are ignored. + 3 - Keypoint numbers - VOLUME - If VOLUME is chosen for the center of rotation, the volume number will be X1. - If the rotation is to be about an axis, then X1 and Y1 - define the two volumes between which a line is drawn to - determine the axis. The remaining arguments are ignored. + 4 - Line numbers - XYZ - If XYZ is chosen for the center of rotation, the location of that center is - determined by the coordinates X1, Y1, Z1. If values are - specified for X2, Y2, Z2, then the axis of rotation will be - about the line between those two points. + 5 - Area numbers - OFF - If LAB = OFF, DEFAULT, FOCUS or if no value is specified, then the center of - rotation is set at the FOCUS point, as defined by the /FOCUS - command. + 6 - Volume numbers - x1 - The entity number or X coordinate for the center of rotation. + 7 - Trace points - y1 - The entity number or Y coordinate for the center of rotation. + 8 - Coordinate locations (in Global Cartesian coordinates) - z1 - The Z coordinate for the center of rotation. + 9 - Screen picks (in X, Y screen coordinates (-1 to 1)) - x2 - The X coordinate for the axis of rotation. + otype + Data order: - y2 - The Y coordinate for the axis of rotation. + NOOR - Data is not ordered (default). - z2 - The Z coordinate for the axis of rotation. + ORDER - Data is in an ordered list (such as for the E,P51X and A,P51X commands, in + which the order of the data items is significant for the + picking operation). + + leng + Length of number of items describing the list (should equal NARG if + Otype = NOOR; default). Notes ----- - The /XFRM command is active only when the cumulative rotation key is - specified ON for the /ANGLE command (KINCR = 1). This command affects - dynamic manipulations only. - - For center rotation, the middle mouse button will rotate the model - about the screen Z axis and the right mouse button will rotate the - model about the screen X and Y axis. + Specifies data required for the FITEM command during a picking + operation. This is a command generated by the GUI and will appear in + the log file (Jobname.LOG) if graphical picking is used. This command + is not intended to be typed in directly in an ANSYS session (although + it can be included in an input file for batch input or for use with the + /INPUT command). - For rotation about an axis, the middle mouse button will rotate the - model about the defined axis of rotation and the right mouse button - will be deactivated. + On the log file, FLST will always be followed by one or more FITEM + commands which in turn are followed by the ANSYS command that contains + a P51X label in one of its fields. This set of commands should not be + edited. This command is valid in any processor. """ - command = "/XFRM, %s, %s, %s, %s, %s, %s, %s" % (str(lab), str(x1), str(y1), str(z1), str(x2), str(y2), str(z2)) + command = "FLST,%s,%s,%s,%s,%s" % (str(nfield), str(narg), str(type), str(otype), str(leng)) self.RunCommand(command, **kwargs) - def Kclear(self, np1="", np2="", ninc="", **kwargs): + def Slist(self, sfirst="", sl_ast="", sinc="", details="", type="", + **kwargs): """ - APDL Command: KCLEAR + APDL Command: SLIST - Deletes nodes and point elements associated with selected keypoints. + Summarizes the section properties for all defined sections in the + current session. Parameters ---------- - np1, np2, ninc - Delete mesh for keypoints NP1 to NP2 (defaults to NP1) in steps of - NINC (defaults to 1). If NP1 = ALL, NP2 and NINC are ignored and - the mesh for all selected keypoints [KSEL] is deleted. If NP1 = 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 NP1. + sfirst + First section ID to be summarized. Defaults to first available + section in the database. - Notes - ----- - Deletes all nodes and point elements associated with selected keypoints - (regardless of whether the nodes or elements are selected). Nodes - associated with non-point elements will not be deleted. Attributes - assigned as a result of KATT are maintained. In the program's response - to the command, if a keypoint is tallied as "cleared," it means either - its node or element reference was deleted. + slast + Last section ID to be summarized. Defaults to last available + section in the database. - """ - command = "KCLEAR, %s, %s, %s" % (str(np1), str(np2), str(ninc)) - self.RunCommand(command, **kwargs) + sinc + Increment of the section ID; defaults to 1. - def Cwd(self, dirpath="", **kwargs): - """ - APDL Command: /CWD + details + Determines the content of the summarized information for beams and + shells. - Changes the current working directory. + BRIEF - For beams, lists only the section integrated properties (such as Area, Iyy, and + Iyz). This option is the default. - Parameters - ---------- - dirpath - The full path name of the new working directory. + FULL - For beams, lists the section integrated properties, as well as the section + nodal coordinates, section cell connectivity information, + and section cell integration point coordinates. For shells, + the section stiffness (membrane, bending, membrane-bending + coupling and transverse shear) are printed. - Notes - ----- - After issuing the /CWD command, all new files opened with no default - directory specified (via the FILE, /COPY, or RESUME commands, for - example) default to the new DIRPATH directory. + The shell section stiffness listed considers elastic behavior of materials at reference temperature only. The elements that use the section data may alter the transverse shear stiffness based on slenderness considerations (in addition to the shear correction factors shown). - Section stiffness terms listed via the FULL option do not include section + offsets. The ANSYS program considers section + offsets during the solution phase of the + analysis. + + GROUP - If a section calls other sections, this option lists those sections too. + + type + The section type. Valid arguments are ALL (the default) and the + types available on the SECTYPE command. + + Notes + ----- + By default, the command lists information concerning all sections; + however, you can limit the output to only beam or pretension sections + via the Type key. Also, by default when ocean loading is present, the + command lists the beam section properties used by ocean loading. + + Following is example output from the SLIST,,,,BRIEF command for a + rectangular beam section subtype (SECTYPE,,BEAM,RECT): """ - command = "/CWD, %s" % (str(dirpath)) + command = "SLIST,%s,%s,%s,%s,%s" % (str(sfirst), str(sl_ast), str(sinc), str(details), str(type)) self.RunCommand(command, **kwargs) - def Tbpt(self, oper="", x1="", x2="", x3="", xn="", **kwargs): + def Kbc(self, key="", **kwargs): """ - APDL Command: TBPT + APDL Command: KBC - Defines a point on a nonlinear data curve. + Specifies ramped or stepped loading within a load step. Parameters ---------- - oper - Operation to perform: - - DEFI - Defines a new data point (default). The point is inserted into the table in - ascending order of X1. If a point already exists with the - same X1 value, it is replaced. + key + Ramping key: - DELE - Deletes an existing point. The X1 value must match the X1 value of the point - to be deleted (XN is ignored). + 0 - Loads are linearly interpolated (ramped) for each substep from the values of + the previous load step to the values of this load step. This is + the default value. - x1, x2, ..., xn - The N components of the point. N depends on the type of data table. - Except for TB,EXPE all other TB Tables support only 2 components. + 1 - Loads are step changed (stepped) at the first substep of this load step to the + values of this load step (i.e., the same values are used for + all substeps). Useful for rate-dependent behavior (e.g., + creep, viscoplasticity, etc.) or transient load steps only. Notes ----- - TBPT defines a point on a nonlinear data curve (such as a stress-strain - curve, B-H curve, etc.) at the temperature specified on the last TBTEMP - command. The meaning of the values depends on the type of data table - specified on the last TB command (MISO, BH, etc.). + Specifies whether loads applied to intermediate substeps within the + load step are to be stepped or ramped. Used only if DTIME on the DELTIM + command is less than the time span or, conversely, if NSBSTP on the + NSUBST command is greater than one. Flags (FSI, MXWF, MVDI, etc.) are + always stepped. - This command is also valid in SOLUTION. + Changing the ramping KEY (i.e., switching between ramped and stepped + boundary conditions) between load steps is not recommended. + + For ramped loading (KBC,0), when a load is applied for the first time, + it is interpolated from zero to the value of the current load step, and + not from the initial condition or value of the degree of freedom from + the previous load step. + + Spatially varying tabular loads or boundary conditions do not support + direct ramping or stepping options and, instead, apply their full + values according to the supplied tabular functions regardless of the + KBC setting. + + For a static or harmonic cyclic symmetry analysis, any load that varies + by sector (CYCOPT,LDSECT) is tabular and is applied as a step change, + regardless of the KBC setting; however, any non-tabular loads in the + same analysis are ramped or stepped according to the KBC setting. + + Irrespective of the KBC setting, loads are usually step-removed. See + Stepping or Ramping Loads in the Basic Analysis Guide for more + information. + + It is sometimes difficult to obtain successful convergence with stepped + loading in a nonlinear transient problem. If divergence is encountered, + determine if stepped loading was used by default, then determine if it + is appropriate for the analysis. + + This command is also valid in PREP7. """ - command = "TBPT, %s, %s, %s, %s, %s" % (str(oper), str(x1), str(x2), str(x3), str(xn)) + command = "KBC,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Axlab(self, axis="", lab="", **kwargs): + def Lgwrite(self, fname="", ext="", kedit="", **kwargs): """ - APDL Command: /AXLAB + APDL Command: LGWRITE - Labels the X and Y axes on graph displays. + Writes the database command log to a file. Parameters ---------- - axis - Axis specifier: + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - X - Apply label to X axis. + ext + Filename extension (eight-character maximum). - Y - Apply label to Y axis. + -- + Unused field. - lab - Axis label (user defined text up to 30 characters long). Leave - blank to reestablish the default for Axis axis. + kedit + Flag to suppress nonessential commands: + + NONE - Do not suppress any commands (default). + + COMMENT - Write nonessential commands as comments (starting with !). + + REMOVE - Do not write nonessential commands or comments. Notes ----- + Writes the database command log to a named file. The database command + log contains all commands that were used to create the current + database. These commands are recorded in the database as they are + issued, and saved in the database file (File.DB) whenever the database + is saved. The LGWRITE command extracts these commands from the + database and writes them to a file. Nonessential commands (for + listing, graphics displays, help, etc.) can be excluded from the file + by using the Kedit field. The file resulting from LGWRITE can be used + as command input to the program. This command is most useful if the + session log file (File.LOG), which is normally saved during an + interactive session, has been lost or corrupted. + This command is valid in any processor. """ - command = "/AXLAB, %s, %s" % (str(axis), str(lab)) + command = "LGWRITE,%s,%s,%s" % (str(fname), str(ext), str(kedit)) self.RunCommand(command, **kwargs) - def Vatt(self, mat="", real="", type="", esys="", secnum="", **kwargs): + def Kwplan(self, wn="", korig="", kxax="", kplan="", **kwargs): """ - APDL Command: VATT + APDL Command: KWPLAN - Associates element attributes with the selected, unmeshed volumes. + Defines the working plane using three keypoints. Parameters ---------- - mat, real, type, esys, secnum - Material number, real constant set number, type number, coordinate - system number, and section number to be associated with selected, - unmeshed volumes. + wn + Window number whose viewing direction will be modified to be normal + to the working plane (defaults to 1). If WN is a negative value, + the viewing direction will not be modified. If fewer than three + points are used, the viewing direction of window WN will be used + instead to define the normal to the working plane. + + korig + Keypoint number defining the origin of the working plane coordinate + system. If KORIG = P, graphical picking is enabled and all + remaining command fields are ignored (valid only in the GUI). + + kxax + Keypoint number defining the x-axis orientation (defaults to the + x-axis being parallel to the global X-axis; or if the normal to the + working plane is parallel to the global X-axis, then defaults to + being parallel to the global Y-axis). + + kplan + Keypoint number defining the working plane (the normal defaults to + the present display view [/VIEW] of window WN). Notes ----- - These element attributes will be used when the volumes are meshed. If - a volume does not have attributes associated with it (by this command) - at the time it is meshed, the attributes are obtained from the then - current MAT, REAL, TYPE, ESYS, and SECNUM command settings. Reissue - the VATT command (before volumes are meshed) to change the attributes. - A zero (or blank) argument removes the corresponding association. + Defines a working plane to assist in picking operations using three + keypoints as an alternate to the WPLANE command. The three keypoints + also define the working plane coordinate system. A minimum of one + keypoint (at the working plane origin) is required. Immediate mode may + also be active. See WPSTYL command to set the style of working plane + display. - If any of the arguments MAT, REAL, TYPE, ESYS or SECNUM are defined as - -1, then that value will be left unchanged in the selected set. + This command is valid in any processor. - In some cases, ANSYS can proceed with a volume meshing operation even - when no logical element type has been assigned via VATT,,,TYPE or TYPE. - For more information, see the discussion on setting element attributes - in Meshing Your Solid Model of the Modeling and Meshing Guide. + """ + command = "KWPLAN,%s,%s,%s,%s" % (str(wn), str(korig), str(kxax), str(kplan)) + self.RunCommand(command, **kwargs) + + def Fklist(self, kpoi="", lab="", **kwargs): + """ + APDL Command: FKLIST + + Lists the forces at keypoints. + + Parameters + ---------- + kpoi + List forces at this keypoint. If ALL (default), list for all + selected keypoints [KSEL]. If KPOI = 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 KPOI. + + lab + Force label to be listed (defaults to ALL). See the DOFSEL command + for labels. + + Notes + ----- + Listing applies to the selected keypoints [KSEL] and the selected force + labels [DOFSEL]. + + This command is valid in any processor. """ - command = "VATT, %s, %s, %s, %s, %s" % (str(mat), str(real), str(type), str(esys), str(secnum)) + command = "FKLIST,%s,%s" % (str(kpoi), str(lab)) self.RunCommand(command, **kwargs) - def Edpc(self, min="", max="", inc="", **kwargs): + def Cmap(self, fname="", ext="", kywrd="", ncntr="", **kwargs): """ - APDL Command: EDPC + APDL Command: /CMAP - Selects and plots explicit dynamic contact entities. + Changes an existing or creates a new color mapping table. Parameters ---------- - min - Minimum contact entity number to be selected and plotted (default - = 1). + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - max - Maximum contact entity number to be selected and plotted (default = - MIN). + ext + Filename extension (eight-character maximum). - inc - Contact entity number increment (default = 1). + -- + Unused field. + + kywrd + Keyword indicating the disposition of the color map file. + + (blank) - Loads existing color map file. + + CREATE - Starts the CMAP utility and modifies or creates the specified file. + + SAVE - Writes the active color map to the specified file, which can be imported into + future sessions. + + ncntr + Number of contours to be defined. Default = 9 (even if an existing + file is being modified). Maximum = 128. Notes ----- - EDPC invokes an ANSYS macro which selects and plots explicit dynamic - contact entities. The plot will consist of nodes or elements, depending - on the method (node components or parts) that was used to define the - contact surfaces (see the EDCGEN command). For single surface contact - definitions, all external surfaces within the model are plotted. + Reads the color map file (RGB index specifications) to change from + current specifications. Only one color map may be active at a time. - Note:: : EDPC changes the selected set of nodes and elements. After - plotting contact entities, you must reselect all nodes and elements - (NSEL and ESEL) required for subsequent operations, such as SOLVE + For 2-D drivers (especially Win32c), modifying the color map can + produce anomalies, including legend/contour disagreement. - Use the EDCLIST command to list the contact entity numbers for all - defined contact. + When Kywrd equals CREATE, the 2-D drivers (X11c and Win32c) display the + CMAP utility with an additional contour color picker called CONTOURS. + Colors selected via the CONTOURS picker affect result contour displays + (such as stresses). No other drivers offer the CONTOURS picker in the + CMAP utility. - This command is also valid in SOLUTION. + Changing the color map using the /CMAP command changes the meaning of + the color labels on the /COLOR command. See /COLOR for other color + controls. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid anywhere. """ - command = "EDPC, %s, %s, %s" % (str(min), str(max), str(inc)) + command = "/CMAP,%s,%s,%s,%s" % (str(fname), str(ext), str(kywrd), str(ncntr)) self.RunCommand(command, **kwargs) - def Number(self, nkey="", **kwargs): + def Block(self, x1="", x2="", y1="", y2="", z1="", z2="", **kwargs): """ - APDL Command: /NUMBER + APDL Command: BLOCK - Specifies whether numbers, colors, or both are used for displays. + Creates a block volume based on working plane coordinates. Parameters ---------- - nkey - Numbering style: + x1, x2 + Working plane X coordinates of the block. -  0  - Color (terminal dependent) the numbered items and show numbers. + y1, y2 + Working plane Y coordinates of the block. -  1  - Color the numbered items. Do not show the numbers. + z1, z2 + Working plane Z coordinates of the block. -  2  - Show the numbers. Do not color the items. + Notes + ----- + Defines a hexahedral volume based on the working plane. The block must + have a spatial volume greater than zero (i.e., this volume primitive + command cannot be used to create a degenerate volume as a means of + creating an area.) The volume will be defined with eight keypoints, + twelve lines, and six areas, with the top and bottom faces parallel to + the working plane. See the BLC4 and BLC5 commands for alternate ways + to create blocks. - -1  - Do not color the items or show the numbers. For contour plots, the resulting - display will vary (see below). + """ + command = "BLOCK,%s,%s,%s,%s,%s,%s" % (str(x1), str(x2), str(y1), str(y2), str(z1), str(z2)) + self.RunCommand(command, **kwargs) + + def Vcone(self, wn="", phi="", **kwargs): + """ + APDL Command: /VCONE + + Defines the view cone angle for perspective displays. + + Parameters + ---------- + wn + Window number (or ALL) to which command applies (defaults to 1). + + phi + View cone angle (0.0 to 85.°) to define perspective. Use PHI = + 45.0° for typical perspective. Increase angle for more + perspective, decrease angle for less. If the distance [/DIST] is + not specified, it will be automatically calculated to give full + window magnification. If the distance is also specified, PHI + controls both the perspective and the magnification. The larger + the angle, the more the perspective and the less the magnification. + Defaults to 0.0 (no perspective). Notes ----- - Specifies whether numbers, colors, or both are used for numbering - displays [/PNUM] of nodes, elements, keypoints, lines, areas, and - volumes. - - Shading is also available for terminals configured with more than 4 - color planes [/SHOW]. Color automatically appears for certain items - and may be manually controlled (off or on) for other items. + Perspective shows the true depth of the object in the display. A + variable magnification results since the back plane of the object is + further from the observer than the front plane. The largest + magnification occurs at the front plane. With perspective, the + magnification factor (MAGF) is not only a function of the distance from + the object, but also the window shape and the perspective (or view + cone) angle: Φ as follows: - When you suppress color (NKEY = -1) your contour plots will produce - different results, depending on your graphics equipment. For non-3-D - devices (X11, Win32, etc.) your contour plot will be white (no color). - For 3-D devices, such as OpenGL, the resulting display will be in - color. + where , for square windows, is the largest in-plane vertical or + horizontal dimension, d is the distance from the observer to the plane + of: (usually the front plane of the object), and: Φ is the view cone + angle (defined with the /VCONE command). The bigger the cone angle, + the more the perspective. The magnification factor proportionally + decreases with increasing: Φ. The distance can be defined with the + /DIST or the /FOCUS command. Note, the distance input on the /DIST + command is equal to d only if the focus point is located on the plane + of : . It is recommended that if a general perspective is desired + (i.e., not any specific cone angle), use Φ = 45.0 (since TAN(45.0) = + 1.0) and let the d value be automatically calculated for full window + magnification. - The following items are automatically given discrete colors: Boundary - condition symbols [/PBC], curves on graph displays, and distorted - geometry on postprocessing displays. Contour lines in postprocessing - displays are automatically colored based upon a continuous, rather than - a discrete, spectrum so that red is associated with the highest contour - value. On terminals with raster capability [/SHOW], the area between - contour lines is filled with the color of the higher contour. + Note that any number of /DIST, /FOCUS, and /VCONE combinations can be + used to produce the same magnification. Distances less than the object + depth will produce views from within the object. - Explicit entity colors or the discrete color mapping may be changed - with the /COLOR command. + A magnification factor of 1.0 just fills the window. If the automatic + scaling option is used [/AUTO], the magnification factor is fixed at + 0.91 (to allow a 10% margin around the object) and d is automatically + calculated for the given /VCONE and /FOCUS values. Any value of Φ + between 0.0 and 85.0 (usually 45.0) may be used to activate the + perspective. Views from inside the object are not possible when d is + automatically calculated (use manual scaling [/USER] along with /DIST + specification). This command is valid in any processor. """ - command = "/NUMBER, %s" % (str(nkey)) + command = "/VCONE,%s,%s" % (str(wn), str(phi)) self.RunCommand(command, **kwargs) - def Cycexpand(self, wn="", option="", value1="", value2="", **kwargs): + def Edout(self, option="", **kwargs): """ - APDL Command: /CYCEXPAND + APDL Command: EDOUT - Graphically expands displacements, stresses and strains of a cyclically - symmetric model. + Specifies time-history output (ASCII format) for an explicit dynamics + analysis. Parameters ---------- - wn - The window number to which the expansion applies. Valid values are - 1 through 5. The default value is 1. The window number applies only - to the AMOUNT argument. - option - One of the following options: - - ON - Activates cyclic expansion using the previous settings (if any). If no previous - settings exist, this option activates the default settings. - - DEFAULT - Resets cyclic expansion to the default settings. + Output data option. Each option corresponds to a separate file that + is written by the LS-DYNA solver. If Option = ALL, all files except + NODOUT and ELOUT are written. Valid options are: - OFF - Deactivates cyclic expansion. This option is the default. + GLSTAT - Global data (default). - STATUS - Lists the current cyclic expansion settings. + BNDOUT - Boundary condition forces and energy. - AMOUNT - The number of repetitions or the total angle. + RWFORC - Wall force. - Value1 - NREPEAT + DEFORC - Discrete element data. - Value2 - The number of repetitions. The default is the total number of sectors in 360 - degrees. + MATSUM - Material energies data. - or - Value1 + NCFORC - Nodal interface forces. - ANGLE - Value2 + RCFORC - Resultant interface force data. - The total angle in degrees. The default is 360. - WHAT + DEFGEO - Deformed geometry data. - A specified portion or subset of the model to expand: - Value1 + SPCFORC - SPC reaction force data. - The component name of the elements to expand. The default is all selected components. - EDGE + SWFORC - Nodal constraint reaction force data (spotwelds and rivets). - Sector edge display key. - -1 + RBDOUT - Rigid body data. - Suppresses display of edges between sectors even if the cyclic count varies between active windows. - Caution:  Plots with fewer than the maximum number of repetitions may have - missing element faces at the sector boundaries. + GCEOUT - Geometry contact entities. - 0 or OFF - Averages stresses or strains across sector boundaries. This value is the - default (although the default reverts to 1 or ON if the - cyclic count varies between active windows). + SLEOUT - Sliding interface energy. - 1 or ON - No averaging of stresses or strains occurs and sector boundaries are shown on - the plot. + JNTFORC - Joint force data. - PHASEANG - The phase angle shift: + NODOUT - Nodal data. - Value1 - The phase angle shift in degrees. The valid range is 0 through 360. The default - is 0. For a full harmonic solution, this value is - typically the phase angle obtained via the CYCPHASE - command. If Value1 = AMPLITUDE (or if Value1 ≥ 360), the - amplitude is supplied. The amplitude solution for non- - component results (such as equivalent stress) are not - valid. For a mode-superposition harmonic solution, if - Value1 = SWEEP, the maximum values across a phase angle - sweep are supplied. + ELOUT - Element data. Notes ----- - In preprocessing, the /CYCEXPAND command verifies a cyclically - symmetric model by graphically expanding it partially or through the - full 360 degrees. - - For the postprocessing plot nodal solution (PLNSOL) operation, the - command graphically expands displacements, stresses and strains of a - cyclically symmetric model partially or though the full 360 degrees by - combining the real (original nodes and elements) and imaginary - (duplicate nodes and elements) parts of the solution. - - For the print nodal solution (PRNSOL) operation, the command expands - the printed output of displacements or stresses on a sector-by-sector - basis. - - Use of the /CYCEXPAND command does not change the database. The command - does not modify the geometry, nodal displacements or element stresses. + This command specifies output to be written during an explicit dynamics + solution. The data corresponding to each Option is written to a + separate ASCII file having the same name as the Option label. The data + is written for the entire model at time intervals specified by the + EDHTIME command. If no time interval is specified, output is written at + 1000 steps over the analysis. (See also the EDHIST command which + specifies time-history output for a portion of the model.) The data + written to the MATSUM file is actually for each PART number (EDPART) at + time intervals specified by the EDHTIME command, but the data is listed + following the Mat no. in the file. - The command affects element and result plots only. It has no effect on - operations other than plot element solution (PLESOL), plot nodal - solution (PLNSOL), print nodal solution (PRNSOL), and calculate - harmonic solution (CYCCALC). Operations other than PLESOL, PLNSOL, - PRNSOL, or CYCCALC work on the unprocessed real and imaginary parts of - a cyclic symmetry solution + For Option = NODOUT and ELOUT, you must specify a component; you must + issue EDHIST before issuing EDOUT,NODOUT or EDOUT,ELOUT. - If you issue a /CYCEXPAND,,OFF command, you cannot then expand the - model by simply issuing another /CYCEXPAND command (for example, to - specify an NREPEAT value for the number of repetitions). In such a - case, you must specify /CYCEXPAND,,ON, which activates expansion using - the previous settings (if any) or the default settings. + Use EDOUT,LIST to list the current time-history output specifications. + (The listing will include output requested with the EDHIST command.) + Use EDOUT,DELE to delete all output specifications that have been + defined with the EDOUT command. - The command requires PowerGraphics and will turn PowerGraphics on - (/GRAPHICS,POWER) if not already active. Any setting which bypasses - PowerGraphics (for example, /PBF) also bypasses cyclic expansion; in - such cases, the /CYCEXPAND command displays unprocessed real and - imaginary results. + In order for the specified output files to be written, you must also + request that explicit dynamics results be written to an LS-DYNA output + file [EDWRITE,LSDYNA or EDWRITE,BOTH]. - The CYCPHASE command uses full model graphics (/GRAPHICS,FULL) to - compute peak values. Because of this, there may be slight differences - between max/min values obtained with CYCPHASE, and those obtained via - /CYCEXPAND, which uses power graphics (/GRAPHICS,POWER). + In an explicit dynamic small restart analysis (EDSTART,2) or full + restart analysis (EDSTART,3), the same ASCII files that were requested + for the original analysis are written by default for the restart. You + can request different files by issuing the appropriate EDOUT commands + in the restart analysis. - For PHASEANG = AMPLITUDE (or 360) with a cyclic full harmonic solution, - the only appropriate coordinate system is the solution coordinate - system (RSYS,SOLU) + This command is also valid in PREP7. - To learn more about analyzing a cyclically symmetric structure, see the - Cyclic Symmetry Analysis Guide. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/CYCEXPAND, %s, %s, %s, %s" % (str(wn), str(option), str(value1), str(value2)) + command = "EDOUT,%s" % (str(option)) self.RunCommand(command, **kwargs) - def Cvar(self, ir="", ia="", ib="", itype="", datum="", name="", **kwargs): + def Nlog(self, ir="", ia="", name="", facta="", factb="", **kwargs): """ - APDL Command: CVAR + APDL Command: NLOG - Computes covariance between two quantities. + Forms the natural log of a variable. Parameters ---------- ir Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previous - variable, the previous variable will be overwritten with this - result. - - ia, ib - Reference numbers of the two variables to be operated on. If only - one, leave IB blank. - - itype - Defines the type of response PSD to be calculated: - - 0,1 - Displacement (default). + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. - 2 - Velocity. + ia + Reference number of the variable to be operated on. - 3 - Acceleration. + --, -- + Unused fields. - datum - Defines the reference with respect to which covariance is to be - calculated: + name + Thirty-two character name identifying the variable on printouts and + displays. Embedded blanks are compressed for output. - 1 - Absolute value. + --, -- + Unused fields. - 2 - Relative to base (default). + facta + Scaling factor applied to variable IA (defaults to 1.0). - name - Thirty-two character name for identifying the variable on listings - and displays. Embedded blanks are compressed upon output. + factb + Scaling factor (positive or negative) applied to the operation + (defaults to 1.0). Notes ----- - This command computes the covariance value for the variables referenced - by the reference numbers IA and IB. If DATUM = 2, the variable - referenced by IR will contain the individual modal contributions (i.e., - the dynamic or relative values). If DATUM = 1, the variable referenced - by IR will contain the modal contributions followed by the - contributions of pseudo-static and covariance between dynamic and - pseudo-static responses. File.PSD must be available for the - calculations to occur. + Forms the natural log of a variable according to the operation: + + IR = FACTB*LN(FACTA x IA) """ - command = "CVAR, %s, %s, %s, %s, %s, %s" % (str(ir), str(ia), str(ib), str(itype), str(datum), str(name)) + command = "NLOG,%s,%s,%s,%s,%s" % (str(ir), str(ia), str(name), str(facta), str(factb)) self.RunCommand(command, **kwargs) - def Aadd(self, na1="", na2="", na3="", na4="", na5="", na6="", na7="", - na8="", na9="", **kwargs): + def Sadd(self, labr="", lab1="", lab2="", fact1="", fact2="", const="", + **kwargs): """ - APDL Command: AADD + APDL Command: SADD - Adds separate areas to create a single area. + Forms an element table item by adding two existing items. Parameters ---------- - na1, na2, na3, . . . , na9 - Numbers of areas to be added. If NA1 = ALL, add all selected areas - and ignore NA2 to NA9. If NA1 = P, graphical picking is enabled - and all remaining arguments are ignored (valid only in the GUI). A - component name may also be substituted for NA1. + labr + Label assigned to results. If same as existing label, the existing + values will be overwritten by these results. + + lab1 + First labeled result item in operation. + + lab2 + Second labeled result item in operation (may be blank). + + fact1 + Scale factor applied to Lab1. A (blank) or '0' entry defaults to + 1.0. + + fact2 + Scale factor applied to Lab2. A (blank) or '0' entry defaults to + 1.0. + + const + Constant value. Notes ----- - The areas must be coplanar. The original areas (and their - corresponding lines and keypoints) will be deleted by default. See the - BOPTN command for the options available to Boolean operations. Element - attributes and solid model boundary conditions assigned to the original - entities will not be transferred to the new entities generated. - Concatenated entities are not valid with this command. + Forms a labeled result (see ETABLE command) for the selected elements + by adding two existing labeled result items according to the operation: + + LabR = (FACT1 x Lab1) + (FACT2 x Lab2) + CONST + + May also be used to scale results for a single labeled result item. If + absolute values are requested [SABS,1], absolute values of Lab1 and + Lab2 are used. """ - command = "AADD, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(na7), str(na8), str(na9)) + command = "SADD,%s,%s,%s,%s,%s,%s" % (str(labr), str(lab1), str(lab2), str(fact1), str(fact2), str(const)) self.RunCommand(command, **kwargs) - def Txtre(self, lab="", num="", n1="", n2="", ninc="", **kwargs): + def Norl(self, line="", area="", ndir="", **kwargs): """ - APDL Command: /TXTRE + APDL Command: NORL - Controls application of texture to selected items. + Rotates nodal coordinate systems perpendicular to line normal Parameters ---------- - lab - You can apply texture according to the following labels: + line + Line number containing the nodes to be rotated. If ALL, applies to + all selected lines (see the LSEL command). If LINE = P, graphical + picking is enabled. - ELEM - Apply texture to elements N1 through N2 in steps of NINC. + area + The area number containing the selected lines. The normal of the + line(s) selected is supposed to lie on this area. Defaults to the + lowest numbered selected area containing the line number. - AREA - Apply texture to areas N1 through N2 in steps of NINC. + ndir + Direction of the normal. If NDIR = -1, the nodal coordinate system + is rotated in the opposite direction of the line normal. The + default is the same direction as the surface normal. - VOLU - Apply texture to volumes N1 through N2 in steps of NINC. + Notes + ----- + The NORL command rotates the X-axis of the nodal coordinate + perpendicular to the line normal. The rotated nodal coordinate systems + may be displayed through the /PSYMB command. In case multiple lines are + selected, there could be conflicts at the boundaries. If a node belongs + to two lines that have a different normal, its nodal coordinate system + will be rotated to the line normal with the lowest number. Keep the + following in mind when using the NORL command: - CM - Apply texture to the component named in N1. N2 and NINC are ignored. + If the nodal coordinate system is parallel to the global Cartesian + system, it is not displayed through the /PSYMB command. - ON, OFF - Sets the specified texture display on or off. All other fields are ignored. + Previously specified rotation on the selected nodes are overridden. - File - If Lab = File, the command format is /TXTRE, File, Key_Index, Fname, Fext, --, - Format (This variant of the command is applicable to 2-D - drivers). + """ + command = "NORL,%s,%s,%s" % (str(line), str(area), str(ndir)) + self.RunCommand(command, **kwargs) - Key_Index - The texture index associated with the file. If the number fifty-one (51) is - used, the imported bitmap will be used as the window's - logo. + def Sfedele(self, elem="", lkey="", lab="", **kwargs): + """ + APDL Command: SFEDELE - Fname - File name and directory path (248 characters maximum, including the characters - needed for the directory path). An unspecified directory - path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + Deletes surface loads from elements. - Fext - Filename extension (eight-character maximum). + Parameters + ---------- + elem + Element to which surface load deletion applies. If ALL, delete + load from all selected elements [ESEL]. If ELEM = P, graphical + picking is enabled and all remaining command fields are ignored + (valid only in the GUI). A component name may be substituted for + ELEM. - -- - Unused field. + lkey + Load key associated with surface load (defaults to 1). If ALL, + delete surface loads for all load keys. - Format - The file format. If Format = 0, the file is a pixmap (Linux) or Bitmap (PC). - The file cannot contain a compressed image, and the PC - file must be 8 or 24 bit BI_RGB format. If Format = 1 or - JPEG, then the file is in JPEG (Joint Photographic Experts - Group) format. If Format = 2 or PNG, then the file is in - PNG (Portable Network Graphics) format. + lab + Valid surface load label. If ALL, use all appropriate labels. See + the SFE command for labels. - num - Select the texture index number from the following list: + Notes + ----- + Deletes surface loads from selected elements. See the SFDELE command + for an alternate surface load deletion capability based upon selected + nodes. - 0 - No Texturing + This command is also valid in PREP7. - 1 - Aluminum + """ + command = "SFEDELE,%s,%s,%s" % (str(elem), str(lkey), str(lab)) + self.RunCommand(command, **kwargs) - 2 - Aluminum, Brushed + def Pwedge(self, xcentr="", ycentr="", xlrad="", angle1="", angle2="", + **kwargs): + """ + APDL Command: /PWEDGE - 3 - Steel With Bumps + Creates an annotation wedge (GUI). - 4 - Steel, Embossed + Parameters + ---------- + xcentr + Wedge X center location (-1.0 < X < 2.0). - 5 - Iron + ycentr + Wedge Y center location (-1.0 < Y < 1.0). - 6 - Steel, Pattern + xlrad + Wedge radius length. - 7 - Steel, Riveted + angle1 + Starting angle of wedge. - 8 - Steel, Scratched + angle2 + Ending angle of wedge. The wedge is drawn counterclockwise from + the starting angle, ANGLE1, to the ending angle, ANGLE2. - 9 - Tin + Notes + ----- + Creates an annotation wedge to be written directly onto the display at + a specified location. This is a command generated by the Graphical + User Interface (GUI) and will appear in the log file (Jobname.LOG) if + annotation is used. This command is not intended to be typed in + directly in an ANSYS session (although it can be included in an input + file for batch input or for use with the /INPUT command). - 10 - Metal + All wedges are shown on subsequent displays unless the annotation is + turned off or deleted. Use the /LSPEC and the /PSPEC command to set + the attributes of the wedge. - 11 - Steel, Etched + This command is valid in any processor. - 12 - Metal, Hot + """ + command = "/PWEDGE,%s,%s,%s,%s,%s" % (str(xcentr), str(ycentr), str(xlrad), str(angle1), str(angle2)) + self.RunCommand(command, **kwargs) - 13 - Iron, Grainy + def Waves(self, wopt="", oldmax="", oldrms="", **kwargs): + """ + APDL Command: WAVES - 14 - Metal, Rusty + Initiates reordering. - 15 - Brick + Parameters + ---------- + wopt + Option for comparison: - 16 - Block + MAX - Use maximum wavefront value for comparison (default). - 17 - Wood + RMS - Use RMS wavefront value for comparison. - 18 - Wood, Light + oldmax, oldrms + Maximum and RMS wavefront values of model to be used in place of + the old values. OLDRMS defaults to OLDMAX (and vice versa). If + neither is specified, each defaults to its calculated old value. - 19 - Wood, Walnut + Notes + ----- + Initiates the element reordering based upon the previously defined + starting wave lists (if any). Reordering affects only the element + order for the solution phase and not the element numbers (input + referring to element numbers, such as element pressures, is unaffected + by reordering). - 20 - Plastic, Hard Blue + Note:: : The new order is retained only if new the new maximum or RMS + wavefront values are lower than the old values, as described below. + See the WSORT command for another reordering procedure. The resulting + element ordering can be shown by listing the wavefront history + [WFRONT,1] or by displaying elements with their element location + numbers [/PNUM]. - 21 - Plastic, Light Blue + The WAVES reordering procedure is based upon a list of nodes defining + where the element reordering is to start (either input on the WSTART + command, or automatically determined if not input). If a list is + input, additional starting wave lists may be defined to allow the user + to block or guide the wave. An input starting list usually consists of + one node for a line element model, a line of nodes for an area element + model, or a plane of nodes for a volume element model. Elements are + ordered from the first starting wave list in a direction that attempts + to minimize the wavefront. Nodes are deleted and added to the total + wave list set as reordering progresses through the model. Elements + attached to nodes on succeeding starting lists, if any, are ignored at + this time, thereby temporarily blocking that path. Whenever no more + elements can be reordered, the procedure is repeated starting from the + nodes defined on the second starting list (if any). The same node + number should not appear on more than one list. If no starting list is + input, a starting node is automatically selected from an element + weighting procedure (see Element Reordering in the Mechanical APDL + Theory Reference). - 22 - Plastic, Hard Red + Reordering may be made from the previously reordered model or from the + initial model (by issuing the SAVE command before reordering and then + restoring that model back to PREP7 with the RESUME command after + reordering). The WFRONT command is useful for calculating and printing + the current wavefront statistics at any time without causing any + reordering of the elements. If a model is to be used for both a + thermal and a structural analysis, the reordered statistics should be + based upon the structural model (because of the higher number of + degrees of freedom per node). - 31 - Gold + The reordering procedure treats separate portions of the model (i.e., + not connected by elements) as discontinuous. Reordering automatically + continues across a discontinuity as best as possible. - 32 - Brass + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - 33 - Silver + """ + command = "WAVES,%s,%s,%s" % (str(wopt), str(oldmax), str(oldrms)) + self.RunCommand(command, **kwargs) - 34 - Plastic, Black + def Edsolv(self, **kwargs): + """ + APDL Command: EDSOLV - 35 - Plastic, Ivory + Specifies "explicit dynamics solution" as the subsequent status topic. - 36 - Plastic, Blue + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - 37 - Plastic, Red + If entered directly into the program, the STAT command should + immediately follow this command. - 38 - Plastic, Yellow + This command is also valid in PREP7. - 39 - Plastic, Green + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - 40 - Plastic, Brown + """ + command = "EDSOLV," % () + self.RunCommand(command, **kwargs) - n1, n2, ninc - Apply texture to Lab items numbered N1 through N2 in steps of NINC - (defaults to 1). If Lab = CM, then N1 is used to for the component - name and N2 and NINC are ignored. If Lab = ELEM, AREA, or VOLU and - N1 = blank or ALL, then the specified texture will be applied to - all entities of type Lab. If N1 = P, then graphical picking is - enabled. + def Tsres(self, array="", **kwargs): + """ + APDL Command: TSRES + + Defines an array of key times at which the time-stepping strategy + changes. + + Parameters + ---------- + array + Identifies an Nx1x1 array parameter containing the key times at + which the heat transfer time-stepping strategy changes (the time + step is reset to the initial time step based on DELTIM or NSUBST + settings). The array name must be enclosed by % signs (e.g., + %array%). See *DIM for more information on array parameters. Notes ----- - This command is available for 3-D Open GL devices. 2-D devices are - supported only for the Lab = File variation of the command, allowing - imported bitmaps to be used for texturing and annotation. Textures can - affect the speed of many of your display operations. You can increase - the speed by temporarily turning the textures off (Utility Menu> - PlotCtrls> Style> Texturing(3D)> Display Texturing). This menu - selection toggles your textures on and off. When textures are toggled - off, all of the texture information is retained and reapplied when - texturing is toggled back on. - - For some displays, the texture will appear distorted because of a - technique used to enhance 3-D displays (/DV3D,TRIS,1). Disabling this - function (/DV3D,TRIS,0) will improve the quality of some texture - displays. Disabling the TRIS option of the /DV3D command will slow down - 3-D displays significantly. Be sure to reapply the TRIS option after - you obtain a satisfactory output. + Time values in the array parameter must be in ascending order and must + not exceed the time at the end of the load step as defined on the TIME + command. The time increment between time points in the array list must + be larger than the initial time step defined on the DELTIM or NSUBST + command. Time values must also fall between the beginning and ending + time values of the load step. For multiple load step problems, you + must either change the parameter values to fall between the beginning + and ending time values of the load step or reissue the command with a + new array parameter. To clear the array parameter specification, issue + TSRES,ERASE. Results can be output at the requested time points if the + array or time values in the array are also specified in the OUTRES + command using FREQ=%array%. Use this command to reset the time- + stepping strategy within a load step. You may need to reset the time- + stepping strategy when using tabular time-varying boundary conditions. - Specifying /TXTRE,DEFA removes all texturing. + See Steady-State Thermal Analysis of the Thermal Analysis Guide for + more information on applying boundary conditions via tabular input. + See Transient Thermal Analysis of the Thermal Analysis Guide for more + information on defining the key time array. """ - command = "/TXTRE, %s, %s, %s, %s, %s" % (str(lab), str(num), str(n1), str(n2), str(ninc)) + command = "TSRES,%s" % (str(array)) self.RunCommand(command, **kwargs) - def Starset(self, par="", value="", val2="", val3="", val4="", val5="", - val6="", val7="", val8="", val9="", val10="", **kwargs): + def D(self, node="", lab="", value="", value2="", nend="", ninc="", + lab2="", lab3="", lab4="", lab5="", lab6="", **kwargs): """ - APDL Command: *SET + APDL Command: D - Assigns values to user-named parameters. + Defines degree-of-freedom constraints at nodes. Parameters ---------- - par - An alphanumeric name used to identify this parameter. Par may be - up to 32 characters, beginning with a letter and containing only - letters, numbers, and underscores. Examples: ABC A3X TOP_END. - ANSYS command names, function names, label names, component and - assembly names, etc., should not be used. Parameter names - beginning with an underscore (e.g., _LOOP) are reserved for use by - ANSYS and should be avoided. Parameter names ending in an - underscore are not listed by the *STATUS command. Array parameter - names must be followed by a subscript, and the entire expression - must be 32 characters or less. Examples: A(1,1) NEW_VAL(3,2,5) - RESULT(1000). There is no character parameter substitution for the - Par field. Table parameters that are used in command fields (where - constant values are normally given) are limited to 32 characters. + 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 - Numerical value or alphanumeric character string (up to 32 - characters enclosed in single quotes) to be assigned to this - parameter. Examples: A(1,3)=7.4 B='ABC3'. May also be a - parameter or a parametric expression. Examples: C=A(1,3) - A(2,2)=(C+4)/2. If blank, delete this parameter. Example: A= - deletes parameter A. + 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. - val2, val3, val4, val5, val6, val7, val8, val9, val10 - If Par is an array parameter, values VAL2 through VAL10 (up to the - last nonblank value) are sequentially assigned to the succeeding - array elements of the column. Example: *SET,A(1,4),10,11 assigns - A(1,4)=10, A(2,4)=11. *SET,B(2,3),'file10','file11' assigns - B(2,3)='file10', B(3,3)='file11'. + 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 ----- - Assigns values to user-named parameters that may be substituted later - in the run. The equivalent (and recommended) format is + 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). - Par = VALUE,VAL2,VAL3, . . . , VAL10 + 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: - which may be used in place of *SET,Par, : ... for convenience. + In this case, the velocity load (VELX) applied in the last command will + override the displacement load (UX). - This command is valid in any processor. + 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. - Parameters (numeric or character) may be scalars (single valued) or - arrays (multiple valued in one, two, or three dimensions). An unlimited - number of parameter names may be defined in any ANSYS run. For very - large numbers of parameters, it is most efficient to define them in - alphabetical order. + 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. - Parameter values may be redefined at any time. Array parameters may - also be assigned values within a do-loop [*DO] for convenience. - Internally programmed do-loop commands are also available with the *VXX - commands (*VFILL). Parameter values (except for parameters ending in - an underscore) may be listed with the *STATUS command, displayed with - the *VPLOT command (numeric parameters only), and modified with the - *VEDIT command (numeric parameters only). + 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. - Older ANSYS-supplied macro files may use parameter names that do not - begin with an underscore. Using these macros embedded in your own - macros may cause conflicts if the same parameter names are used. + 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. - Parameters can also be resolved in comments created by the /COM command - (see /COM for complete documentation). A parameter can be deleted by - redefining it with a blank VALUE. If the parameter is an array, the - entire array is deleted. Parameters may also be defined by a response - to a query with the *ASK command or from an "ANSYS-supplied" value - with the *GET command. + 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. - Array parameters must be dimensioned [*DIM] before being assigned - values unless they are the result of an array operation or defined - using the implied loop convention. Scalar parameters that are not - defined are initialized to a "near" zero value. Numeric array - parameters are initialized to zero when dimensioned, and character - array parameters are initialized to blank. An existing array parameter - must be deleted before it can be redimensioned. Array parameter names - must be followed by a subscript list (enclosed in parentheses) - identifying the element of the array. The subscript list may have one, - two, or three values (separated by commas). Typical array parameter - elements are A(1,1), NEW_VAL(3,2,5), RESULT(1000). Subscripts for - defining an array element must be integers (or parameter expressions - that evaluate to integers). Non-integer values are rounded to the - nearest integer value. All array parameters are stored as 3-D arrays - with the unspecified dimensions set to 1. For example, the 4th array - element of a 1-dimensional array, A(4), is stored as array element - A(4,1,1). Arrays are patterned after standard FORTRAN conventions. - - If the parameter name Par is input in a numeric argument of a command, - the numeric value of the parameter (as assigned with *SET, *GET, =, - etc.) is substituted into the command at that point. Substitution - occurs only if the parameter name is used between blanks, commas, - parentheses, or arithmetic operators (or any combination) in a numeric - argument. Substitution can be prevented by enclosing the parameter - name Par within single quotes ( ' ), if the parameter is alone in the - argument; if the parameter is part of an arithmetic expression, the - entire expression must be enclosed within single quotes to prevent - substitution. In either case the character string will be used instead - of the numeric value (and the string will be taken as 0.0 if it is in a - numeric argument). - - A forced substitution is available in the text fields of the /TITLE, - /STITLE, /TLABEL, /AN3D, /SYP (ARG1--ARG8), and *ABBR commands by - enclosing the parameter within percent (%) signs. Also, parameter - substitution may be forced within the file name or extension fields of - commands having these fields by enclosing the parameter within percent - (%) signs. Array parameters [*DIM] must include a subscript (within - parentheses) to identify the array element whose value is to be - substituted, such as A(1,3). Out-of-range subscripts result in an - error message. Non-integer subscripts are allowed when identifying a - TABLE array element for substitution. A proportional linear - interpolation of values among the nearest array elements is performed - before substitution. Interpolation is done in all three dimensions. - - Note:: : Interpolation is based upon the assigned index numbers which - must be defined when the table is filled [*DIM]. - - Most alphanumeric arguments permit the use of character parameter - substitution. When the parameter name Par input, the alphanumeric - value of the parameter is substituted into the command at that point. - Substitution can be suppressed by enclosing the parameter name within - single quotes ( ' ). Forced substitution is available in some fields - by enclosing the parameter name within percent (%) signs. Valid forced - substitution fields include command name fields, Fname (filename) or - Ext (extension) arguments, *ABBR command (Abbr arguments), /TITLE and - /STITLE commands (Title argument) and /TLABEL command (Text argument). - Character parameter substitution is also available in the *ASK, /AN3D, - *CFWRITE, *IF, *ELSEIF, *MSG, *SET, *USE, *VREAD, and *VWRITE - commands. Character array parameters must include a subscript (within - parentheses) to identify the array element whose value is to be - substituted. - - If a parameter operation expression is input in a numeric argument, the - numeric value of the expression is substituted into the command at that - point. Allowable operation expressions are of the form - - E1oE2oE3: ...oE10 + %_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. - where E1, E2, etc. are expressions connected by operators (o). The - allowable operations (o) are + 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. - For example, A+B**C/D*E is a valid operation expression. The * - represents multiplication and the ** represents exponentiation. + 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. - Note:: : Exponentiation of a negative number (without parentheses) to - an integer power follows standard FORTRAN hierarchy conventions; that - is, the positive number is exponentiated and then the sign is attached. - Thus, -4**2 is evaluated as -16. If parentheses are applied, such as - (-4)**2, the result is 16. + This command is also valid in PREP7. - A parameter is evaluated as a number within parentheses before - exponentiation. Exponentiation of a negative number to a non-integer - power is performed by exponentiating the positive number and prepending - the minus sign, for example, -4**2.3 is -(4**2.3). The < and > - operators allow conditional substitution. For example, E1 - 80, the value returned is zero. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "*SET, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(par), str(value), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9), str(val10)) + command = "IMPD,%s,%s,%s,%s" % (str(vpath), str(ipath), str(vsymm), str(isymm)) self.RunCommand(command, **kwargs) - def Pdcorr(self, name1="", name2="", corr="", **kwargs): + def F(self, node="", lab="", value="", value2="", nend="", ninc="", + **kwargs): """ - APDL Command: PDCORR + APDL Command: F - Specifies the correlation between two random input variables. + Specifies force loads at nodes. Parameters ---------- - name1 - Parameter name. The parameter must have been previously defined as - a random input variable with the PDVAR command. + node + Node at which force is to be specified. If ALL, NEND and NINC are + ignored and forces 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. - name2 - Parameter name. The parameter must have been previously defined as - a random input variable with the PDVAR command. Must be different - from Name1. + lab + Valid force label. Structural labels: FX, FY, or FZ (forces); MX, + MY, or MZ (moments). Thermal labels: HEAT, HBOT, HE2, HE3, . . ., + HTOP (heat flow). Fluid labels: FLOW (fluid flow). Electric + labels: AMPS (current flow), CHRG (electric charge). Magnetic + labels: FLUX (magnetic flux); CSGX, CSGY, or CSGZ (magnetic + current segments). Diffusion labels: RATE (diffusion flow rate). - corr - Specification of the correlation: + value + Force value or table name reference for specifying tabular boundary + conditions. To specify a table, enclose the table name in percent + signs (%), e.g., F, NODE,HEAT,%tabname%). Use the *DIM command to + define a table. - Value - Sets the correlation coefficient between Name1 and Name2 to the specified - value. If this correlation coefficient was already defined - it will be changed to this new value. The correlation - coefficient must be between -1.0 and +1.0. + value2 + Second force value (if any). If the analysis type and the force + allow a complex input, VALUE (above) is the real component and + VALUE2 is the imaginary component. - DEL - Delete the previously defined correlation between Name1 and Name2. + nend, ninc + Specifies the same values of force at the nodes ranging from NODE + to NEND (defaults to NODE), in steps of NINC (defaults to 1). Notes ----- - Specifies the correlations between two random input variables. The PDS - tool generates correlated samples if correlations exist. This applies - to both probabilistic methods (Monte Carlo Simulation and Response - Surface Methods). + The available force loads per node correspond to the degrees of freedom + listed under "Degrees of Freedom" in the input table for each element + type in the Element Reference. If both a force and a constrained + degree of freedom [D] are specified at the same node, the constraint + takes precedence. Forces are defined in the nodal coordinate system. + The positive directions of structural forces and moments are along and + about the positive nodal axis directions. The node and the degree of + freedom label corresponding to the force must be selected [NSEL, + DOFSEL]. - If there are correlated random input variables, the sampled locations - of the random input variables reflect the correlation as illustrated - below for the case of two standard normal distributed variables X1 and - X2. The illustrations show no correlation (correlation coefficient - 0.0), a relatively moderate negative correlation (correlation - coefficient -0.6), and a relative strong positive correlation - (correlation coefficient 0.9). + For hydrostatic fluid elements (HSFLD241 and HSFLD242), DVOL is used to + specify fluid mass flow rate (with units of mass/time) at the pressure + node. This allows fluid to be added or taken out of the fluid elements + sharing the pressure node. A fluid density must also be specified (via + the MP command or TB command) to apply a volume change corresponding to + the prescribed fluid mass flow rate. - : : : + Tabular boundary conditions (VALUE = %tabname%) are available only for + the following labels: Fluid (FLOW), Electric (AMPS), Structural force + (FX, FY, FZ, MX, MY, MZ), and Thermal (HEAT, HBOT, HE2, HE3, . . ., + HTOP). Tabular boundary conditions are valid only in static + (ANTYPE,STATIC), full transient (ANTYPE,TRANS), full harmonic (ANTYPE, + HARMIC), modal superposition harmonic and modal superposition transient + analyses. + + This command is also valid in PREP7. """ - command = "PDCORR, %s, %s, %s" % (str(name1), str(name2), str(corr)) + command = "F,%s,%s,%s,%s,%s,%s" % (str(node), str(lab), str(value), str(value2), str(nend), str(ninc)) self.RunCommand(command, **kwargs) - def Accat(self, na1="", na2="", **kwargs): + def Vtype(self, nohid="", nzone="", **kwargs): """ - APDL Command: ACCAT + APDL Command: VTYPE - Concatenates multiple areas in preparation for mapped meshing. + Specifies the viewing procedure used to determine the form factors for + the Radiation Matrix method. Parameters ---------- - na1, na2 - Areas to be concatenated. If NA1 = ALL, NA2 will be ignored and - all selected areas [ASEL] will be concatenated. If NA1 = P, - graphical picking is enabled and all remaining arguments are - ignored (valid only in the GUI). A component name may also be - substituted for NA1 (NA2 is ignored). - - Notes - ----- - Concatenates multiple, adjacent areas (the input areas) into one area - (the output area) in preparation for mapped meshing. A volume that - contains too many areas for mapped meshing can still be mapped meshed - if some of the areas in that volume are first concatenated (see Meshing - Your Solid Model in the Modeling and Meshing Guide for details on - mapped meshing restrictions). + nohid + Type of viewing procedure: - Because of modeling restrictions that result from its use, ACCAT is - meant to be used solely for meshing. Specifically, (a) the output area - and any volumes that have the output area on their area list [VLIST] - cannot be used as input to any other solid modeling operation (not even - another ACCAT command); and (b) the output area cannot accept solid - model boundary conditions [DA, SFA]. + 0 - Hidden procedure. - The output area (or volumes which contain it) will be meshed [AMESH, - VMESH] by meshing the input areas, which themselves must be meshable. - The output area from the ACCAT operation will be coincident with the - input areas and the input areas will be retained. Consider the AADD - command instead of ACCAT if you wish to delete the input areas. When - an ACCAT command is issued, volume area lists [VLIST] that contain all - of the input areas will be updated so that the volume area lists refer - to the output area instead of the input area. Deletion of the output - area [ADELE] effectively reverses the ACCAT operation and restores - volume area lists to their original condition. ACCAT operations on - pairs of adjacent four-sided areas automatically concatenate - appropriate lines [LCCAT]; in all other situations, line concatenations - must be addressed by the user. + 1 - Non-hidden (faster, but less general) procedure. - You can use the ASEL command to select areas that were created by - concatenation, and then follow it with an ADELE,ALL command to delete - them. See Meshing Your Solid Model in the Modeling and Meshing Guide - for a discussion on how to easily select and delete concatenated areas - in one step. + nzone + Number of sampling zones for the hidden procedure (100 maximum for + 3-D, 1000 maximum for 2-D). Defaults to 20 for 3-D, 200 for 2-D. + Number of points is 2*NZONE for 2-D and 2*NZONE*(NZONE+1) for 3-D. """ - command = "ACCAT, %s, %s" % (str(na1), str(na2)) + command = "VTYPE,%s,%s" % (str(nohid), str(nzone)) self.RunCommand(command, **kwargs) - def Iclwid(self, factor="", **kwargs): + def Kscon(self, npt="", delr="", kctip="", nthet="", rrat="", **kwargs): """ - APDL Command: /ICLWID + APDL Command: KSCON - Scales the line width of circuit builder icons. + Specifies a keypoint about which an area mesh will be skewed. Parameters ---------- - factor - Multiplication factor applied to the default line width (defaults - to 1). The minimum is 1 and the maximum is 6. + npt + Keypoint number at concentration. If NPT = ALL, use all selected + keypoints. If remaining fields are blank, remove concentration + from this keypoint (if unmeshed). If NPT = 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 NPT. - Notes - ----- - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + delr + Radius of first row of elements about keypoint. - """ - command = "/ICLWID, %s" % (str(factor)) - self.RunCommand(command, **kwargs) + kctip + Crack tip singularity key: - def Endif(self, **kwargs): - """ - APDL Command: *ENDIF + 0 - Do not skew midside nodes, if any, within the element. - Ends an if-then-else. + 1 - Skew midside nodes of the first row of elements to the 1/4 point for crack tip + singularity. + + nthet + Number of elements in circumferential direction (defaults to + approximately one per 45° (or one per 30°, if KCTIP = 1)). + + rrat + Ratio of 2nd row element size to DELR (defaults to 0.75, or 0.5 if + KCTIP = 1). Notes ----- - Required terminator for the if-then-else construct. See the *IF for - details. If a batch input stream hits an end-of-file during a false - *IF condition, the ANSYS run will not terminate normally. You will need - to terminate it externally (use either the Linux “kill” function or the - Windows task manager). The *ENDIF command must appear on the same file - as the *IF command, and all six characters must be input. + Defines a concentration keypoint about which an area mesh will be + skewed. Useful for modeling stress concentrations and crack tips. + During meshing, elements are initially generated circumferentially + about, and radially away, from the keypoint. Lines attached to the + keypoint are given appropriate divisions and spacing ratios. Only one + concentration keypoint per unmeshed area is allowed. Use KSCON,STAT to + list current status of concentration keypoints. The KSCON command does + not support 3-D modeling. - This command is valid in any processor. + This command is also valid for rezoning. """ - command = "*ENDIF, " % () + command = "KSCON,%s,%s,%s,%s,%s" % (str(npt), str(delr), str(kctip), str(nthet), str(rrat)) self.RunCommand(command, **kwargs) - def Octype(self, datatype="", name="", **kwargs): + def Larc(self, p1="", p2="", pc="", rad="", **kwargs): """ - APDL Command: OCTYPE + APDL Command: LARC - Specifies the type of ocean load data to follow. + Defines a circular arc. Parameters ---------- - datatype - The type of ocean data to be input following this command: - - BASIC - The basic ocean load, required for any ocean loading. + p1 + Keypoint at one end of circular arc line. If P1 = P, graphical + picking is enabled and all remaining command fields are ignored + (valid only in the GUI). - CURR - An optional drift current. + p2 + Keypoint at other end of circular arc line. - WAVE - An optional ocean wave state. + pc + Keypoint defining plane of arc and center of curvature side (with + positive radius). Must not lie along the straight line from P1 to + P2. PC need not be at the center of curvature. - name - An eight-character name for the ocean load. An ocean name can - consist of letters and numbers, but cannot contain punctuation, - special characters, or spaces. + rad + Radius of curvature of the arc. If negative, assume center of + curvature side is opposite to that defined by PC. If RAD is blank, + RAD will be calculated from a curve fit through P1, PC, and P2. Notes ----- - The OCTYPE command specifies the type of ocean load data to follow - (basic, current, or wave). Issue this command before defining your - ocean load data (OCDATA and OCTABLE). - - Ocean loading applies only to current-technology pipe (PIPE288 and - PIPE289), surface (SURF154), link (LINK180) and beam (BEAM188 and - BEAM189) elements. - - An ocean current or wave is accessible repeatedly. For example, it is - not necessary to input an identical current table again just because - the drag coefficients of the basic input table have changed. + Defines a circular arc line from P1 to P2. The line shape is generated + as circular, regardless of the active coordinate system. The line + shape is invariant with coordinate system after it is generated. - The following example shows how you can use the basic (DataType = - BASIC), current (DataType = CURR), and wave (DataType = WAVE) ocean - data types within the context of a simple input file fragment: + When dealing with a large radius arc (1e3), or if the location of the + arc you create is far away from the origin of your coordinate system, + anomalies may occur. You can prevent this by creating the arc at a + smaller scale, and then scaling the model back to full size (LSSCALE). """ - command = "OCTYPE, %s, %s" % (str(datatype), str(name)) + command = "LARC,%s,%s,%s,%s" % (str(p1), str(p2), str(pc), str(rad)) self.RunCommand(command, **kwargs) - def Paget(self, parray="", popt="", **kwargs): + def Cyccalc(self, fileprefix="", fileformat="", **kwargs): """ - APDL Command: PAGET + APDL Command: CYCCALC - Writes current path information into an array variable. + Calculates results from a cyclic harmonic mode-superposition analysis + using the specifications defined by CYCSPEC. Parameters ---------- - parray - The name of the array parameter that the ANSYS program creates to - store the path information. If the array parameter already exists, - it will be replaced with the current path information. - - popt - Determines how data will be stored in the parameter specified with - PARRAY: + fileprefix + Each result table (corresponding to each CYCSPEC specification) is + written to a file beginning with FilePrefix. If blank (default), + the result tables are written to the output file. - POINTS - Store the path points, the nodes (if any), and coordinate system. (For - information on defining paths and path points, see the - descriptions of the PATH and PPATH commands.) + fileformat + If FilePrefix is specified, then use FileFormat to specify the + format of the file to be written: - TABLE - Store the path data items. (See the PDEF command description for path data - items.) + FORM - Formatted file (default) - LABEL - Stores path data labels. + CSV - Comma-separated value file Notes ----- - Use the PAGET command together with the PAPUT command to store and - retrieve path data in array variables for archiving purposes. When - retrieving path information, restore the path points (POINTS option) - first, then the path data (TABLE option), and then the path labels - (LABEL option). + CYCCALC loops through the specification given by CYCSPEC and computes + the requested outputs. The outputs are given in a table format, with + the rows corresponding to each frequency solution from the harmonic + analysis, and the columns corresponding to each sector. The table + entries are the maximum value of the specified quantity at the + specified location in the sector. In addition, columns containing the + maximum value at the frequency, the sector in which it occurs, and the + node in the sector at which it occurs are output. + + If FilePrefix is specified, a file is created for each output table + with the name FilePrefix_node_type.ext, where node is the node number + or component name, type is the item/component requested, and the file + extension .ext is either .txt or .csv, depending on FileFormat. + + A SET command must precede the CYCCALC command. + + The CYCCALC results are based on the currently active RSYS, SHELL, + LAYER, and AVPRIN settings. """ - command = "PAGET, %s, %s" % (str(parray), str(popt)) + command = "CYCCALC,%s,%s" % (str(fileprefix), str(fileformat)) self.RunCommand(command, **kwargs) - def Setfgap(self, gap="", ropt="", pamb="", acf1="", acf2="", pref="", - mfp="", **kwargs): + def Pmgtran(self, fname="", freq="", fcnam1="", fcnam2="", pcnam1="", + pcnam2="", ecnam1="", ccnam1="", **kwargs): """ - APDL Command: SETFGAP + APDL Command: PMGTRAN - Updates or defines the real constant table for squeeze film elements. + Summarizes electromagnetic results from a transient analysis. Parameters ---------- - gap - Gap separation. - - ropt - Real constant set option. + fname + File name (8 characters maximum) to which tabular data and plot + files will be written. Must be enclosed in single quotes when the + command is manually typed in. Defaults to MG_TRNS. The data file + extension is .OUT and the plot file extension is .PLT. - 0 - Creates separate real constant sets for each selected element with the - specified real constant values (default). + freq + Frequency of solution output. Defaults to 1. Every FREQth + solution on the results file is output. - 1 - Updates existing real constant sets. The gap separation is updated from - displacement results in the database. Other real constants are - updated as specified in the command input parameters. + fcnam1, fcnam2 + Names of element components for force calculation. Must be + enclosed in single quotes when the command is manually typed in. - -- - Unused field + pcnam1, pcnam2 + Names of element components for power loss calculation. Must be + enclosed in single quotes when the command is manually typed in. - pamb - Ambient pressure. - - acf1, acf2 - Accommodation factor 1 and 2. - - pref - Reference pressure for mean free path. - - mfp - Mean free path. + ecnam1, ccnam1 + Names of element components for energy and total current + calculations, respectively. Must be enclosed in single quotes when + the command is manually typed in. Notes ----- - This command is used for large signal cases to update the gap - separation real constant on a per-element basis. Issue this command - prior to solution using the default ROPT value to initialize real - constant sets for every fluid element. After a solution, you can re- - issue the command to update the real constant set for a subsequent - analysis. See Introduction for more information on thin film analyses. + PMGTRAN invokes an ANSYS macro which calculates and summarizes + electromagnetic results from a transient analysis. The results are + summarized by element components and listed on the screen as well as + written to a file (Fname.OUT). Also, graph plots of results as a + function of time are created and written to a file (Fname.PLT) for use + in the DISPLAY program. + + Two components may be selected for the summary of electromagnetic + forces (see FMAGSUM), two for power loss, and one each for stored + energy (see SENERGY) and total current (see CURR2D). See the + referenced commands for other restrictions. + + PMGTRAN is restricted to MKSA units. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "SETFGAP, %s, %s, %s, %s, %s, %s, %s" % (str(gap), str(ropt), str(pamb), str(acf1), str(acf2), str(pref), str(mfp)) + command = "PMGTRAN,%s,%s,%s,%s,%s,%s,%s,%s" % (str(fname), str(freq), str(fcnam1), str(fcnam2), str(pcnam1), str(pcnam2), str(ecnam1), str(ccnam1)) self.RunCommand(command, **kwargs) - def Se(self, file="", toler="", **kwargs): + def Circle(self, pcent="", rad="", paxis="", pzero="", arc="", nseg="", + **kwargs): """ - APDL Command: SE + APDL Command: CIRCLE - Defines a superelement. + Generates circular arc lines. Parameters ---------- - file - The name (case sensitive) of the file containing the original - superelement matrix created by the generation pass (Sename.SUB). - The default is the current Jobname. + pcent + Keypoint defining the center of the circle (in the plane of the + circle). If PCENT = P, graphical picking is enabled and all + remaining command fields are ignored (valid only in the GUI). - --, -- - Unused fields. + rad + Radius of the circle. If RAD is blank and PCENT = P, the radius is + the distance from PCENT to PZERO. - toler - Tolerance used to determine if use pass nodes are noncoincident - with master nodes having the same node numbers. Defaults to - 0.0001. Use pass nodes will always be replaced by master nodes of - the same node number. However, if a use pass node is more than - TOLER away from the corresponding master node, a warning is - generated. + paxis + Keypoint defining axis of circle (along with PCENT). If PCENT = P + and PAXIS is omitted, the axis is normal to the working plane. + + pzero + Keypoint defining the plane normal to circle (along with PCENT and + PAXIS) and the zero degree location. Need not be in the plane of + the circle. This value is not required if PAXIS is defined along + the Y axis (that is, a circle in the XZ plane). + + arc + Arc length (in degrees). Positive follows right-hand rule about + PCENT-PAXIS vector. Defaults to 360°. + + nseg + Number of lines around circumference (defaults to minimum required + for 90°-maximum arcs, i.e., 4 for 360°). Number of keypoints + generated is NSEG for 360° or NSEG + 1 for less than 360°. Notes ----- - Defines a superelement by reading in the superelement matrices and - master nodes from the superelement matrix file. The matrix file - (File.SUB) must be available from the substructure generation pass. - The proper element type (MATRIX50) must be active [TYPE] for this - command. A scratch file called File.SORD showing the superelement - names and their corresponding element numbers is also written. + Generates circular arc lines (and their corresponding keypoints). + Keypoints are generated at regular angular locations (based on a + maximum spacing of 90°). Arc lines are generated connecting the + keypoints. Keypoint and line numbers are automatically assigned, + beginning with the lowest available values [NUMSTR]. Adjacent lines + use a common keypoint. Line shapes are generated as arcs, regardless + of the active coordinate system. Line shapes are invariant with + coordinate system after they are generated. """ - command = "SE, %s, %s" % (str(file), str(toler)) + command = "CIRCLE,%s,%s,%s,%s,%s,%s" % (str(pcent), str(rad), str(paxis), str(pzero), str(arc), str(nseg)) self.RunCommand(command, **kwargs) - def Magopt(self, value="", **kwargs): + def Pduser(self, fname="", ext="", **kwargs): """ - APDL Command: MAGOPT + APDL Command: PDUSER - Specifies options for a 3-D magnetostatic field analysis. + Specifies options for user-specified sampling methods. Parameters ---------- - value - Option key: - - 0 - Calculate a complete H field solution in the entire domain using a single - (reduced) potential. - - Caution:When used in problems with both current sources and iron regions, errors may result due to numerical cancellation. - 1 + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - Calculate and store a preliminary H field in "iron" regions (μr ≠ 1). Requires flux-parallel boundary conditions to be specified on exterior iron boundaries. Used in conjunction with subsequent solutions with VALUE = 2 followed by VALUE = 3. Applicable to multiply-connected iron domain problems. - 2 + ext + Filename extension (eight-character maximum). - Calculate and store a preliminary H field in "air" regions (μr = 1). The air-iron interface is appropriately treated internally by the program. Used in conjunction with a subsequent solution with VALUE = 3. Applicable to singly-connected iron domain problems (with subsequent solution with VALUE = 3) or to multiply-connected iron domain problems (when preceded by a solution with VALUE = 1 and followed by a solution with VALUE = 3). - 3 + -- + Unused field. Notes ----- - Specifies the solution sequence options for a 3-D magnetostatic field - analysis using a scalar potential (MAG). The solution sequence is - determined by the nature of the problem. - - You cannot use constraint equations with Value = 1. - - This command is also valid in PREP7. - - Distributed ANSYS Restriction: The MAGOPT,3 option is not supported in - Distributed ANSYS when the following contact elements are present in - the model: CONTA173, CONTA174, CONTA175, CONTA176, or CONTA177. + If user-specified sampling methods are requested with the PDMETH, MCS, + USER command or the PDMETH, RSM, USER command, then you need to specify + which file contains the sample data. For more information on the format + of this file, see Probabilistic Design in the Advanced Analysis Guide. """ - command = "MAGOPT, %s" % (str(value)) + command = "PDUSER,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Timerange(self, tmin="", tmax="", **kwargs): + def Grp(self, signif="", label="", forcetype="", **kwargs): """ - APDL Command: TIMERANGE + APDL Command: GRP - Specifies the time range for which data are to be stored. + Specifies the grouping mode combination method. Parameters ---------- - tmin - Minimum time (defaults to first time (or frequency) point on the - file). + signif + Combine only those modes whose significance level exceeds the + SIGNIF threshold. For single point, multipoint, or DDAM response + (SPOPT,SPRS, MPRS or DDAM), the significance level of a mode is + defined as the mode coefficient of the mode, divided by the maximum + mode coefficient of all modes. Any mode whose significance level + is less than SIGNIF is considered insignificant and is not + contributed to the mode combinations. The higher the SIGNIF + threshold, the fewer the number of modes combined. SIGNIF defaults + to 0.001. If SIGNIF is specified as 0.0, it is taken as 0.0. + (This mode combination method is not valid for SPOPT,PSD.) - tmax - Maximum time (defaults to last time (or frequency) point on the - file). + label + Label identifying the combined mode solution output. + + DISP - Displacement solution (default). Displacements, stresses, forces, etc., are + available. + + VELO - Velocity solution. Velocities, "stress velocities," "force velocities," etc., + are available. + + ACEL - Acceleration solution. Accelerations, "stress accelerations," "force + accelerations," etc., are available. + + forcetype + Label identifying the forces to be combined: + + STATIC - Combine the modal static forces (default). + + TOTAL - Combine the modal static plus inertial forces. Notes ----- - Defines the time (or frequency) range for which data are to be read - from the file and stored in memory. Use the NSTORE command to define - the time increment. + The SIGNIF value set with this command (including the default value of + 0.001) overrides the SIGNIF value set with the MXPAND command. - Use PRTIME or PLTIME to specify the time (frequency) range for cyclic - mode-superposition harmonic analyses. + This command is also valid for PREP7. """ - command = "TIMERANGE, %s, %s" % (str(tmin), str(tmax)) + command = "GRP,%s,%s,%s" % (str(signif), str(label), str(forcetype)) self.RunCommand(command, **kwargs) - def Directory(self, strarray="", filename="", ext="", dir="", **kwargs): + def Sbctran(self, **kwargs): """ - APDL Command: /DIRECTORY - - Put the file names in the current directory into a string parameter - array. - - Parameters - ---------- - strarray - Name of the "string array" parameter which will hold the returned - values. String array parameters are similar to character arrays, - but each array element can be as long as 128 characters. If the - string parameter does not exist, it will be created. The array will - be created as: *DIM,StrArray,STRING,64,2,numFileName - - filename - File name (64 characters maximum). Only files matching this name - will be returned. The FileName ALL may match any file name. - - ext - File name extension (8 characters maximum). Only files with an - extension matching this name will be returned. A blank or ALL will - match any extension. + APDL Command: SBCTRAN - directory - The directory in which the files reside. The default is the current - working directory. + Transfers solid model loads and boundary conditions to the FE model. Notes ----- - The /DIRECTORY command gets the file names in the current directory and - puts them into a string parameter array. Each file will be included in - the array as a name-extension pair. + Causes a manual transfer of solid model loads and boundary conditions + to the finite element model. Loads and boundary conditions on + unselected keypoints, lines, areas, and volumes are not transferred. + Boundary conditions and loads will not be transferred to unselected + nodes or elements. The SBCTRAN operation is also automatically done + upon initiation of the solution calculations [SOLVE]. + + This command is also valid in PREP7. """ - command = "/DIRECTORY, %s, %s, %s, %s" % (str(strarray), str(filename), str(ext), str(dir)) + command = "SBCTRAN," % () self.RunCommand(command, **kwargs) - def Pdmeth(self, method="", samp="", **kwargs): + def Numstr(self, label="", value="", **kwargs): """ - APDL Command: PDMETH + APDL Command: NUMSTR - Specifies the probabilistic analysis method. + Establishes starting numbers for automatically numbered items. Parameters ---------- - method - Label for the probabilistic analysis method. - - MCS - Monte Carlo Simulation - - RSM - Response Surface Method - - samp - Label for the sampling techniques. The sampling technique - determines the values of the random input variables during the - simulation loops. + label + Apply starting number to one of the following sets of items: - DIR - Direct or Crude Monte Carlo Sampling. This technique randomly samples the - random input variables according to their distribution - functions without "memory" of previous simulations. + NODE - Node numbers. Value defaults (and is continually reset) to 1 + maximum node + number in model. Cannot be reset lower. - The parameters for a Monte Carlo Simulation using direct sampling are specified with the PDDMCS command. - LHS + ELEM - Element numbers. Value defaults (and is continually reset) to 1 + maximum + element number in model. Cannot be reset lower. - Latin Hypercube Sampling (default). Valid only for Method = MCS. For this sampling technique the random input variables are sampled randomly according to their distribution functions, efficiently stratifying the samples into layers and avoiding the re-use of those layers. The sampling process has a "memory" of previous simulations, which prevents accumulation of clusters of samples. In addition, this sampling strategy forces the extreme ends of a distribution function to participate in the sampling. This generally leads to smoother distribution functions of the sampled set. - The parameters for a Monte Carlo Simulation using Latin-Hypercube sampling are - specified with the PDLHS command. + KP - Keypoint numbers. Value defaults to 1. Only undefined numbers are used. + Existing keypoints are not overwritten. - USER - User specified sampling. Valid only for Method = MCS. In this case you provide - a file containing the sampling "points" (values) of all - random input variables for all simulation loops. These - samples are simply executed and it is your responsibility to - specify the samples correctly. The probabilistic design - system can perform only limited checks on the samples you - provide. ANSYS allows Monte Carlo specific postprocessing - operations on the results generated with user-specified - samples. The parameters for the user-supplied sampling - technique are specified with the PDUSER command. + LINE - Line numbers. Value defaults to 1. Only undefined numbers are used. Existing + lines are not overwritten. - CCD - Central Composite Design. Valid only for Method = RSM. A central composite - design is composed of a center point, axis points, and corner - points, called factorial points. Using large numbers of - random input variables produces prohibitively large numbers - of factorial points; therefore, ANSYS automatically reduces - the number of factorial points by switching to a fractional - plan for the factorial part of the design. See the PDDOEL - command for more information. + AREA - Area numbers. Value defaults to 1. Only undefined numbers are used. Existing + areas are not overwritten. - Note:This option is only valid for 2 to 20 random input variables. You will receive an error if you have specified fewer than 2 or more than 20 random input variables. - BBM + VOLU - Volume numbers. Value defaults to 1. Only undefined numbers are used. + Existing volumes are not overwritten. - Box-Behnken Matrix Design. Valid only for Method = RSM. A Box-Behnken Matrix design is composed of a center point plus the points at the middle of the edges of the hypercube in the space of random input variables. A Box-Behnken design might be advantageous if the corner points of the hypercube represent very extreme conditions that are undesirable and therefore should not be used for the sampling. See the PDDOEL command for more information. - Note:  This option is only valid for 3 to 12 random input variables. You will - receive an error if you have specified fewer than - 3 or more than 12 random input variables. + DEFA - Default. Returns all starting numbers to their default values. - USER - User specified sampling. In this case you provide a file containing the - sampling "points" (values) of all random input variables for - all simulation loops. These samples are simply executed and - it is your responsibility to specify the samples correctly. - The PDS can perform only limited checks on the samples you - provide, if user-supplied sampling technique are specified - with the PDUSER command. + value + Starting number value. Notes ----- - Specifies the probabilistic analysis method and the sampling technique - used for the individual probabilistic analysis method. + Establishes starting numbers for various items that may have numbers + automatically assigned (such as element numbers with the EGEN command, + and node and solid model entity numbers with the mesh [AMESH, VMESH, + etc.] commands). Use NUMSTR,STAT to display settings. Use NUMSTR,DEFA + to reset all specifications back to defaults. Defaults may be lowered + by deleting and compressing items (i.e., NDELE and NUMCMP,NODE for + nodes, etc.). + + Note:: : A mesh clear operation (VCLEAR, ACLEAR, LCLEAR, and KCLEAR) + automatically sets starting node and element numbers to the highest + unused numbers. If a specific starting node or element number is + desired, issue NUMSTR after the clear operation. """ - command = "PDMETH, %s, %s" % (str(method), str(samp)) + command = "NUMSTR,%s,%s" % (str(label), str(value)) self.RunCommand(command, **kwargs) - def Transfer(self, kcnto="", inc="", node1="", node2="", ninc="", - **kwargs): + def Morph(self, option="", remeshopt="", elemset="", armax="", voch="", + arch="", step="", time="", stropt="", **kwargs): """ - APDL Command: TRANSFER + APDL Command: MORPH - Transfers a pattern of nodes to another coordinate system. + Specifies morphing and remeshing controls. Parameters ---------- - kcnto - Reference number of coordinate system where the pattern is to be - transferred. Transfer occurs from the active coordinate system. + option + OFF - inc - Increment all nodes in the given pattern by INC to form the - transferred node pattern. + OFF - Turns off morphing for field elements (default). - node1, node2, ninc - Transfer nodes from pattern beginning with NODE1 to NODE2 (defaults - to NODE1) in steps of NINC (defaults to 1). If NODE1 = ALL, NODE2 - and NINC are ignored and the pattern is all selected nodes [NSEL]. - If NODE1 = P, graphical picking is enabled and all remaining - command fields are ignored (valid only in the GUI). A component - may be substituted for NODE1 (NODE2 and NINC are ignored). + ON - Turns on morphing for field elements. - Notes - ----- - Transfers a pattern of nodes from one coordinate system to another. - Coordinate systems may be translated and rotated relative to each - other. Initial pattern may be generated in any coordinate system. - Coordinate values are interpreted in the active coordinate system and - are transferred directly. + -- + Unused field - A model generated in one coordinate system may be transferred to - another coordinate system. The user may define several coordinate - systems (translated and rotated from each other), generate a model in - one coordinate system, and then repeatedly transfer the model to other - coordinate systems. The model may be generated in any type of - coordinate system (Cartesian, cylindrical, etc.) and transferred to any - other type of coordinate system. Coordinate values (X, Y, Z, or R,: θ, - Z, or etc.) of the model being transferred are interpreted in the - active coordinate system type, regardless of how they were generated. - Values are transferred directly and are interpreted according to the - type of coordinate system being transferred to. For example, - transferring from a Cartesian coordinate system to a cylindrical - coordinate system (not recommended) would cause X = 2.0 and Y = 3.0 - values to be directly interpreted as R = 2.0 and θ = 3.0 values, - respectively. + remeshopt + OFF - This command is also valid in the /MAP processor. + OFF - Do not remesh (default). - """ - command = "TRANSFER, %s, %s, %s, %s, %s" % (str(kcnto), str(inc), str(node1), str(node2), str(ninc)) - self.RunCommand(command, **kwargs) + ON - Remesh when element qualities fall below values specified by ARMAX, VOCH, or + ARCH as explained below. Valid only when Option is ON. - def Arscale(self, na1="", na2="", ninc="", rx="", ry="", rz="", kinc="", - noelem="", imove="", **kwargs): - """ - APDL Command: ARSCALE + elemset + ALL - Generates a scaled set of areas from a pattern of areas. + ALL - Remesh all selected elements if the quality of the worst defined element falls + below any quality requirement (default when Remeshopt = ON). - Parameters - ---------- - na1, na2, ninc - Set of areas, NA1 to NA2 in steps of NINC, that defines the pattern - to be scaled. NA2 defaults to NA1, NINC defaults to 1. If NA1 = - ALL, NA2 and NINC are ignored and the pattern is defined by all - selected areas. If NA1 = P, graphical picking is enabled and all - remaining arguments are ignored (valid only in the GUI). A - component name may also be substituted for NA1 (NA2 and NINC are - ignored). + CompName - Specify a component name, up to 32 characters. All elements included in this + component name are remeshed if the quality of the worst + element falls below any quality requirement. - rx, ry, rz - Scale factors to be applied to the X, Y, and Z keypoint coordinates - in the active coordinate system. (RR, R θ, RZ for cylindrical; RR, - R θ, R Φ for spherical). Note that the R θ and R Φ scale factors - are interpreted as angular offsets. For example, if CSYS = 1, RX, - RY, RZ input of (1.5,10,3) would scale the specified keypoints 1.5 - times in the radial and 3 times in the Z direction, while adding an - offset of 10 degrees to the keypoints. Zero, blank, or negative - scale factor values are assumed to be 1.0. Zero or blank angular - offsets have no effect. + armax + The maximum allowable element generalized aspect ratio. Defaults to + 5. - kinc - Increment to be applied to keypoint numbers for generated set. If - zero, the lowest available keypoint numbers will be assigned - [NUMSTR]. + voch + The maximum allowable change of element size (area or volume). + Defaults to 3. - noelem - Specifies whether nodes and elements are also to be generated: + arch + The maximum allowable element aspect ratio change. Defaults to 3. - 0 - Nodes and elements associated with the original areas will be generated - (scaled) if they exist. + step + The frequency of element quality checking, based on time steps. A + quality check takes place at the intervals defined by STEP. + Defaults to 1 (quality check at every step). - 1 - Nodes and elements will not be generated. + time + A quality check takes place at the time point specified. Defaults + to -1 (a quality check at every time point). - imove - Specifies whether areas will be moved or newly defined: + stropt + NO - 0 - Additional areas will be generated. + NO - There are no structural elements in the model (default). - 1 - Original areas will be moved to new position (KINC and NOELEM are ignored). - Use only if the old areas are no longer needed at their - original positions. Corresponding meshed items are also moved - if not needed at their original position. + YES - There are no structural elements in the model and the morphing happens after + the structural solution. Notes ----- - Generates a scaled set of areas (and their corresponding keypoints, - lines, and mesh) from a pattern of areas. The MAT, TYPE, REAL, and - ESYS attributes are based on the areas in the pattern and not the - current settings. Scaling is done in the active coordinate system. - Areas in the pattern could have been generated in any coordinate - system. However, solid modeling in a toroidal coordinate system is not - recommended. + MORPH is applicable to any non-structural field analysis (not including + fluid elements). It activates displacement degrees of freedom for non- + structural elements so that boundary conditions may be placed on the + field mesh to constrain the movement of the non-structural mesh during + morphing. It morphs the non-structural mesh using displacements + transferred at the surface interface between the structural field and + the non-structural field. The displacements of non-structural elements + are mesh displacements to avoid mesh distortion, but have no physical + meaning except at the interface. MORPH does not support surface, link, + or shell elements, or any element shape other than triangles, quads, + tets, and bricks. Morphed fields must be in the global Cartesian system + (CSYS = 0). + + After each remesh, new databases and results files are written with the + extensions .rth0n and .db0n, where n is the remesh file number + (FieldName.rth01, FieldName.rth02, ... and FieldName.db01, + FieldName.db02, etc.). The original database file is FieldName.dbo. + The FieldName.db01, FieldName.db02, etc. files have elements that are + detached from the solid model. + + Remeshing has the following restrictions: + + Valid only for the electrostatic elements (PLANE121, SOLID122, and + SOLID123) + + Limited to triangle (2-D) and tetrahedral (3-D) options of these + elements + + Valid only for the MFS solver + + No body loads allowed in the interior nodes of the remeshing domain + + Nodes on the boundary cannot be remeshed; remeshing will not work if + morphing failed on the surface nodes + + Not suitable for extreme area or volume changes + + This command is also valid in SOLUTION. """ - command = "ARSCALE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(na1), str(na2), str(ninc), str(rx), str(ry), str(rz), str(kinc), str(noelem), str(imove)) + command = "MORPH,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(remeshopt), str(elemset), str(armax), str(voch), str(arch), str(step), str(time), str(stropt)) self.RunCommand(command, **kwargs) - def Cskp(self, kcn="", kcs="", porig="", pxaxs="", pxypl="", par1="", - par2="", **kwargs): + def Rmsave(self, fname="", ext="", **kwargs): """ - APDL Command: CSKP + APDL Command: RMSAVE - Defines a local coordinate system by three keypoint locations. + Saves ROM data to file. Parameters ---------- - kcn - Arbitrary reference number assigned to this coordinate system. - Must be greater than 10. A coordinate system previously defined - with this number will be redefined. + fname + Name and directory path of the ROM database file. Default to + Jobname. - kcs - Coordinate system type: + ext + Extension of the ROM database file. Default to .rom. - 0 or CART - Cartesian + -- + Unused field. - 1 or CYLIN - Cylindrical (circular or elliptical) + Notes + ----- + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - 2 or SPHE - Spherical (or spheroidal) + """ + command = "RMSAVE,%s,%s" % (str(fname), str(ext)) + self.RunCommand(command, **kwargs) - 3 or TORO - Toroidal + def Lsbw(self, nl="", sepo="", keep="", **kwargs): + """ + APDL Command: LSBW - porig - Keypoint defining the origin of this coordinate system. If PORIG = - P, graphical picking is enabled and all remaining command fields - are ignored (valid only in the GUI). - - pxaxs - Keypoint defining the positive x-axis orientation of this - coordinate system. - - pxypl - Keypoint defining the x-y plane (with PORIG and PXAXS) in the first - or second quadrant of this coordinate system. - - par1 - Used for elliptical, spheroidal, or toroidal systems. If KCS = 1 - or 2, PAR1 is the ratio of the ellipse Y-axis radius to X-axis - radius (defaults to 1.0 (circle)). If KCS = 3, PAR1 is the major - radius of the torus. - - par2 - Used for spheroidal systems. If KCS = 2, PAR2 = ratio of ellipse - Z-axis radius to X-axis radius (defaults to 1.0 (circle)). - - Notes - ----- - Defines and activates a local right-handed coordinate system by - specifying three existing keypoints: to locate the origin, to locate - the positive x-axis, and to define the positive x-y plane. This local - system becomes the active coordinate system. See the CLOCAL, CS, - CSWPLA, and LOCAL commands for alternate definitions. Local coordinate - systems may be displayed with the /PSYMB command. - - This command is valid in any processor. - - """ - command = "CSKP, %s, %s, %s, %s, %s, %s, %s" % (str(kcn), str(kcs), str(porig), str(pxaxs), str(pxypl), str(par1), str(par2)) - self.RunCommand(command, **kwargs) - - def Mfrelax(self, lab="", value="", option="", **kwargs): - """ - APDL Command: MFRELAX - - Sets relaxation values for an ANSYS Multi-field solver analysis. + Subtracts the intersection of the working plane from lines (divides + lines). Parameters ---------- - lab - Valid labels: - - value - Relaxation value. Defaults to 0.75 for all labels. - - option - Valid options are: - - RELX - Uses relaxation method for load transfer (default). - - LINT - Uses a linear interpolation for loaf transfer. - - Notes - ----- - MFRELAX sets relaxation values for the load transfer variables at a - surface or volume interface. Option = RELX will usually give you a more - stable and smooth load transfer and is suitable for strongly coupled - problems (such as FSI problems). Option = LINT is suitable for weakly - coupled problems because it will transfer the full load in fewer - stagger iterations. + nl + Line (or lines, if picking is used) to be subtracted from. If NL = + ALL, use all selected lines. If NL = P, graphical picking is + enabled and all remaining command fields are ignored (valid only in + the GUI). A component name may also be input for NL. - See the MFFR and MFITER commands for more information on relaxation in - the ANSYS Multi-field solver. + sepo + Behavior of the created boundary. - This command is also valid in PREP7. + (blank) - The resulting lines will share keypoint(s) where they touch. - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + SEPO - The resulting lines will have separate, but coincident keypoint(s). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + keep + Specifies whether NL lines are to be deleted: - """ - command = "MFRELAX, %s, %s, %s" % (str(lab), str(value), str(option)) - self.RunCommand(command, **kwargs) + (blank) - Use the setting of KEEP on the BOPTN command. - def Reset(self, **kwargs): - """ - APDL Command: RESET + DELETE - Delete NL lines after LSBW operation (override BOPTN command settings). - Resets all POST1 or POST26 specifications to initial defaults. + KEEP - Keep NL lines after LSBW operation (override BOPTN command settings). Notes ----- - Has the same effect as entering the processor the first time within the - run. In POST1, resets all specifications to initial defaults, erases - all element table items, path table data, fatigue table data, and load - case pointers. In POST26, resets all specifications to initial - defaults, erases all variables defined, and zeroes the data storage - space. + Generates new lines by subtracting the intersection of the working + plane from the NL lines. The intersection will be a keypoint(s). The + working plane must not be in the same plane as the NL line(s). If SEPO + is blank, the NL line is divided and the resulting lines will be + connected, sharing a common keypoint where they touch. If SEPO is set + to SEPO, NL is divided into two unconnected lines with separate + keypoints. See the Modeling and Meshing Guide for an illustration. + See the BOPTN command for an explanation of the options available to + Boolean operations. Element attributes and solid model boundary + conditions assigned to the original entities will not be transferred to + the new entities generated. Areas that completely contain the input + lines will be updated if the lines are divided by this operation. """ - command = "RESET, " % () + command = "LSBW,%s,%s,%s" % (str(nl), str(sepo), str(keep)) self.RunCommand(command, **kwargs) - def Ceintf(self, toler="", dof1="", dof2="", dof3="", dof4="", dof5="", - dof6="", movetol="", **kwargs): + def Kwpave(self, p1="", p2="", p3="", p4="", p5="", p6="", p7="", p8="", + p9="", **kwargs): """ - APDL Command: CEINTF + APDL Command: KWPAVE - Generates constraint equations at an interface. + Moves the working plane origin to the average location of keypoints. Parameters ---------- - toler - Tolerance about selected elements, based on a fraction of the - element dimension (defaults to 0.25 (25%)). Nodes outside the - element by more than the tolerance are not accepted as being on the - interface. - - dof1, dof2, dof3, . . . , dof6 - Degrees of freedom for which constraint equations are written. - Defaults to all applicable DOFs. DOF1 accepts ALL as a valid - label, in which case the rest are ignored (all DOFs are applied). - - movetol - The allowed "motion" of a node (see Note below). This distance is - in terms of the element coordinates (-1.0 to 1.0). A typical value - is 0.05. Defaults to 0 (do not move). MoveTol must be less than - or equal to TOLER. + p1, p2, p3, . . . , p9 + Keypoints used in calculation of the average. At least one must be + defined. If P1 = P, graphical picking is enabled and all remaining + command fields are ignored (valid only in the GUI). Notes ----- - This command can be used to "tie" together two regions with dissimilar - mesh patterns by generating constraint equations that connect the - selected nodes of one region to the selected elements of the other - region. At the interface between regions, nodes should be selected - from the more dense mesh region, A, and the elements selected from the - less dense mesh region, B. The degrees of freedom of region A nodes - are interpolated with the corresponding degrees of freedom of the nodes - on the region B elements, using the shape functions of the region B - elements. Constraint equations are then written that relate region A - and B nodes at the interface. - - The MoveTol field lets the nodes in the previously mentioned region A - change coordinates when slightly inside or outside the elements of - region B. The change in coordinates causes the nodes of region A to - assume the same surface as the nodes associated with the elements of - region B. The constraint equations that relate the nodes at both - regions of the interface are then written. - - Solid elements with six degrees of freedom should only be interfaced - with other six degree-of-freedom elements. The region A nodes should - be near the region B elements. A location tolerance based on the - smallest region B element length may be input. Stresses across the - interface are not necessarily continuous. Nodes in the interface - region should not have specified constraints. - - Use the CPINTF command to connect nodes by coupling instead of - constraint equations. Use the EINTF command to connect nodes by line - elements. See also the NSEL and ESEL commands for selecting nodes and - elements. See the Mechanical APDL Theory Reference for a description - of 3-D space used to determine if a node will be considered by this - command. + Moves the origin of the working plane to the average of the specified + keypoints. Averaging is based on the active coordinate system. - As an alternative to the CEINTF command, you can use contact elements - and the internal multipoint constraint (MPC) algorithm to tie together - two regions having dissimilar meshes. See Solid-Solid and Shell-Shell - Assemblies for more information. + This command is valid in any processor. """ - command = "CEINTF, %s, %s, %s, %s, %s, %s, %s, %s" % (str(toler), str(dof1), str(dof2), str(dof3), str(dof4), str(dof5), str(dof6), str(movetol)) + command = "KWPAVE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(p1), str(p2), str(p3), str(p4), str(p5), str(p6), str(p7), str(p8), str(p9)) self.RunCommand(command, **kwargs) - def Smsurf(self, **kwargs): + def Master(self, **kwargs): """ - APDL Command: SMSURF + APDL Command: MASTER - Specifies "Surface loads on the solid model" as the subsequent status - topic. + Specifies "Master DOF" as the subsequent status topic. Notes ----- @@ -10767,3508 +10366,3923 @@ def Smsurf(self, **kwargs): immediately follow this command. """ - command = "SMSURF, " % () + command = "MASTER," % () self.RunCommand(command, **kwargs) - def Graphics(self, key="", **kwargs): + def Va(self, a1="", a2="", a3="", a4="", a5="", a6="", a7="", a8="", a9="", + a10="", **kwargs): """ - APDL Command: /GRAPHICS + APDL Command: VA - Defines the type of graphics display. + Generates a volume bounded by existing areas. Parameters ---------- - key - Graphics key: - - FULL - Display all model geometry and results. - - POWER - Activate PowerGraphics (default when GUI is on). + a1, a2, a3, . . . , a10 + List of areas defining volume. The minimum number of areas is 4. + If A1 = ALL, use all selected [ASEL] areas and ignore A2 to A10. + If A1 = 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 A1. Notes ----- - The /GRAPHICS command specifies the type of graphics display. Key = - POWER activates the PowerGraphics capability. PowerGraphics offers - faster plotting than the Key = FULL option, and speeds up element, - results, area, line, and volume displays. PowerGraphics mode (the - default) is automatically invoked when the GUI is accessed. This action - supersedes all prior macros or start up routines (start.ans, - config.ans, etc.). Full graphics mode can be accessed only by issuing - /GRAPHICS, FULL after the GUI is active. + This command conveniently allows generating volumes from regions having + more than eight keypoints (which is not allowed with the V command). + Areas may be input in any order. The exterior surface of a VA volume + must be continuous, but holes may pass completely through it. - Results values (both printed and plotted) may differ between the Key = - FULL and Key = POWER options because each option specifies a different - set of data for averaging and display. For Key = FULL, all element and - results values (interior and surface) are included. For Key = POWER, - only element and results values along the model exterior surface are - processed. + """ + command = "VA,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(a1), str(a2), str(a3), str(a4), str(a5), str(a6), str(a7), str(a8), str(a9), str(a10)) + self.RunCommand(command, **kwargs) - Caution:: : If you have specified one facet per element edge for - PowerGraphics displays (via the /EFACET command or via choices from the - General Postproc or Utility Menus), PowerGraphics does not plot midside - nodes. + def Ioptn(self, lab="", val1="", **kwargs): + """ + APDL Command: IOPTN - The /EFACET command is only applicable to element type displays. (See - the descriptions of these commands for more information.) + Controls options relating to importing a model. - Maximum values shown in plots can differ from printed maximum values. - This is due to different averaging schemes used for plotted and printed - maximum values. + Parameters + ---------- + lab + Label identifying the import option. The meaning of VAL1 varies + depending on Lab. - PowerGraphics displays do not average at geometric discontinuities. The - printouts in PowerGraphics will, however, provide averaging information - at geometric discontinuities if the models do not contain shell - elements. Carefully inspect the data you obtain at geometric - discontinuities. + STAT - List overall status of import facilities, including current option values. + VAL1 is ignored. - PowerGraphics does not support the following diffusion analysis - results: CONC, CG, DF, EPDI. + DEFA - Set default values for all import options. VAL1is ignored. - Note:: : In Full Graphics mode, it is possible to deselect an - individual node, select all elements (including the element that - contains that node), and then perform postprocessing calculations on - those elements and have that unselected node not be considered in those - calculations. However, if PowerGraphics is active, postprocessing - always displays based on selected elements. + MERG - Entity merge option. VAL1 can be: - PowerGraphics does not support membrane shell elements such as SHELL41, - and these elements using the membrane-stiffness-only option (KEYOPT1) = - 1): SHELL181, SHELL208, and SHELL209. + YES - Automatic merging is performed (default). - Commands that are not supported by PowerGraphics are listed below. - These commands are executed using the Key = FULL option, regardless of - whether PowerGraphics is activated. Only certain options for /CTYPE, - /EDGE, /ESHAPE, *GET, /PNUM, /PSYMB, SHELL, and *VGET are not supported - by PowerGraphics. (See the descriptions of these commands for more - information.) + NO - No merging of entities. - """ - command = "/GRAPHICS, %s" % (str(key)) - self.RunCommand(command, **kwargs) + SOLID - Solid option. VAL1 can be: - def Gthk(self, label="", thick="", **kwargs): - """ - APDL Command: /GTHK + YES - Solid is created automatically (default). - Sets line thicknesses for graph lines. + NO - No solid created. - Parameters - ---------- - label - Apply thicknesses as selected from the following labels: + GTOLER - Entity merging tolerance. If IGES = SMOOTH, the GTOLER,VAL1 can be: - AXIS - Modify thickness of ordinate and abscissa axes on graph displays. + DEFA - Use system defaults (default). - GRID - Modify thickness of grid lines on graph displays. + FILE - Use tolerance from the imported file. - CURVE - Modify thickness of curve lines (when no area fill [/GROPT]). + n - A user-specified tolerance value. - thick - Thickness ratio (whole numbers only, from -1 to 10): + IGES - IGES import option. VAL1 can be: - -1 - Do not draw the curve, but show only the markers specified by /GMARKER. + STAT - List status of IGES related options in the output window. - 0 or 1 - Thin lines. + SMOOTH (or RV52) - Use more robust IGES revision 5.2 import function (default). - 2 - The default thickness. + SMALL - Small areas option. VAL1 can be: - 3 - 1.5 times the default thickness. + YES - Small areas are deleted (default). - etc. - (up to 10) + NO - Small areas are retained. + + val1 + Additional input value as described under each Lab option. Notes ----- - Sets line thicknesses for graph lines (in raster mode only). Use - /GTHK,STAT to show settings. + Controls various options during a model file transfer. A global solid + model tolerance (GTOLER) can be specified. - This command is valid in any processor. + The SMALL,YES option (default) delete small areas and can cause + geometrical inconsistencies that could cause the import process to + abort. Retaining the small areas increases processor time and memory + usage. - """ - command = "/GTHK, %s, %s" % (str(label), str(thick)) - self.RunCommand(command, **kwargs) + The data is stored in the standard ANSYS graphics database. - def Bfk(self, kpoi="", lab="", val1="", val2="", val3="", ph_ase="", - **kwargs): - """ - APDL Command: BFK + The IGES,SMOOTH (default) option is capable of reading in any rational + B-spline curve entity (type 126), or rational B-spline surface entity + (type 128) with a degree less than or equal to 20. Attempts to read in + B-spline curve or surface entities of degree higher than 20 may result + in error messages. - Defines a body force load at a keypoint. + If you issue the /CLEAR command, the IOPTN settings return to their + defaults. - Parameters - ---------- - kpoi - Keypoint to which body load applies. If ALL, apply to all selected - keypoints [KSEL]. A component name may also be substituted for - Kpoi. + For MERG,YES, merging of coincident geometry items is performed + automatically when the IGESIN command is issued (that is, an internal + NUMMRG,KP command is issued). The model is merged with the + consideration tolerance (TOLER on NUMMRG) set equal to 0.75 * the + shortest distance between the endpoints of any active line. See the + NUMMRG command for more information about the tolerances. In most + cases, the default merging is appropriate. Use the IOPTN command when + you want to: - lab - Valid body load label. Load labels are listed under "Body Loads" in - the input table for each element type in the Element Reference. + Disable merging operations. - val1, val2, val3 - Value associated with the Lab item or a table name for specifying - tabular boundary conditions. Use only VAL1 for TEMP, FLUE, HGEN, - MVDI and CHRGD. For magnetics, use VAL1, VAL2, and VAL3 for the X, - Y, and Z components of JS . For acoustics, if Lab = JS, use VAL1 - for mass source in a harmonic analysis or mass source rate in a - transient analysis, and ignoreVAL2 and VAL3. When specifying a - table name, you must enclose the table name in percent signs (%), - e.g., BFK,Kpoi,Lab,%tabname%. Use the *DIM command to define a - table. + Override the default merging and specify a global solid model tolerance + value (GTOLER). - phase - Phase angle in degrees associated with the JS label. + Disable the automatic creation of solids (SOLID). - Notes - ----- - Defines a body force load (such as temperature in a structural - analysis, heat generation rate in a thermal analysis, etc.) at a - keypoint. Body loads may be transferred from keypoints to nodes with - the BFTRAN or SBCTRAN commands. Interpolation will be used to apply - loads to the nodes on the lines between keypoints. All keypoints on a - given area (or volume) must have the same BFK specification, with the - same values, for the loads to be transferred to interior nodes in the - area (or volume). If only one keypoint on a line has a BFK - specification, the other keypoint defaults to the value specified on - the BFUNIF command. + The IOPTN command should be issued before the IGESIN command. You + cannot change these options after your model has been imported or + created. If you must change the options: - You can specify a table name only when using temperature (TEMP) and - heat generation rate (HGEN) body load labels. + Clear the database (/CLEAR) or exit and restart the program. - Body loads specified by the BFK command can conflict with other - specified body loads. See Resolution of Conflicting Body Load - Specifications in the Basic Analysis Guide for details. + Set the correct options. - Graphical picking is available only via the listed menu paths. + Reimport or recreate the model. - This command is also valid in PREP7. + This command is valid in any processor. """ - command = "BFK, %s, %s, %s, %s, %s, %s" % (str(kpoi), str(lab), str(val1), str(val2), str(val3), str(ph_ase)) + command = "IOPTN,%s,%s" % (str(lab), str(val1)) self.RunCommand(command, **kwargs) - def Sph5(self, xedge1="", yedge1="", xedge2="", yedge2="", **kwargs): + def Mptemp(self, sloc="", t1="", t2="", t3="", t4="", t5="", t6="", + **kwargs): """ - APDL Command: SPH5 + APDL Command: MPTEMP - Creates a spherical volume by diameter end points. + Defines a temperature table for material properties. Parameters ---------- - xedge1, yedge1 - Working plane X and Y coordinates of one edge of the sphere. + sloc + Starting location in table for entering temperatures. For example, + if SLOC = 1, data input in the T1 field applies to the first + constant in the table. If SLOC = 7, data input in the T1 field + applies to the seventh constant in the table, etc. Defaults to the + last location filled + 1. - xedge2, yedge2 - Working plane X and Y coordinates of the other edge of the sphere. + t1, t2, t3, . . . , t6 + Temperatures assigned to six locations starting with SLOC. If a + value is already in this location, it will be redefined. A blank + (or zero) value for T1 resets the previous value in SLOC to zero. + A value of zero can only be assigned by T1. Blank (or zero) values + for T2 to T6 leave the corresponding previous values unchanged. Notes ----- - Defines a solid spherical volume anywhere on the working plane by - specifying diameter end points. The sphere must have a spatial volume - greater than zero. (i.e., this volume primitive command cannot be used - to create a degenerate volume as a means of creating an area.) A - sphere of 360° will be defined with two areas, each consisting of a - hemisphere. See the SPHERE and SPH4 commands for other ways to create - spheres. + Defines a temperature table to be associated with the property data + table [MPDATA]. These temperatures are also used for polynomial + property evaluation, if defined [MP]. Temperatures must be defined in + non-descending order. Issue MATER $ STAT to list the current + temperature table. Repeat MPTEMP command for additional temperatures + (100 maximum). If all arguments are blank, the temperature table is + erased. + + For clear definition, the temperature range you define with the MPTEMP + command should include the entire range you'll use in subsequently + defined materials. To assist the user in this, the first (and only the + first) excursion out of the temperature range defined by the MPTEMP + commands is flagged with a warning message. Similarly, the reference + temperature (TREF or MP,reft commands) should also fall in this same + temperature range. If not and MP,alpx was used, a note will be output. + If not, and MP,ctex or MP,thsx was used, an error message will be + output. + + This command is also valid in SOLUTION. """ - command = "SPH5, %s, %s, %s, %s" % (str(xedge1), str(yedge1), str(xedge2), str(yedge2)) + command = "MPTEMP,%s,%s,%s,%s,%s,%s,%s" % (str(sloc), str(t1), str(t2), str(t3), str(t4), str(t5), str(t6)) self.RunCommand(command, **kwargs) - def Sfllist(self, line="", lab="", **kwargs): + def Mpdres(self, labf="", matf="", labt="", matt="", **kwargs): """ - APDL Command: SFLLIST + APDL Command: MPDRES - Lists the surface loads for lines. + Reassembles existing material data with the temperature table. Parameters ---------- - line - Line at which surface load is to be listed. If ALL (or blank), - list for all selected lines [LSEL]. If LINE = P, graphical picking - is enabled and all remaining command fields are ignored (valid only - in the GUI). A component name may be substituted for LINE. + labf + Material property label associated with MATF. - lab - Valid surface load label. If ALL (or blank), use all appropriate - labels. See the SFL command for labels. + matf + Material reference number of property to restore from virtual + space. + + labt + Material property label associated with MATT (defaults to label + associated with MATF). + + matt + Material reference number assigned to generated property (defaults + to MATF). Notes ----- - Lists the surface loads for the specified line. + Restores into the database (from virtual space) a data table previously + defined [MP] for a particular property, assembles data with current + database temperature table, and stores back in virtual space as a new + property. - This command is valid in any processor. + This command is also valid in SOLUTION. """ - command = "SFLLIST, %s, %s" % (str(line), str(lab)) + command = "MPDRES,%s,%s,%s,%s" % (str(labf), str(matf), str(labt), str(matt)) self.RunCommand(command, **kwargs) - def Ednb(self, option="", cname="", ad="", _as="", **kwargs): + def Couple(self, **kwargs): """ - APDL Command: EDNB - - Defines a nonreflecting boundary in an explicit dynamic analysis. + APDL Command: COUPLE - Parameters - ---------- - option - Label identifying the nonreflecting boundary option to be - performed. + Specifies "Node coupling" as the subsequent status topic. - ADD - Define a nonreflecting boundary (default). + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - DELE - Delete a nonreflecting boundary. + If entered directly into the program, the STAT command should + immediately follow this command. - LIST - List all defined nonreflecting boundaries (remaining fields are ignored). + """ + command = "COUPLE," % () + self.RunCommand(command, **kwargs) - cname - Name of existing nodal component to which the nonreflecting - boundary is to be added or deleted. For Option = DELE, use Cname = - ALL to delete all defined nonreflecting boundaries. + def Tread(self, par="", fname="", ext="", nskip="", **kwargs): + """ + APDL Command: *TREAD - ad - Activation flag for dilatational waves (dampers normal to waves). + Reads data from an external file into a table array parameter. - 0 - Dilatational activation flag is off (default). + Parameters + ---------- + par + Table array parameter name as defined by the *DIM command. - 1 - Dilatational activation flag is on. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - as - Activation flag for shear waves (dampers tangent to waves). + ext + Filename extension (eight-character maximum). - 0 - Shear activation flag is off (default). + -- + Unused field. - 1 - Shear activation flag is on. + nskip + Number of comment lines at the beginning of the file being read + that will be skipped during the reading. Default = 0. Notes ----- - Nonreflecting boundaries can be defined on the external surfaces of - SOLID164 and SOLID168 elements that are being used to model an infinite - domain. They are typically used in geomechanical applications to limit - the size of the model. For example, when a half space is being modeled - with a finite geometry, the nonreflecting boundary option can be used - to prevent artificial stress wave reflections generated at the boundary - from reentering the model and contaminating the results. - - When using nonreflecting boundaries, you should not constrain the nodes - at the boundary; doing so would negate the presence of the dampers. - Usually, the large mass of the finite domain is sufficient to resist - motion. - - This command is also valid in SOLUTION. + Use this command to read in a table of data from an external file into + an ANSYS table array parameter. The external file may be created using + a text editor or by an external application or program. The external + file must be in tab-delimited, blank-delimited, or comma-delimited + format to be used by *TREAD. The ANSYS TABLE type array parameter must + be defined before you can read in an external file. See *DIM for more + information. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is not applicable to 4- or 5-D tables. """ - command = "EDNB, %s, %s, %s, %s" % (str(option), str(cname), str(ad), str(_as)) + command = "*TREAD,%s,%s,%s,%s" % (str(par), str(fname), str(ext), str(nskip)) self.RunCommand(command, **kwargs) - def Mftol(self, key="", value="", toler="", **kwargs): + def Numexp(self, num="", begrng="", endrng="", elcalc="", **kwargs): """ - APDL Command: MFTOL + APDL Command: NUMEXP - Activates or deactivates normal distance checking for surface mapping - in an ANSYS Multi-field solver analysis. + Specifies solutions to be expanded from mode-superposition analyses or + substructure analyses. Parameters ---------- - key - Normal distance key + num + The number of solutions to expand. This value is required. - ON - Activates normal distance checking. + Num - Number of solutions to expand. - OFF - Deactivates normal distance checking (default). + ALL - Expand all substeps between BEGRNG and ENDRNG (provided that ENDRNG > 0). If + BEGRNG and ENDRNG have no specified values, this option + expands all substeps of all load steps. - value - The normal distance tolerance for surface mapping. Defaults to - 1.0e-6. If Toler = REL, Value is dimensionless. If Toler = ABS, - Value has the dimensions of length. + begrng, endrng + Beginning and ending time (or frequency) range for expanded + solutions. The default is 0 for both values. - toler - Tolerance definition key + elcalc + The element-calculation key: - REL - Activates relative gap tolerance, which is independent of units (default). + YES - Calculate element results, nodal loads, and reaction loads. This value is the + default. - ABS - Activates absolute gap tolerance. + NO - Do not calculate these items. Notes ----- - For a dissimilar mesh interface, the nodes of one mesh are mapped to - the local coordinates of an element in the other mesh. When normal - distance checking is activated, the mapping tool checks the normal - distance from the node to the nearest element. The node is considered - improperly mapped if the normal distance exceeds the tolerance value. - The mapping tool creates a component to graphically display the - improperly mapped nodes. See Mapping Diagnostics in the Coupled-Field - Analysis Guide for more information. + Specifies a range of solutions to be expanded from analyses that use + mode-superposition methods (ANTYPE,HARMIC or TRANS) or substructuring + (ANTYPE,SUBSTR). - When using relative gap tolerance (Toler = REL), the normal distance - tolerance is derived from the product of the relative tolerance Value - and the largest dimension of the Cartesian bounding box for a specific - interface. Therefore, each interface will have a different normal - distance tolerance , even though MFTOL is a global command. + For ANTYPE,TRANS, NUM, evenly spaced solutions are expanded between + time BEGRNG and time ENDRNG. - This command is also valid in PREP7. + For ANTYPE,HARMIC, NUM, evenly spaced solutions are expanded between + frequency BEGRNG and frequency ENDRNG. - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + The first expansion in all cases is done at the first point beyond + BEGRNG (that is, at BEGRNG + (ENDRNG - BEGRNG) / NUM)). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The resulting results file will maintain the same load step, substep, + and time (or frequency) values as the use pass. + + For a single expansion of a solution, or for multiple expansions when + the solutions are not evenly spaced (such as in a mode-superposition + harmonic analysis with the cluster option), ANSYS, Inc. recommends + issuing one or more EXPSOL commands. + + The NUMEXP command is invalid in these cases: + + In a substructing analysis (ANTYPE,SUBST) when a factorized matrix file + (the .LN22 file generated by the sparse solver) does not exist, causing + ANSYS to employ the full-resolve method. + + If the full-resolve option is selected using the SEOPT command. + + In both situations, use the EXPSOL command to perform a single + expansion for each solution desired. + + This command is also valid in PREP7. """ - command = "MFTOL, %s, %s, %s" % (str(key), str(value), str(toler)) + command = "NUMEXP,%s,%s,%s,%s" % (str(num), str(begrng), str(endrng), str(elcalc)) self.RunCommand(command, **kwargs) - def Pbc(self, item="", key="", min="", max="", abs="", **kwargs): + def Vfact(self, factr="", fact1="", fact2="", fact3="", **kwargs): """ - APDL Command: /PBC + APDL Command: *VFACT - Shows boundary condition (BC) symbols and values on displays. + Applies a scale factor to array parameters. Parameters ---------- - item - Label identifying the item: + factr + Scale factor applied to results (ParR) parameter. Defaults to 1.0. - U - Applied translational constraints (UX, UY, UZ). + fact1 + Scale factor applied to first parameter (Par1 or ParI). Defaults + to 1.0. - ROT - Applied rotational constraints (ROTX, ROTY, ROTZ). + fact2 + Scale factor applied to second parameter (Par2 or ParJ). Defaults + to 1.0. - TEMP - Applied temperatures (TEMP, TBOT, TE2, TE3, . . ., TTOP). + fact3 + Scale factor applied to third parameter (Par3 or ParK). Defaults + to 1.0. - PRES - Applied fluid pressures. + Notes + ----- + Applies a scale factor to parameters used in certain *VXX and *MXX + operations. Typical scale factor applications are of the form: - V - Applied flow velocities (VX, VY, VZ). + ParR = FACTR*f(FACT1*Par1) - VOLT - Applied voltages. + or - MAG - Applied scalar magnetic potentials. + ParR = FACTR*((FACT1*Par1) o (FACT2*Par2)) - A - Applied vector magnetic potentials. + The factors are applied to each input parameter value before the + operation and to the result value after the operation. The scale + factor settings are reset to the default (1.0) after each *VXX or *MXX + operation. Use *VSTAT to list settings. - CONC - Concentration. + This command is valid in any processor. - CHRG - Applied electric charge. + """ + command = "*VFACT,%s,%s,%s,%s" % (str(factr), str(fact1), str(fact2), str(fact3)) + self.RunCommand(command, **kwargs) - F or FORC - Applied structural forces (FX, FY, FZ). + def Datadef(self, **kwargs): + """ + APDL Command: DATADEF - M or MOME - Applied structural moments (MX, MY, MZ). + Specifies "Directly defined data status" as the subsequent status + topic. - HEAT - Applied heat flows (HEAT, HBOT, HE2, HE3, . . ., HTOP). + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - FLOW - Applied fluid flow. + If entered directly into the program, the STAT command should + immediately follow this command. - AMPS - Applied current flow. + """ + command = "DATADEF," % () + self.RunCommand(command, **kwargs) - FLUX - Applied magnetic flux. + def Aux2(self, **kwargs): + """ + APDL Command: /AUX2 - CSG - Applied magnetic current segments. + Enters the binary file dumping processor. - RATE - Diffusion flow rate. + Notes + ----- + Enters the binary file dumping processor (ANSYS auxiliary processor + AUX2). This processor is used to dump the contents of certain ANSYS + binary files for visual examination. - MAST - Master degrees of freedom. + This command is valid only at the Begin Level. - CP - Coupled nodes. + """ + command = "/AUX2," % () + self.RunCommand(command, **kwargs) - CE - Nodes in constraint equations. + def Mp(self, lab="", mat="", c0="", c1="", c2="", c3="", c4="", **kwargs): + """ + APDL Command: MP - NFOR - POST1 nodal forces. + Defines a linear material property as a constant or a function of + temperature. - NMOM - POST1 nodal moments + Parameters + ---------- + lab + Valid material property label. Applicable labels are listed under + "Material Properties" in the input table for each element type in + the Element Reference. See Linear Material Properties in the + Material Reference for more complete property label definitions: - RFOR - POST1 reaction forces. + ALPD - Mass matrix multiplier for damping. - RMOM - POST1 reaction moments (MX, MY, MZ). + ALPX - Secant coefficients of thermal expansion (also ALPY, ALPZ). - PATH - Path geometry (undistorted) associated with the PATH command after a PDEF or - PVECT command has been issued. + BETD - Stiffness matrix multiplier for damping. - ACEL - Global acceleration (ACELX, ACELY, ACELZ vector). + Note:If used in an explicit dynamic analysis, the value corresponds to the percentage of damping in the high frequency domain. For example, 0.1 roughly corresponds to 10% damping in the high frequency domain. - BETX - OMEG - Global angular velocity (OMEGX, OMEGY, OMEGZ vector) and acceleration (DOMEGX, - DOMEGY, DOMEGZ vector). + Coefficient of diffusion expansion (also BETY, BETZ) - BVIS - WELD - Applied spotwelds (ANSYS LS-DYNA). + Bulk viscosity - C - ALL - Represents all appropriate labels. + Specific heat - CREF - -- - Unused field. + Reference concentration (may not be temperature dependent) - CSAT - key - Symbol key: + Saturated concentration - CTEX - 0 - Do not show symbol. + Instantaneous coefficients of thermal expansion (also CTEY, CTEZ) - CVH - 1 - Show symbol. + Heat coefficient at constant volume per unit of mass - DENS - 2 - Plot value next to symbol. + Mass density. - DMPR - min - Minimum value in a range of values plotted on screen. + Constant structural damping coefficient in full harmonic analysis or damping ratio in mode-superposition analysis. - DXX - max - Maximum value in a range of values plotted on screen. + Diffusivity coefficients (also DYY, DZZ) - EMIS - abs - Absolute number. If KEY = 2 and ABS = 0, a number falling between - the MIN and MAX is displayed. If ABS is not specified, it defaults - to 0. If KEY = 2 and ABS = 1, an absolute value falling between - the MIN and MAX is displayed. ABS = 1 lets you eliminate the - display of numbers whose absolute values are less than a desired - tolerance. For example, if ABS = 1, MIN = 10 and MAX = 1e8, values - such as .83646 and -5.59737 are not displayed. + Emissivity. - ENTH - Notes - ----- - The /PBC command adds degree of freedom constraint, force load, and - other symbols to displays. + Enthalpy. - EX - Symbols are applied to the selected nodes only. All arrow and - arrowhead symbols are oriented in the nodal coordinate system and lie - in two perpendicular planes. Force arrows are scaled proportional to - their magnitude. (If KEY = 1, use /VSCALE to change arrow length.) - For scalar quantities, the specific component direction (i.e., x, y, or - z) of the symbol has no meaning, but the positive or negative sense - (e.g., positive or negative x) represents a positive or negative scalar - value, respectively. + Elastic moduli (also EY, EZ) - GXY - The effects of the /PBC command are not cumulative (that is, the - command does not modify an existing setting from a previously issued - /PBC command). If you issue multiple /PBC commands during an analysis, - only the setting specified by the most recent /PBC command applies. + Shear moduli (also GYZ, GXZ) - HF - Use /PSTATUS or /PBC,STAT to display settings. Use /PBC,DEFA to reset - all specifications back to default. See the /PSF and /PBF commands for - other display symbols. + Convection or film coefficient - KXX - In a cyclic symmetry analysis, the /PBC command is deactivated when - cyclic expansion is active (/CYCEXPAND,,ON). To view boundary - conditions on the basic sector, deactivate cyclic expansion - (/CYCEXPAND,,OFF) and issue this command:: : /PBC,ALL,,1 + Thermal conductivities (also KYY, KZZ) - LSST - Issuing the command /PBC,PATH, ,1 displays all defined paths. + Electric loss tangent - LSSM - The /PBC command is valid in any processor. + Magnetic loss tangent - MGXX - """ - command = "/PBC, %s, %s, %s, %s, %s" % (str(item), str(key), str(min), str(max), str(abs)) - self.RunCommand(command, **kwargs) + Magnetic coercive forces (also MGYY, MGZZ) - MURX - def Polygon(self, nvert="", x1="", y1="", x2="", y2="", x3="", y3="", - x4="", y4="", **kwargs): - """ - APDL Command: /POLYGON + Magnetic relative permeabilities (also MURY, MURZ) - MU - Creates annotation polygons (GUI). + Coefficient of friction - NUXY - Parameters - ---------- - nvert - Number of vertices of polygon (3  NVERT   8). Use /PMORE for - polygons with more than 4 vertices. + Minor Poisson's ratios (also NUYZ, NUXZ) (NUXY = νyx, as described in Stress-Strain Relationships in the Mechanical APDL Theory Reference) - PERX - x1 - X location for vertex 1 of polygon (-1.0 < X < 2.0). + Electric relative permittivities (also PERY, PERZ) - Note:  If you enter permittivity values less than 1 for SOLID5, PLANE13, or + SOLID98, the program interprets the values as + absolute permittivity. Values input for PLANE223, + SOLID226, or SOLID227 are always interpreted as + relative permittivity. - y1 - Y location for vertex 1 of polygon (-1.0 < Y < 1.0). + PRXY - Major Poisson's ratios (also PRYZ, PRXZ) (PRXY = νxy, as described in Stress- + Strain Relationships in the Mechanical APDL Theory + Reference) - x2 - X location for vertex 2 of polygon (-1.0 < X < 2.0). + QRATE - Heat generation rate for thermal mass element MASS71. Fraction of plastic work + converted to heat (Taylor-Quinney coefficient) for coupled- + field elements PLANE223, SOLID226, and SOLID227. - y2 - Y location for vertex 2 of polygon (-1.0 < Y < 1.0). + REFT - Reference temperature. Must be defined as a constant; C1 through C4 are + ignored. - x3 - X location for vertex 3 of polygon (-1.0 < X < 2.0). + RH - Hall Coefficient. - y3 - Y location for vertex 3 of polygon (-1.0 < Y < 1.0). + RSVX - Electrical resistivities (also RSVY, RSVZ). - x4 - X location for vertex 4 of polygon (-1.0 < X < 2.0). + SBKX - Seebeck coefficients (also SBKY, SBKZ). - y4 - Y location for vertex 4 of polygon (-1.0 < Y < 1.0). + SONC - Sonic velocity. + + THSX - Thermal strain (also THSY, THSZ). + + VISC - Viscosity. + + mat + Material reference number to be associated with the elements + (defaults to the current MAT setting [MAT]). + + c0 + Material property value, or if a property-versus-temperature + polynomial is being defined, the constant term in the polynomial. + C0 can also be a table name (%tabname%); if C0 is a table name, C1 + through C4 are ignored. + + c1, c2, c3, c4 + Coefficients of the linear, quadratic, cubic, and quartic terms, + respectively, in the property-versus-temperature polynomial. Leave + blank (or set to zero) for a constant material property. Notes ----- - Creates annotation polygons to be written directly onto the display at - a specified location. This is a command generated by the Graphical - User Interface (GUI) and will appear in the log file (Jobname.LOG) if - annotation is used. This command is not intended to be typed in - directly in an ANSYS session (although it can be included in an input - file for batch input or for use with the /INPUT command). + MP defines a linear material property as a constant or in terms of a + fourth order polynomial as a function of temperature. (See the TB + command for nonlinear material property input.) Linear material + properties typically require a single substep for solution, whereas + nonlinear material properties require multiple substeps; see Linear + Material Properties in the Material Reference for details. - All polygons are shown on subsequent displays unless the annotation is - turned off or deleted. Use the /LSPEC and the /PSPEC command to set - the attributes of the polygon. Use the /PMORE command to define the - 5th through 8th vertices of the polygon. + If the constants C1 - C4 are input, the polynomial - This command is valid in any processor. + Property = C0 + C1(T) + C2(T)2 + C3(T)3 + C4(T)4 + + is evaluated at discrete temperature points with linear interpolation + between points (that is, a piecewise linear representation) and a + constant-valued extrapolation beyond the extreme points. First-order + properties use two discrete points (±9999°). The MPTEMP or MPTGEN + commands must be used for second and higher order properties to define + appropriate temperature steps. To ensure that the number of + temperatures defined via the MPTEMP and MPTGEN commands is minimally + sufficient for a reasonable representation of the curve, ANSYS + generates an error message if the number is less than N, and a warning + message if the number is less than 2N. The value N represents the + highest coefficient used; for example, if C3 is nonzero and C4 is zero, + a cubic curve is being used which is defined using 4 coefficients so + that N = 4. + + A polynomial input is not valid in an explicit dynamic analysis or for + Lab = ALPD and BETD. C1, C2, C3, and C4 are ignored. + + The use of tabular material properties (C0 = %tabname%) is available + only for FLUID116. Fluid properties can be evaluated as a function of + pressure, temperature, velocity, time, and location (independent + variables). Use the *DIM command to create the table of property values + as a function of the independent variables. Then refer to this table + via the MP command for the property. If using temperature or pressure + independent variables, you need to activate the appropriate pressure or + temperature degrees of freedom on the element. Tabular material + properties are calculated before the first iteration (that is, using + initial values [IC]). For more information about using table-type array + parameters, see the discussion on applying tabular boundary conditions + in the Basic Analysis Guide. + + When defining a reference temperature (MP,REFT), you can convert + temperature-dependent secant coefficients of thermal expansion (SCTE) + data from the definition temperature to the reference temperature. To + do so, issue the MPAMOD command. + + This command is also valid in SOLUTION. + + ANSYS Professional NLS supports this command for the coefficient of + friction material property (MP,MU). """ - command = "/POLYGON, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nvert), str(x1), str(y1), str(x2), str(y2), str(x3), str(y3), str(x4), str(y4)) + command = "MP,%s,%s,%s,%s,%s,%s,%s" % (str(lab), str(mat), str(c0), str(c1), str(c2), str(c3), str(c4)) self.RunCommand(command, **kwargs) - def Slashline(self, x1="", y1="", x2="", y2="", **kwargs): + def Tbcopy(self, lab="", matf="", matt="", **kwargs): """ - APDL Command: /LINE + APDL Command: TBCOPY - Creates annotation lines (GUI). + Copies a data table from one material to another. Parameters ---------- - x1 - Line X starting location (-1.0 < X < 2.0). - - y1 - Line Y starting location (-1.0 < Y < 1.0). + lab + Data table label. See the TB command for valid labels, and see + "Notes" for Lab = ALL. - x2 - Line X ending location (-1.0 < X < 2.0). + matf + Material reference number where data table is to be copied from. - y2 - Line Y ending location (-1.0 < Y < 1.0). + matt + Material reference number where data table is to be copied to. Notes ----- - Defines annotation lines to be written directly onto the display at a - specified location. This is a command generated by the Graphical User - Interface (GUI) and will appear in the log file (Jobname.LOG) if - annotation is used. This command is not intended to be typed in - directly in an ANSYS session (although it can be included in an input - file for batch input or for use with the /INPUT command). + The TBCOPY command, with Lab = ALL, copies all of the nonlinear data + defined by the TB command. If you copy a model that includes both yield + behavior constants and linear constants (for example, a BKIN model), + TBCOPY,ALL and MPCOPY are used together to copy the entire model. All + input data associated with the model is copied, that is, all data + defined through the TB and MP commands. - All lines are shown on subsequent displays unless the annotation is - turned off or deleted. Use the /LSPEC command to set the attributes of - the line. + Also, if you copy a material model using the Material Model Interface + (Edit> Copy), both the commands TBCOPY,ALL and MPCOPY are issued, + regardless of whether the model includes linear constants only, or if + it includes a combination of linear and yield behavior constants. - This command is valid in any processor. + This command is also valid in SOLUTION. """ - command = "/LINE, %s, %s, %s, %s" % (str(x1), str(y1), str(x2), str(y2)) + command = "TBCOPY,%s,%s,%s" % (str(lab), str(matf), str(matt)) self.RunCommand(command, **kwargs) - def Ddoption(self, decomp="", **kwargs): + def Quot(self, ir="", ia="", ib="", name="", facta="", factb="", **kwargs): """ - APDL Command: DDOPTION + APDL Command: QUOT - Sets domain decomposer option for Distributed ANSYS. + Divides two variables. Parameters ---------- - decomp - Controls which domain decomposition algorithm to use. + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. - AUTO - Use the default domain decomposition algorithm when splitting the model into - domains for Distributed ANSYS (default). + ia, ib + Reference numbers of the two variables to be operated on. - GREEDY - Use the “greedy” domain decomposition algorithm. + -- + Unused field. - METIS - Use the METIS graph partitioning domain decomposition algorithm. + name + Thirty-two character name identifying the variable on printouts and + displays. Embedded blanks are compressed for output. + + --, -- + Unused fields. + + facta, factb + Scaling factors (positive or negative) applied to the corresponding + variables (default to 1.0). Notes ----- - This command controls options relating to the domain decomposition - algorithm used by Distributed ANSYS to split the model into pieces (or - domains), with each piece being solved on a different processor. - - The greedy domain decomposition algorithm starts from a single element - at a corner of the model. The domain grows by taking the properly - connected neighboring elements and stops after reaching the optimal - size. + Divides two variables according to the operation: - The METIS domain decomposition algorithm starts by creating a graph - from the finite element mesh. It then uses a multilevel graph - partitioning scheme which reduces the size of the original graph, - creates domains using the reduced graph, and then creates the final CPU - domains by expanding the smaller domains from the reduced graph back to - the original mesh. + IR = (FACTA x IA)/(FACTB x IB) """ - command = "DDOPTION, %s" % (str(decomp)) + command = "QUOT,%s,%s,%s,%s,%s,%s" % (str(ir), str(ia), str(ib), str(name), str(facta), str(factb)) self.RunCommand(command, **kwargs) - def Dadele(self, area="", lab="", **kwargs): + def Enersol(self, nvar="", item="", name="", **kwargs): """ - APDL Command: DADELE + APDL Command: ENERSOL - Deletes degree-of-freedom constraints on an area. + Specifies the total energies to be stored. Parameters ---------- - area - Area for which constraints are to be deleted. If ALL, delete for - all selected areas [ASEL]. If AREA = P, graphical picking is - enabled and all remaining command fields are ignored (valid only in - the GUI). You can substitute a component name for AREA. + nvar + Arbitrary reference number assigned to this variable (2 to NV). - lab - Valid constraint labels are: + """ + command = "ENERSOL,%s,%s,%s" % (str(nvar), str(item), str(name)) + self.RunCommand(command, **kwargs) - ALL - All constraints. + def Dalist(self, area="", **kwargs): + """ + APDL Command: DALIST - SYMM - Symmetry constraints. + Lists the DOF constraints on an area. - ASYM - Antisymmetry constraints. + Parameters + ---------- + area + List constraints for this area. If ALL (default), list for all + selected areas [ASEL]. If P1 = 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 AREA. - UX - Displacement in X direction. + Notes + ----- + Lists the degree of freedom constraints on an area previously specified + with the DA command. - UY - Displacement in Y direction. + This command is valid in any processor. - UZ - Displacement in Z direction. + """ + command = "DALIST,%s" % (str(area)) + self.RunCommand(command, **kwargs) - ROTX - Rotation about X axis. + def Stitle(self, nline="", title="", **kwargs): + """ + APDL Command: /STITLE - ROTY - Rotation about Y axis. + Defines subtitles. - ROTZ - Rotation about Z axis. + Parameters + ---------- + nline + Subtitle line number (1 to 4). Defaults to 1. - PRES - Pressure. + title + Input up to 70 alphanumeric characters. Parameter substitution may + be forced within the title by enclosing the parameter name or + parametric expression within percent (%) signs. If Title is blank, + this subtitle is deleted. - TEMP, TBOT, TE2, TE3, . . ., TTOP - Temperature. + Notes + ----- + Subtitles (4 maximum) are displayed in the output along with the main + title [/TITLE]. Subtitles do not appear in GUI windows or in ANSYS + plot displays. The first subtitle is also written to various ANSYS + files along with the main title. Previous subtitles may be overwritten + or deleted. Issue /STATUS to display titles. - MAG - Magnetic scalar potential. + This command is valid in any processor. - VOLT - Electric scalar potential. + """ + command = "/STITLE,%s,%s" % (str(nline), str(title)) + self.RunCommand(command, **kwargs) - AX - Magnetic vector potential in X direction (see notes). + def Mpamod(self, mat="", deftemp="", **kwargs): + """ + APDL Command: MPAMOD - AY - Magnetic vector potential in Y direction. + Modifies temperature-dependent secant coefficients of thermal + expansion. - AZ - Magnetic vector potential in Z direction (see notes). + Parameters + ---------- + mat + Material number for which the secant coefficients of thermal + expansion (SCTE's) are to be modified. Defaults to 1. - CONC - Concentration. + deftemp + Definition temperature at which the existing SCTE-versus- + temperature tables were defined. Defaults to zero. Notes ----- - Deletes the degree of freedom constraints at an area (and all - corresponding finite element constraints) previously specified with the - DA command. See the DDELE command for delete details. - - If the multiple species labels have been changed to user-defined labels - via the MSSPEC command, use the user-defined labels. + This command converts temperature-dependent SCTE data (properties ALPX, + ALPY, ALPZ) from the definition temperature (DEFTEMP) to the reference + temperature defined by MP,REFT or TREF. If both the MP,REFT and TREF + commands have been issued, the reference temperature defined by the + MP,REFT command will be used. - See the DA or the DA commands for details on element applicability. + This command does not apply to the instantaneous coefficients of + thermal expansion (properties CTEX, CTEY, CTEZ) or to the thermal + strains (properties THSX, THSY, THSZ). - Warning:: : On previously meshed areas, all constraints on affected - nodes will be deleted, whether or not they were specified by the DA - command. + See Linear Material Properties in the Mechanical APDL Material + Reference and the Mechanical APDL Theory Reference for more details. - This command is also valid in PREP7. + This command is also valid in SOLUTION. """ - command = "DADELE, %s, %s" % (str(area), str(lab)) + command = "MPAMOD,%s,%s" % (str(mat), str(deftemp)) self.RunCommand(command, **kwargs) - def Sys(self, string="", **kwargs): + def Ksll(self, type="", **kwargs): """ - APDL Command: /SYS + APDL Command: KSLL - Passes a command string to the operating system. + Selects those keypoints contained in the selected lines. Parameters ---------- - string - Command string, up to 639 characters (including blanks, commas, - etc.). The specified string is passed verbatim to the operating - system, i.e., no parameter substitution is performed. + type + Label identifying the type of keypoint select: + + S - Select a new set (default). + + R - Reselect a set from the current set. + + A - Additionally select a set and extend the current set. + + U - Unselect a set from the current set. Notes ----- - Passes a command string to the operating system for execution (see the - Operations Guide). Typical strings are system commands such as list, - copy, rename, etc. Control returns to the ANSYS program after the - system procedure is completed. ANSYS may not be aware of your - specific user environment. For example, on Linux this command may not - recognize aliases, depending on the hardware platform and user - environment. - This command is valid in any processor. """ - command = "/SYS, %s" % (str(string)) + command = "KSLL,%s" % (str(type)) self.RunCommand(command, **kwargs) - def Edlcs(self, option="", cid="", x1="", y1="", z1="", x2="", y2="", - z2="", x3="", y3="", z3="", **kwargs): + def Sucalc(self, rsetname="", lab1="", oper="", lab2="", fact1="", + fact2="", const="", **kwargs): """ - APDL Command: EDLCS + APDL Command: SUCALC - Defines a local coordinate system for use in explicit dynamics - analysis. + Create new result data by operating on two existing result data sets on + a given surface. Parameters ---------- - option - Label identifying the option to be performed: - - ADD - Define a coordinate system (default). - - DELE - Delete a coordinate system. If CID is blank, all coordinate systems are - deleted. - - LIST - List defined coordinate systems. If CID is blank, all coordinate systems are - listed. - - cid - Coordinate system ID. - - x1, y1, z1 - X, Y, and Z coordinates of a point on the local x-axis. - - x2, y2, z2 - X, Y, and Z coordinates of a point on the local x-y plane. - - x3, y3, z3 - X, Y, and Z coordinates of the origin. X3, Y3, and Z3 all default - to zero. + rsetname + Eight character name for new result data. - Notes - ----- - Local coordinate systems defined by this command are used in an - explicit dynamic analysis. For example, a local coordinate system may - be used when defining orthotropic material properties (see EDMP). + lab1 + First result data upon which to operate. - The coordinate system is defined by 2 vectors, one from the origin (X3, - Y3, Z3) to a point on the x-axis (X1, Y1, Z1), and one from the origin - to a point on the x-y plane (X2, Y2, Z2). The cross product of these - two vectors determines the z-axis, and the cross product of the z-axis - vector and x-axis vector determines the y-axis. If X3, Y3, and Z3 are - not specified, the global origin (0,0,0) is used by default (as shown - in the figure below). + oper + Mathematical operation to perform. - The x-axis vector and the xy vector should be separated by a reasonable - angle to avoid numerical inaccuracies. + ADD - (lab1 + lab2 + const) - When you use the local coordinate system (defined by the EDLCS command) - to define a load (EDLOAD command), the direction of the load will - depend on the load type. For force and moment loads (Lab = FX, MX, etc. - on EDLOAD), the load will be applied in the direction of the local - coordinate system defined by EDLCS. For prescribed motion degrees of - freedom (Lab = UX, ROTX, VX, AX, etc. on EDLOAD), the motion will act - in the direction of a vector from point (X1, Y1, Z1) to point (X2, Y2, - Z2) as input on EDLCS. See the EDLOAD command for more information. + SUB - (lab1 - lab2 + const) - This command is also valid in SOLUTION. + MULT - (lab1 * lab2 + const) - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + DIV - (lab1 / lab2 + const) - """ - command = "EDLCS, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(cid), str(x1), str(y1), str(z1), str(x2), str(y2), str(z2), str(x3), str(y3), str(z3)) - self.RunCommand(command, **kwargs) + EXP - (lab1 ^ fact1 + lab2 ^ fact2 + const) - def Gline(self, wn="", style="", **kwargs): - """ - APDL Command: /GLINE + COS - (cos (lab1) + const) - Specifies the element outline style. + SIN - (sin (lab1) + const) - Parameters - ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). + ACOS - (acos (lab1) + const) - style - Outline key: + ASIN - (asin (lab1) + const) -  0  - Solid element outlines (default) + ATAN - (atan (lab1) + const) -  1  - Dashed element outlines + ATA2 - (atan2 (lab1 / lab2) + const) - -1  - No element outlines + LOG - (log (lab1) + const) - Notes - ----- - Determines the element outline style. Often used when node numbers are - displayed to prevent element lines from overwriting node numbers. + ABS - (abs (lab1) + const) - Unless you are using an OpenGL or Starbase driver, the dashed element - outline option (/GLINE,WN,1) is not available in the following - situations: + ZERO - (0 + const) - Z-buffered displays (/TYPE,WN,6). + lab2 + Second result data upon which to operate. - Capped Z-buffered displays (/TYPE,WN,7). + fact1 + First scaling factor (for EXP option only). - Qslice Z-buffered displays (/TYPE,WN,8). + fact2 + Second scaling factor (for EXP option only). - This command is valid in any processor. + const + Constant added to the values in the resulting data. """ - command = "/GLINE, %s, %s" % (str(wn), str(style)) + command = "SUCALC,%s,%s,%s,%s,%s,%s,%s" % (str(rsetname), str(lab1), str(oper), str(lab2), str(fact1), str(fact2), str(const)) self.RunCommand(command, **kwargs) - def Rmcap(self, refname="", c1="", c2="", **kwargs): + def Psdval(self, tblno="", sv1="", sv2="", sv3="", sv4="", sv5="", sv6="", + sv7="", **kwargs): """ - APDL Command: RMCAP + APDL Command: PSDVAL - Defines lumped capacitance pairs between conductors C1 and C2 for a ROM - method. + Defines PSD values. Parameters ---------- - refname - Reference name for capacitance pair definition. - - c1 - First conductor (between 1 and 5). + tblno + Input table number being defined. - c2 - Second conductor (between 1 and 5). + sv1, sv2, sv3, . . . , sv7 + Spectral values corresponding to the frequency points [PSDFRQ]. + Values are interpreted as defined with the PSDUNIT command. Notes ----- - For a capacitance definition between conductor C1 and C2, node - components COND%C1% and COND%C2% (see CM command) must be present - containing the conductor nodes. If C1 and C2 are blank, the capacitance - definition with RefName will be deleted. (For example, if C1 = 1, and - C2 = 2, then node components COND1 and COND2 must be defined). + Defines PSD values to be associated with the previously defined + frequency points. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Repeat PSDVAL command for additional values, up to the number of + frequency points [PSDFRQ]. Values are added after the last nonzero + value. + + This command is also valid in PREP7. """ - command = "RMCAP, %s, %s, %s" % (str(refname), str(c1), str(c2)) + command = "PSDVAL,%s,%s,%s,%s,%s,%s,%s,%s" % (str(tblno), str(sv1), str(sv2), str(sv3), str(sv4), str(sv5), str(sv6), str(sv7)) self.RunCommand(command, **kwargs) - def Plopts(self, label="", key="", **kwargs): + def Rescontrol(self, action="", ldstep="", frequency="", maxfiles="", + **kwargs): """ - APDL Command: /PLOPTS + APDL Command: RESCONTROL - Controls graphics options on subsequent displays. + Controls file writing for multiframe restarts. Parameters ---------- - label - Apply display items as selected from the following labels: + action + Command action. Valid options are: - INFO - Controls the display of the legend (ON or OFF) and allows the choice of preset - or Multi-legend placement. Control is provided by the KEY - values. (Defaults to KEY=3 when the GUI is on. Defaults to - KEY= 2 otherwise.) + DEFINE - Issuing the command specifies how frequently the .Xnnn restart files are + written for a load step (default). - LEG1 - Header portion of legend column (defaults to ON). + FILE_SUMMARY - Issuing the command prints the substep and load step information for all .Xnnn + files for the current jobname in the current + directory. If this option is specified, all other + arguments are ignored. - LEG2 - View portion of legend column (defaults to ON (except off with contour - displays)). + STATUS - Issuing the command lists the current status in the tables of restart controls + specified previously by RESCONTROL. If this option is + specified, all other arguments are ignored. - LEG3 - View the contour section of the legend column (defaults to ON). + NORESTART - Issuing the command cleans up some of the restart files after a Distributed + ANSYS solution. The host process will not have the + following files in the working directory at the end of + the run: .ESAV, .OSAV, .Xnnn, .RDB, .LDHI. The slave + processes will not have the following files in the + working directory at the end of the run: .ESAV, .OSAV, + .Xnnn, .RST (or .RTH, etc.). Some of the restart files + are never written, some are removed upon leaving /SOLU + (for example, upon FINISH), and some are removed upon + exiting the program. - FRAME - Frame border lines around windows (defaults to ON). + This option is useful for cleaning up files written by all of the Distributed ANSYS processes, particularly when you know that these restart files will not be needed later on. If this option is specified, all other arguments are ignored. - If this option is used in shared-memory parallel ANSYS, most of the restart + files in the working directory are removed. It + has the same effect as issuing RESCONTROL,,NONE. - TITLE - Title (bottom left text) (defaults to ON). + LINEAR - Issuing the command specifies the same actions as Action = DEFINE. However, + this option is intended for linear static applications. + For a linear static analysis, the restart capability is + normally not needed. However, it is typically needed when + a subsequent linear perturbation analysis is desired. By + default, none of the restart files are written for a + linear static analysis. - MINM - Min-Max symbols on contour displays (defaults to ON). + DELETE - Delete the restart control specification corresponding to the Ldstep label on a + previous RESCONTROL,DEFINE command. - LOGO - ANSYS logo (defaults to OFF (displayed as text at top of legend column)). If - KEY = ON, the text is removed from legend column but the - logo symbol is displayed in whichever active window is - either in the uppermost right corner and on top, or if there - is no window in that location, then in the window to the - furthest right of the screen. Version information remains - in the legend column. + ldstep + Specifies how the .Xnnn files are written for the specified load + steps. This option also affects how often the load history + information is written to the .LDHI file. - WINS - Controls whether graphics windows automatically stretch or shrink to adjust to - screen size as the legend column is turned off or on - [/PLOPTS,INFO] (defaults to ON). If WINS is on and the - legend column is changed from off to on, all windows are - shrunk regardless of what their correct size is. + ALL - Write the .Xnnn files at the same substep Frequency for all load steps; write + the load history information to the .LDHI file for all load + steps. - WP - Working plane (defaults to OFF). The working plane is drawn as part of the - display (not just an overlaid image as in WPSTYL). This - option is best used in combination with a hidden-line - technique [/TYPE]. + LAST - Write the .Xnnn files for the last load step only; write load history + information to the .LDHI file for the last load step only. + This option is the default for nonlinear static and full + transient analyses. The remaining arguments are ignored. - DATE - Controls the display of the date and time in your legend. Subsequent KEY values - control the display as follows: + N - Number that indicates how often the .Xnnn file is written. - FILE - Controls the display of the ANSYS jobname in your legend. Subsequent KEY values - control the display as follows: + Input a positive number to write the .Xnnn files at the substep Frequency indicated only for load step N. Other load steps will be written at the default substep frequency or at a frequency defined by a previous RESCONTROL specification. Load history information is written to the .LDHI file only for load steps N. - Input a negative number (-N) to write the .Xnnn files for every Nth load step + at the specified substep Frequency. The load + history information is written to the .LDHI file + every Nth load step. This option is suitable for + restart applications in which more than a few + hundred load steps are required. Compared to the + ALL and positive N options, it can save disk + space since the .LDHI file is smaller and fewer + .Xnnn files are written. - key - Switch: + If Ldstep = -N, all other Ldstep options specified by RESCONTROL are ignored and the program follows the -N option (write load history information every Nth load step). If you want to change this pattern, issue RESCONTROL,DELETE, -N and then issue another RESCONTROL command with the desired Ldstep option. - NONE - OFF or 0 - Do not apply this display item. For Label = DATE, no time or date are - displayed. + No multiframe restart files (.RDB [restart database file], .LDHI [load history file], .Xnnn) are created. This option is the default for mode-superposition analyses. The remaining arguments are ignored. - For nonlinear static, linear static, and full transient analyses, this option + allows a restart to be done at the last or abort + point using the same procedure as in ANSYS 5.5 or + earlier (using the .EMAT, .ESAV or .OSAV, and .DB + files). - ON or 1 - Apply this display item. For Label = DATE, show only the date. + frequency + Frequency at which the .Xnnn files are written at the substep + level. - AUTO or 2 - For Label = INFO, initiate Auto-legend mode. If the display has contours, the - legend is ON; if the display has no contours, the - legend is OFF. For Label = DATE, display both the date - and time. + NONE - Do not write any .Xnnn files for this load step. - 3 - For Label = INFO , switch to Multi-legend mode. See the /UDOC command for the - available legend configurations. + LAST - Write the .Xnnn files for the last substep of the load step only (default for + nonlinear static and full transient analyses). + + N - If N is positive, write the .Xnnn file every Nth substep of a load step. If N + is negative, write N equally spaced .Xnnn files within a load + step. + + In nonlinear static and full transient analyses, negative N is valid only when AUTOTS,ON. - In mode-superposition analyses, negative N is always valid. + + maxfiles + Maximum number of .Xnnn files to save for Ldstep. + + -1 - Overwrite existing .Xnnn files (default). The total maximum number of .Xnnn + files for one run is 999. If this number is reached before the + analysis is complete, the program will reset the .Xnnn file + numbering back to 1 and continue to write .Xnnn files; the + program keeps the newest 999 restart files and overwrites the + oldest restart files. + + 0 - Do not overwrite any existing .Xnnn files. The total maximum number of .Xnnn + files for one run is 999. If this number is reached before the + analysis is complete, the analysis continues but no longer + writes any .Xnnn files. + + N - The maximum number of .Xnnn files to keep for each load step. When N .Xnnn + files have been written for a load step, the program overwrites + the first .Xnnn file of that load step for subsequent substeps. + The value of N can not exceed 999. If a total of 999 restart + files is reached before the analysis is complete, the analysis + continues but no longer writes any .Xnnn files. Notes ----- - Use /PLOPTS,STAT to display settings. Use /PLOPTS,DEFA to reset all - specifications back to their defaults. + Multiframe restart files are indicated here as .Xnnn files. They + correspond to .Rnnn files for nonlinear static and full transient + analyses, and .Mnnn files for mode-superposition analyses. The total + number of restart files for any analysis cannot exceed 999 (for + example, Jobname.R001 to Jobname.R999). - When you perform multiple results displays, contours on the legend - column may be truncated. To avoid this, specify /PLOPTS,LEG1,0. + This command sets up the restart parameters for a multiframe restart, + which allows you to restart an analysis from any load step and substep + for which there is an .Xnnn file. You can perform a multiframe restart + for static and transient (full or mode-superposition method) analyses + only. For more information about multiframe restarts and descriptions + of the contents of the files used, see Restarting an Analysis in the + Basic Analysis Guide. - The Multi-legend mode provides a number of legend data item priority - and placement options. These options are accessed via the GUI at - Utility Menu> PlotCtrls> Window Controls> Window Options. The /UDOC - command provides command line options for this capability. + If you have many substeps for each load step and are writing .Xnnn + files frequently, you may want to use MAXFILES to limit the number of + .Xnnn files saved, since these files can fill up your disk quickly. You + may specify MAXFILES and Frequency for individual load steps. These + arguments will take on the default value or the value defined by + RESCONTROL,,ALL,Frequency,MAXFILES if they are not explicitly defined + for a specific load step. - This command is valid in any processor. + You can specify a maximum of ten load steps; that is, you can issue the + RESCONTROL,,N command a maximum of ten times. Specified load steps + cannot be changed in a restart. - This command is not available for Academic Research or Teaching level - products + The program accepts only one occurrence of RESCONTROL with a negative + Ldstep value (RESCONTROL,,N where N is a negative number). Therefore, + if you issue RESCONTROL multiple times with a negative Ldstep value, + the last specification overwrites the previous one. + + The program accepts only one occurrence of RESCONTROL with Ldstep = + LAST. Therefore, if you issue RESCONTROL,,LAST,Frequency,MAXFILES + multiple times, the last specification overwrites the previous one. """ - command = "/PLOPTS, %s, %s" % (str(label), str(key)) + command = "RESCONTROL,%s,%s,%s,%s" % (str(action), str(ldstep), str(frequency), str(maxfiles)) self.RunCommand(command, **kwargs) - def Cs(self, kcn="", kcs="", norig="", nxax="", nxypl="", par1="", par2="", - **kwargs): + def Vput(self, par="", ir="", tstrt="", kcplx="", name="", **kwargs): """ - APDL Command: CS + APDL Command: VPUT - Defines a local coordinate system by three node locations. + Moves an array parameter vector into a variable. Parameters ---------- - kcn - Arbitrary reference number assigned to this coordinate system. - Must be greater than 10. A coordinate system previously defined - with this number will be redefined. - - kcs - Coordinate system type: - - 0 or CART - Cartesian + par + Array parameter vector in the operation. - 1 or CYLIN - Cylindrical (circular or elliptical) + ir + Arbitrary reference number assigned to this variable (1 to NV + [NUMVAR]). Overwrites any existing results for this variable. - 2 or SPHE - Spherical (or spheroidal) + tstrt + Time (or frequency) corresponding to start of IR data. If between + values, the nearer value is used. - 3 or TORO - Toroidal + kcplx + Complex number key: - norig - Node defining the origin of this coordinate system. If NORIG = P, - graphical picking is enabled and all remaining command fields are - ignored (valid only in the GUI). + 0 - Use the real part of the IR data. - nxax - Node defining the positive x-axis orientation of this coordinate - system. + 1 - Use the imaginary part of the IR data. - nxypl - Node defining the x-y plane (with NORIG and NXAX) in the first or - second quadrant of this coordinate system. - - par1 - Used for elliptical, spheroidal, or toroidal systems. If KCS = 1 - or 2, PAR1 is the ratio of the ellipse Y-axis radius to X-axis - radius (defaults to 1.0 (circle)). If KCS = 3, PAR1 is the major - radius of the torus. - - par2 - Used for spheroidal systems. If KCS = 2, PAR2 = ratio of ellipse - Z-axis radius to X-axis radius (defaults to 1.0 (circle)). + name + Thirty-two character name identifying the item on printouts and + displays. Defaults to the label formed by concatenating VPUT with + the reference number IR. Notes ----- - Defines and activates a local right-handed coordinate system by - specifying three existing nodes: to locate the origin, to locate the - positive x-axis, and to define the positive x-y plane. This local - system becomes the active coordinate system. See the CLOCAL, CSKP, - CSWPLA, and LOCAL commands for alternate definitions. Local coordinate - systems may be displayed with the /PSYMB command. - - This command is valid in any processor. + At least one variable should be defined (NSOL, ESOL, RFORCE, etc.) + before using this command. The starting array element number must be + defined. For example, VPUT,A(1),2 moves array parameter A to variable + 2 starting at time 0.0. Looping continues from array element A(1) with + the index number incremented by one until the variable is filled. + Unfilled variable locations are assigned a zero value. The number of + loops may be controlled with the *VLEN command (except that loop + skipping (NINC) is not allowed). For multi-dimensioned array + parameters, only the first (row) subscript is incremented. """ - command = "CS, %s, %s, %s, %s, %s, %s, %s" % (str(kcn), str(kcs), str(norig), str(nxax), str(nxypl), str(par1), str(par2)) + command = "VPUT,%s,%s,%s,%s,%s" % (str(par), str(ir), str(tstrt), str(kcplx), str(name)) self.RunCommand(command, **kwargs) - def Mpread(self, fname="", ext="", **kwargs): + def Snoption(self, rangefact="", blocksize="", robustlev="", compute="", + solve_info="", **kwargs): """ - APDL Command: MPREAD + APDL Command: SNOPTION - Reads a file containing material properties. + Specifies Supernode (SNODE) eigensolver options. Parameters ---------- - fname - File name and directory path (248 characters maximum, including - directory). If you do not specify the LIB option, the default - directory is the current working directory. If you specify the LIB - option, the default is the following search path: the current - working directory, the user's home directory, MPLIB_DIR (as - specified by the /MPLIB,READ,PATH command) and /ansys_dir/matlib - (as defined by installation). If you use the default for your - directory, you can use all 248 characters for the file name. + rangefact + Factor used to control the range of eigenvalues computed for each + supernode. The value of RangeFact must be a number between 1.0 and + 5.0. By default the RangeFact value is set to 2.0, which means that + all eigenvalues between 0 and 2*FREQE are computed for each + supernode (where FREQE is the upper end of the frequency range of + interest as specified on the MODOPT command). As the RangeFact + value increases, the eigensolution for the SNODE solver becomes + more accurate and the computational time increases. - ext - Filename extension (eight-character maximum). + blocksize + BlockSize to be used when computing the final eigenvectors. The + value of Blocksize must be either MAX or a number between 1 and + NMODE, where NMODE is the number of modes to be computed as set on + the MODOPT command. Input a value of MAX to force the algorithm to + allocate enough memory to hold all of the final eigenvectors in + memory and, therefore, only read through the file containing the + supernode eigenvectors once. Note that this setting is ONLY + recommended when there is sufficient physical memory on the machine + to safely hold all of the final eigenvectors in memory. + + robustlev + Parameter used to control the robustness of the SNODE eigensolver. + The value of RobustLev must be a number between 0 and 10. Lower + values of RobustLev allow the eigensolver to run in the most + efficient manner for optimal performance. Higher values of + RobustLev often slow down the performance of the eigensolver, but + can increase the robustness; this may be desirable if a problem is + detected with the eigensolver or its eigensolution. + + compute + Key to control which computations are performed by the Supernode + eigensolver: + + EVALUE - The eigensolver computes only the eigenvalues. + + EVECTOR - The eigensolver computes only the eigenvectors (must be preceded by a modal + analysis where the eigenvalues were computed using the + Supernode eigensolver). + + BOTH - The eigensolver computes both the eigenvalues and eigenvectors in the same pass + (default). -- - Unused field. + Unused field - lib - Reads material library files previously written with the MPWRITE - command. (See the description of the LIB option for the MPWRITE - command.) The only allowed value for LIB is LIB. + solve_info + Solver output option: + + OFF - Turns off additional output printing from the Supernode eigensolver (default). + + PERFORMANCE - Turns on additional output printing from the Supernode eigensolver, including a + performance summary and a summary of file I/O for the + Supernode eigensolver. Information on memory usage + during assembly of the global matrices (that is, + creation of the Jobname.FULL file) is also printed + with this option. Notes ----- - Material properties written to a file without the LIB option do not - support nonlinear properties. Also, properties written to a file - without the LIB option are restored in the same material number as - originally defined. To avoid errors, use MPREAD with the LIB option - only when reading files written using MPWRITE with the LIB option. + This command specifies options for the Supernode (SNODE) eigensolver. - If you omit the LIB option for MPREAD, this command supports only - linear properties. + Setting RangeFact to a value greater than 2.0 will improve the accuracy + of the computed eigenvalues and eigenvectors, but will often increase + the computing time of the SNODE eigensolver. Conversely, setting + RangeFact to a value less than 2.0 will deteriorate the accuracy of the + computed eigenvalues and eigenvectors, but will often speedup the + computing time of the SNODE eigensolver. The default value of 2.0 has + been set as a good blend of accuracy and performance. - Material numbers are hardcoded. If you write a material file without - specifying the LIB option, then read that file in using the MPREAD - command with the LIB option, the ANSYS program will not write the file - to a new material number. Instead, it will write the file to the "old" - material number (the number specified on the MPWRITE command that - created the file.) + The SNODE eigensolver reads the eigenvectors and related information + for each supernode from a file and uses that information to compute the + final eigenvectors. For each eigenvalue/eigenvector requested by the + user, the program must do one pass through the entire file that + contains the supernode eigenvectors. By choosing a BlockSize value + greater than 1, the program can compute BlockSize number of final + eigenvectors for each pass through the file. Therefore, smaller values + of BlockSize result in more I/O, and larger values of BlockSize result + in less I/O. Larger values of BlockSize also result in significant + additional memory usage, as BlockSize number of final eigenvectors must + be stored in memory. The default Blocksize of min(NMODE,40) is normally + a good choice to balance memory and I/O usage. - This command is also valid in SOLUTION. + The RobustLev field should only be used when a problem is detected with + the accuracy of the final solution or if the Supernode eigensolver + fails while computing the eigenvalues/eigenvectors. Setting RobustLev + to a value greater than 0 will cause the performance of the eigensolver + to deteriorate. If the performance deteriorates too much or if the + eigensolver continues to fail when setting the RobustLev field to + higher values, then switching to another eigensolver such as Block + Lanczos or PCG Lanczos is recommended. + + Setting Compute = EVALUE causes the Supernode eigensolver to compute + only the requested eigenvalues. During this process a Jobname.SNODE + file is written; however, a Jobname.MODE file is not written. Thus, + errors will likely occur in any downstream computations that require + the Jobname.MODE file (for example, participation factor computations, + mode superpostion transient/harmonic analysis, PSD analysis). Setting + Compute = EVECTOR causes the Supernode eigensolver to compute only the + corresponding eigenvectors. The Jobname.SNODE file and the associated + Jobname.FULL file are required when requesting these eigenvectors. In + other words, the eigenvalues must have already been computed for this + model before computing the eigenvectors. This field can be useful in + order to separate the two steps (computing eigenvalues and computing + eigenvectors). """ - command = "MPREAD, %s, %s" % (str(fname), str(ext)) + command = "SNOPTION,%s,%s,%s,%s,%s" % (str(rangefact), str(blocksize), str(robustlev), str(compute), str(solve_info)) self.RunCommand(command, **kwargs) - def Ednrot(self, option="", cid="", cname="", dof1="", dof2="", dof3="", - dof4="", dof5="", dof6="", **kwargs): + def Aadd(self, na1="", na2="", na3="", na4="", na5="", na6="", na7="", + na8="", na9="", **kwargs): """ - APDL Command: EDNROT + APDL Command: AADD - Applies a rotated coordinate nodal constraint in an explicit dynamics - analysis. + Adds separate areas to create a single area. Parameters ---------- - option - Label identifying the option to be performed: + na1, na2, na3, . . . , na9 + Numbers of areas to be added. If NA1 = ALL, add all selected areas + and ignore NA2 to NA9. If NA1 = P, graphical picking is enabled + and all remaining arguments are ignored (valid only in the GUI). A + component name may also be substituted for NA1. - ADD - Add a rotated nodal coordinate constraint (default). + Notes + ----- + The areas must be coplanar. The original areas (and their + corresponding lines and keypoints) will be deleted by default. See the + BOPTN command for the options available to Boolean operations. Element + attributes and solid model boundary conditions assigned to the original + entities will not be transferred to the new entities generated. + Concatenated entities are not valid with this command. - DELE - Delete specified rotated nodal coordinate constraints. + """ + command = "AADD,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(na7), str(na8), str(na9)) + self.RunCommand(command, **kwargs) - LIST - List all rotated nodal coordinate constraints. + def Bfdele(self, node="", lab="", **kwargs): + """ + APDL Command: BFDELE - cid - Coordinate system ID for which rotated nodal constraints will be - added or deleted. The CID must have been previously defined with - the EDLCS command. If Option = DELE, use CID = ALL to delete all - previously specified nodal constraints. + Deletes nodal body force loads. - cname - Nodal component set to which the rotated coordinate constraint will - be applied. Cname must be previously specified using the CM - command. + Parameters + ---------- + node + Node at which body load is to be deleted. If ALL, delete for 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. - dof1, dof2, dof3, . . . , dof6 - Degrees of freedom for which the rotated nodal constraint will be - applied. Valid degree of freedom labels include UX, UY, UZ, ROTX, - ROTY, and ROTZ. If DOF1 = ALL, rotated nodal constraints will be - applied to all degrees of freedom. + lab + Valid body load label. If ALL, use all appropriate labels. See the + BF command for labels. In an explicit dynamic analysis, the only + valid body load label is TEMP. Notes ----- - Constraints applied with EDNROT are zero displacement constraints. + Deletes nodal body force loads for a specified node and label. Nodal + body loads may be defined with the BF command (except in an explicit + dynamic analysis). - This command is also valid in SOLUTION. + The command BFDELE,TEMP can be used in an explicit dynamic analysis to + delete temperature loads that are read in by the LDREAD command. BFDELE + cannot be used to delete temperature loads defined by the EDLOAD + command (use EDLOAD,DELE to delete this type of load). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is also valid in PREP7. """ - command = "EDNROT, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(cid), str(cname), str(dof1), str(dof2), str(dof3), str(dof4), str(dof5), str(dof6)) + command = "BFDELE,%s,%s" % (str(node), str(lab)) self.RunCommand(command, **kwargs) - def Eshape(self, scale="", key="", **kwargs): + def Eplot(self, **kwargs): """ - APDL Command: /ESHAPE + APDL Command: EPLOT - Displays elements with shapes determined from the real constants or - section definition. + Produces an element display. + + Notes + ----- + Produces an element display of the selected elements. In full graphics, + only those elements faces with all of their corresponding nodes + selected are plotted. In PowerGraphics, all element faces of the + selected element set are plotted irrespective of the nodes selected. + However, for both full graphics and PowerGraphics, adjacent or + otherwise duplicated faces of 3-D solid elements will not be displayed + in an attempt to eliminate plotting of interior facets. See the DSYS + command for display coordinate system issues. + + This command will display curvature in midside node elements when + PowerGraphics is activated [/GRAPHICS,POWER] and /EFACET,2 or /EFACET,4 + are enabled. (To display curvature, two facets per edge is recommended + [/EFACET,2]). When you specify /EFACET,1, PowerGraphics does not + display midside nodes. /EFACET has no effect on EPLOT for non-midside + node elements. + + This command is valid in any processor. + + """ + command = "EPLOT," % () + self.RunCommand(command, **kwargs) + + def Rpoly(self, nsides="", lside="", majrad="", minrad="", **kwargs): + """ + APDL Command: RPOLY + + Creates a regular polygonal area centered about the working plane + origin. Parameters ---------- - scale - Scaling factor: + nsides + Number of sides in the regular polygon. Must be greater than 2. - 0 - Use simple display of line and area elements. This value is the default. + lside + Length of each side of the regular polygon. - 1 - Use real constants or section definition to form a solid shape display of the - applicable elements. + majrad + Radius of the major (or circumscribed) circle of the polygon. Not + used if LSIDE is input. - FAC - Multiply certain real constants, such as thickness, by FAC (where FAC > 0.01) - and use them to form a solid shape display of elements. + minrad + Radius of the minor (or inscribed) circle of the polygon. Not used + if LSIDE or MAJRAD is input. + + Notes + ----- + Defines a regular polygonal area on the working plane. The polygon + will be centered about the working plane origin, with the first + keypoint defined at : θ = 0°. The area will be defined with NSIDES + keypoints and NSIDES lines. See the RPR4 and POLY commands for other + ways to create polygons. + + """ + command = "RPOLY,%s,%s,%s,%s" % (str(nsides), str(lside), str(majrad), str(minrad)) + self.RunCommand(command, **kwargs) + + def Msave(self, key="", **kwargs): + """ + APDL Command: MSAVE + + Sets the solver memory saving option. This option only applies to the + PCG solver (including PCG Lanczos). + Parameters + ---------- key - Current shell thickness key: + Activation key: - 0 - Use current thickness in the displaced solid shape display of shell elements - (valid for SHELL181, SHELL208, SHELL209, and SHELL281). This - value is the default. + 0 or OFF - Use global assembly for the stiffness matrix (and mass matrix, when using PCG + Lanczos) of the entire model. - 1 - Use initial thickness in the displaced solid shape display of shell elements. + 1 or ON - Use an element-by-element approach when possible to save memory during the + solution. In this case, the global stiffness (and mass) + matrix is not assembled; element stiffness (and mass) is + regenerated during PCG or PCG Lanczos iterations. Notes ----- - The /ESHAPE command allows beams, shells, current sources, and certain - special-purpose elements to be displayed as solids with the shape - determined from the real constants or section types. Elements are - displayed via the EPLOT command. No checks for valid or complete input - are made for the display. - - Following are details about using this command with various element - types: + MSAVE,ON only applies to and is the default for parts of the model + using the following element types with linear material properties that + meet the conditions listed below. - SOLID65 elements are displayed with internal lines that represent rebar - sizes and orientations (requires vector mode [/DEVICE] with a basic - type of display [/TYPE,,BASIC]). The rebar with the largest volume - ratio in each element plots as a red line, the next largest as green, - and the smallest as blue. + SOLID186 (Structural Solid only) - COMBIN14, COMBIN39, and MASS21 are displayed with a graphics icon, with - the offset determined by the real constants and KEYOPT settings. + SOLID187 - BEAM188, BEAM189, PIPE288, PIPE289 and ELBOW290 are displayed as solids - with the shape determined via the section-definition commands (SECTYPE - and SECDATA). The arbitrary section option (Subtype = ASEC) has no - definite shape and appears as a thin rectangle to show orientation. The - elements are displayed with internal lines representing the cross- - section mesh. + The following conditions must also be true: - SOLID272 and SOLID273 are displayed as solids with the shape determined - via the section-definition commands (SECTYPE and SECDATA). The 2-D - master plane is revolved around the prescribed axis of symmetry. + The PCG solver has been specified. - Contour plots are available for these elements in postprocessing for - PowerGraphics only (/GRAPHICS,POWER). To view 3-D deformed shapes for - the elements, issue OUTRES,MISC or OUTRES,ALL for static or transient - analyses. To view 3-D mode shapes for a modal or eigenvalue buckling - analysis, expand the modes with element results calculation ON (Elcalc - = YES for MXPAND). + Small strains are assumed (NLGEOM,OFF). - SOURC36, CIRCU124, and TRANS126 elements always plot using /ESHAPE when - PowerGraphics is activated (/GRAPHICS,POWER). + No prestress effects (PSTRES) are included. - In most cases, /ESHAPE renders a thickness representation of your - shell, plane and layered elements more readily in PowerGraphics - (/GRAPHICS,POWER). This type of representation employs PowerGraphics to - generate the enhanced representation, and will often provide no - enhancement in Full Graphics (/GRAPHICS,FULL). This is especially true - for POST1 results displays, where /ESHAPE is not supported for most - element types with FULL graphics. + All nodes on the supported element types must be defined (i.e., the + midside nodes cannot be removed using the EMID command). - When PowerGraphics is active, /ESHAPE may degrade the image if adjacent - elements have overlapping material, such as shell elements which are - not co-planar. Additionally, if adjacent elements have different - thicknesses, the polygons depicting the connectivity between the - “thicker” and “thinner” elements along the shared element edges may not - always be displayed. + For elements with thermally dependent material properties, MSAVE,ON + applies only to elements with uniform temperatures prescribed. - For POST1 results displays (such as PLNSOL), the following limitations - apply: + The default element coordinate system must be used. - Rotational displacements for beam elements are used to create a more - realistic displacement display. When /ESHAPE is active, displacement - plots (via PLNSOL,U,X and PLDISP, for example) may disagree with your - PRNSOL listings. This discrepancy will become more noticeable when the - SCALE value is not equal to one. + If you manually force MSAVE,ON by including it in the input file, the + model can include the following additional conditions: - When shell elements are not co-planar, the resulting PLNSOL display - with /ESHAPE will actually be a PLESOL display as the non-coincident - pseudo-nodes are not averaged. Additionally, /ESHAPE should not be used - with coincident elements because the plot may incorrectly average the - displacements of the coincident elements. + The analysis can be a modal analysis using the PCG Lanczos method + (MODOPT,LANPCG). - When nodes are initially coincident and PowerGraphics is active, - duplicate polygons are eliminated to conserve display time and disk - space. The command may degrade the image if initially coincident nodes - have different displacements. The tolerance for determining coincidence - is 1E-9 times the model’s bounding box diagonal. + Large deflection effects (NLGEOM,ON) are included. - If you want to view solution results (PLNSOL, etc.) on layered elements - (such as SHELL181, SOLSH190, SOLID185 Layered Solid, SOLID186 Layered - Solid, SHELL208, SHELL209, SHELL281, and ELBOW290), set KEYOPT(8) = 1 - for the layer elements so that the data for all layers is stored in the - results file. + SOLID185 (brick shapes and KEYOPT(2) = 3 only) elements can be + included. - You can plot the through-thickness temperatures of elements SHELL131 - and SHELL132 regardless of the thermal DOFs in use by issuing the - PLNSOL,TEMP command (with PowerGraphics and /ESHAPE active). + All other element types or other parts of the model that don't meet the + above criteria will be solved using global assembly (MSAVE,OFF). This + command can result in memory savings of up to 70 percent over the + global assembly approach for the part of the model that meets the + criteria. Depending on the hardware (e.g., processor speed, memory + bandwidth, etc.), the solution time may increase or decrease when this + feature is used. - The /ESHAPE,1 and /ESHAPE,FAC commands are incompatible with the - /CYCEXPAND command used in cyclic symmetry analyses. + This memory-saving feature runs in parallel when multiple processors + are used with the /CONFIG command or with Distributed ANSYS. The gain + in performance with using multiple processors with this feature turned + on should be similar to the default case when this feature is turned + off. Performance also improves when using the uniform reduced + integration option for SOLID186 elements. - This command is valid in any processor. + This command does not support the layered option of the SOLID185 and + SOLID186 elements. - """ - command = "/ESHAPE, %s, %s" % (str(scale), str(key)) - self.RunCommand(command, **kwargs) + When using MSAVE,ON with the PCGOPT command, note the following + restrictions: - def Rectng(self, x1="", x2="", y1="", y2="", **kwargs): - """ - APDL Command: RECTNG + For static and modal analyses, MSAVE,ON is not valid when using a + Lev_Diff value of 5 on the PCGOPT command; Lev_Diff will automatically + be reset to 2. - Creates a rectangular area anywhere on the working plane. + For modal analyses, MSAVE,ON is not valid with the StrmCk option of the + PCGOPT command; Strmck will be set to OFF. - Parameters - ---------- - x1, x2 - Working plane X coordinates of the rectangle. + For all analysis types, MSAVE,ON is not valid when the Lagrange + multiplier option (LM_Key) of the PCGOPT command is set to ON; the + MSAVE activation key will be set to OFF. - y1, y2 - Working plane Y coordinates of the rectangle. + For linear perturbation static and modal analyses, MSAVE,ON is not + valid; the MSAVE activation key will be set to OFF. - Notes - ----- - The area will be defined with four keypoints and four lines. See the - BLC4 and BLC5 commands for alternate ways to create rectangles. + When using MSAVE,ON for modal analyses, no .FULL file will be created. + The .FULL file may be necessary for subsequent analyses (e.g., + harmonic, transient mode-superposition, or spectrum analyses). To + generate the .FULL file, rerun the modal analysis using the WRFULL + command. """ - command = "RECTNG, %s, %s, %s, %s" % (str(x1), str(x2), str(y1), str(y2)) + command = "MSAVE,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Sfact(self, type="", **kwargs): + def Ddoption(self, decomp="", **kwargs): """ - APDL Command: SFACT + APDL Command: DDOPTION - Allows safety factor or margin of safety calculations to be made. + Sets domain decomposer option for Distributed ANSYS. Parameters ---------- - type - Type of calculation: + decomp + Controls which domain decomposition algorithm to use. - 0 - No nodal safety factor or margin of safety calculations. + AUTO - Use the default domain decomposition algorithm when splitting the model into + domains for Distributed ANSYS (default). - 1 - Calculate and store safety factors in place of nodal stresses. + GREEDY - Use the “greedy” domain decomposition algorithm. - 2 - Calculate and store margins of safety in place of nodal stresses. + METIS - Use the METIS graph partitioning domain decomposition algorithm. Notes ----- - Allows safety factor (SF) or margin of safety (MS) calculations to be - made for the average nodal stresses according to: - - SF = SALLOW/|Stress| - - MS = (SALLOW/|Stress|) -- 1.0 + This command controls options relating to the domain decomposition + algorithm used by Distributed ANSYS to split the model into pieces (or + domains), with each piece being solved on a different processor. - Calculations are done during the display, select, or sort operation (in - the active coordinate system [RSYS]) with results stored in place of - the nodal stresses. Use the PRNSOL or PLNSOL command to display the - results. + The greedy domain decomposition algorithm starts from a single element + at a corner of the model. The domain grows by taking the properly + connected neighboring elements and stops after reaching the optimal + size. - Note:: : The results are meaningful only for the stress (SIG1, SIGE, - etc.) upon which SALLOW is based. Nodal temperatures used are those - automatically stored for the node. Related commands are SFCALC, - SALLOW, TALLOW. + The METIS domain decomposition algorithm starts by creating a graph + from the finite element mesh. It then uses a multilevel graph + partitioning scheme which reduces the size of the original graph, + creates domains using the reduced graph, and then creates the final CPU + domains by expanding the smaller domains from the reduced graph back to + the original mesh. """ - command = "SFACT, %s" % (str(type)) + command = "DDOPTION,%s" % (str(decomp)) self.RunCommand(command, **kwargs) - def Bfunif(self, lab="", value="", **kwargs): + def Igesin(self, fname="", ext="", **kwargs): """ - APDL Command: BFUNIF + APDL Command: IGESIN - Assigns a uniform body force load to all nodes. + Transfers IGES data from a file into ANSYS. Parameters ---------- - lab - Valid body load label. If ALL, use all appropriate labels. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - value - Uniform value associated with Lab item, or table name when - specifying tabular boundary conditions. To specify a table, - enclose the table name in percent signs (%), e.g., - BFUNIF,Lab,%tabname%. + ext + Filename extension (eight-character maximum). + + -- + Unused field. Notes ----- - In a transient or nonlinear thermal analysis, the uniform temperature - is used during the first iteration of a solution as follows: (a) as - the starting nodal temperature (except where temperatures are - explicitly specified [D, DK]), and (b) to evaluate temperature- - dependent material properties. In a structural analysis or explicit - dynamic analysis, the uniform temperature is used as the default - temperature for thermal strain calculations and material property - evaluation (except where body load temperatures are specified [BF, BFE, - BFK, LDREAD]). In other scalar field analyses, the uniform temperature - is used for material property evaluation. - - When the command BFUNIF,TEMP is used in an explicit dynamic analysis, - you cannot use the EDLOAD,TEMP command to apply temperature loading. - Furthermore, any temperature loading defined by BFUNIF cannot be listed - or deleted by the EDLOAD command. - - An alternate command, TUNIF, may be used to set the uniform temperature - instead of BFUNIF,TEMP. Since TUNIF (or BFUNIF,TEMP) is step-applied in - the first iteration, you should use BF, ALL, TEMP, Value to ramp on a - uniform temperature load. + Reads a file containing IGES data and transfers it into the ANSYS + database. The file transferred is the IGES Version 5.1, ASCII format + file. IGES (Initial Graphics Exchange Specification) is a neutral + format developed by the U.S. Dept. of Commerce, National Institute of + Standards and Technology. There is no output transfer file written + since the transferred data is read directly into the ANSYS database. - You can specify a table name only when using temperature (TEMP), heat - generation rate (HGEN), and diffusing substance generation rate (DGEN) - body load labels. When using TEMP, you can define a one-dimensional - table that varies with respect to time (TIME) only. When defining this - table, enter TIME as the primary variable. No other primary variables - are valid. Tabular boundary conditions cannot be used in an explicit - dynamic analysis. + You can import multiple files into a single database, but you must use + the same import option (set with the IOPTN command) for each file. - This command is also valid in PREP7. + The IOPTN command sets the parameters for reading the file. Files read + via the SMOOTH method (the only available method) use the standard + database. """ - command = "BFUNIF, %s, %s" % (str(lab), str(value)) + command = "IGESIN,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Kuse(self, key="", **kwargs): + def Fllist(self, nloc1="", nloc2="", ninc="", **kwargs): """ - APDL Command: KUSE + APDL Command: FLLIST - Specifies whether or not to reuse the factorized matrix. + Lists the fatigue location parameters. Parameters ---------- - key - Reuse key: + nloc1, nloc2, ninc + List location parameters from NLOC1 (defaults to 1) to NLOC2 + (defaults to NLOC1) in steps of NINC (defaults to 1). If NLOC1 = + ALL, NLOC2 and NINC are ignored and all locations are listed. - 0  - Program decides whether or not to reuse the previous factorized stiffness - matrix. + """ + command = "FLLIST,%s,%s,%s" % (str(nloc1), str(nloc2), str(ninc)) + self.RunCommand(command, **kwargs) - 1  - Force the previous factorized stiffness matrix to be reused. Used mainly in a - restart. Forcing reuse of the matrix is a nonstandard use of - the program, and should be done with caution. For instance, - using this option and changing the number of elements, or the - number or type of degrees of freedom, may cause an abort. + def Lsfactor(self, enginename="", option="", **kwargs): + """ + APDL Command: *LSFACTOR - -1  - All element matrices are reformed and are used to reform a new factorized - stiffness matrix. + Performs the numerical factorization of a linear solver system. + + Parameters + ---------- + enginename + Name used to identify this engine. Must have been previously + created using *LSENGINE. + + option + Option to invert the matrix, used only with an LAPACK engine + (*LSENGINE,LAPACK): Notes ----- - Overrides the program logic to determine whether or not to reuse the - previous factorized stiffness matrix for each substep of this load - step. Applies only to static or full transient analyses and to full - harmonic analyses if the frequency is not changed for continuing - loadsteps. For full harmonic analyses, only KEY = 1 or KEY = 0 is - valid. - - This command is also valid in PREP7. + Performs the computationally intensive, memory intensive factorization + of a matrix specified by *LSENGINE, using the solver engine also + specified by *LSENGINE. """ - command = "KUSE, %s" % (str(key)) + command = "*LSFACTOR,%s,%s" % (str(enginename), str(option)) self.RunCommand(command, **kwargs) - def Vfopt(self, opt="", filename="", ext="", dir="", filetype="", - fileformat="", **kwargs): + def Fdele(self, node="", lab="", nend="", ninc="", lkey="", **kwargs): """ - APDL Command: VFOPT + APDL Command: FDELE - Specifies options for the view factor file and calculates view factors. + Deletes force loads on nodes. Parameters ---------- - opt - View factor option: + node + Node for which force is to be deleted. If ALL, NEND and NINC are + ignored and forces are deleted on 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. - NEW - Calculate view factors and write them to a file. + lab + Valid force label. If ALL, use all appropriate labels. Structural + labels: FX, FY, or FZ (forces); MX, MY, or MZ (moments). Thermal + labels: HEAT, HBOT, HE2, HE3, . . ., HTOP (heat flow). Fluid + labels: FLOW (fluid flow). Electric labels: AMPS (current flow), + CHRG (electric charge). Magnetic labels: FLUX (magnetic flux); + CSGX, CSGY, or CSGZ (magnetic current segments). Diffusion labels: + RATE (diffusion flow rate). - OFF - Do not recalculate view factors it they already exist in the database, - otherwise calculate compute them. This option is the default - behavior. + nend, ninc + Delete forces from NODE to NEND (defaults to NODE) in steps of NINC + (defaults to 1). - READ - Read view factors from a binary file. For subsequent SOLVE commands, switch to - the default option (OFF). + lkey + Lock key: - NONE - Do not write view factors to a file. + (blank) - The DOF is not locked (default). - fname - File name for view factor matrix. Default = Jobname. + FIXED - Displacement on the specified degrees of freedom (Lab) is locked. The program + prescribes the degree of freedom to the “current” relative + displacement value in addition to deleting the force. If a + displacement constraint (for example, D command) is applied + in conjunction with this option, the actual applied + displacement will be ramped during the next load step. The + displacement is ramped from the current value to the newly + defined value. This option is only valid for the following + labels: FX, FY, FZ, MX, MY, MZ. This option is intended + primarily for use in the ANSYS Workbench interface to apply + an increment length adjustment (bolt pretension loading). - ext - Filename extension for view factor matrix. Default = .vf. + Notes + ----- + The node and the degree of freedom label corresponding to the force + must be selected [NSEL, DOFSEL]. - dir - Directory path for view factor matrix. If you do not specify a - directory path, it will default to your working directory. + This command is also valid in PREP7. - filetype - View factor file type: + """ + command = "FDELE,%s,%s,%s,%s,%s" % (str(node), str(lab), str(nend), str(ninc), str(lkey)) + self.RunCommand(command, **kwargs) - BINA - Binary (default). + def Axpy(self, vr="", vi="", m1="", wr="", wi="", m2="", **kwargs): + """ + APDL Command: *AXPY - ASCI - ASCII. + Performs the matrix operation M2= v*M1 + w*M2. - fileformat - Format for the specified Filetype: + Parameters + ---------- + vr, vi + The real and imaginary parts of the scalar v. Default value is 0. - Binary files (Filetype = BINA): - 0 + m1 + Name of matrix M1. If not specified, the operation M2 = w*M2 will + be performed. - No compression. (View factor file size may be very large.) - 1 + wr, wi + The real and imaginary parts of the scalar w. Default value is 0. + + m2 + Name of matrix M2. Must be specified. Notes ----- - The VFOPT command allows you to deactivate the view factor computation - (Opt = OFF) if the view factors already exist in the database. The - default behavior is OFF upon encountering the second and subsequent - SOLVE commands in the solution processor. + The matrices M1 and M2 must have the same dimensions and same type + (dense or sparse). If M2 is real, vi and wi are ignored. - When Opt = READ, only a previously calculated view factor binary file - is valid. + """ + command = "*AXPY,%s,%s,%s,%s,%s,%s" % (str(vr), str(vi), str(m1), str(wr), str(wi), str(m2)) + self.RunCommand(command, **kwargs) - For 3-D analyses, two options are available for calculating view - factors when running Distributed ANSYS: + def Itengine(self, type="", enginename="", precondname="", matrix="", + rhsvector="", solvector="", maxiter="", toler="", **kwargs): + """ + APDL Command: *ITENGINE - Issue a SOLVE command -- View factors are calculated in parallel mode - if no view factors were previously calculated. + Performs a solution using an iterative solver. - Issue a VFOPT,NEW command -- View factors are calculated in serial - mode. + Parameters + ---------- + type + Specifies the algorithm to be used: - For 2-D analyses, view factors are calculated in serial mode. + enginename + Name used to identify this iterative solver engine. Must be + specified. + + precondname + Linear solver engine name (*LSENGINE) identifying the factored + matrix to be used as the preconditioner. + + matrix + Name of the matrix to solve. + + rhsvector + Matrix (load vector) name. + + solvector + Solution vector name. If non-zero, it will be taken as the initial + vector for the iterative process. + + maxiter + Maximum number of iterations allowed. Default is 2 times the number + of rows in the matrix. + + toler + Convergence tolerance. Default is 1.0E-8. + + Notes + ----- + This command solves Ax = b using a preconditioned conjugate gradient + algorithm. It uses an existing factored system as the preconditioner. + This solution method is useful if an existing matrix has been solved + and minor changes have been made to the matrix. """ - command = "VFOPT, %s, %s, %s, %s, %s, %s" % (str(opt), str(filename), str(ext), str(dir), str(filetype), str(fileformat)) + command = "*ITENGINE,%s,%s,%s,%s,%s,%s,%s,%s" % (str(type), str(enginename), str(precondname), str(matrix), str(rhsvector), str(solvector), str(maxiter), str(toler)) self.RunCommand(command, **kwargs) - def Edmp(self, lab="", mat="", val1="", val2="", val3="", val4="", val5="", - val6="", **kwargs): + def Set(self, lstep="", sbstep="", fact="", kimg="", time="", angle="", + nset="", order="", **kwargs): """ - APDL Command: EDMP + APDL Command: SET - Defines material properties for an explicit dynamics analysis. + Defines the data set to be read from the results file. Parameters ---------- - lab - Valid material property label. Applicable labels are listed under - "Material Properties" in the input table for each explicit dynamics - element type in the Element Reference. + lstep + Load step number of the data set to be read (defaults to 1): - HGLS - Hourglass and bulk viscosity properties (valid for PLANE162, SHELL163, SOLID164 - using reduced integration, and SOLID168). VAL1 through VAL6 - are also used. For those elements using full integration, - HGLS is not applicable and the input has no effect. + N - Read load step N. - RIGID - Rigid body constraint (valid for LINK160, BEAM161, PLANE162, SHELL163, - SOLID164, and SOLID168). VAL1 and VAL2 are also used. + FIRST - Read the first data set (Sbstep and TIME are ignored). - CABLE - Cable properties (valid for LINK167). VAL1 is optional input (see Notes). + LAST - Read the last data set (Sbstep and TIME are ignored). - ORTHO - Defines a material coordinate system for the orthotropic material model (valid - for PLANE162, SHELL163, SOLID164, and SOLID168) or the - anisotropic material model (valid for SOLID164 and - SOLID168). VAL1 is also used. + NEXT - Read the next data set (Sbstep and TIME are ignored). If at the last data set, + the first data set will be read as the next. - FLUID - Fluid properties (valid for PLANE162, SOLID164, and SOLID168). VAL1 is optional - input (see Notes). + PREVIOUS - Read the previous data set (Sbstep and TIME are ignored). If at the first data + set, the last data set will be read as the previous. - mat - Material reference number (defaults to the current MAT setting on - MAT command). + NEAR - Read the data set nearest to TIME (Sbstep is ignored). If TIME is blank, read + the first data set. - val1, val2, val3, . . . , val6 - Additional input for specified Lab material property. The meaning - of VAL1 through VAL6 will vary, depending on Lab. See the table - below for VAL1 through VAL6 definitions. + LIST - Scan the results file and list a summary of each load step. (KIMG, TIME, + ANGLE, and NSET are ignored.) - VAL1 - Hourglass control type. For solid elements (PLANE162, SOLID164, and SOLID168), - 5 options are available. For quadrilateral shell and - membrane elements (SHELL163) with reduced integration, the - hourglass control is based on the formulation of Belytschko - and Tsay; i.e., options 1-3 are identical and options 4-5 - are identical. + sbstep + Substep number (within Lstep). Defaults to the last substep of the + load step (except in a buckling or modal analysis). For a buckling + (ANTYPE,BUCKLE) or modal (ANTYPE,MODAL) analysis, Sbstep + corresponds to the mode number. Specify Sbstep = LAST to store the + last substep for the specified load step (that is, issue a + SET,Lstep,LAST command). - 0, 1 - Standard LS-DYNA viscous form (default). + fact + Scale factor applied to data read from the file. If zero (or + blank), a value of 1.0 is used. This scale factor is only applied + to displacement and stress results. A nonzero factor excludes non- + summable items. - 2 - Flanagan-Belytschko viscous form. + kimg + Used only with complex results (harmonic and complex modal + analyses). - 3 - Flanagan-Belytschko viscous form with exact volume integration for solid - elements. + 0 or REAL - Store the real part of complex solution (default). - 4 - Flanagan-Belytschko stiffness form. + 1, 2 or IMAG - Store the imaginary part of a complex solution. - 5 - Flanagan-Belytschko stiffness form with exact volume integration for solid - elements. + 3 or AMPL - Store the amplitude - VAL2 - Hourglass coefficient. (Defaults to 0.1.) Values greater than 0.15 may cause - instabilities. The recommended default applies to all - options. The stiffness forms can stiffen the response - (especially if deformations are large) and, therefore, - should be used with care. For the shell and membrane - elements, the value input for VAL1 is the membrane hourglass - coefficient. VAL5 and VAL6 can also be input, but generally - VAL2 = VAL5 = VAL6 is adequate. + 4 or PHAS - Store the phase angle. The angle value, expressed in degrees, will be between + -180° and +180°. - VAL3 - Quadratic bulk viscosity coefficient. (Defaults to 1.5.) + time + Time-point identifying the data set to be read. For a harmonic + analyses, time corresponds to the frequency. - VAL4 - Linear bulk viscosity coefficient. (Defaults to 0.06.) + angle + Circumferential location (0.0 to 360°). Defines the + circumferential location for the harmonic calculations used when + reading from the results file. - VAL5 - Hourglass coefficient for shell bending. (Defaults to VAL2.) + nset + Data set number of the data set to be read. If a positive value + for NSET is entered, Lstep, Sbstep, KIMG, and TIME are ignored. + Available set numbers can be determined by SET,LIST. - VAL6 - Hourglass coefficient for shell warping. (Defaults to VAL2.) + order + Key to sort the harmonic index results. This option applies to + cyclic symmetry buckling and modal analyses only, and is valid only + when Lstep = FIRST, LAST, NEXT, PREVIOUS, NEAR or LIST. + + ORDER - Sort the harmonic index results in ascending order of eigenfrequencies or + buckling load multipliers. + + (blank) - No sorting takes place. Notes ----- - For Lab = RIGID, you must specify elastic modulus (EX), density (DENS), - and Poisson's ratio (NUXY) [MP command]. For Lab = CABLE, you must - specify density (DENS) and one of the following: Young's modulus (EX) - or an engineering stress-strain curve (VAL1). For Lab = FLUID, you must - specify either the bulk modulus (VAL1) or both Young's modulus (EX) and - Poisson's ratio (NUXY) (if all three are specified, only VAL1 will be - used). + Defines the data set to be read from the results file into the + database. Various operations may also be performed during the read + operation. The database must have the model geometry available (or use + the RESUME command before the SET command to restore the geometry from + Jobname.DB). Values for applied constraints [D] and loads [F] in the + database will be replaced by their corresponding values on the results + file, if available. (See the description of the OUTRES command.) In a + single load step analysis, these values are usually the same, except + for results from harmonic elements. (See the description of the ANGLE + value above.) - After you define a rigid body using EDMP,RIGID, you may assign inertia - properties to that rigid body using the EDIPART command. + In an interactive run, the sorted list (ORDER option) is also available + for results-set reading via a GUI pick option. - EDMP,ORTHO is required for orthotropic or anisotropic material - properties that are not locally orthotropic with material axes - determined by element nodes (see Orthotropic Elastic Model and - Anisotropic Elastic Model in the ANSYS LS-DYNA User's Guide). + You can postprocess results without issuing a SET command if the + solution results were saved to the database file (Jobname.DB). + Distributed ANSYS, however, can only postprocess using the results file + (for example, Jobname.RST) and cannot use the Jobname.DB file since no + solution results are written to the database. Therefore, you must issue + a SET command or a RESCOMBINE command before postprocessing in + Distributed ANSYS. - Via the GUI, Lab = RIGID, CABLE, ORTHO, and FLUID are available through - the material model interface. See Defining Explicit Dynamics Material - Models in the ANSYS LS-DYNA User's Guide for more information. + When postprocessing amplitudes or phases (KIMG = AMPL or PHAS): - Use the MPLIST and MPDELE commands to list and delete materials defined - by the EDMP command. + The only appropriate coordinate system is the solution coordinate + system (RSYS ,SOLU). For layered elements, a layer (LAYER) must also be + specified. When displaying the displacement amplitudes, use a contour + display (PLNSOL command). Because a deformed shape display (PLDISP + command) could lead to a non-physical shape, the displacement scaling + is off by default (/DSCALE,,OFF). - This command is also valid in SOLUTION. + The conversion is not valid for averaged results, derived results (such + as principal stress/strain, equivalent stress/strain, and USUM), or + summed results obtained using FSUM, NFORCE, and PRNLD. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Cyclic symmetry results are not supported. """ - command = "EDMP, %s, %s, %s, %s, %s, %s, %s, %s" % (str(lab), str(mat), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6)) + command = "SET,%s,%s,%s,%s,%s,%s,%s,%s" % (str(lstep), str(sbstep), str(fact), str(kimg), str(time), str(angle), str(nset), str(order)) self.RunCommand(command, **kwargs) - def Edrst(self, nstep="", dt="", **kwargs): + def Nsvr(self, itype="", nstv="", **kwargs): """ - APDL Command: EDRST + APDL Command: NSVR - Specifies the output interval for an explicit dynamic analysis. + Defines the number of variables for user-programmable element options. Parameters ---------- - nstep - Number of steps at which output is written to the results file - (Jobname.RST). Defaults to 100. When you specify NSTEP, NSTEP+2 - results are written to the Jobname.RST file. The time interval - between output is TIME / NSTEP, where TIME is the analysis end-time - specified on the TIME command. Do not specify a value of NSTEP = 0. + itype + Element type number as defined on the ET command. - dt - Time interval at which output is written to the results file - (Jobname.RST). If NSTEP is input, DT is ignored. + nstv + Number of extra state variables to save (must be no more than 840). Notes ----- - You can use NSTEP or DT to specify the output interval to be used for - Jobname.RST. You should not specify both quantities; if both are input, - NSTEP will be used. - - In an explicit dynamic small restart (EDSTART,2) or full restart - analysis (EDSTART,3), the EDRST setting will default to the NSTEP or DT - value used in the original analysis. You can issue EDRST in the restart - to change this setting. - - This command is also valid in PREP7. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Defines the number of extra variables that need to be saved for user- + programmable (system-dependent) element options, e.g., material laws + through user subroutine USERPL. ITYPE must first be defined with the + ET command. """ - command = "EDRST, %s, %s" % (str(nstep), str(dt)) + command = "NSVR,%s,%s" % (str(itype), str(nstv)) self.RunCommand(command, **kwargs) - def Plchist(self, spec="", freqpt="", **kwargs): + def Sspb(self, b11="", b21="", b31="", b22="", b32="", b33="", t="", + b12="", b13="", b23="", **kwargs): """ - APDL Command: PLCHIST + APDL Command: SSPB - Plots a histogram of the frequency response of each sector for the - given CYCSPEC specification. + Specifies a preintegrated coupling stiffness for shell sections. Parameters ---------- - spec - CYCSPEC specification number (ordered 1 to N in the order input; - use CYCSPEC,LIST to view the current list order). Defaults to 1. + b11, b21, b31, b22, b32, b33 + Coupling stiffness component (symmetric lower part of submatrix + [B]). - freqpt - Harmonic frequency point to plot (the data set number NSET or - CUMULATIVE on SET,LIST). Defaults to the current SET frequency. + t + Temperature. + + b12, b13, b23 + Upper part of submatrix [B] Notes ----- - Following a cyclic mode-superposition harmonic analysis, this command - creates a histogram plot of the result item given by a CYCSPEC - specification versus the sector number. A CYCCALC command must have - been issued prior to this command. + The behavior of shell elements is governed by the generalized- + stress/generalized-strain relationship of the form: + + If the coefficients B12, B13, B23 are undefined, ANSYS uses a symmetric + form of submatrix [B]. If any one of the coefficients B12, B13, B23 is + nonzero, ANSYS considers submatrix [B] to be unsymmetric. + + The SSPB command, one of several preintegrated shell section commands, + specifies the coupling stiffness quantity (submatrix [B] data) for a + preintegrated shell section. The section data defined is associated + with the section most recently defined (via the SECTYPE command). + + Unspecified values default to zero. + + Related commands are SSPA, SSPD, SSPE, SSMT, SSBT, and SSPM. + + If you are using the SHELL181 or SHELL281 element's Membrane option + (KEYOPT(1) = 1), it is not necessary to issue this command. + + For complete information, see Using Preintegrated General Shell + Sections. """ - command = "PLCHIST, %s, %s" % (str(spec), str(freqpt)) + command = "SSPB,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(b11), str(b21), str(b31), str(b22), str(b32), str(b33), str(t), str(b12), str(b13), str(b23)) self.RunCommand(command, **kwargs) - def Igesout(self, fname="", ext="", att="", **kwargs): + def M(self, node="", lab1="", nend="", ninc="", lab2="", lab3="", lab4="", + lab5="", lab6="", **kwargs): """ - APDL Command: IGESOUT + APDL Command: M - Writes solid model data to a file in IGES Version 5.1 format. + Defines master degrees of freedom for superelement generation analyses. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + node + Node number at which master degree of freedom is defined. If ALL, + define master degrees of freedom at 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. - ext - Filename extension (eight-character maximum). + lab1 + Valid degree of freedom label. If ALL, use all appropriate labels. + Structural labels: UX, UY, or UZ (displacements); ROTX, ROTY, or + ROTZ (rotations). Thermal labels: TEMP, TBOT, TE2, TE3, . . ., TTOP + (temperature). Electric labels: VOLT (voltage). - -- - Unused field. + nend, ninc + Define all nodes from NODE to NEND (defaults to NODE) in steps of + NINC (defaults to 1) as master degrees of freedom in the specified + direction. - att - Attribute key: + lab2, lab3, lab4, . . . , lab6 + Additional master degree of freedom labels. The nodes defined are + associated with each label specified. - 0 - Do not write assigned numbers and attributes of the solid model entities to the - IGES file (default). + Notes + ----- + Defines master degrees of freedom (MDOF) for superelement generation. + If defined for other analyses, MDOF are ignored. If used in SOLUTION, + this command is valid only within the first load step. - 1 - Write assigned numbers and attributes of solid model entities (keypoints, - lines, areas, volumes) to the IGES file. Attributes include - MAT, TYPE, REAL, and ESYS specifications as well as associated - solid model loads and meshing (keypoint element size, number of - line divisions and spacing ratio) specifications. + Repeat M command for additional master degrees of freedom. The limit + for the number of master nodes used is determined by the maximum system + memory available. + + The substructure (ANTYPE,SUBSTR) analysis utilizes the matrix + condensation technique to reduce the structure matrices to those + characterized by a set of master degrees of freedom. + + Master degrees of freedom are identified by a list of nodes and their + nodal directions. The actual degree of freedom directions available + for a particular node depends upon the degrees of freedom associated + with element types (ET) at that node. There must be some mass (or + stress stiffening in the case of the buckling analysis) associated with + each master degree of freedom (except for the VOLT label). The mass + may be due either to the distributed mass of the element or due to + discrete lumped masses at the node. If a master degree of freedom is + specified at a constrained point, it is ignored. If a master degree of + freedom is specified at a coupled node, it should be specified at the + prime node of the coupled set. + + Substructure analysis connection points must be defined as master + degrees of freedom. + + This command is also valid in PREP7. + + """ + command = "M,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(node), str(lab1), str(nend), str(ninc), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6)) + self.RunCommand(command, **kwargs) + + def Bfadele(self, area="", lab="", **kwargs): + """ + APDL Command: BFADELE + + Deletes body force loads on an area. + + Parameters + ---------- + area + Area at which body load is to be deleted. If ALL, delete for all + selected areas [ASEL]. A component name may also be substituted for + AREA. + + lab + Valid body load label. If ALL, use all appropriate labels. Load + labels are listed under "Body Loads" in the input table for each + element type in the Element Reference. See the BFA command for + labels. Notes ----- - Causes the selected solid model data to be written to a coded file in - the IGES Version 5.1 format. Previous data on this file, if any, are - overwritten. Keypoints that are not attached to any line are written - to the output file as IGES entity 116 (Point). Lines that are not - attached to any area are written to the output file as either IGES - Entity 100 (Circular Arc), 110 (Line), or 126 (Rational B-Spline Curve) - depending upon whether the ANSYS entity was defined as an arc, straight - line, or spline. Areas are written to the output file as IGES Entity - 144 (Trimmed Parametric Surface). Volumes are written to the output - file as IGES entity 186 (Manifold Solid B-Rep Object). Solid model - entities to be written must have all corresponding lower level entities - selected (use ALLSEL,BELOW,ALL) before issuing command. Concatenated - lines and areas are not written to the IGES file; however, the entities - that make up these concatenated entities are written. + Deletes body force loads (and all corresponding finite element loads) + for a specified area and label. Body loads may be defined on an area + with the BFA command. - Caution:: : Section properties assigned to areas, lines and other solid - model entities will not be maintained when the model is exported using - IGESOUT. + Graphical picking is available only via the listed menu paths. - If you issue the IGESOUT command after generating a beam mesh with - orientation nodes, the orientation keypoints that were specified for - the line (LATT) are no longer associated with the line and are not - written out to the IGES file. The line does not recognize that - orientation keypoints were ever assigned to it, and the orientation - keypoints do not "know" that they are orientation keypoints. Thus the - IGESOUT command does not support (for beam meshing) any line operation - that relies on solid model associativity. For example, meshing the - areas adjacent to the meshed line, plotting the line that contains the - orientation nodes, or clearing the mesh from the line that contains - orientation nodes may not work as expected. See Meshing Your Solid - Model in the Modeling and Meshing Guide for more information about beam - meshing. + This command is also valid in PREP7. """ - command = "IGESOUT, %s, %s, %s" % (str(fname), str(ext), str(att)) + command = "BFADELE,%s,%s" % (str(area), str(lab)) self.RunCommand(command, **kwargs) - def Kscale(self, kinc="", np1="", np2="", ninc="", rx="", ry="", rz="", - **kwargs): + def Kpscale(self, np1="", np2="", ninc="", rx="", ry="", rz="", kinc="", + noelem="", imove="", **kwargs): """ - APDL Command: KSCALE + APDL Command: KPSCALE - Generates a scaled pattern of keypoints from a given keypoint pattern. + Generates a scaled set of (meshed) keypoints from a pattern of + keypoints. Parameters ---------- - kinc - Do this scaling operation one time, incrementing all keypoints in - the given pattern by KINC. If KINC = 0, keypoints will be - redefined at the scaled locations. - np1, np2, ninc - Scale keypoints from pattern beginning with NP1 to NP2 (defaults to - NP1) in steps of NINC (defaults to 1). If NP1 = ALL, NP2 and NINC - are ignored and pattern is all selected keypoints [KSEL]. If NP1 = - 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 NP1 (NP2 and NINC are ignored). + Set of keypoints (NP1 to NP2 in steps of NINC) that defines the + pattern to be scaled. NP2 defaults to NP1, NINC defaults to 1. If + NP1 = ALL, NP2 and NINC are ignored and the pattern is defined by + all selected keypoints. If NP1 = 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 NP1 (NP2 and + NINC are ignored). rx, ry, rz - Scale factor ratios. Scaling is relative to the origin of the - active coordinate system (RR, Rθ, RZ for cylindrical, RR, Rθ, RΦ - for spherical). If > 1.0, pattern is enlarged. If < 1.0, pattern - is reduced. Ratios each default to 1.0. + Scale factors to be applied to the X, Y, Z keypoint coordinates in + the active coordinate system (RR, Rθ, RZ for cylindrical; RR, Rθ, + RΦ for spherical). The Rθ and RΦ scale factors are interpreted as + angular offsets. For example, if CSYS = 1, an RX, RY, RZ input of + (1.5,10,3) would scale the specified keypoints 1.5 times in the + radial and 3 times in the Z direction, while adding an offset of 10 + degrees to the keypoints.) Zero, blank, or negative scale factor + values are assumed to be 1.0. Zero or blank angular offsets have + no effect. + + kinc + Increment to be applied to the keypoint numbers for generated set. + If zero, the lowest available keypoint numbers will be assigned + [NUMSTR]. + + noelem + Specifies whether nodes and elements are also to be generated: + + 0 - Nodes and point elements associated with the original keypoints will be + generated (scaled) if they exist. + + 1 - Nodes and point elements will not be generated. + + imove + Specifies whether keypoints will be moved or newly defined: + + 0 - Additional keypoints will be generated. + + 1 - Original keypoints will be moved to new position (KINC and NOELEM are ignored). + Use only if the old keypoints are no longer needed at their + original positions. Corresponding meshed items are also moved + if not needed at their original position. Notes ----- - Generates a scaled pattern of keypoints from a given keypoint pattern. - Scaling is done in the active coordinate system (see analogous node - scaling [NSCALE]). Solid modeling in a toroidal coordinate system is - not recommended. + Generates a scaled set of keypoints (and corresponding mesh) from a + pattern of keypoints. The MAT, TYPE, REAL, and ESYS attributes are + based on the keypoints in the pattern and not the current settings. + Scaling is done in the active coordinate system. Keypoints in the + pattern could have been generated in any coordinate system. However, + solid modeling in a toroidal coordinate system is not recommended. """ - command = "KSCALE, %s, %s, %s, %s, %s, %s, %s" % (str(kinc), str(np1), str(np2), str(ninc), str(rx), str(ry), str(rz)) + command = "KPSCALE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(np1), str(np2), str(ninc), str(rx), str(ry), str(rz), str(kinc), str(noelem), str(imove)) self.RunCommand(command, **kwargs) - def Rmrstatus(self, refname="", **kwargs): + def Vptn(self, nv1="", nv2="", nv3="", nv4="", nv5="", nv6="", nv7="", + nv8="", nv9="", **kwargs): """ - APDL Command: RMRSTATUS + APDL Command: VPTN - Prints status of response surface for ROM function. + Partitions volumes. Parameters ---------- - refname - Reference name of ROM function. Valid reference names are "SENE" - for the strain energy of the mechanical domain and any capacitance - reference names [RMCAP], for the electrostatic domain. + nv1, nv2, nv3, . . . , nv9 + Numbers of volumes to be operated on. If NV1 = ALL, NV2 to NV9 are + ignored and all selected volumes are used. If NV1 = 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 NV1. Notes ----- - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Partitions volumes. Generates new volumes which encompass the geometry + of all the input volumes. The new volumes are defined by the regions + of intersection of the input volumes, and by the complementary (non- + intersecting) regions. See the Modeling and Meshing Guide for an + illustration. See the BOPTN command for an explanation of the options + available to Boolean operations. Element attributes and solid model + boundary conditions assigned to the original entities will not be + transferred to the new entities generated. """ - command = "RMRSTATUS, %s" % (str(refname)) + command = "VPTN,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nv1), str(nv2), str(nv3), str(nv4), str(nv5), str(nv6), str(nv7), str(nv8), str(nv9)) self.RunCommand(command, **kwargs) - def Torqc2d(self, rad="", numn="", lcsys="", **kwargs): + def Fsnode(self, node="", nev="", nlod="", **kwargs): """ - APDL Command: TORQC2D + APDL Command: FSNODE - Calculates torque on a body in a magnetic field based on a circular - path. + Calculates and stores the stress components at a node for fatigue. Parameters ---------- - rad - Radius of the circular path. The nodes for the path are created at - this radius. + node + Node number for which stress components are stored. - numn - Number of nodes to be created for the circular path. The greater - the number of nodes, the higher the accuracy of the torque - evaluation. Defaults to 18. + nev + Event number to be associated with these stresses (defaults to 1). - lcsys - (Optional) Local coordinate system number to be used for defining - the circular arc of nodes and the path. Defaults to 99. (If a - local system numbered 99 already exists, it will be overwritten by - this default.) + nlod + Loading number to be associated with these stresses (defaults to + 1). Notes ----- - TORQC2D invokes an ANSYS macro which calculates the mechanical torque - on a body using a circular path. It is used for a circular or - cylindrical body such as a rotor in an electric machine. The body must - be centered about the global origin and must be surrounded by air - elements. The air elements surrounding the path at radius RAD must be - selected, and elements with a high-permeability material should be - unselected prior to using the macro. The macro is valid for 2-D planar - analyses only. For a harmonic analysis, the macro calculates the time- - average torque. Radial symmetry models are allowed, i.e., the model - need not be a full 360° model. - - The calculated torque is stored in the parameter TORQUE. If the model - is not a full 360° model, TORQUE should be multiplied by the - appropriate factor (such as 4.0 for a 90° sector) to obtain the total - torque. A node plot showing the path is produced in interactive mode. - - The torque is calculated via a circular path integral of the Maxwell - stress tensor. The circular path and the nodes for the path are - created by the macro at the specified radius RAD. Path operations are - used for the calculation, and all path items are cleared upon - completion. See the TORQ2D command for torque calculation based on an - arbitrary, non-circular path. + Calculates and stores the total stress components at a specified node + for fatigue. Stresses are stored according to the event number and + loading number specified. The location is associated with that + previously defined for this node [FL] or else it is automatically + defined. Stresses are stored as six total components (SX through SYZ). + Temperature and current time are also stored along with the total + stress components. Calculations are made from the stresses currently + in the database (last SET or LCASE command). Stresses stored are in + global Cartesian coordinates, regardless of the active results + coordinate system [RSYS]. The FSLIST command may be used to list + stresses. The FS command can be used to modify stored stresses. """ - command = "TORQC2D, %s, %s, %s" % (str(rad), str(numn), str(lcsys)) + command = "FSNODE,%s,%s,%s" % (str(node), str(nev), str(nlod)) self.RunCommand(command, **kwargs) - def Madapt(self, errtargt="", nadapt="", nmax="", kplt="", ksmooth="", - klst="", kcd="", device="", **kwargs): + def Bfe(self, elem="", lab="", stloc="", val1="", val2="", val3="", + val4="", **kwargs): """ - APDL Command: MADAPT + APDL Command: BFE - Adaptively meshes and solves an edge-based model. + Defines an element body force load. Parameters ---------- - errtargt - Target percentage for Zienkiewitz Zhu magnetic flux error (defaults - to 5). + elem + The element to which body load applies. If ALL, apply to all + selected elements (ESEL). A component name may also be substituted + for Elem. - nadapt - Maximum number of adaptive steps (defaults to 5). + lab + Valid body load label. Valid labels are also listed for each + element type in the Element Reference under "Body Loads" in the + input table. - nmax - Maximum number of elements at which the iterations may continue - (defaults to 50,000). Limits the number of elements that can be - chosen for refinement. + stloc + Starting location for entering VAL data, below. For example, if + STLOC = 1, data input in the VAL1 field applies to the first + element body load item available for the element type, VAL2 applies + to the second element item, etc. If STLOC = 5, data input in the + VAL1 field applies to the fifth element item, etc. Defaults to 1. - kplt - Plotting options: + val1, val2, val3, val4 + For Lab = TEMP, FLUE, DGEN, HGEN, and CHRGD, VAL1--VAL4 represent + body load values at the starting location and subsequent locations + (usually nodes) in the element. VAL1 can also represent a table + name for use with tabular boundary conditions. Enter only VAL1 for + a uniform body load across the element. For nonuniform loads, the + values must be input in the same order as shown in the input table + for the element type. Values initially default to the BFUNIF value + (except for CHRGD which defaults to zero). For subsequent + specifications, a blank leaves a previously specified value + unchanged; if the value was not previously specified, the default + value as described in the Element Reference is used. - 0 - No plot (default) + Notes + ----- + Defines an element body force load (such as temperature in a structural + analysis, heat generation rate in a thermal analysis, etc.). Body loads + and element specific defaults are described for each element type in + the Element Reference. If both the BF and BFE commands are used to + apply a body load to an element, the BFE command takes precedence. - 1 - Elements and H + For heat-generation (HGEN) loading on layered thermal solid elements + SOLID278 / SOLID279 (KEYOPT(3) = 1 or 2), or layered thermal shell + elements SHELL131 / SHELL132 (KEYOPT(3) = 1), STLOC refers to the layer + number (not the node). In such cases, use VAL1 through VAL4 to specify + the heat-generation values for the appropriate layers. Heat generation + is constant over the layer. - 2 - BERR error estimates + Specifying a Table - 3 - BDSG, BEPC error estimates + You can specify a table name (VAL1) when using temperature (TEMP), + diffusing substance generation rate (DGEN), heat generation rate + (HGEN), and current density (JS) body load labels. - 4 - Adaptive details + Enclose the table name (tabname) in percent signs (%), as shown: - ksmooth - Smoothing options for refinement + BFE,Elem, Lab,STLOC,%tabname% - 0 - No postprocessing will be done (default). + Use the *DIM command to define a table. - 1 - Smoothing will be done. Node locations may change. + For Lab = TEMP, each table defines NTEMP temperatures, as follows: - 2 - Smoothing and cleanup will be done. Existing elements may be deleted, and node - locations may change. + For layered elements, NTEMP is the number of layer interface corners + that allow temperature input. - klst - Listing options + For non-layered elements, NTEMP is the number of corner nodes. - 0 - No printing (default) + The temperatures apply to element items with a starting location of + STLOC + n, where n is the value field location (VALn) of the table name + input. - 1 - Final report + For layered elements, a single BFE command returns temperatures for one + layer interface. Multiple BFE commands are necessary for defining all + layered temperatures. - 2 - Report at each iteration step + For beam, pipe and elbow elements that allow multiple temperature + inputs per node, define the tabular load for the first node only (Node + I), as loads on the remaining nodes are applied automatically. For + example, to specify a tabular temperature load on a PIPE288 element + with the through-wall-gradient option (KEYOPT(1) = 0), the BFE command + looks like this: - 3 - Report Zienkiewitz Zhu magnetic errors BERR and BSGD + BFE,Elem,TEMP,1,%tabOut%, %tabIn% - 4 - Regular details + When a tabular function load is applied to an element, the load does + not vary according to the positioning of the element in space. - 5 - Full details + Graphical picking is available only via the listed menu paths. - 6 - Refine details + This command is also valid in PREP7. - 7 - Track + """ + command = "BFE,%s,%s,%s,%s,%s,%s,%s" % (str(elem), str(lab), str(stloc), str(val1), str(val2), str(val3), str(val4)) + self.RunCommand(command, **kwargs) - kcd - Allows you to issue a CDWRITE or CDREAD at every iteration. + def Edrc(self, option="", nrbf="", ncsf="", dtmax="", **kwargs): + """ + APDL Command: EDRC - 0 - Do not issue CDWRITE or CDREAD (default). + Specifies rigid/deformable switch controls in an explicit dynamic + analysis. - 1 - Issue CDWRITE at every iteration (to save every mesh variation). This option - issues CDWRITE,geom, writing the information to jobnameN.cdb. + Parameters + ---------- + option + Label identifying option to be performed. - 2 - Issue CDREAD at every iteration (to read every mesh variation). Reads from an - existing jobnameN.cdb. + ADD - Define rigid/deformable controls (default). - device - Defines the output device for plotting. + DELE - Delete rigid/deformable controls. - 0 - Screen only (default) + LIST - List rigid/deformable controls. - 1 - JPEG frames. Each frame is written to a file (jobnameN.jpg by default). See - /SHOW. + nrbf + Flag to delete/activate nodal rigid bodies. If nodal rigid bodies + or generalized weld definitions are active in the deformable bodies + that are switched to rigid, then the definitions should be deleted + to avoid instabilities. - Notes - ----- - MADAPT invokes a predefined ANSYS macro for adaptive meshing and - solution of edge-based magnetic analyses. The macro causes repeated - runs of the PREP7, SOLUTION, and POST1 phases of the ANSYS program with - mesh density refinements based upon the percentage error in energy - norm. + 0 - No change from previous status (default). - The MADAPT command macro requires a second, user-defined macro, which - must be named madaptld.mac and must reside in the same directory where - ANSYS is being run. This madaptld macro must contain loads and boundary - conditions, based on permanent geometry or solid model features (such - as sides or vertices). Loads specified in the madaptld macro cannot be - based on node numbers because the node numbers will change throughout - the refinement process. This secondary macro is required because the - MADAPT macro process must delete all loads and boundary conditions at - every refinement step. + 1 - Delete. - MADAPT refines tetrahedral volume elements based on error. Hexahedra, - wedges, and pyramids are not refined (see NREFINE). + 2 - Activate. - This command is also valid at the Begin level. + ncsf + Flag to delete/activate nodal constraint set. If nodal + constraint/spotweld definitions are active in the deformable bodies + that are switched to rigid, then the definitions should be deleted + to avoid instabilities. + + 0 - No change from previous status (default). + + 1 - Delete. + + 2 - Activate. + + -- + Unused field. + + tdmax + Maximum allowed time step after restart (no default). + + Notes + ----- + This command is only valid in an explicit dynamic small restart + analysis (EDSTART,2). Use this command when you do a rigid/deformable + switch (EDRD command) and you want to control constraints defined by + other means for the deformable body (such as nodal constraints or a + weld). For example, if a deformable body has nodal constraints defined + and it is switched to a rigid body, the nodal constraints should be + deleted since they are invalid for the rigid body. Later on, if you + want to switch the rigid body to deformable again and retain the nodal + constraints, you can use EDRC to activate the constraints previously + defined for the deformable body. Otherwise, the nodal constraints + remain deactivated. + + This command is also valid in PREP7. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "MADAPT, %s, %s, %s, %s, %s, %s, %s, %s" % (str(errtargt), str(nadapt), str(nmax), str(kplt), str(ksmooth), str(klst), str(kcd), str(device)) + command = "EDRC,%s,%s,%s,%s" % (str(option), str(nrbf), str(ncsf), str(dtmax)) self.RunCommand(command, **kwargs) - def Nladaptive(self, component="", action="", criterion="", option="", - val1="", val2="", val3="", **kwargs): + def Cyl5(self, xedge1="", yedge1="", xedge2="", yedge2="", depth="", + **kwargs): """ - APDL Command: NLADAPTIVE + APDL Command: CYL5 - Defines the criteria under which the mesh is refined or modified during - a nonlinear solution. + Creates a circular area or cylindrical volume by end points. Parameters ---------- - component - Specifies the element component upon which this command should act: - - ALL - All selected components, or all selected elements if no component is selected - (default). + xedge1, yedge1 + Working plane X and Y coordinates of one end of the circle or + cylinder face. - Name - Component name. + xedge2, yedge2 + Working plane X and Y coordinates of the other end of the circle or + cylinder face. - action - The action to perform on the selected component(s): + depth + The perpendicular distance (either positive or negative based on + the working plane Z direction) from the working plane representing + the depth of the cylinder. If DEPTH = 0 (default), a circular area + is created on the working plane. - ADD - Add a criterion to the database. + Notes + ----- + Defines a circular area anywhere on the working plane or a cylindrical + volume with one face anywhere on the working plane by specifying + diameter end points. For a solid cylinder of 360°, the top and bottom + faces will be circular (each area defined with four lines) and they + will be connected with two surface areas (each spanning 180°). See the + CYL4, PCIRC, and CYLIND commands for alternate ways to create circles + and cylinders. - LIST - List the criteria defined for the specified component(s). + """ + command = "CYL5,%s,%s,%s,%s,%s" % (str(xedge1), str(yedge1), str(xedge2), str(yedge2), str(depth)) + self.RunCommand(command, **kwargs) - DELETE - Delete the criteria defined for the specified component(s). + def Kfill(self, np1="", np2="", nfill="", nstrt="", ninc="", space="", + **kwargs): + """ + APDL Command: KFILL - ON - Enable the defined criteria for the specified component(s) and specify how - frequently and when to check them (via ON,,,VAL1,VAL2,VAL3): + Generates keypoints between two keypoints. - VAL1 -- Checking frequency. If > 0, check criteria at every VAL1 substeps. If < 0, check criteria at each of the VAL1 points (approximately equally spaced) between VAL2 and VAL3. (Default = -1.) - VAL2 -- Checking start time, where VAL2 < VAL3. (Default is the start time of - the load step.) + Parameters + ---------- + np1, np2 + Beginning and ending keypoints for fill-in. NP1 defaults to next + to last keypoint specified, NP2 defaults to last keypoint + specified. If NP1 = P, graphical picking is enabled and all + remaining command fields are ignored (valid only in the GUI). - VAL3 -- Checking end time, where VAL3 > VAL2. (Default is the end time of the load step.) - OFF + nfill + Fill NFILL keypoints between NP1 and NP2 (defaults to |NP2-NP1|-1). + NFILL must be positive. - criterion - The type of criterion to apply to the selected component(s): - - CONTACT - Contact-based. (Valid only for Action = ADD, Action = LIST, or Action = - DELETE.) - - ENERGY - Energy-based. (Valid only for Action = ADD, Action = LIST, or Action = DELETE.) - - BOX - A position-based criterion, defined by a box. (Valid only for Action = ADD, - Action = LIST, or Action = DELETE.) - - MESH - A mesh-quality-based criterion. (Valid only for Action = LIST, or Action = - DELETE.) - - ALL - All criteria and options. (Valid only for Action = LIST or Action = DELETE. - Option and all subsequent arguments are ignored.) - - option - Criterion option to apply to the selected component(s): - - NUMELEM - For target elements only, define the minimum number of contact elements to - contact with each target element. If this criterion is - not satisfied, the program refines the contact elements - and the associated solid elements. For this option, VAL1 - must be a positive integer. (Valid only for Action = - ADD, Action = LIST, or Action = DELETE. ) - - MEAN - Check the strain energy of any element that is part of the defined component - for the condition Ee ≥ c1 * Etotal / NUME (where c1 = VAL1, - Etotal is the total strain energy of the component, and - NUME is the number of elements of the component). If this - criterion is satisfied at an element, the program refines - the element. For this option, VAL1 must be non-negative and - defaults to 1. (Valid only for Action = ADD, Action = LIST, - or Action = DELETE.) - - XYZRANGE - Define the location box in which all elements within are to be split or - refined. Up to six values following the Option argument - (representing the x1, x2, y1, y2, z1, and z2 - coordinates) are allowed. An unspecified coordinate is - not checked. (Valid only for Action = ADD, Action = - LIST, or Action = DELETE.) - - SKEWNESS - Mesh-quality control threshold for element SOLID285. Valid values (VAL1) are - 0.0 through 1.0. Default = 0.9. (Valid only for Action = - ADD, Action = LIST, or Action = DELETE.) + nstrt + Keypoint number assigned to first filled-in keypoint (defaults to + NP1 + NINC). - WEAR - This option is valid only for contact elements having surface wear specified - (TB,WEAR). Define VAL1 as a critical ratio of magnitude of - wear to the average depth of the solid element underlying - the contact element. Once this critical ratio is reached for - any element, the program morphs the mesh to improve the - quality of the elements. VAL1 must be a positive integer. - (Valid only for Action = ADD, Action = LIST, or Action = - DELETE.) The WEAR criterion cannot be combined with any - other criterion. + ninc + Add this increment to each of the remaining filled-in keypoint + numbers (may be positive or negative). Defaults to + (NP2-NP1)/(NFILL + 1), i.e., linear interpolation. - ALL - All options. (Valid only for Action = LIST or Action = DELETE. All subsequent - arguments are ignored.) + space + Spacing ratio. Ratio of last division size to first division size. + If > 1.0, divisions increase. If < 1.0, divisions decrease. Ratio + defaults to 1.0 (uniform spacing). Notes ----- - If a specified component (Component) is an assembly, the defined - criterion applies to all element components included in the assembly. - - All components must be defined and selected before the first solve - (SOLVE), although their nonlinear adaptivity criteria can be modified - from load step to load step, and upon restart. For nonlinear adaptivity - to work properly, ensure that all components are selected before each - solve. - - After using this command to define a new criterion, the new criterion - becomes active and is checked one time during each load step, roughly - in mid-loading (unless this behavior is changed via Action = ON). - - When a criterion is defined, it overwrites a previously defined - criterion (if one exists) through the same component, or through the - component assembly that includes the specified component. - - During solution, the same criteria defined for an element through - different components are combined, and the tightest criteria and action - control (Action,ON,,,VAL1) are used. If an ON action is defined by a - positive VAL1 value through one component and a negative VAL1 value - through another, the program uses the positive value. - - For Action = ON, if VAL2 (start time) and/or VAL3 (end time) are - unspecified or invalid, the program uses the start and/or end time - (respectively) of the load step. If VAL1 < 0, the program checks VAL1 - points between VAL2 and VAL3. The time interval between each check - points is determined by (VAL3 - VAL2) / (VAL1 + 1), with the first - check point as close to VAL2 + (VAL3 - VAL2) / (VAL1 + 1) as possible. - Fewer check points can be used if the number of substeps during - solution is insufficient (as the program can only check at the end of a - substep). - - Option = SKEWNESS applies to linear tetrahedral element SOLID285 only. - When the skewness of a SOLID285 element is >= the defined value, the - element is used as the core (seed) element of the remeshed region(s). - If this criterion is used together with any other criteria for the same - component, the other criteria defined for the component are ignored. - The most desirable skewness value is 0, applicable when the element is - a standard tetrahedral element; the highest value is 1, applicable when - the element becomes flat with zero volume. For more information about - skewness and remeshing, see Mesh Nonlinear Adaptivity in the Advanced - Analysis Guide. - - For more granular control of the source mesh geometry, see NLMESH. + Generates keypoints (in the active coordinate system) between two + existing keypoints. The two keypoints may have been defined in any + coordinate system. However, solid modeling in a toroidal coordinate + system is not recommended. Any number of keypoints may be filled in + and any keypoint numbering sequence may be assigned. """ - command = "NLADAPTIVE, %s, %s, %s, %s, %s, %s, %s" % (str(component), str(action), str(criterion), str(option), str(val1), str(val2), str(val3)) + command = "KFILL,%s,%s,%s,%s,%s,%s" % (str(np1), str(np2), str(nfill), str(nstrt), str(ninc), str(space)) self.RunCommand(command, **kwargs) - def Bss2(self, val1="", val2="", t="", **kwargs): + def File(self, fname="", ext="", **kwargs): """ - APDL Command: BSS2 + APDL Command: FILE - Specifies the transverse shear strain and force relationship in plane - XY for beam sections. + Specifies the data file where results are to be found. Parameters ---------- - val1 - Transverse shear strain component (γ2). + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - val2 - Transverse shear force component (S2). + ext + Filename extension (eight-character maximum). - t - Temperature. + -- + Unused field. Notes ----- - The behavior of beam elements is governed by the generalized- - stress/generalized-strain relationship of the form: - - The BSS1 command, one of several nonlinear general beam section - commands, specifies the transverse shear strain and transverse shear - force relationship for plane XY of a beam section. The section data - defined is associated with the section most recently defined (via the - SECTYPE command). - - Unspecified values default to zero. - - Related commands are BSAX, BSM1, BSM2, BSTQ, BSS1, BSMD, and BSTE. - - For complete information, see Using Nonlinear General Beam Sections. + Specifies the ANSYS data file where the results are to be found for + postprocessing. """ - command = "BSS2, %s, %s, %s" % (str(val1), str(val2), str(t)) + command = "FILE,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Map(self, kdim="", kout="", limit="", **kwargs): + def Paresu(self, lab="", fname="", ext="", **kwargs): """ - APDL Command: MAP + APDL Command: PARESU - Maps pressures from source points to target surface elements. + Restores previously saved paths from a file. Parameters ---------- - -- - Unused field. + lab + Read operation: - kdim - Interpolation key: + ALL - Read all paths from the selected file (default). - 0 or 2 - Interpolation is done on a surface (default). + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - 3 - Interpolation is done within a volume. This option is useful if the supplied - source data is volumetric field data rather than surface data. + ext + Filename extension (eight-character maximum). -- Unused field. - kout - Key to control how pressure is applied when a target node is - outside of the source region: - - 0 - Use the pressure(s) of the nearest source point for target nodes outside of the - region (default). - - 1 - Set pressures outside of the region to zero. - - limit - Number of nearby points considered for interpolation. The minimum - is 5; the default is 20. Lower values reduce processing time. - However, some distorted or irregular meshes will require a higher - LIMIT value to find the points encompassing the target node in - order to define the region for interpolation. - Notes ----- - Maps pressures from source points to target surface elements. + This command removes all paths from virtual memory and then reads path + data from a file written with the PASAVE command. All paths on the + file will be restored. All paths currently in memory will be deleted. """ - command = "MAP, %s, %s, %s" % (str(kdim), str(kout), str(limit)) + command = "PARESU,%s,%s,%s" % (str(lab), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Couple(self, **kwargs): + def Gsgdata(self, lfiber="", xref="", yref="", rotx0="", roty0="", + **kwargs): """ - APDL Command: COUPLE + APDL Command: GSGDATA - Specifies "Node coupling" as the subsequent status topic. + Specifies the reference point and defines the geometry in the fiber + direction for the generalized plane strain element option. + + Parameters + ---------- + lfiber + Fiber length from the reference point. Defaults to 1. + + xref + X coordinate of the reference point. Defaults to zero. + + yref + Y coordinate of the reference point. Defaults to zero. + + rotx0 + Rotation of the ending plane about X in radians Defaults to zero. + + roty0 + Rotation of the ending plane about Y in radians Defaults to zero. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. - - If entered directly into the program, the STAT command should - immediately follow this command. + The ending point is automatically determined from the starting + (reference) point and the geometry inputs. 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. """ - command = "COUPLE, " % () + command = "GSGDATA,%s,%s,%s,%s,%s" % (str(lfiber), str(xref), str(yref), str(rotx0), str(roty0)) self.RunCommand(command, **kwargs) - def Contour(self, wn="", ncont="", vmin="", vinc="", vmax="", **kwargs): + def Accat(self, na1="", na2="", **kwargs): """ - APDL Command: /CONTOUR + APDL Command: ACCAT - Specifies the uniform contour values on stress displays. + Concatenates multiple areas in preparation for mapped meshing. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). - - ncont - Number of contour values. NCONT defaults to 9 for X11 or WIN32 and - to 128 for X11c or WIN32C. The default graphics window display for - 3-D devices is a smooth continuous shading effect that spans the - maximum of 128 contours available. Use the /DV3D command to create - defined banding for your contour values (values of 9 and 128 are - displayed in smooth shading only). The legend, however, will - display only nine color boxes, which span the full range of colors - displayed in the graphics window. - - vmin - Minimum contour value. If VMIN = AUTO, automatically calculate - contour values based upon NCONT uniformly spaced values over the - min-max extreme range. Or, if VMIN = USER, set contour values to - those of the last display (useful when last display automatically - calculated contours). - - vinc - Value increment (positive) between contour values. Defaults to - (VMAX-VMIN)/NCONT. - - vmax - Maximum contour value. Ignored if both VMIN and VINC are - specified. + na1, na2 + Areas to be concatenated. If NA1 = ALL, NA2 will be ignored and + all selected areas [ASEL] will be concatenated. If NA1 = P, + graphical picking is enabled and all remaining arguments are + ignored (valid only in the GUI). A component name may also be + substituted for NA1 (NA2 is ignored). Notes ----- - See the /CVAL command for alternate specifications. Values represent - contour lines in vector mode, and the algebraic maximum of contour - bands in raster mode. + Concatenates multiple, adjacent areas (the input areas) into one area + (the output area) in preparation for mapped meshing. A volume that + contains too many areas for mapped meshing can still be mapped meshed + if some of the areas in that volume are first concatenated (see Meshing + Your Solid Model in the Modeling and Meshing Guide for details on + mapped meshing restrictions). - Note:: : No matter how many contours (NCONT) are specified by /CONTOUR, - the actual number of contours that appear on your display depends also - on the device name, whether the display is directed to the screen or to - a file, the display mode (vector or raster), and the number of color - planes. (All these items are controlled by /SHOW settings.) In any - case, regardless of whether they are smoothed or banded, only 128 - contours can be displayed. See Creating Geometric Results Displays in - the Basic Analysis Guide for more information on changing the number of - contours. + Because of modeling restrictions that result from its use, ACCAT is + meant to be used solely for meshing. Specifically, (a) the output area + and any volumes that have the output area on their area list [VLIST] + cannot be used as input to any other solid modeling operation (not even + another ACCAT command); and (b) the output area cannot accept solid + model boundary conditions [DA, SFA]. - If the current ANSYS graphics are not displayed as Multi-Plots, then - the following is true: If the current device is a 3-D device - [/SHOW,3D], the model contours in all active windows will be the same, - even if separate /CONTOUR commands are issued for each active window. - For efficiency, ANSYS 3-D graphics logic maintains a single data - structure (segment), which contains precisely one set of contours. The - program displays the same segment in all windows. The view settings of - each window constitute the only differences in the contour plots in the - active windows. + The output area (or volumes which contain it) will be meshed [AMESH, + VMESH] by meshing the input areas, which themselves must be meshable. + The output area from the ACCAT operation will be coincident with the + input areas and the input areas will be retained. Consider the AADD + command instead of ACCAT if you wish to delete the input areas. When + an ACCAT command is issued, volume area lists [VLIST] that contain all + of the input areas will be updated so that the volume area lists refer + to the output area instead of the input area. Deletion of the output + area [ADELE] effectively reverses the ACCAT operation and restores + volume area lists to their original condition. ACCAT operations on + pairs of adjacent four-sided areas automatically concatenate + appropriate lines [LCCAT]; in all other situations, line concatenations + must be addressed by the user. - This command is valid in any processor. + You can use the ASEL command to select areas that were created by + concatenation, and then follow it with an ADELE,ALL command to delete + them. See Meshing Your Solid Model in the Modeling and Meshing Guide + for a discussion on how to easily select and delete concatenated areas + in one step. """ - command = "/CONTOUR, %s, %s, %s, %s, %s" % (str(wn), str(ncont), str(vmin), str(vinc), str(vmax)) + command = "ACCAT,%s,%s" % (str(na1), str(na2)) self.RunCommand(command, **kwargs) - def Esla(self, type="", **kwargs): + def Nlist(self, node1="", node2="", ninc="", lcoord="", sort1="", sort2="", + sort3="", kinternal="", **kwargs): """ - APDL Command: ESLA + APDL Command: NLIST - Selects those elements associated with the selected areas. + Lists nodes. Parameters ---------- - type - Label identifying the type of element select: + node1, node2, ninc + List nodes from NODE1 to NODE2 (defaults to NODE1) in steps of NINC + (defaults to 1). If NODE1 = ALL (default), NODE2 and NINC are + ignored and 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). - S - Select a new set (default). + lcoord + Coordinate listing key: - R - Reselect a set from the current set. + (blank) - List all nodal information - A - Additionally select a set and extend the current set. + COORD - Suppress all but the XYZ coordinates (shown to a higher degree of accuracy than + when displayed with all information). - U - Unselect a set from the current set. + sort1 + First item on which to sort. Valid item names are NODE, X, Y, Z, + THXY, THYZ, THXZ + + sort2, sort3 + Second and third items on which to sort. Valid item names are the + same as for SORT1. + + kinternal + Internal nodes listing key: + + (blank) - List only external nodes. + + INTERNAL - List all nodes, including internal nodes. Notes ----- - Selects area elements belonging to meshed [AMESH], selected [ASEL] - areas. + Lists nodes in the active display coordinate system [DSYS]. Nodal + coordinate rotation angles are also listed (relative to the global + Cartesian coordinate system). + + Node listing can be in a sorted order (ascending). SORT2, for example, + will be carried out on nodes having equal values of SORT1. This command is valid in any processor. """ - command = "ESLA, %s" % (str(type)) + command = "NLIST,%s,%s,%s,%s,%s,%s,%s,%s" % (str(node1), str(node2), str(ninc), str(lcoord), str(sort1), str(sort2), str(sort3), str(kinternal)) self.RunCommand(command, **kwargs) - def Fl(self, nloc="", node="", scfx="", scfy="", scfz="", title="", - **kwargs): + def Naxis(self, action="", val="", **kwargs): """ - APDL Command: FL + APDL Command: NAXIS - Defines a set of fatigue location parameters. + Generates nodes for general axisymmetric element sections. Parameters ---------- - nloc - Reference number for this location (within MXLOC). When defining a - new location, defaults to lowest unused location. If the specified - NODE is already associated with a location, NLOC defaults to that - existing location. - - node - Node number corresponding to this location (must be unique). Used - only to associate a node with a new location or to find an existing - location (if NLOC is not input). If NODE = -1 (or redefined), - erase all parameters and fatigue stresses for this location. + action + Specifies one of the following command behaviors: - scfx, scfy, scfz - Stress concentration factors applied to the total stresses. - Factors are applied in the global X, Y, and Z directions unless the - axisymmetric option of the FSSECT is used (i.e., RHO is nonzero), - in which case the factors are applied in the section x, y, and z - (radial, axial, and hoop) directions. + GEN - Generates nodes around the axis of an axisymmetric section (default). - title - User-defined title for this location (up to 20 characters). + CLEAR - Clears all nodes around the axis of an axisymmetric section. - Notes - ----- - Repeat FL command to define additional sets of location parameters - (MXLOC limit), to redefine location parameters, or to delete location - stress conditions. + EFACET - Specifies the number of facets per edge between nodal planes and integration + planes in the circumferential direction to display using + PowerGraphics. This option is only valid with /ESHAPE,1 + and RSYS,SOLU commands. - One location must be defined for each node of interest and only one - node can be associated with each location. See the FTSIZE command for - the maximum locations (MXLOC) allowed. A location will be - automatically defined for a node not having a location when the FSSECT, - FSNODE, or FS command is issued. Automatically defined locations are - assigned the lowest available location number, unity stress - concentration factors, and no title. + val + Tolerance value or number of facets per edge: - """ - command = "FL, %s, %s, %s, %s, %s, %s" % (str(nloc), str(node), str(scfx), str(scfy), str(scfz), str(title)) - self.RunCommand(command, **kwargs) + TOLER - When Action = GEN, the tolerance to use for merging the generated nodes around + the axis. - def Taxis(self, parmloc="", naxis="", val1="", val2="", val3="", val4="", - val5="", val6="", val7="", val8="", val9="", val10="", **kwargs): - """ - APDL Command: *TAXIS + NUM - When Action = EFACET, the number of facets per element edge for element plots: - Defines table index numbers. + AUTO - Use program-chosen facets per edge (default). - Parameters - ---------- - parmloc - Name and starting location in the table array parameter for - indexing. Indexing occurs along the axis defined with nAxis. + 1 - Use 1 facet per edge (default for elements with 9, 10, 11, or 12 nodal planes). + Shows nodal and integration planes only. - naxis - Axis along which indexing occurs. Valid labels are: + 2 - Use 2 facets per edge (default for elements with 5, 6, 7, or 8 nodal planes, + and maximum for elements with 9, 10, 11, or 12 nodal planes). - Corresponds to Row. Default. - Corresponds to Column. + 3 - Use 3 facets per edge (default for elements with 3 or 4 nodal planes, and + maximum for elements with 6, 7, or 8 nodal planes). - Corresponds to Plane. - Corresponds to Book. + 4 - Use 4 facets per edge (maximum for elements with 5 nodal planes). - Corresponds to Shelf. - Lists all index numbers. Valid only if Val1 = LIST. + 5 - Use 5 facets per edge (maximum for elements with 4 nodal planes). - val1, val2, val3, . . . , val10 - Values of the index numbers for the axis nAxis, starting from the - table array parameter location ParmLoc. You can define up to ten - values. + 6 - Use 6 facets per edge (maximum for elements with 3 nodal planes). Notes ----- - *TAXIS is a convenient method to define table index values. These - values reside in the zero column, row, etc. Instead of filling values - in these zero location spots, use the *TAXIS command. For example, + The NAXIS command generates or clears the nodes for general + axisymmetric element sections. The command applies to elements SURF159, + SOLID272, and SOLID273. - would fill index values 1.0, 2.2, 3.5, 4.7, and 5.9 in nAxis 2 (column - location), starting at location 4. + The generate option (Action = GEN) operates automatically on any + current-technology axisymmetric element. Any nodes within the tolerance + value (TOLER) of the axis are merged into a single node. The default + tolerance is 1.0e-4. - To list index numbers, issue *TAXIS,ParmLoc, nAxis, LIST, where nAxis = - 1 through 5 or ALL. + If you want to change the number of nodes, use the clear option (Action + = CLEAR) before regenerating the nodes. + + To cause the 3-D element plot to appear more like the actual 3-D model, + use NAXIS,EFACET,NUM, where NUM > 1. In this case, the coordinate + system specified for displaying element and nodal results (RSYS) must + be solution (RSYS,SOLU); otherwise, ANSYS resets NUM to 1. """ - command = "*TAXIS, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(parmloc), str(naxis), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9), str(val10)) + command = "NAXIS,%s,%s" % (str(action), str(val)) self.RunCommand(command, **kwargs) - def Plvar(self, nvar1="", nvar2="", nvar3="", nvar4="", nvar5="", nvar6="", - nvar7="", nvar8="", nvar9="", nvar10="", **kwargs): + def L2ang(self, nl1="", nl2="", ang1="", ang2="", phit1="", phit2="", + **kwargs): """ - APDL Command: PLVAR + APDL Command: L2ANG - Displays up to ten variables in the form of a graph. + Generates a line at an angle with two existing lines. Parameters ---------- - nvar1, nvar2, nvar3, . . . , nvar10 - Variables to be displayed, defined either by the reference number - or a unique thirty-two character name. If duplicate names are used - the command will plot the data for the lowest-numbered variable - with that name. + nl1 + Number of the first line to be hit (touched by the end of the new + line). If negative, assume P1 (see below) is the second keypoint + of the line instead of the first. If NL1 = P, graphical picking is + enabled and all remaining command fields are ignored (valid only in + the GUI). - Notes - ----- - Variables are displayed vs. variable N on the XVAR command. The string - value will be a predefined, unique name. For complex variables, the - amplitude is displayed by default [PLCPLX]. Each PLVAR command - produces a new frame. See the /GRTYP command for displaying multiple - variables in a single frame with separate Y-axes. + nl2 + Number of the second line to be hit. If negative, assume P3 is the + second keypoint of the line instead of the first. - """ - command = "PLVAR, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nvar1), str(nvar2), str(nvar3), str(nvar4), str(nvar5), str(nvar6), str(nvar7), str(nvar8), str(nvar9), str(nvar10)) - self.RunCommand(command, **kwargs) + ang1 + Angle of intersection (usually zero or 180) of generated line with + tangent to first line. - def Spcnod(self, encl="", node="", **kwargs): - """ - APDL Command: SPCNOD - - Defines a space node for radiation using the Radiosity method. + ang2 + Angle of intersection (usually zero or 180) of generated line with + tangent to second line. - Parameters - ---------- - encl - Radiating surface enclosure number. Defaults to 1. If ENCL = STAT, - the command lists all enclosure space nodes. If ENCL = DELE, the - command deletes all enclosure space nodes. + phit1 + Number to be assigned to keypoint generated at hit location on + first line (defaults to lowest available keypoint number [NUMSTR]). - node - Node defined to be the space node. + phit2 + Number to be assigned to keypoint generated at hit location on + second line (defaults to lowest available keypoint number + [NUMSTR]). Notes ----- - For open systems, an enclosure may radiate to a space node (NODE). - - Open systems may be characterized by one or more enclosures (ENCL). - Each enclosure may radiate to a different space node (NODE). - - For a space node that is not part of the finite element model, specify - the temperature using the D command. For the first load step, the space - node temperature ramps from the uniform temperature specified by the - TUNIF command to the temperature specified by the D command. For - subsequent load steps, it ramps from the previous value of the space - node temperature. For intermediate load steps, use the SPCNOD,DELETE - command and specify the space node temperature again to ramp from the - uniform temperature. - - For a space node that is part of the finite element model, the - temperature is that calculated during the finite element solution. + Generates a straight line (PHIT1-PHIT2) at an angle (ANG1) with an + existing line NL1 (P1-P2) and which is also at an angle (ANG2) with + another existing line NL2 (P3-P4). If the angles are zero the + generated line is tangent to the two lines. The PHIT1 and PHIT2 + locations on the lines are automatically calculated. Line P1-P2 + becomes P1-PHIT1, P3-P4 becomes P3-PHIT2, and new lines PHIT1-P2, + PHIT2-P4, and PHIT1-PHIT2 are generated. Line divisions are set to + zero (use LESIZE, etc. to modify). """ - command = "SPCNOD, %s, %s" % (str(encl), str(node)) + command = "L2ANG,%s,%s,%s,%s,%s,%s" % (str(nl1), str(nl2), str(ang1), str(ang2), str(phit1), str(phit2)) self.RunCommand(command, **kwargs) - def Vovlap(self, nv1="", nv2="", nv3="", nv4="", nv5="", nv6="", nv7="", - nv8="", nv9="", **kwargs): + def Mode(self, mode="", isym="", **kwargs): """ - APDL Command: VOVLAP + APDL Command: MODE - Overlaps volumes. + Specifies the harmonic loading term for this load step. Parameters ---------- - nv1, nv2, nv3, . . . , nv9 - Numbers of volumes to be operated on. If NV1 = ALL, NV2 to NV9 are - ignored and all selected volumes are used. If NV1 = 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 NV1. - - Notes - ----- - Overlaps volumes. Generates new volumes which encompass the geometry of - all the input volumes. The new volumes are defined by the regions of - intersection of the input volumes, and by the complementary (non- - intersecting) regions. See the Modeling and Meshing Guide for an - illustration. This operation is only valid when the region of - intersection is a volume. See the BOPTN command for an explanation of - the options available to Boolean operations. Element attributes and - solid model boundary conditions assigned to the original entities will - not be transferred to the new entities generated. + mode + Number of harmonic waves around circumference for this harmonic + loading term (defaults to 0). - """ - command = "VOVLAP, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nv1), str(nv2), str(nv3), str(nv4), str(nv5), str(nv6), str(nv7), str(nv8), str(nv9)) - self.RunCommand(command, **kwargs) + isym + Symmetry condition for this harmonic loading term (not used when + MODE = 0): - def Tble(self, **kwargs): - """ - APDL Command: TBLE + 1 - Symmetric (UX, UY, ROTZ, TEMP use cosine terms; UZ uses sine term) (default). - Specifies "Data table properties" as the subsequent status topic. + -1 - Antisymmetric (UX, UY, ROTZ, TEMP use sine terms; UZ uses cosine term). Notes ----- - This is a status (STAT) topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Used with axisymmetric elements having nonaxisymmetric loading + capability (for example, PLANE25, SHELL61, etc.). For analysis types + ANTYPE,MODAL, HARMIC, TRANS, and SUBSTR, the term must be defined in + the first load step and may not be changed in succeeding load steps. - If entered directly into the program, the STAT command should - immediately follow this command. + This command is also valid in PREP7. """ - command = "TBLE, " % () + command = "MODE,%s,%s" % (str(mode), str(isym)) self.RunCommand(command, **kwargs) - def Seexp(self, sename="", usefil="", imagky="", expopt="", **kwargs): + def Sfcum(self, lab="", oper="", fact="", fact2="", **kwargs): """ - APDL Command: SEEXP + APDL Command: SFCUM - Specifies options for the substructure expansion pass. + Specifies that surface loads are to be accumulated. Parameters ---------- - sename - The name (case-sensitive) of the superelement matrix file created - by the substructure generation pass (Sename.SUB). Defaults to the - initial jobname File. If a number, it is the element number of the - superelement as used in the use pass. - - usefil - The name of the file containing the superelement degree-of-freedom - (DOF) solution created by the substructure use pass (Usefil.DSUB). + lab + Valid surface load label. If ALL, use all appropriate labels. - imagky - Key to specify use of the imaginary component of the DOF solution. - Applicable only if the use pass is a harmonic (ANTYPE,HARMIC) - analysis: + oper + Accumulation key: - OFF - Use real component of DOF solution (default). + REPL - Subsequent values replace the previous values (default). - ON - Use imaginary component of DOF solution. + ADD - Subsequent values are added to the previous values. - expopt - Key to specify whether the superelement (ANTYPE,SUBSTR) expansion - pass (EXPASS,ON) should transform the geometry: + IGNO - Subsequent values are ignored. - OFF - Do not transform node or element locations (default). + fact + Scale factor for the first surface load value. A (blank) or '0' + entry defaults to 1.0. - ON - Transform node or element locations in the FE geometry record of the .rst - results file. + fact2 + Scale factor for the second surface load value. A (blank) or '0' + entry defaults to 1.0. Notes ----- - Specifies options for the expansion pass of the substructure analysis - (ANTYPE,SUBSTR). If used in SOLUTION, this command is valid only - within the first load step. + Allows repeated surface loads (pressure, convection, etc.) to be + replaced, added, or ignored. Surface loads are applied with the SF, + SFE, and SFBEAM commands. Issue the SFELIST command to list the + surface loads. The operations occur when the next surface load + specifications are defined. For example, issuing the SF command with a + pressure value of 25 after a previous SF command with a pressure value + of 20 causes the current value of that pressure to be 45 with the add + operation, 25 with the replace operation, or 20 with the ignore + operation. All new pressures applied with SF after the ignore + operation will be ignored, even if no current pressure exists on that + surface. - If you specify geometry transformation (Expopt = ON), you must retrieve - the transformation matrix (if it exists) from the specified .SUB file. - The command updates the nodal X, Y, and Z coordinates to represent the - transformed node locations. The Expopt option is useful when you want - to expand superelements created from other superelements (via SETRAN or - SESYMM commands). For more information, see Superelement Expansion in - Transformed Locations and Plotting or Printing Mode Shapes. + 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 pressure of 70. Scale factors are applied + even if no previous values exist. Issue SFCUM,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. - This command is also valid in /PREP7. + Note:: : The FE boundary conditions may still be overwritten by + existing solid model boundary conditions if a subsequent boundary + condition transfer occurs. + + SFCUM does not work for tabular boundary conditions. + + This command is also valid in PREP7. """ - command = "SEEXP, %s, %s, %s, %s" % (str(sename), str(usefil), str(imagky), str(expopt)) + command = "SFCUM,%s,%s,%s,%s" % (str(lab), str(oper), str(fact), str(fact2)) self.RunCommand(command, **kwargs) - def Prscontrol(self, key="", **kwargs): + def Da(self, area="", lab="", value1="", value2="", **kwargs): """ - APDL Command: PRSCONTROL + APDL Command: DA - Specifies whether to include pressure load stiffness in the element - stiffness formation. + Defines degree-of-freedom constraints on areas. Parameters ---------- - key - Pressure load stiffness key. In general, use the default setting. - Use a non-default setting only if you encounter convergence - difficulties. Pressure load stiffness is automatically included - when using eigenvalue buckling analyses (ANTYPE,BUCKLE), equivalent - to Key = INCP. For all other types of analyses, valid arguments for - Key are: + area + Area on which constraints are to be specified. If ALL, apply to + all selected areas [ASEL]. If AREA = 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 AREA. - NOPL - Pressure load stiffness not included for any elements. + lab + Symmetry label (see 2 below): - (blank) (default) - Include pressure load stiffness for elements SURF153, SURF154, SURF156, - SURF159, SHELL181, PLANE182, PLANE183, SOLID185, - SOLID186, SOLID187, SOLSH190, BEAM188, BEAM189, - FOLLW201, SHELL208, SHELL209, SOLID272, SOLID273, - SHELL281, SOLID285, PIPE288, PIPE289, and - ELBOW290. Do not include pressure load stiffness - for elements SOLID65. + SYMM - Generate symmetry constraints. Requires no Value1 or Value2. - INCP - Pressure load stiffness included for all of the default elements listed above - and SOLID65. + ASYM - Generate antisymmetry constraints. Requires no Value1 or Value2. + + value1 + Value of DOF or table name reference on the area. Valid for all + DOF labels. To specify a table, enclose the table name in % signs + (e.g., DA,AREA,TEMP,%tabname%). Use the *DIM command to define a + table. + + value2 + For MAG and VOLT DOFs: Notes ----- - This command is rarely needed. The default settings are recommended for - most analyses. + For elements SOLID236 and SOLID237, if Lab = AZ and Value1 = 0, this + sets the flux-parallel condition for the edge formulation. (A flux- + normal condition is the natural boundary condition.) Do not use the DA + command to set the edge-flux DOF, AZ to a nonzero value. + + If Lab = MAG and Value1 = 0, this sets the flux-normal condition for + the magnetic scalar potential formulations (MSP) (A flux-parallel + condition is the natural boundary condition for MSP.) + + If Lab = VOLT and Value1 = 0, the J-normal condition is set (current + density (J) flow normal to the area). (A J-parallel condition is the + natural boundary condition.) + + You can transfer constraints from areas to nodes with the DTRAN or + SBCTRAN commands. See the DK command for information about generating + other constraints on areas. + + Symmetry and antisymmetry constraints are generated as described for + the DSYM command. + + Tabular boundary conditions (VALUE = %tabname%) are available only for + the following degree of freedom labels: Electric (VOLT), Structural + (UX, UY, UZ, ROTX, ROTY, ROTZ), Acoustic (PRES, UX, UY, UZ), and + temperature (TEMP, TBOT, TE2, TE3, . . ., TTOP). + + Constraints specified by the DA command can conflict with other + specified constraints. See Resolution of Conflicting Constraint + Specifications\ in the Basic Analysis Guide for details. + + The DA command is also valid in PREP7. """ - command = "PRSCONTROL, %s" % (str(key)) + command = "DA,%s,%s,%s,%s" % (str(area), str(lab), str(value1), str(value2)) self.RunCommand(command, **kwargs) - def Mpdres(self, labf="", matf="", labt="", matt="", **kwargs): + def Grid(self, key="", **kwargs): """ - APDL Command: MPDRES + APDL Command: /GRID - Reassembles existing material data with the temperature table. + Selects the type of grid on graph displays. Parameters ---------- - labf - Material property label associated with MATF. + key + Grid key: - matf - Material reference number of property to restore from virtual - space. + 0 (OFF) - No grid. - labt - Material property label associated with MATT (defaults to label - associated with MATF). + 1 (ON) - Full grid (X and Y grid lines). - matt - Material reference number assigned to generated property (defaults - to MATF). + 2 (X) - Partial grid (X grid lines only). + + 3 (Y) - Partial grid (Y grid lines only) Notes ----- - Restores into the database (from virtual space) a data table previously - defined [MP] for a particular property, assembles data with current - database temperature table, and stores back in virtual space as a new - property. + Selects the type of grid on graph displays. Graphs with multiple + Y-axes can have multiple grids [/GRTYP]. The grid of the first curve + is also used as the background grid (above and behind the curve). + Grids for other curves are limited to be under the curves. See also + /GTHK and /GROPT for other grid options. - This command is also valid in SOLUTION. + This command is valid in any processor. """ - command = "MPDRES, %s, %s, %s, %s" % (str(labf), str(matf), str(labt), str(matt)) + command = "/GRID,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Aglue(self, na1="", na2="", na3="", na4="", na5="", na6="", na7="", - na8="", na9="", **kwargs): + def Lsdele(self, lsmin="", lsmax="", lsinc="", **kwargs): """ - APDL Command: AGLUE + APDL Command: LSDELE - Generates new areas by "gluing" areas. + Deletes load step files. Parameters ---------- - na1, na2, na3, . . . , na9 - Numbers of the areas to be glued. If NA1 = ALL, all selected areas - will be glued (NA2 to NA9 will be ignored). If NA1 = P, graphical - picking is enabled and all remaining arguments are ignored (valid - only in the GUI). A component name may also be substituted for - NA1. + lsmin, lsmax, lsinc + Range of load step files to be deleted, from LSMIN to LSMAX in + steps of LSINC. LSMAX defaults to LSMIN, and LSINC defaults to 1. + If LSMIN = ALL, all load step files are deleted (and LSMAX and + LSINC are ignored). The load step files are assumed to be named + Jobname.Sn, where n is a number assigned by the LSWRITE command (01 + --09,10,11, etc.). On systems with a 3-character limit on the + extension, the "S" is dropped for numbers > 99. Notes ----- - Use of the AGLUE command generates new areas by "gluing" input areas. - The glue operation redefines the input areas so that they share lines - along their common boundaries. The new areas encompass the same - geometry as the original areas. This operation is only valid if the - intersection of the input areas are lines along the boundaries of those - areas. See the Modeling and Meshing Guide for an illustration. See - the BOPTN command for an explanation of the options available to - Boolean operations. Element attributes and solid model boundary - conditions assigned to the original entities will not be transferred to - new entities generated. + Deletes load step files in the current directory (written by the + LSWRITE command). - The AGLUE command results in the merging of lines and keypoints at the - common area boundaries. The lines and keypoints of the lower numbered - area will be kept. This means one must be aware of area numbering when - multiple AGLUE commands are applied to avoid any “ungluing” of - geometry. + This command is also valid in PREP7. """ - command = "AGLUE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(na7), str(na8), str(na9)) + command = "LSDELE,%s,%s,%s" % (str(lsmin), str(lsmax), str(lsinc)) self.RunCommand(command, **kwargs) - def Lcabs(self, lcno="", kabs="", **kwargs): + def Esln(self, type="", ekey="", nodetype="", **kwargs): """ - APDL Command: LCABS + APDL Command: ESLN - Specifies absolute values for load case operations. + Selects those elements attached to the selected nodes. Parameters ---------- - lcno - Load case pointer number. If ALL, apply to all selected load cases - [LCSEL]. + type + Label identifying the type of element selected: - kabs - Absolute value key: + S - Select a new set (default). - 0 - Use algebraic values of load case LCNO in operations. + R - Reselect a set from the current set. - 1 - Use absolute values of load case LCNO in operations. + A - Additionally select a set and extend the current set. - Notes - ----- - Causes absolute values to be used in the load case operations [LCASE or - LCOPER]. Absolute values are taken prior to assigning a load case - factor [LCFACT] and are applied only to defined load cases [LCDEF]. + U - Unselect a set from the current set. - """ - command = "LCABS, %s, %s" % (str(lcno), str(kabs)) - self.RunCommand(command, **kwargs) + ekey + Node set key: - def Cmsfile(self, option="", fname="", ext="", cmskey="", **kwargs): - """ - APDL Command: CMSFILE + 0 - Select element if any of its nodes are in the selected nodal set (default). - Specifies a list of component mode synthesis (CMS) results files for - plotting results on the assembly. + 1 - Select element only if all of its nodes are in the selected nodal set. - Parameters - ---------- - option - Specifies the command operation: + nodetype + Label identifying type of nodes to consider when selecting: - ADD - Add the specified component results file (Fname) to the list of files to plot. - This option is the default. + ALL - Select elements considering all of their nodes (default). - DELETE - Remove the specified component results file (Fname) from the list of files to - plot. + ACTIVE - Select elements considering only their active nodes. An active node is a node + that contributes DOFs to the model. - LIST - List all specified component results files. + INACTIVE - Select elements considering only their inactive nodes (such as orientation or + radiation nodes). - CLEAR - Clear all previous files added. + CORNER - Select elements considering only their corner nodes. - ALL - Add all component results (.rst) files from the working directory to the list - of files to plot. + MID - Select elements considering only their midside nodes. - fname - The file name (with full directory path) of the component results - file. The default file name is the Jobname (specified via the - /FILNAME command). + Notes + ----- + ESLN selects elements which have any (or all EKEY) NodeType nodes in + the currently-selected set of nodes. Only elements having nodes in the + currently-selected set can be selected. - ext - The file name (Fname) extension. The default extension is .rst. + This command is valid in any processor. - cmskey - Valid only when adding a results file (Option = ADD or ALL), this - key specifies whether or not to check the specified .rst file to - determine if it was created via a CMS expansion pass: + """ + command = "ESLN,%s,%s,%s" % (str(type), str(ekey), str(nodetype)) + self.RunCommand(command, **kwargs) - ON - Check (default). + def Powerh(self, **kwargs): + """ + APDL Command: POWERH - OFF - Do not check. + Calculates the rms power loss in a conductor or lossy dielectric. Notes ----- - The CMSFILE command specifies the list of component mode synthesis - (CMS) results files to include when plotting the mode shape of an - assembly. + POWERH invokes an ANSYS macro which calculates the time-averaged (rms) + power loss in a conductor or lossy dielectric material from a harmonic + analysis. The power loss is stored in the parameter PAVG. Conductor + losses include solid conductors and surface conductors approximated by + impedance or shielding boundary conditions. The power loss density for + solid conductors or dielectrics is stored in the element table with the + label PLOSSD and may be listed [PRETAB] or displayed [PLETAB]. PLOSSD + does not include surface losses. The elements of the conducting region + must be selected before this command is issued. POWERH is valid for + 2-D and 3-D analyses. - During postprocessing (/POST1) of a CMS analysis, issue the CMSFILE - command to point to component results files of interest. (You can issue - the command as often as needed to include all or some of the component - results files.) Issue the SET command to acquire the frequencies and - mode shapes from substeps for all specified results files. Execute a - plot (PLNSOL) or print (PRNSOL) operation to display the mode shape of - the entire assembly. + """ + command = "POWERH," % () + self.RunCommand(command, **kwargs) - When you specify a results file to add to the plot list, the default - behavior of the command (CmsKey = ON) is to first verify that the file - is from a CMS analysis and that the frequencies of the result sets on - the file match the frequencies on the first file in the list. If CmsKey - = OFF, you can add any .rst file to the list of files to plot, even if - the file was not expanded via a CMS expansion pass. + def Shrink(self, ratio="", **kwargs): + """ + APDL Command: /SHRINK - If CmsKey = ON (default), output from the command appears as: ADD CMS - FILE = filename.rst. : If CmsKey = OFF, output from the command appears - as: ADD FILE = filename.rst. + Shrinks elements, lines, areas, and volumes for display clarity. - If Option = DELETE or CLEAR, you must clear the database (/CLEAR), then - re-enter the postprocessor (/POST1) and issue a SET command for the - change to take effect on subsequent plots. + Parameters + ---------- + ratio + Shrinkage ratio (input as a decimal (0.0 to 0.5)). Defaults to 0.0 + (no shrinkage). Values greater than 0.5 default to 0.1 (10% + shrinkage). - Clearing the database does not clear the list of files specified via - the CMSFILE command. Specify Option = CLEAR to clear the list of files. + Notes + ----- + Shrinks the elements, lines, areas, and volumes so that adjacent + entities are separated for clarity. Portions of this command are not + supported by PowerGraphics [/GRAPHICS,POWER]. + + If only the common lines of non-coplanar faces are drawn (as per the + /EDGE command), then this command is ignored. + + This command is valid in any processor. """ - command = "CMSFILE, %s, %s, %s, %s" % (str(option), str(fname), str(ext), str(cmskey)) + command = "/SHRINK,%s" % (str(ratio)) self.RunCommand(command, **kwargs) - def Get(self, par="", entity="", entnum="", item1="", it1num="", item2="", - it2num="", **kwargs): + def Mapvar(self, option="", matid="", istrtstress="", ntenstress="", + istrtstrain="", ntenstrain="", istrtvect="", nvect="", + **kwargs): """ - APDL Command: *GET + APDL Command: MAPVAR - Retrieves a value and stores it as a scalar parameter or part of an - array parameter. + Defines tensors and vectors in user-defined state variables for + rezoning and in 2-D to 3-D analyses. Parameters ---------- - par - The name of the resulting parameter. See *SET for name - restrictions. + option + DEFINE - entity - Entity keyword. Valid keywords are NODE, ELEM, KP, LINE, AREA, - VOLU, PDS, etc., as shown for Entity = in the tables below. + DEFINE - Define variables for the specified MatId material ID (default). - entnum - The number or label for the entity (as shown for ENTNUM = in the - tables below). In some cases, a zero (or blank) ENTNUM represents - all entities of the set. + LIST - List the defined variables for the specified MatId material ID. - item1 - The name of a particular item for the given entity. Valid items are - as shown in the Item1 columns of the tables below. + matid + The material ID for the state variables which you are defining + (Option = DEFINE) or listing (Option = LIST). - it1num - The number (or label) for the specified Item1 (if any). Valid - IT1NUM values are as shown in the IT1NUM columns of the tables - below. Some Item1 labels do not require an IT1NUM value. + istrtstress + The start position of stress-like tensors in the state variables. + This value must be either a positive integer or 0 (meaning no + stress-like tensors). - item2, it2num - A second set of item labels and numbers to further qualify the item - for which data are to be retrieved. Most items do not require this - level of information. + ntenstress + The number of stress-like tensors in the state variables. This + value must be either a positive integer (or 0), and all stress-like + tensors must be contiguous. - Notes - ----- - *GET retrieves a value for a specified item and stores the value as a - scalar parameter, or as a value in a user-named array parameter. An - item is identified by various keyword, label, and number combinations. - Usage is similar to the *SET command except that the parameter values - are retrieved from previously input or calculated results. For example, - *GET,A,ELEM,5,CENT,X returns the centroid x-location of element 5 and - stores the result as parameter A. *GET command operations, along with - the associated Get functions return values in the active coordinate - system unless stated otherwise. A Get function is an alternative in- - line function that can be used to retrieve a value instead of the *GET - command (see Using In-line Get Functions for more information). - - Both *GET and *VGET retrieve information from the active data stored in - memory. The database is often the source, and sometimes the information - is retrieved from common memory blocks that the program uses to - manipulate information. Although POST1 and POST26 operations use a - *.rst file, *GET data is accessed from the database or from the common - blocks. Get operations do not access the *.rst file directly. For - repeated gets of sequential items, such as from a series of elements, - see the *VGET command. - - Most items are stored in the database after they are calculated and are - available anytime thereafter. Items are grouped according to where they - are usually first defined or calculated. Preprocessing data will often - not reflect the calculated values generated from section data. Do not - use *GET to obtain data from elements that use calculated section data, - such as beams or shells. Most of the general items listed below are - available from all modules. Each of the sections for accessing *GET - parameters are shown in the following order: - - *GET General Entity Items - - *GET Preprocessing Entity Items - - *GET Solution Entity Items - - *GET Postprocessing Entity Items - - *GET Probabilistic Design Entity Items - - The *GET command is valid in any processor. + istrtstrain + The start position of strain-like tensors in the state variables. + This value must be either a positive integer or 0 (meaning no + strain-like tensors). - """ - command = "*GET, %s, %s, %s, %s, %s, %s, %s" % (str(par), str(entity), str(entnum), str(item1), str(it1num), str(item2), str(it2num)) - self.RunCommand(command, **kwargs) + ntenstrain + The number of strain-like tensors in the state variables. This + value must be either a positive integer (or 0), and all strain-like + tensors must be contiguous. - def Emft(self, **kwargs): - """ - APDL Command: EMFT + istrtvect + The start position of vectors in the state variables. This value + must be either a positive integer or 0 (meaning no vectors). - Summarizes electromagnetic forces and torques. + nvect + The number of vectors in the state variables. This value must be + either a positive integer (or 0), and all vectors must be + contiguous. Notes ----- - Use this command to summarize electromagnetic force and torque in both - static electric and magnetic problems. To use this command, select the - nodes in the region of interest and make sure that all elements are - selected. If RSYS = 0, the force is reported in the global Cartesian - coordinate system. If RSYS ≠ 0, force is reported in the specified - coordinate system. However, for torque, if RSYS ≠ 0, this command will - account for the shift and rotation as specified by RSYS, but will - report only the Cartesian components. + The MAPVAR command identifies the tensors and vectors in user-defined + state variables (TB,STATE) for user-defined materials (TB,USER and + UserMat or UserMatTh) or user-defined creep laws (TB,CREEP,,,,100 and + UserCreep). - Forces are stored as items _FXSUM, _FYSUM, _FZSUM, and _FSSUM. Torque - is stored as items _TXSUM, _TYSUM, _TZSUM, and _TSSUM. + The command ensures that user-defined state variables are mapped + correctly during rezoning and in 2-D to 3-D analyses. - This command is valid only with PLANE121, SOLID122, SOLID123, PLANE233, - SOLID236 and SOLID237 elements. For any other elements, you must use - FMAGSUM. + In a rezoning operation, MAPVAR must be issued after remeshing + (REMESH,FINISH) but before mapping (MAPSOLVE). """ - command = "EMFT, " % () + command = "MAPVAR,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(matid), str(istrtstress), str(ntenstress), str(istrtstrain), str(ntenstrain), str(istrtvect), str(nvect)) self.RunCommand(command, **kwargs) - def Lssolve(self, lsmin="", lsmax="", lsinc="", **kwargs): + def Outaero(self, sename="", timeb="", dtime="", **kwargs): """ - APDL Command: LSSOLVE + APDL Command: OUTAERO - Reads and solves multiple load steps. + Outputs the superelement matrices and load vectors to formatted files + for aeroelastic analysis. Parameters ---------- - lsmin, lsmax, lsinc - Range of load step files to be read and solved, from LSMIN to LSMAX - in steps of LSINC. LSMAX defaults to LSMIN, and LSINC defaults to - 1. If LSMIN is blank, a brief command description is displayed. - The load step files are assumed to be named Jobname.Sn, where n is - a number assigned by the LSWRITE command (01--09,10,11, etc.). On - systems with a 3-character limit on the extension, the "S" is - dropped for numbers > 99. + sename + Name of the superelement that models the wind turbine supporting + structure. Defaults to the current Jobname. + + timeb + First time at which the load vector is formed (defaults to be read + from SENAME.sub). + + dtime + Time step size of the load vectors (defaults to be read from + SENAME.sub). Notes ----- - LSSOLVE invokes an ANSYS macro to read and solve multiple load steps. - The macro loops through a series of load step files written by the - LSWRITE command. The macro file called by LSSOLVE is called - LSSOLVE.MAC. + Both TIMEB and DTIME must be blank if the time data is to be read from + the SENAME.sub file. - LSSOLVE cannot be used with the birth-death option. + The matrix file (SENAME.SUB) must be available from the substructure + generation run before issuing this command. This superelement that + models the wind turbine supporting structure must contain only one + master node with six freedoms per node: UX, UY, UZ, ROTX, ROTY, ROTZ. + The master node represents the connection point between the turbine and + the supporting structure. - LSSOLVE is not supported for cyclic symmetry analyses. + This command will generate four files that are exported to the + aeroelastic code for integrated wind turbine analysis. The four files + are Jobname.GNK for the generalized stiffness matrix, Jobname.GNC for + the generalized damping matrix, Jobname.GNM for the generalized mass + matrix and Jobname.GNF for the generalized load vectors. - LSSOLVE does not support restarts. + For detailed information on how to perform a wind coupling analysis, + see Coupling to External Aeroelastic Analysis of Wind Turbines in the + Mechanical APDL Advanced Analysis Guide. """ - command = "LSSOLVE, %s, %s, %s" % (str(lsmin), str(lsmax), str(lsinc)) + command = "OUTAERO,%s,%s,%s" % (str(sename), str(timeb), str(dtime)) self.RunCommand(command, **kwargs) - def Prep7(self, **kwargs): + def Ce(self, neqn="", const="", node1="", lab1="", c1="", node2="", + lab2="", c2="", node3="", lab3="", c3="", **kwargs): """ - APDL Command: /PREP7 + APDL Command: CE - Enters the model creation preprocessor. + Defines a constraint equation relating degrees of freedom. - Notes - ----- - Enters the general input data preprocessor (PREP7). + Parameters + ---------- + neqn + Set equation reference number: - This command is valid only at the Begin Level. + n - Arbitrary set number. - """ - command = "/PREP7, " % () - self.RunCommand(command, **kwargs) + HIGH - The highest defined constraint equation number. This option is especially + useful when adding nodes to an existing set. - def Pnum(self, label="", key="", **kwargs): - """ - APDL Command: /PNUM + NEXT - The highest defined constraint equation number plus one. This option + automatically numbers coupled sets so that existing sets are + not modified. - Controls entity numbering/coloring on plots. + const + Constant term of equation. - Parameters - ---------- - label - Type of numbering/coloring: + node1 + Node for first term of equation. If -NODE1, this term is deleted + from the equation. - NODE - Node numbers on node and element plots. + lab1 + Degree of freedom label for first term of equation. Structural + labels: UX, UY, or UZ (displacements); ROTX, ROTY, or ROTZ + (rotations, in radians). Thermal labels: TEMP, TBOT, TE2, TE3, . . + ., TTOP (temperature). Electric labels: VOLT (voltage). Magnetic + labels: MAG (scalar magnetic potential); AX, AY, or AZ (vector + magnetic potentials). Diffusion label: CONC (concentration). - ELEM - Element numbers and colors on element plots. + c1 + Coefficient for first node term of equation. If zero, this term is + ignored. - SEC - Section numbers and colors on element and solid model plots (see "Notes"). + node2, lab2, c2 + Node, label, and coefficient for second term. - MAT - Material set numbers and colors on element and solid model plots (see - "Notes"). + node3, lab3, c3 + Node, label, and coefficient for third term. - TYPE - Element type reference numbers and colors on element and solid model plots (see - "Notes"). + Notes + ----- + Repeat the CE command to add additional terms to the same equation. To + change only the constant term, repeat the command with no node terms + specified. Only the constant term can be changed during solution, and + only with the CECMOD command. - REAL - Real constant set numbers and colors on element and solid model plots (see - "Notes"). + Linear constraint equations may be used to relate the degrees of + freedom of selected nodes in a more general manner than described for + nodal coupling [CP]. The constraint equation is of the form: - ESYS - Element coordinate system numbers on element and solid model plots (see - "Notes"). + where U(I) is the degree of freedom (displacement, temperature, etc.) + of term (I). The following example is a set of two constraint + equations, each containing three terms: - PART - Element part numbers and colors on element plots (applicable to ANSYS LS-DYNA - only). + 0.0 = 3.0* (1 UX) + 3.0* (4 UX) + (-2.0)* (4 ROTY) - LOC - Location numbers/colors of the element in matrix assembly order on element - plots. + 2.0 = 6.0* (2 UX) + 10.0* (4 UY) + 1.0* (3 UZ) - Note:LOC and ELEM numbers will be the same unless the model has been reordered. - KP + The first unique degree of freedom in the equation is eliminated in + terms of all other degrees of freedom in the equation. A unique degree + of freedom is one which is not specified in any other constraint + equation, coupled node set, specified displacement set, or master + degree of freedom set. It is recommended that the first term of the + equation be the degree of freedom to be eliminated. The first term of + the equation cannot contain a master degree of freedom, and no term can + contain coupled degrees of freedom. The same degree of freedom may be + specified in more than one equation but care must be taken to avoid + over-specification (over-constraint). - Keypoint numbers on solid model plots. - LINE + The degrees of freedom specified in the equation (i.e., UX, UY, ROTZ, + etc.) must also be included in the model (as determined from the + element types [ET]). Also, each node in the equation must be defined + on an element (any element type containing that degree of freedom will + do). - Line numbers on solid model plots (both numbers and colors on line plots). - AREA + For buckling and modal analyses, the constant term of the equation will + not be taken into account (that is, CONST is always zero). - Area numbers on solid model plots (both numbers and colors on area plots). - VOLU + Note that under certain circumstances a constraint equation generated + by CE may be modified during the solution. See Program Modification of + Constraint Equations for more information. - Volume numbers on solid model plots (both numbers and colors on volume plots). - SVAL + """ + command = "CE,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(neqn), str(const), str(node1), str(lab1), str(c1), str(node2), str(lab2), str(c2), str(node3), str(lab3), str(c3)) + self.RunCommand(command, **kwargs) - Stress (or any contour) values on postprocessing plots, and surface load values and colors on model plots (when surface load symbols are on [/PSF]). For tabular boundary conditions, the table-evaluated values will be displayed on node, element, or contour displays in POST1 when load symbols (/PBF, /PSF, /PBC) are on and TABNAM is OFF. - TABNAM + def Octype(self, datatype="", name="", **kwargs): + """ + APDL Command: OCTYPE - Table names for tabular boundary conditions. If this label is turned on, the table name appears next to the appropriate symbol, arrow, face outline, or contour as dictated by the /PSF, /PBC, and /PBF commands. - STAT + Specifies the type of ocean load data to follow. - Shows current settings for /PNUM. - DEFA + Parameters + ---------- + datatype + The type of ocean data to be input following this command: - key - Switch: + BASIC - The basic ocean load, required for any ocean loading. - 0 - Turns OFF numbers/colors for specified label. + CURR - An optional drift current. - 1 - Turns ON numbers/colors for specified label. + WAVE - An optional ocean wave state. + + name + An eight-character name for the ocean load. An ocean name can + consist of letters and numbers, but cannot contain punctuation, + special characters, or spaces. Notes ----- - This command specifies entity numbering and coloring for subsequent - plots. - - The MAT, TYPE, REAL, and ESYS labels activate both the numbering and - coloring of the corresponding attributes for EPLOT, KPLOT, LPLOT, - APLOT, and VPLOT. The ELEM, MAT, TYPE, REAL, ESYS, PART (ANSYS LS-DYNA - only), and LOC labels are mutually exclusive, i.e., only one can be - specified at a time. Also, turning on a LINE, AREA, or VOLU label will - turn off the MAT, TYPE, REAL, and PART labels. - - PowerGraphics [/GRAPHICS,POWER] displays for/PNUM can be problematic. - /PNUM,ELEM will display erratically depending on other display command - specifications, while /PNUM,LOC and /PNUM,ESYS are not supported. + The OCTYPE command specifies the type of ocean load data to follow + (basic, current, or wave). Issue this command before defining your + ocean load data (OCDATA and OCTABLE). - Element and volume numbers are not visible for 3-D elements and volumes - when Z-buffering is turned on (/TYPE,,[6,7, or 8]). + Ocean loading applies only to current-technology pipe (PIPE288 and + PIPE289), surface (SURF154), link (LINK180) and beam (BEAM188 and + BEAM189) elements. - Use /PSTATUS or /PNUM,STAT to show settings. Use /PNUM,DEFA to reset - all specifications back to default. Use the /NUMBER command to control - whether numbers and colors are displayed together. + An ocean current or wave is accessible repeatedly. For example, it is + not necessary to input an identical current table again just because + the drag coefficients of the basic input table have changed. - This command is valid in any processor + The following example shows how you can use the basic (DataType = + BASIC), current (DataType = CURR), and wave (DataType = WAVE) ocean + data types within the context of a simple input file fragment: """ - command = "/PNUM, %s, %s" % (str(label), str(key)) + command = "OCTYPE,%s,%s" % (str(datatype), str(name)) self.RunCommand(command, **kwargs) - def Mshkey(self, key="", **kwargs): + def Prerr(self, **kwargs): """ - APDL Command: MSHKEY - - Specifies whether free meshing or mapped meshing should be used to mesh - a model. - - Parameters - ---------- - key - Key indicating the type of meshing to be used: - - 0 - Use free meshing (the default). - - 1 - Use mapped meshing. + APDL Command: PRERR - 2 - Use mapped meshing if possible; otherwise, use free meshing. If you specify - MSHKEY,2, SmartSizing will be inactive even while free meshing - non-map-meshable areas. + Prints SEPC and TEPC. Notes ----- - The MSHKEY, MSHAPE, and MSHMID commands replace the functionality that - was provided by the ESHAPE command in ANSYS 5.3 and earlier releases. + Prints the percent error in structural energy norm (SEPC) and the + thermal energy norm percent error (TEPC). Approximations of mesh + discretization error associated with a solution are calculated for + analyses having structural or thermal degrees of freedom. - This command is also valid for rezoning. + The structural approximation is based on the energy error (which is + similar in concept to the strain energy) and represents the error + associated with the discrepancy between the calculated stress field and + the globally continuous stress field (see POST1 - Error Approximation + Technique in the Mechanical APDL Theory Reference). This discrepancy + is due to the assumption in the elements that only the displacements + are continuous at the nodes. The stress field is calculated from the + displacements and should also be continuous, but generally is not. - """ - command = "MSHKEY, %s" % (str(key)) - self.RunCommand(command, **kwargs) + Thermal analyses may use any solid and shell thermal element having + only temperature degrees of freedom. The thermal approximation is + based on the total heat flow dissipation and represents the error + associated with the discrepancy between the calculated nodal thermal + flux within an element and a continuous global thermal flux. This + continuous thermal flux is calculated with the normal nodal averaging + procedure. - def Hfsym(self, kcn="", xkey="", ykey="", zkey="", **kwargs): - """ - APDL Command: HFSYM + The volume (result label VOLU) is used to calculate the energy error + per element (result label SERR for the structural energy error and TERR + for the thermal energy error). These energy errors, along with the + appropriate energy, are then used to calculate the percent error in + energy norm (SEPC for structural and TEPC for thermal). These + percentages can be listed by the PRERR command, retrieved by the *GET + command (with labels SEPC and TEPC) for further calculations, and shown + on the displacement display (PLDISP), as applicable. - Indicates the presence of symmetry planes for the computation of - acoustic fields in the near and far field domains (beyond the finite - element region). + For structural analyses, the maximum absolute value of nodal stress + variation of any stress component for any node of an element (result + item SDSG) is also calculated. Similarly, for thermal gradient + components, TDSG is calculated. Minimum and maximum result bounds + considering the possible effect of discretization error will be shown + on contour displays (PLNSOL). For shell elements, the top surface + location is used to produce a meaningful percentage value. SERR, TERR, + SEPC, TEPC, SDSG, and TDSG will be updated whenever the nodal stresses + or fluxes are recalculated. - Parameters - ---------- - kcn - Coordinate system reference number. KCN may be 0 (Cartesian), or - any previously defined local Cartesian coordinate system number - (>10). Defaults to 0. + If the energy error is a significant portion of the total energy, then + the analysis should be repeated using a finer mesh to obtain a more + accurate solution. The energy error is relative from problem to + problem but will converge to a zero energy error as the mesh is + refined. An automated adaptive meshing procedure using this energy + error is described with the ADAPT macro. - xkey - Key for acoustic field boundary condition, as prescribed for the - solution, corresponding to the x = constant plane: + The following element- and material-type limitations apply: - None - No sound soft or sound hard boundary conditions (default). + Valid with most 2-D solid, 3-D solid, axisymmetric solid, or 3-D shell + elements. - SSB - Sound soft boundary (pressure = 0). + The following element types are not valid: SHELL28, SHELL41, and + SOLID65. - SHB - Sound hard boundary (normal velocity = 0). + The model should have only structural or thermal degrees of freedom. - ykey - Key for acoustic field boundary condition, as prescribed for the - solution, corresponding to the y = constant plane: + The analysis must be linear (for both material and geometry). - None - No sound soft or sound hard boundary conditions (default). + Multi-material (for example, composite) elements are not valid. - SSB - Sound soft boundary (pressure = 0). + Transition regions from one material to another are not valid (that is, + the entire model should consist of one material). - SHB - Sound hard boundary (normal velocity = 0). + Anisotropic materials (TB,ANEL) are not considered. - zkey - Key for acoustic field boundary condition, as prescribed for the - solution, corresponding to the z = constant plane: + """ + command = "PRERR," % () + self.RunCommand(command, **kwargs) - None - No sound soft or sound hard boundary conditions (default). + def Edele(self, iel1="", iel2="", inc="", **kwargs): + """ + APDL Command: EDELE - SSB - Sound soft boundary (pressure = 0). + Deletes selected elements from the model. - SHB - Sound hard boundary (normal velocity = 0). + Parameters + ---------- + iel1, iel2, inc + Delete elements from IEL1 to IEL2 (defaults to IEL1) in steps of + INC (defaults to 1). If IEL1 = ALL, IEL2 and INC are ignored and + all selected elements [ESEL] are deleted. If IEL1 = 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 IEL1 (IEL2 and INC are ignored). Notes ----- - HFSYM uses the image principle to indicate symmetry planes (x, y, or z - = constant plane) for acoustic field computations outside the modeled - domain. A sound hard boundary condition must be indicated even though - it occurs as a natural boundary condition. - - No menu paths are available for acoustic applications. + Deleted elements are replaced by null or "blank" elements. Null + elements are used only for retaining the element numbers so that the + element numbering sequence for the rest of the model is not changed by + deleting elements. Null elements may be removed (although this is not + necessary) with the NUMCMP command. If related element data (pressures, + etc.) are also to be deleted, delete that data before deleting the + elements. EDELE is for unattached elements only. You can use the xCLEAR + family of commands to remove any attached elements from the database. """ - command = "HFSYM, %s, %s, %s, %s" % (str(kcn), str(xkey), str(ykey), str(zkey)) + command = "EDELE,%s,%s,%s" % (str(iel1), str(iel2), str(inc)) self.RunCommand(command, **kwargs) - def Mfwrite(self, fname="", ext="", **kwargs): + def Abbr(self, abbr="", string="", **kwargs): """ - APDL Command: MFWRITE + APDL Command: *ABBR - Writes an ANSYS master input file for MFX multiple code coupling. + Defines an abbreviation. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + abbr + The abbreviation (up to 8 alphanumeric characters) used to + represent the string String. If Abbr is the same as an existing + ANSYS command, the abbreviation overrides. Avoid using an Abbr + which is the same as an ANSYS command. - ext - Filename extension (eight-character maximum). + string + String of characters (60 maximum) represented by Abbr. Cannot + include a $ or any of the commands C***, /COM, /GOPR, /NOPR, + /QUIT, /UI, or *END. Parameter names and commands of the *DO and + Use the *IF groups may not be abbreviated. If String is blank, the + abbreviation is deleted. To abbreviate multiple commands, create an + "unknown command" macro or define String to execute a macro file + [*USE] containing the desired commands. Notes ----- - When working interactively, you need to issue this command as the last - step in your setup process. This command will write out the input file - that you will then use to submit the MFX analysis. This file will - include the /SOLU, SOLVE, and FINISH commands. + Once the abbreviation Abbr is defined, you can issue it at the + beginning of a command line and follow it with a blank (or with a comma + and appended data), and the program will substitute the string String + for Abbr as the line is executed. Up to 100 abbreviations may exist at + any time and are available throughout the program. Abbreviations may be + redefined or deleted at any time. - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + Use *STATUS to display the current list of abbreviations. For + abbreviations repeated with *REPEAT, substitution occurs before the + repeat increments are applied. There are a number of abbreviations that + are predefined by the program (these can be deleted by using the blank + String option described above). Note that String will be written to the + File.LOG. + + This command is valid in any processor. """ - command = "MFWRITE, %s, %s" % (str(fname), str(ext)) + command = "*ABBR,%s,%s" % (str(abbr), str(string)) self.RunCommand(command, **kwargs) - def Bfalist(self, area="", lab="", **kwargs): + def Bfvdele(self, volu="", lab="", **kwargs): """ - APDL Command: BFALIST + APDL Command: BFVDELE - Lists the body force loads on an area. + Deletes body force loads on a volume. Parameters ---------- - area - Area at which body load is to be listed. If ALL (or blank), list - for all selected areas [ASEL]. If AREA = 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 AREA. + volu + Volume at which body load is to be deleted. If ALL, delete for all + selected volumes [VSEL]. A component name may also be substituted + for VOLU. lab Valid body load label. If ALL, use all appropriate labels. Load labels are listed under "Body Loads" in the input table for each - element type in the Element Reference. See the BFA command for + element type in the Element Reference. See the BFV command for labels. Notes ----- - Lists the body force loads for the specified area and label. Body - loads may be defined on an area with the BFA command. + Deletes body force loads (and all corresponding finite element loads) + for a specified volume and label. Body loads may be defined on a + volume with the BFV command. - This command is valid in any processor. + Graphical picking is available only via the listed menu paths. + + This command is also valid in PREP7. """ - command = "BFALIST, %s, %s" % (str(area), str(lab)) + command = "BFVDELE,%s,%s" % (str(volu), str(lab)) self.RunCommand(command, **kwargs) - def Wrk(self, num="", **kwargs): + def Exp(self, ir="", ia="", name="", facta="", factb="", **kwargs): """ - APDL Command: *WRK + APDL Command: EXP - Sets the active workspace number. + Forms the exponential of a variable. Parameters ---------- - num - Number of the active memory workspace for APDLMath vector and - matrices. All the following APDLMath vectors and matrices will - belong to this memory workspace, until the next call to the *WRK - command. By default, all the APDLMath objects belong to workspace - number 1. - - Notes - ----- - This feature enables you to associate a set of vector and matrices in a - given memory workspace, so that you can easily manage the free step: + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. - This feature can be useful to free all the temporary APDLMath variables - inside a MACRO in one call. + ia + Reference number of the variable to be operated on. + + --, -- + Unused fields. + + name + Thirty-two character name for identifying the variable on the + printout and displays. Embedded blanks are compressed upon output. + + --, -- + Unused fields. + + facta + Scaling factor applied to variable IA (defaults to 1.0). + + factb + Scaling factor (positive or negative) applied to the operation + (defaults to 1.0). + + Notes + ----- + Forms the exponential of a variable according to the operation: + + IR = FACTB*EXP(FACTA x IA) """ - command = "*WRK, %s" % (str(num)) + command = "EXP,%s,%s,%s,%s,%s" % (str(ir), str(ia), str(name), str(facta), str(factb)) self.RunCommand(command, **kwargs) - def Pddoel(self, name="", method="", vtype="", lopt="", val1="", val2="", - val3="", val4="", val5="", **kwargs): + def Gthk(self, label="", thick="", **kwargs): """ - APDL Command: PDDOEL + APDL Command: /GTHK - Defines design of experiment levels for an individual random input - variable. + Sets line thicknesses for graph lines. Parameters ---------- - name - Parameter name. The parameter name must have been previously - defined as a random input variable using the PDVAR command. - - method - Specifies the response surface method for which the levels of the - design of experiment are to be defined. This field must not be left - blank. - - CCD - Use the Central Composite Design method. The design experiment levels of a - central composite design are defined in the fields VAL1 to - VAL5. + label + Apply thicknesses as selected from the following labels: - BBM - Use the Box-Behnken Matrix method. The design experiment levels of a Box- - Behnken Matrix design are defined in the fields VAL1 to VAL3. - The fields VAL4 and VAL5 are ignored + AXIS - Modify thickness of ordinate and abscissa axes on graph displays. - vtype - Specifies the type of the values of the design of experiment - levels. + GRID - Modify thickness of grid lines on graph displays. - PROB - The design of experiment levels are specified in terms of probabilities. This - is the default. + CURVE - Modify thickness of curve lines (when no area fill [/GROPT]). - PHYS - The design of experiment levels are specified in terms of physical values. + thick + Thickness ratio (whole numbers only, from -1 to 10): - lopt - Specifies the type of the design of experiment levels, indicating - if they are defined by lower and upper bound only (default) or all - specified by the user. + -1 - Do not draw the curve, but show only the markers specified by /GMARKER. - BND - You specify the lower and upper bounds for the design of experiment levels. The - values for intermediate levels are calculated automatically - at run time (default). The lower and upper levels of the - design of experiment itself can be specified either in terms - of probabilities or in terms of physical values, depending on - the Vtype field. + 0 or 1 - Thin lines. - For Lopt = BND and Method = CCD only the entries VAL1 and VAL5 are processed and they represent the lower and upper bound values of a central composite design. The intermediate levels VAL2 to VAL4 are evaluated automatically. For Lopt = BND and Method = BBM only the entries VAL1 and VAL3 are processed and they represent the lower and upper bound values of a Box-Behnken Matrix design respectively. The intermediate level VAL2 is evaluated automatically. - NOTE: The intermediate levels between the lower and upper bounds are calculated - so they are at equal intervals along the curve - (interpolated linearly in the physical space - whether the curve is symmetrical or not) - regardless of whether the lower and upper bounds - are specified as probabilities (Vtype = PROB) or - as physical values (Vtype = PHYS). + 2 - The default thickness. - ALL - You explicitly specify all necessary design of experiment levels. The design of - experiment levels can be in terms of probabilities or in - terms of physical values, depending on the Vtype field. + 3 - 1.5 times the default thickness. - val1, val2, val3, . . . , val5 - Values for the levels of the design of experiment for the random - input variable Name. Must be specified in ascending order. All - probabilities must be between 0.0 and 1.0. + etc. - (up to 10) Notes ----- - If Vtype = PHYS, you must enter values for VAL1 through VAL3 or VAL5 - (depending on the Method and Lopt option you choose). If Vtype = PROB - and you do not enter values, they default to the values shown below. - - For Method = CCD: - - For Method = BBM: + Sets line thicknesses for graph lines (in raster mode only). Use + /GTHK,STAT to show settings. - See Probabilistic Design in the Advanced Analysis Guide for more - information on the PDS methods. + This command is valid in any processor. """ - command = "PDDOEL, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(name), str(method), str(vtype), str(lopt), str(val1), str(val2), str(val3), str(val4), str(val5)) + command = "/GTHK,%s,%s" % (str(label), str(thick)) self.RunCommand(command, **kwargs) - def Anstoasas(self, fname="", key="", **kwargs): + def Knode(self, npt="", node="", **kwargs): """ - APDL Command: ANSTOASAS + APDL Command: KNODE - Creates an ASAS input file from the current ANSYS model. + Defines a keypoint at an existing node location. Parameters ---------- - fname - ASAS file name. Defaults to Jobname. + npt + Arbitrary reference number for keypoint. If zero, the lowest + available number is assigned [NUMSTR]. - key - Key indicating type of file to produce: + node + Node number defining global X, Y, Z keypoint location. 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. - 0 - ASAS file for use by ANSYS Aqwa (no loads written). Creates the file - Fname.asas. + """ + command = "KNODE,%s,%s" % (str(npt), str(node)) + self.RunCommand(command, **kwargs) - 1 - ASAS file (all data written, including loads). Creates the file Fname.asas. + def Sscale(self, wn="", smult="", **kwargs): + """ + APDL Command: /SSCALE - 2 - ASAS(NL) file. Creates the file Fname.asnl. + Sets the contour multiplier for topographic displays. + + Parameters + ---------- + wn + Window number (or ALL) to which command applies (defaults to 1). + + smult + Contour multiplier that factors in results based on the product of + the multiplier and the result being plotted. Defaults to 0.0 (no + topographic effects). Notes ----- - This command creates an input file for the ANSYS Asas Finite Element - Analysis System from the model and loads currently in the database, - based on the currently selected set of elements. Most common structural - element types are written, as well as sections (or real constants), - materials, boundary conditions and loads, and solution and load step - options. + Use this command to scale values to the geometry when the contours are + shown elevated. For section displays [/TYPE], the elevation is + performed perpendicular to the section face. - Data Written + Nonzero contour multipliers factoring in large results (stresses or + displacements) can produce very large distortion, causing images to + disappear. To bring a distorted image back into view, reduce the + contour multiplier value. - The following data is written: + Portions of this command are not supported by PowerGraphics + [/GRAPHICS,POWER]. - Solution control options + """ + command = "/SSCALE,%s,%s" % (str(wn), str(smult)) + self.RunCommand(command, **kwargs) - Nodes + def Ldiv(self, nl1="", ratio="", pdiv="", ndiv="", keep="", **kwargs): + """ + APDL Command: LDIV - Elements + Divides a single line into two or more lines. - Material data + Parameters + ---------- + nl1 + Number of the line to be divided. If negative, assume P1 (see + below) is the second keypoint of the line instead of the first for + RATIO. If ALL, divide all selected lines [LSEL]. If NL1 = 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 NL1. - Geometry data + ratio + Ratio of line length P1-PDIV to line length P1-P2. Must be between + 0.0 and 1.0. Input ignored if NDIV > 2. - Section data + pdiv + Number to be assigned to keypoint generated at division location + (defaults to lowest available keypoint number [NUMSTR]). Input + ignored if NL1 = ALL or NDIV > 2. If PDIV already exists and lies + on line NL1, divide line at PDIV (RATIO must also be 0.0). If PDIV + already exists and does not lie on line NL1, PDIV is projected and + moved to the nearest point on line NL1 (if possible). PDIV cannot + be attached to another line, area, or volume. - ANSYS element components (ASAS sets) + ndiv + The number of new lines to be generated from old line (defaults to + 2). - Boundary conditions + keep + Specifies whether to keep the input entities: - Loads + 0 - Modify old line to use new keypoints and slopes. - Added mass (via MASS21 element) + 1 - Do not modify old line. New lines will overlay old line and have unique + keypoints. - Details are provided in the following sections. + Notes + ----- + Divides a single line NL1 (defined from keypoint P1 to keypoint P2) + into two or more lines. Line NL1 becomes the new line beginning with + keypoint P1 and new lines are generated ending at keypoint P2. If the + line is attached to an area, the area will also be updated. Line + divisions are set to zero (use LESIZE, etc. to modify). - Not all data is written. You must verify the completeness and accuracy - of the data. Only loading at the current step is transferred; hence, no - load step history is captured. + """ + command = "LDIV,%s,%s,%s,%s,%s" % (str(nl1), str(ratio), str(pdiv), str(ndiv), str(keep)) + self.RunCommand(command, **kwargs) - Solution Control Options + def Icscale(self, wn="", factor="", **kwargs): + """ + APDL Command: /ICSCALE - The ASAS project name is defined as "ANSYS". + Scales the icon size for elements supported in the circuit builder. - The solution control options are converted as follows: + Parameters + ---------- + wn + Window number (or ALL) to which command applies (defaults to 1). - JOB: STAT SPIT: KGEOM + factor + Factor applied to the default icon size (defaults to 1). - JOB: STAT SPIT: KGEOM + Notes + ----- + Scaling the icon size can provide better visualization of the circuit + components when using the Circuit Builder (an interactive builder + available in the ANSYS GUI). - For conversion to ASAS(NL), the large displacement option is set based - on NLGEOM, final load solution time is set based on TIME, and sub-step - times are set based on DELTIM or NSUBST (assuming constant step size). + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - Element Data + """ + command = "/ICSCALE,%s,%s" % (str(wn), str(factor)) + self.RunCommand(command, **kwargs) - If you intend to use the data only with AQWA-WAVE, only the elements - that form the wetted surface are required. Selecting these elements - before invoking the ANSTOASAS command will improve performance. In - order for AQWA-WAVE to identify the direction of the wave loading, all - elements must be defined by nodes in a clockwise direction. For further - information, refer to the AQWA-WAVE manual. + def Anisos(self, nfram="", delay="", ncycl="", **kwargs): + """ + APDL Command: ANISOS - The element types are converted as follows: + Produces an animated sequence of an isosurface. - SPR1: SPR2: if: rotational: spring: FLA2: (ASAS(L): only): if: - nodes: are: not: coincident: and: longitudinal: spring: + Parameters + ---------- + nfram + Number of frames captures (defaults to 9). - QUM4: TRM3: -: if: Triangular + delay + Time delay during animation (defaults to 0.1 seconds). - BRK8: TET4: -: if: Tetrahedral: BRK6: -: if: Prism + ncycl + Number of animation cycles (defaults to 5). Available in non-UI + mode only. - QUS4: TBC3: -: if: Triangular + Notes + ----- + ANISOS involves an ANSYS macro which produces an animation of an + isosurface of the last plot action command (for example, + PLNSOL,S,EQV). The ANISOS command operates only on graphic display + platforms supporting the /SEG command. After executing ANISOS, you can + replay the animated sequence by issuing the ANIM command. - QUM8: TRM6: -: if: Triangular + This command functions only in the postprocessor. - BR20: TE10: -: if: Tetrahedral: : BR15: -: if: Prism + """ + command = "ANISOS,%s,%s,%s" % (str(nfram), str(delay), str(ncycl)) + self.RunCommand(command, **kwargs) - QUS4: TBC3: -: if: Triangular + def Sdelete(self, sfirst="", sl_ast="", sinc="", knoclean="", lchk="", + **kwargs): + """ + APDL Command: SDELETE - QUM4: TRM3: -: if: Triangular + Deletes sections from the database. - QUM8: TRM6: -: if: Triangular + Parameters + ---------- + sfirst + First section ID to be deleted; defaults to first available section + in the database. - BRK8: TET4: -: if: Tetrahedral: BRK6: -: if: Prism + slast + Last section ID to be deleted; defaults to last available section + in the database. - BR20: TE10: -: if: Tetrahedral: BR15: -: if: Prism + sinc + Increment of the section ID; defaults to 1. - TCBM: -: if: ASAS(L): STF4: -: if: ASAS(NL) + knoclean + Pretension element cleanup key (pretension sections only). - Documentation for this legacy element type appears in the Feature - Archive. + 0 - Perform cleanup of pretension elements (delete pretension elements and + reconnect elements split during PSMESH). - Material Data + 1 - Do not perform cleanup. - Linear isotropic material conversion is supported for ASAS and - ASAS(NL). + lchk + Specifies the level of element-associativity checking: - Geometry Data + NOCHECK - No element-associativity check occurs. This option is the default. - The following ASAS element geometry data is supported: + WARN - When a section, material, or real constant is associated with an element, ANSYS + issues a message warning that the necessary entity has been + deleted. - Section Data + CHECK - The command terminates, and no section, material, or real constant is deleted + if it is associated with an element. - No user sections are generated if AQWA-WAVE data is selected. + Notes + ----- + Deletes one or more specified sections and their associated data from + the ANSYS database. - The following sections are converted for ASAS and ASAS(NL): + """ + command = "SDELETE,%s,%s,%s,%s,%s" % (str(sfirst), str(sl_ast), str(sinc), str(knoclean), str(lchk)) + self.RunCommand(command, **kwargs) - Boundary Conditions + def Mstole(self, method="", namesurf="", namefluid="", **kwargs): + """ + APDL Command: MSTOLE - The following boundary conditions are converted for ASAS and ASAS(NL): + Adds two extra nodes from FLUID116 elements to SURF151 or SURF152 + elements for convection analyses. - Loads + Parameters + ---------- + method + Mapping method: - No user loading is generated if AQWA-WAVE data is selected. However, a - load case (number 1000) is automatically defined to identify the wetted - surface of the elements for use by AQWA-WAVE based on the normal - surface loads applied to the solid or shell elements. + 0 - Hybrid method (default). - Pressure loads from SURF154 elements are converted to equivalent nodal - loads for ASAS. For AQWA-WAVE, the SURF154 pressures are used to - identify the wetted surface of the underlying elements. The following - loads are converted for ASAS: + 1 - Projection method. - DISTRIBUted: loading: Shells: -: ML2: Beams: -: BL1: /: BL2: Tubes: - -: GL1: Curved: beams: -: CB1 + 2 - Minimum centroid distance method. + + namesurf + Component name for a group of SURF151 or SURF152 elements. The name + must be enclosed in single quotes (e.g., 'COM152') when the MSTOLE + command is manually typed in. + + namefluid + Component name for a group of FLUID116 elements. The name must be + enclosed in single quotes (e.g., 'COM116') when the MSTOLE command + is manually typed in. + + Notes + ----- + For convection analyses, the MSTOLE command adds two extra nodes from + FLUID116 elements to SURF151 or SURF152 elements by employing the + specified mapping method. In the hybrid method, the projection method + is tried first and if it fails the centroid distance method is used. + The SURF151 or SURF152 elements and the FLUID116 elements must be + grouped into components and named using the CM command. + + The SURF151 or SURF152 extra node option must be set for two extra + nodes (KEYOPT(5) = 2). + + For more information, see Using the Surface Effect Elements in the + Thermal Analysis Guide. """ - command = "ANSTOASAS, %s, %s" % (str(fname), str(key)) + command = "MSTOLE,%s,%s,%s" % (str(method), str(namesurf), str(namefluid)) self.RunCommand(command, **kwargs) - def Ratio(self, wn="", ratox="", ratoy="", **kwargs): + def Check(self, sele="", levl="", **kwargs): """ - APDL Command: /RATIO + APDL Command: CHECK - Distorts the object geometry. + Checks current database items for completeness. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). + sele + Specifies which elements are to be checked: - ratox - Distort object in the window X direction by this factor (defaults - to 1.0). + (blank) - Check all data. - ratoy - Distort object in the window Y direction by this factor (defaults - to 1.0). + ESEL - Check only elements in the selected set and unselect any elements not producing + geometry check messages. The remaining elements (those + producing check messages) can then be displayed and + corrected. A null set results if no elements produce a + message. Issue ESEL,ALL to select all elements before + proceeding. + + levl + Used only with Sele = ESEL: + + WARN - Select elements producing warning and error messages. + + ERR - Select only elements producing error messages (default). Notes ----- - Distorts the object geometry in a particular direction. An example of - this command's use would be to allow long narrow sections to be - distorted to a more square area for better display visualization. + This command will not work if SHPP,OFF has been set. A similar, + automatic check of all data is done before the solution begins. - This command is valid in any processor. + If the "Check Elements" option is invoked through the GUI (menu path + Main Menu> Preprocessor> Meshing> Check Elems), the CHECK,ESEL logic is + used to highlight elements in the following way: good elements are + blue, elements having warnings are yellow, and bad (error) elements are + red. + + Note:: : The currently selected set of elements is not changed by this + GUI function. + + This command is also valid in PREP7. """ - command = "/RATIO, %s, %s, %s" % (str(wn), str(ratox), str(ratoy)) + command = "CHECK,%s,%s" % (str(sele), str(levl)) self.RunCommand(command, **kwargs) - def Anfile(self, lab="", fname="", ext="", **kwargs): + def Hbmat(self, fname="", ext="", form="", matrx="", rhs="", mapping="", + **kwargs): """ - APDL Command: /ANFILE + APDL Command: HBMAT - Saves or resumes an animation sequence to or from a file. + Writes an assembled global matrix in Harwell-Boeing format. Parameters ---------- - lab - Label type. - - SAVE - Save the current animation to a file. - - RESUME - Resume an animation from a file. - fname File name and directory path (248 characters maximum, including the characters needed for the directory path). An unspecified @@ -14281,2666 +14295,2785 @@ def Anfile(self, lab="", fname="", ext="", **kwargs): -- Unused field. - Notes - ----- - This command saves an animation to a file from local terminal segments - or resumes an animation from a file to local terminal segments. See - the /SEG command for details on segment storage. See the ANCNTR macro - for a convenient method of storing graphics frames in terminal memory - segments. This command is device dependent and is valid in any - processor. + form + Specifies format of output matrix file: - """ - command = "/ANFILE, %s, %s, %s" % (str(lab), str(fname), str(ext)) - self.RunCommand(command, **kwargs) + ASCII - Write output matrix file in ASCII form. - def Vec(self, vector="", type="", method="", val1="", val2="", val3="", - val4="", **kwargs): - """ - APDL Command: *VEC + BIN - Write output matrix file in binary form. - Creates a vector. + matrx + Specify which matrix to write to the output matrix file: - Parameters - ---------- - vector - Name used to identify the vector. Must be specified. + STIFF - Write stiffness matrix to output matrix file. Valid for all types of analyses + that write a .FULL file. - type - Vector type: + MASS - Write mass matrix to output matrix file. Valid for buckling, substructure, and + modal analyses. If .FULL file was generated in a buckling + analysis, then this label will write stress stiffening + matrix to output matrix file. - Double precision real values (default). - Complex double precision values. + DAMP - Write damping matrix to output matrix file. Only valid for damped modal + analyses. - method - Method used to create the vector: + rhs + Specifies whether to write the right-hand side vector to output + matrix file: - Allocate space for a vector (default). - Resize an existing vector to a new length. Values are kept from the original - vector. If the length specified by Val1 is - greater than the original vector length, the - additional rows are assigned a value of zero. + YES - Write right-hand side vector to output matrix file. - Copy an existing vector. - Import the vector from a file. + NO - Do not write right-hand side vector to output matrix file. - val1, val2, val3, val4, val5 - Additional input. The meaning of Val1 through Val5 will vary - depending on the specified Method. See details below. + mapping + Specifies whether to write the mapping file. This file is always + named Fname.MAPPING. + + YES - Write the mapping file. + + NO - Do not write the mapping file (default). Notes ----- - Use the *DMAT command to create a matrix. + This command is used to copy a matrix from the assembled global matrix + file (.FULL file) or from the superelement matrix file (.SUB file) as + specified on the FILEAUX2 command and write it in Harwell-Boeing format + to a new file, named jobname.MATRIX. The Harwell-Boeing format is + widely used by other applications that deal with matrices. - For more information on the BACK and FORWARD nodal mapping vectors, see - Degree of Freedom Ordering in the ANSYS Parametric Design Language - Guide. + The assembled global matrix file is created during solution depending + on the analysis type, equation solver, and other solution options. By + default, the assembled global matrix file is never deleted at the end + of solution. For most analysis types, the Sparse direct solver and the + ICCG solver will write a .FULL file. All mode extraction methods used + for buckling and modal analyses will write a properly formatted .FULL + file to be used with the HBMAT command. However, when using Distributed + ANSYS, a majority of analyses will write a distributed (or local) form + of the .FULL file which is not currently supported by the HBMAT + command. - """ - command = "*VEC, %s, %s, %s, %s, %s, %s, %s" % (str(vector), str(type), str(method), str(val1), str(val2), str(val3), str(val4)) - self.RunCommand(command, **kwargs) + When dumping the stiffness matrix for transient and harmonic analyses, + be aware that the element mass matrix values (and possibly element + damping matrix values) are incorporated into the globally assembled + stiffness matrix. Thus, the globally assembled stiffness matrix + represents more than the stiffness of the model for these analysis + types. Please refer to the Mechanical APDL Theory Reference for more + details. - def Antime(self, nfram="", delay="", ncycl="", autocntrky="", rsltdat="", - min="", max="", **kwargs): - """ - APDL Command: ANTIME + When dumping a .FULL file, the rows and columns corresponding to + specified constraints (e.g., D commands) are eliminated from the system + of equations and therefore are not written to the .MATRIX file. Also, + rows and columns corresponding to eliminated (slave) degrees of freedom + from coupling and/or constraint equations (e.g., CE, CP commands) are + also eliminated from the system of equations and are not written to the + .MATRIX file. The DOFs that are eliminated from any coupling and/or + constraint equations are determined internally by the solution code and + may not match what you specified via the CE/CP (or similar) commands. - Produces a sequential contour animation over a range of time. + When dumping a .SUB file, the full nxn matrix will be written to the + .MATRIX file for either symmetric or unsymmetric matrices, regardless + of whether any of the matrix coefficients are zero-valued. When dumping + a .FULL file, only the lower triangular part of the matrix will be + written to the .MATRIX file if the matrix is symmetric; the full matrix + is written if the matrix is unsymmetric. Only matrix coefficients that + are greater than zero will be written. - Parameters - ---------- - nfram - Number of frame captures (defaults to 5). + The Harwell-Boeing format is column-oriented. That is, non-zero matrix + values are stored with their corresponding row indices in a sequence of + columns. However, since the ANSYS matrix files are stored by row and + not column, when the HBMAT command is used with a non-symmetric matrix, + the transpose of the matrix is, in fact, written. - delay - Time delay during animation (defaults to 0.1 seconds). + The WRFULL command, in conjunction with the SOLVE command, can be used + to generate the assembled global matrix file and eliminate the equation + solution process and results output process. - ncycl - Number of animation cycles (defaults to 5). Available in non-UI - mode only. + The mapping file can be used to map the matrix equation numbers found + in the .MATRIX file directly to the corresponding node numbers and + degrees of freedom. - autocntrky - Auto-scales contour values, based on the overall subset range of - values. The auto-scaling option defaults to 0, no auto-scaling. + When dumping a CMS .SUB file, the last rows/columns of the matrix are + non-physical degrees of freedom added internally by the CMS process and + cannot be mapped directly to a node number or particular degree of + freedom. - rsltdat - The results data to be used for the animation sequence. This can - be: + """ + command = "HBMAT,%s,%s,%s,%s,%s,%s" % (str(fname), str(ext), str(form), str(matrx), str(rhs), str(mapping)) + self.RunCommand(command, **kwargs) - 0 - Current load step data (default). + def Blc5(self, xcenter="", ycenter="", width="", height="", depth="", + **kwargs): + """ + APDL Command: BLC5 - 1 - Range of load step data. + Creates a rectangular area or block volume by center and corner points. - 2 - Range of time data. + Parameters + ---------- + xcenter, ycenter + Working plane X and Y coordinates of the center of the rectangle or + block face. - min - The range minimum value. If left blank defaults to the first data - point. + width + The total distance on or parallel to the working plane X-axis + defining the width of the rectangle or block face. - max - The range maximum value. If left blank defaults to the last data - point. + height + The total distance on or parallel to the working plane Y-axis + defining the height of the rectangle or block face. + + depth + The perpendicular distance (either positive or negative based on + the working plane Z direction) from the working plane representing + the depth of the block. If DEPTH = 0 (default), a rectangular area + is created on the working plane. Notes ----- - The ANTIME command operates only on graphic display platforms - supporting the /SEG command. It uses an ANSYS macro to produce an - animation of contour values for the last plot action command (for - example, PLDISP). After executing ANTIME, the ANIM command will replay - the animated sequence. - - This command functions only in the postprocessor. + Defines a rectangular area anywhere on the working plane or a + hexahedral volume with one face anywhere on the working plane by + specifying the center and corner points. A rectangle will be defined + with four keypoints and four lines. A volume will be defined with + eight keypoints, twelve lines, and six areas, with the top and bottom + faces parallel to the working plane. See the BLC4, RECTNG, and BLOCK + commands for alternate ways to create rectangles and blocks. """ - command = "ANTIME, %s, %s, %s, %s, %s, %s, %s" % (str(nfram), str(delay), str(ncycl), str(autocntrky), str(rsltdat), str(min), str(max)) + command = "BLC5,%s,%s,%s,%s,%s" % (str(xcenter), str(ycenter), str(width), str(height), str(depth)) self.RunCommand(command, **kwargs) - def Time(self, time="", **kwargs): + def Pasave(self, lab="", fname="", ext="", **kwargs): """ - APDL Command: TIME + APDL Command: PASAVE - Sets the time for a load step. + Saves selected paths to an external file. Parameters ---------- - time - Time at the end of the load step. + lab + Write operation: - Notes - ----- - Associates the boundary conditions at the end of the load step with a - particular TIME value. + S - Saves only selected paths. - TIME must be a positive, nonzero, monotonically increasing quantity - that "tracks" the input history. Units of time should be consistent - with those used elsewhere (for properties, creep equations, etc.). + ALL - Saves all paths (default). - Typically, for the first load step TIME defaults to 1. However, for the - first load step of a mode-superposition transient analysis - (ANTYPE,TRANS and TRNOPT,MSUP), the TIME command is ignored and a - static solution is performed at TIME = 0. + Pname - Saves the named path (from the PSEL command). - For a full transient analyses, the command's default behavior does not - apply. You must specify a time for each load step and it must be - greater than the time at the end of the prior load step. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - TIME does not apply to modal (ANTYPE,MODAL), harmonic (ANTYPE,HARMIC), - or substructure (ANTYPE,SUBSTR) analyses. + ext + Filename extension (eight-character maximum). - This command is also valid in PREP7. + -- + Unused field. + + Notes + ----- + Saves the paths selected with the PSEL command to an external file + (Jobname.path by default). Previous paths on this file, if any, will + be overwritten. The path file may be read with the PARESU command. + + This command is valid in POST1. """ - command = "TIME, %s" % (str(time)) + command = "PASAVE,%s,%s,%s" % (str(lab), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Snoption(self, rangefact="", blocksize="", robustlev="", compute="", - solve_info="", **kwargs): + def Lsdump(self, enginename="", filename="", **kwargs): """ - APDL Command: SNOPTION + APDL Command: *LSDUMP - Specifies Supernode (SNODE) eigensolver options. + Dumps a linear solver engine to a binary File. Parameters ---------- - rangefact - Factor used to control the range of eigenvalues computed for each - supernode. The value of RangeFact must be a number between 1.0 and - 5.0. By default the RangeFact value is set to 2.0, which means that - all eigenvalues between 0 and 2*FREQE are computed for each - supernode (where FREQE is the upper end of the frequency range of - interest as specified on the MODOPT command). As the RangeFact - value increases, the eigensolution for the SNODE solver becomes - more accurate and the computational time increases. + enginename + Name used to identify this engine. Must have been previously + created using *LSENGINE and factorized using *LSFACTOR. - blocksize - BlockSize to be used when computing the final eigenvectors. The - value of Blocksize must be either MAX or a number between 1 and - NMODE, where NMODE is the number of modes to be computed as set on - the MODOPT command. Input a value of MAX to force the algorithm to - allocate enough memory to hold all of the final eigenvectors in - memory and, therefore, only read through the file containing the - supernode eigenvectors once. Note that this setting is ONLY - recommended when there is sufficient physical memory on the machine - to safely hold all of the final eigenvectors in memory. + filename + Name of the file to create. - robustlev - Parameter used to control the robustness of the SNODE eigensolver. - The value of RobustLev must be a number between 0 and 10. Lower - values of RobustLev allow the eigensolver to run in the most - efficient manner for optimal performance. Higher values of - RobustLev often slow down the performance of the eigensolver, but - can increase the robustness; this may be desirable if a problem is - detected with the eigensolver or its eigensolution. + Notes + ----- + Dumps a previously factorized linear solver system to a binary file. + Only LAPACK and BCS linear solvers can be used with this feature. The + Linear Solver can later be restored with the *LSRESTORE command. - compute - Key to control which computations are performed by the Supernode - eigensolver: + A BCS Sparse Solver can be dumped only if uses the INCORE memory option + (see BCSOPTION). - EVALUE - The eigensolver computes only the eigenvalues. + """ + command = "*LSDUMP,%s,%s" % (str(enginename), str(filename)) + self.RunCommand(command, **kwargs) - EVECTOR - The eigensolver computes only the eigenvectors (must be preceded by a modal - analysis where the eigenvalues were computed using the - Supernode eigensolver). + def Race(self, xc="", yc="", rad="", tcur="", dy="", dz="", cname="", + **kwargs): + """ + APDL Command: RACE - BOTH - The eigensolver computes both the eigenvalues and eigenvectors in the same pass - (default). + Defines a "racetrack" current source. - -- - Unused field + Parameters + ---------- + xc + Location of the mid-thickness of the vertical leg along the working + plane X-axis. - solve_info - Solver output option: + yc + Location of the mid-thickness of the horizontal leg along the + working plane Y-axis. - OFF - Turns off additional output printing from the Supernode eigensolver (default). + rad + Radius of curvature of the mid-thickness of the curves in the + racetrack source. Defaults to .501 * DY - PERFORMANCE - Turns on additional output printing from the Supernode eigensolver, including a - performance summary and a summary of file I/O for the - Supernode eigensolver. Information on memory usage - during assembly of the global matrices (that is, - creation of the Jobname.FULL file) is also printed - with this option. + tcur + Total current, amp-turns (MKS), flowing in the source. - Notes - ----- - This command specifies options for the Supernode (SNODE) eigensolver. + dy + In-plane thickness of the racetrack source. - Setting RangeFact to a value greater than 2.0 will improve the accuracy - of the computed eigenvalues and eigenvectors, but will often increase - the computing time of the SNODE eigensolver. Conversely, setting - RangeFact to a value less than 2.0 will deteriorate the accuracy of the - computed eigenvalues and eigenvectors, but will often speedup the - computing time of the SNODE eigensolver. The default value of 2.0 has - been set as a good blend of accuracy and performance. + dz + Out-of-plane thickness (depth) of the racetrack source. - The SNODE eigensolver reads the eigenvectors and related information - for each supernode from a file and uses that information to compute the - final eigenvectors. For each eigenvalue/eigenvector requested by the - user, the program must do one pass through the entire file that - contains the supernode eigenvectors. By choosing a BlockSize value - greater than 1, the program can compute BlockSize number of final - eigenvectors for each pass through the file. Therefore, smaller values - of BlockSize result in more I/O, and larger values of BlockSize result - in less I/O. Larger values of BlockSize also result in significant - additional memory usage, as BlockSize number of final eigenvectors must - be stored in memory. The default Blocksize of min(NMODE,40) is normally - a good choice to balance memory and I/O usage. + --, -- + Unused fields - The RobustLev field should only be used when a problem is detected with - the accuracy of the final solution or if the Supernode eigensolver - fails while computing the eigenvalues/eigenvectors. Setting RobustLev - to a value greater than 0 will cause the performance of the eigensolver - to deteriorate. If the performance deteriorates too much or if the - eigensolver continues to fail when setting the RobustLev field to - higher values, then switching to another eigensolver such as Block - Lanczos or PCG Lanczos is recommended. + cname + An alphanumeric name assigned as a component name to the group of + SOURC36 elements created by the command macro. Cname must be + enclosed in single quotes in the RACE command line. Cname may be + up to 32 characters, beginning with a letter and containing only + letters, numbers, and underscores. Component names beginning with + an underscore (e.g., _LOOP) are reserved for use by ANSYS and + should be avoided. If blank, no component name is assigned. - Setting Compute = EVALUE causes the Supernode eigensolver to compute - only the requested eigenvalues. During this process a Jobname.SNODE - file is written; however, a Jobname.MODE file is not written. Thus, - errors will likely occur in any downstream computations that require - the Jobname.MODE file (for example, participation factor computations, - mode superpostion transient/harmonic analysis, PSD analysis). Setting - Compute = EVECTOR causes the Supernode eigensolver to compute only the - corresponding eigenvectors. The Jobname.SNODE file and the associated - Jobname.FULL file are required when requesting these eigenvectors. In - other words, the eigenvalues must have already been computed for this - model before computing the eigenvectors. This field can be useful in - order to separate the two steps (computing eigenvalues and computing - eigenvectors). + Notes + ----- + RACE invokes an ANSYS macro which defines a "racetrack" current source + in the working plane coordinate system. The current source is + generated from bar and arc source primitives using the SOURC36 element + (which is assigned the next available element type number). The macro + is valid for use in 3-D magnetic field analysis using a scalar + potential formulation. Current flows in a counterclockwise direction + with respect to the working plane. + + The diagram below shows you a racetrack current source. """ - command = "SNOPTION, %s, %s, %s, %s, %s" % (str(rangefact), str(blocksize), str(robustlev), str(compute), str(solve_info)) + command = "RACE,%s,%s,%s,%s,%s,%s,%s" % (str(xc), str(yc), str(rad), str(tcur), str(dy), str(dz), str(cname)) self.RunCommand(command, **kwargs) - def Modopt(self, method="", nmode="", freqb="", freqe="", cpxmod="", - nrmkey="", modtype="", blocksize="", scalekey="", **kwargs): + def Tchg(self, ename1="", ename2="", etype2="", **kwargs): """ - APDL Command: MODOPT + APDL Command: TCHG - Specifies modal analysis options. + Converts 20-node degenerate tetrahedral elements to their 10-node non- + degenerate counterparts. Parameters ---------- - method - Mode-extraction method to be used for the modal analysis. + ename1 + Name (or the number) of the 20-node tetrahedron element that you + want to convert. This argument is required. - LANB - Block Lanczos + ename2 + Name (or the number) of the 10-node tetrahedron element to which + you want to convert the ENAME elements. This argument is + required. - LANPCG - PCG Lanczos + etype2 + Element TYPE reference number for ENAME2. If ETYPE2 is 0 or is not + specified, the program selects the element TYPE reference number + for ENAME2. See the "Notes" section for details. This argument is + optional. - SNODE - Supernode modal solver + Notes + ----- + The TCHG command allows you to specify conversion of any selected + 20-node brick that is degenerated into a tetrahedron to a 10-node + tetrahedron. - SUBSP - Subspace algorithm + The TCHG command is useful when used in with the MOPT,PYRA command. + Twenty-node pyramid shaped elements may be used in the same volume with + 10-node tetrahedra. - UNSYM - Unsymmetric matrix + Performing a conversion is likely to create circumstances in which more + than one element type is defined for a single volume. - DAMP - Damped system + If specified, ETYPE2 will usually be the same as the local element TYPE + number (ET,ITYPE) that was assigned to ENAME2 with the ET command. You + can specify a unique number for ETYPE2 if you prefer. Although ETYPE2 + is optional, it may be useful when two or more ITYPEs have been + assigned to the same element (for example, if two SOLID187 elements + have been established in the element attribute tables for the current + model, use the ETYPE2 argument to distinguish between them). If ETYPE2 + is nonzero and it has not already been assigned to an element via ET, + the program assigns the ETYPE2 value to ENAME2 as its element TYPE + reference number. - QRDAMP - Damped system using QR algorithm + If ETYPE2 is 0 or is not specified, the program determines the element + TYPE reference number for ENAME2 in one of these ways: - VT - Variational Technology + If ETYPE2 is 0 or is not specified, and ENAME2 does not appear in the + element attribute tables, the program uses the next available (unused) + location in the element attribute tables to determine the element TYPE + reference number for ENAME2. - nmode - The number of modes to extract. The value can depend on the value - supplied for Method. NMODE has no default and must be specified. If - Method = LANB, LANPCG, or SNODE, the number of modes that can be - extracted can equal the DOFs in the model after the application of - all boundary conditions. + If ETYPE2 is 0 or is not specified, and ENAME2 appears in the element + attribute tables, the program uses ENAME2 's existing element TYPE + reference number for ETYPE2 . (If there is more than one occurrence of + ENAME2 in the element attribute tables (each with its own TYPE + reference number), the program uses the first ENAME2 reference number + for ETYPE2 .) - freqb - The beginning, or lower end, of the frequency range of interest. + You cannot use element conversion if boundary conditions or loads are + applied directly to any selected elements. - freqe - The ending, or upper end, of the frequency range of interest (in - Hz). The default for Method = SNODE is described below. The default - for all other methods is to calculate all modes, regardless of - their maximum frequency. + For more information about converting degenerate tetrahedral elements, + see Meshing Your Solid Model in the Modeling and Meshing Guide - cpxmod - Complex eigenmode key. (Valid only when Method = QRDAMP or Method = - UNSYM). + """ + command = "TCHG,%s,%s,%s" % (str(ename1), str(ename2), str(etype2)) + self.RunCommand(command, **kwargs) - AUTO - Determine automatically if the eigensolutions are real or complex and output - them accordingly. This is the default for Method = UNSYM. - Not supported for Method = QRDAMP. + def Rmnevec(self, **kwargs): + """ + APDL Command: RMNEVEC - ON or CPLX - Calculate and output complex eigenmode shapes. + Extracts neutral plane eigenvectors from a modal analysis for the ROM + method. - OFF or REAL - Do not calculate complex eigenmode shapes. This is required if a mode- - superposition analysis is intended after the modal - analysis for Method = QRDAMP. This is the default for - this method. + Notes + ----- + This command extracts the eigenvectors at a neutral plane of a model + from a modal analysis. The modal analysis must have expanded modes + [MXPAND] in order to process the data. Only the first 9 modes are + considered. The command requires a node component named "NEUN" to be + defined. These nodes represent the nodes at the neutral plane of a + structure (in the case of a stress-stiffened structure), or at any + plane in the structure (non stress-stiffened case). - nrmkey - Mode shape normalization key: + This command is only valid in POST1. - OFF - Normalize the mode shapes to the mass matrix (default). + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - ON - Normalize the mode shapes to unity instead of to the mass matrix. If a - subsequent spectrum or mode-superposition analysis is planned, - the mode shapes should be normalized to the mass matrix - (Nrmkey = OFF). + jobname.evx, jobname.evy, jobname.evz, jobname.evn, jobname.evl - modtype - Type of modes calculated by the eigensolver. Only applicable to the - unsymmetric eigensolver. + """ + command = "RMNEVEC," % () + self.RunCommand(command, **kwargs) - Blank - Right eigenmodes. This value is the default. + def Nsll(self, type="", nkey="", **kwargs): + """ + APDL Command: NSLL - BOTH - Right and left eigenmodes. The left eigenmodes are written to Jobname.LMODE. - This option must be activated if a mode-superposition - analysis is intended. + Selects those nodes associated with the selected lines. - blocksize - The block vector size to be used with the Block Lanczos or Subspace - eigensolver (used only when Method = LANB or SUBSP). BlockSize must - be an integer value between 0 and 16. When BlockSize = zero or - blank, the code decides the block size internally (normally, a - value of 8 is used for LANB and a value of 6 is used for SUBSP). - Typically, higher BlockSize values are more efficient under each of - the following conditions: + Parameters + ---------- + type + Label identifying the type of node select: - -- - Unused field. + S - Select a new set (default). - -- - Unused field. + R - Reselect a set from the current set. - scalekey - Matrices scaling key for acoustic-structural interaction: + A - Additionally select a set and extend the current set. - OFF - Do not scale the matrices (default). + U - Unselect a set from the current set. - ON - Scale the matrices. + nkey + Specifies whether only interior line nodes are to be selected: + + 0 - Select only nodes interior to selected lines. + + 1 - Select all nodes (interior to line and at keypoints) associated with the + selected lines. Notes ----- - Specifies modal analysis (ANTYPE,MODAL) options. Additional options - used only for the Supernode (SNODE) eigensolver are specified by the - SNOPTION command. Additional options used only for the Subspace (SUBSP) - eigensolver are specified by the SUBOPT command. If Method = LANPCG, - ANSYS automatically switches to the PCG solver internally for this - modal analysis. You can further control the efficiency of the PCG - solver with the PCGOPT and EQSLV commands. + Valid only if the nodes were generated by a line meshing operation + [LMESH, AMESH, VMESH] on a solid model that contains the associated + lines. - For models that involve a non-symmetric element stiffness matrix, as in - the case of a contact element with frictional contact, the QRDAMP - eigensolver (MODOPT, QRDAMP) extracts modes in the modal subspace - formed by the eigenmodes from the symmetrized eigenproblem. The QRDAMP - eigensolver symmetrizes the element stiffness matrix on the first pass - of the eigensolution, and in the second pass, eigenmodes are extracted - in the modal subspace of the first eigensolution pass. For such non- - symmetric eigenproblems, you should verify the eigenvalue and eigenmode - results using the non-symmetric matrix eigensolver (MODOPT,UNSYM). + This command is valid in any processor. - The DAMP and QRDAMP options cannot be followed by a subsequent spectrum - analysis. The UNSYM method supports spectrum analysis when - eigensolutions are real. + """ + command = "NSLL,%s,%s" % (str(type), str(nkey)) + self.RunCommand(command, **kwargs) - This command is also valid in PREP7. + def Vstat(self, **kwargs): + """ + APDL Command: *VSTAT - Distributed ANSYS Restriction: The VT extraction method is not - supported in Distributed ANSYS. All other extraction methods are - supported. However, PCG Lanczos, SUBSP, UNSYM, DAMP, and QRDAMP are the - only distributed eigensolvers that will run a fully distributed - solution. The Block Lanczos and Supernode eigensolvers are not - distributed eigensolvers; therefore, you will not see the full - performance improvements with these methods that you would with a fully - distributed solution. + Lists the current specifications for the array parameters. - The ANSYS DesignSpace (DS) product does not support distributed - solutions (Distributed ANSYS). + Notes + ----- + Lists the current specifications for the *VABS, *VCOL, *VCUM, *VFACT, + *VLEN, and *VMASK commands. + + This command is valid in any processor. """ - command = "MODOPT, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(method), str(nmode), str(freqb), str(freqe), str(cpxmod), str(nrmkey), str(modtype), str(blocksize), str(scalekey)) + command = "*VSTAT," % () self.RunCommand(command, **kwargs) - def Pdsave(self, fname="", ext="", **kwargs): + def Aovlap(self, na1="", na2="", na3="", na4="", na5="", na6="", na7="", + na8="", na9="", **kwargs): """ - APDL Command: PDSAVE + APDL Command: AOVLAP - Writes the probabilistic model data to a file. + Overlaps areas. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. - - ext - Filename extension (eight-character maximum). - - -- - Unused field. + na1, na2, na3, . . . , na9 + Numbers of areas to be operated on. If NA1 = ALL, use all selected + areas and ignore NA2 to NA9. If NA1 = P, graphical picking is + enabled and all remaining arguments are ignored (valid only in the + GUI). A component name may also be substituted for NA1. Notes ----- - Writes the probabilistic model data to a file. Saved data include - probabilistic data only; the results of the probabilistic analyses are - not stored in the file (rather, these are stored in separate result - files). + Generates new areas which encompass the geometry of all the input + areas. The new areas are defined by the regions of intersection of the + input areas, and by the complementary (non-intersecting) regions. See + Solid Modeling in the Modeling and Meshing Guide for an illustration. + This operation is only valid when the region of intersection is an + area. See the BOPTN command for an explanation of the options + available to Boolean operations. Element attributes and solid model + boundary conditions assigned to the original entities will not be + transferred to the new entities generated. """ - command = "PDSAVE, %s, %s" % (str(fname), str(ext)) + command = "AOVLAP,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(na7), str(na8), str(na9)) self.RunCommand(command, **kwargs) - def Spopt(self, sptype="", nmode="", elcalc="", modereusekey="", **kwargs): + def Mplist(self, mat1="", mat2="", inc="", lab="", tevl="", **kwargs): """ - APDL Command: SPOPT + APDL Command: MPLIST - Selects the spectrum type and other spectrum options. + Lists linear material properties. Parameters ---------- - sptype - Spectrum type: + mat1, mat2, inc + List materials from MAT1 to MAT2 (defaults to MAT1) in steps of INC + (defaults to 1). If MAT1= ALL (default), MAT2 and INC are ignored + and properties for all material numbers are listed. - SPRS - Single point excitation response spectrum (default). See also the SVTYP - command. + lab + Material property label (see the MP command for labels). If ALL + (or blank), list properties for all labels. If EVLT, list + properties for all labels evaluated at TEVL. - MPRS - Multiple point excitation response spectrum. + tevl + Evaluation temperature for Lab = EVLT listing (defaults to BFUNIF). - DDAM - Dynamic design analysis method. + Notes + ----- + For Lab = EVLT, when the property is from tables, the MPPLOT command + will not be valid because the property could be a function of more than + temperature. - PSD - Power spectral density. + This command is valid in any processor. - nmode - Use the first NMODE modes from the modal analysis. Defaults to all - extracted modes, as specified by the MODOPT and BUCOPT commands. - NMODE cannot be larger than 10000. + """ + command = "MPLIST,%s,%s,%s,%s,%s" % (str(mat1), str(mat2), str(inc), str(lab), str(tevl)) + self.RunCommand(command, **kwargs) - elcalc - Element results calculation key (for Sptype = PSD only): + def Anim(self, ncycl="", kcycl="", delay="", **kwargs): + """ + APDL Command: ANIM - NO - Do not calculate element results and reaction forces (default). + Displays animated graphics data for linear problems. - YES - Calculate element results and reaction forces, as well as the nodal degree of - freedom solution. + Parameters + ---------- + ncycl + Number of cycles associated with the animation (defaults to 5 in + non-GUI mode only) - modereusekey - Key for existing MODE file reuse when running multiple spectrum - analyses: + kcycl + Animation mode: - NO - No spectrum analysis has been performed yet (default). + 0 - Continuous animation cycle (forward-reverse-forward-etc.) (default). - YES - This is not the first spectrum analysis. The MODE file will be reused and the - necessary files will be cleaned up for the new spectrum - analysis. + 1 - Discontinuous animation cycle (forward-reset-forward-etc.). + + delay + Time delay (seconds) between animation frames (defaults to 0.1 + seconds). Notes ----- - Valid only for a spectrum analysis (ANTYPE,SPECTR). This operation - must be preceded by a modal solution (ANTYPE,MODAL) with the - appropriate files available. Both the spectrum analysis and the - preceding modal analysis must be performed under the same ANSYS version - number. + Use the ANIM command to create animations for linear problems only. The + command uses the currently displayed picture based on one particular + data set from the results file, and linearly interpolates that data + into different sets, displaying pictures of each interpolated data set + in sequence to create animation. For information about creating + animations for nonlinear problems, see the ANDATA command. - If used in SOLUTION, this command is valid only within the first load - step. + This command is device-dependent. - This command is also valid in PREP7. + Do not resize the graphic while animation is in progress; doing so can + result in distorted plots. - Only Sptype = SPRS is allowed in ANSYS Professional. + For more information, see the /SEG command for details about segment + storage, and the ANCNTR macro for a convenient method of storing + graphics frames in terminal memory segments. + + This command is valid in any processor. """ - command = "SPOPT, %s, %s, %s, %s" % (str(sptype), str(nmode), str(elcalc), str(modereusekey)) + command = "ANIM,%s,%s,%s" % (str(ncycl), str(kcycl), str(delay)) self.RunCommand(command, **kwargs) - def Sload(self, secid="", plnlab="", kinit="", kfd="", fdvalue="", - lsload="", lslock="", **kwargs): + def Solve(self, action="", **kwargs): """ - APDL Command: SLOAD + APDL Command: SOLVE - Load a pretension section. + Starts a solution. Parameters ---------- - secid - Unique section number. The number must already be assigned to a - pretension section. - - plnlab - Label representing the pretension load sequence number in the - format "PLnn" where nn is an integer from 1 through 99 (for - example, PL01 through PL99). - - kinit - Initial action key for pretension load PL01. (This field is omitted - for PL02 and up.) Three scenarios are possible: - - LOCK - Constrains (connects) the cutting plane on the pretension section. This value - is the default. - - SLID - Unconstrains (disconnects) the cutting plane on the pretension section. - - TINY - Applies a very small pretension load (0.1% of FDVALUE) before the desired load - is established. The small load prevents convergence problems - which can occur when the desired load is not established in - the first load step. This value is valid only if KFD = FORC. - - kfd - Force/Displacement key. Specifies whether FDVALUE is a force or a - displacement: - - FORC - Apply a force on the specified pretension section. This value is the default. - - DISP - Apply a displacement (adjustment) on the specified pretension section. - - fdvalue - Pretension load value. If KFD = FORC, this value is a pretension - force. If KFD = DISP, this value is a pretension displacement - (adjustment). - - lsload - Load step in which to apply the FDVALUE. + action + Action to be performed on solve (used only for linear perturbation + analyses). - lslock - The load step in which the displacement value resulting from the - pretension force is locked. This value is valid only if KFD = FORC. + ELFORM - Reform all appropriate element matrices in the first phase of a linear + perturbation analysis. Notes ----- - The SLOAD command applies pretension loads to specified pretension - sections (created via the PSMESH command). A pretension load is ramp- - applied (KBC = 0) if it is a force (KFD = FORC), and step-applied (KBC - = 1) if it is a displacement (KFD = DISP). + Starts the solution of one load step of a solution sequence based on + the current analysis type and option settings. Use Action = ELFORM only + in the first phase of a linear perturbation analysis. - You can “lock” the load value at a specified load step. When locked, - the load changes from a force to a displacement, and ANSYS applies the - load as a constant displacement in all future load steps. Locking is - useful when applying additional loadings. The additional loadings alter - the effect of the initial load value, but because locking transforms - the load into a displacement, it preserves the initial load's effect. + """ + command = "SOLVE,%s" % (str(action)) + self.RunCommand(command, **kwargs) - In modal and harmonic analyses, any pretension load (force, - displacement, or locked) is ignored and no load is produced. + def Gssol(self, nvar="", item="", comp="", name="", **kwargs): + """ + APDL Command: GSSOL - The following command shows how to establish loads on a pretension - section: + Specifies which results to store from the results file when using + generalized plane strain. - SLOAD,1,PL01,TINY,FORC,5000,2,3 + Parameters + ---------- + nvar + Arbitrary reference number or name assigned to this variable. + Variable numbers can be 2 to NV (NUMVAR) while the name can be an + eight byte character string. Overwrites any existing results for + this variable. - In this example, the load is applied to pretension section 1, and the - sequence begins with the initial action key, KINIT, set to TINY. A - small stabilization load (5 = 0.10% of 5000) is applied in the first - load step, as the actual pretension force is not applied until the - second load step. The next four fields set the actual load: the KFD - value FORC specifies the type of load, FDVALUE defines the pretension - load value (5000), LSLOAD specifies the load step in which the force is - applied (2), and the LSLOCK field specifies the load step in which the - force is locked (3). Additional sets of four fields can be used to - define additional loads. + item + Label identifying item to be stored. - You can use the SLOAD command to edit (overwrite) existing loads on a - pretension section. This example changes the load on pretension section - 1 (set above) to 6000: + LENGTH - Change of fiber length at the ending point. - SLOAD,1,PL01,,,6000,2,3 + ROT - Rotation of the ending plane during deformation. - Unspecified values (blank fields), as shown in this example, remain - unchanged from prior settings. If no prior specifications exist, then - default values (KINIT = LOCK and KFD = FORC) apply. + F - Reaction force at the ending point in the fiber direction. - The command can also delete all loads on a specified pretension - section, as shown here: + M - Reaction moment applied on the ending plane. - SLOAD,1,DELETE + comp + Component of the item, if Item = ROT or M. - For a prestressed modal analysis, this command locks the pretension - element: + X - The rotation angle or reaction moment of the ending plane about X. - SLOAD,1,PL01,LOCK,DISP,0,1,2 + Y - The rotation angle or reaction moment of the ending plane about Y. + + name + Thirty-two character name identifying the item on the printout and + display. Defaults to the label formed by concatenating the first + four characters of the Item and Comp labels. + + Notes + ----- + This command stores the results (new position of the ending plane after + deformation) for generalized plane strain. All 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. """ - command = "SLOAD, %s, %s, %s, %s, %s, %s, %s" % (str(secid), str(plnlab), str(kinit), str(kfd), str(fdvalue), str(lsload), str(lslock)) + command = "GSSOL,%s,%s,%s,%s" % (str(nvar), str(item), str(comp), str(name)) self.RunCommand(command, **kwargs) - def Plfar(self, lab="", option="", phi1="", phi2="", nph1="", theta1="", - theta2="", ntheta="", val1="", val2="", val3="", **kwargs): + def Pdanl(self, fname="", ext="", **kwargs): """ - APDL Command: PLFAR + APDL Command: PDANL - Plots pressure far fields and far field parameters. + Defines the analysis file to be used for probabilistic looping. Parameters ---------- - lab - Parameters to plot : - - PRES - Acoustic parameters - - PROT - Acoustic parameters with the y-axis rotated extrusion - - option - Plot option, based on the specified plot parameter type: - - phi1, phi2 - Starting and ending φ angles (degrees) in the spherical coordinate - system. Defaults to 0. - - nphi - Number of divisions between the starting and ending φ angles for - data computations. Defaults to 0. - - theta1, theta2 - Starting and ending θ angles (degrees) in the spherical coordinate - system. Defaults to 0 in 3-D and 90 in 2-D. - - ntheta - Number of divisions between the starting and ending θ angles for - data computations. Defaults to 0. - - val1 - Radius of the sphere surface. Used only when Option = SUMC, SUMP, - PHSC, PHSP, SPLC, SPLP, SPAC, SPAP, PSCT, PSPL, TSCT, or TSPL. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - val2 - When Option = SPLC, SPLP, SPAC, or SPAP: Reference rms sound - pressure. Defaults to 2x10-5 Pa. + ext + Filename extension (eight-character maximum). - val3 - When Lab = PRES: Thickness of 2-D model extrusion in the z - direction (no default). + -- + Unused field. Notes ----- - The PLFAR command plots pressure far fields and far field parameters as - determined by the equivalent source principle. Use this command to plot - pressure and acoustic parameters. See the HFSYM command for the - model symmetry and the HFANG command for spatial radiation angles. - - When Option = PWL no plot is generated, but the sound power level - appears in the output. + The analysis file containing the deterministic, parameterized model + must be specified if the probabilistic analysis is performed + interactively. The file must exist at the time the PDANL command is + issued. In this file, where /PREP7 and /PDS occur, they must be the + first nonblank characters on the line (do not use the $ delimiter on + any /PREP7 and /PDS command lines). - To retrieve saved equivalent source data, issue the - SET,Lstep,Sbstep,,REAL command. + By default the analysis files specified with PDANL are executed from + the top. All definitions of random input variables (for example, APDL + parameters defined as random input variables with the PDVAR command, + using *SET or Pname = ... ) are ignored in the analysis file. The PDS + takes control of setting the values of random input variable values for + each loop. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "PLFAR, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(lab), str(option), str(phi1), str(phi2), str(nph1), str(theta1), str(theta2), str(ntheta), str(val1), str(val2), str(val3)) + command = "PDANL,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Ceqn(self, **kwargs): + def Fcdele(self, mat="", **kwargs): """ - APDL Command: CEQN + APDL Command: FCDELE - Specifies "Constraint equations" as the subsequent status topic. + Deletes previously defined failure criterion data for the given + material. + + Parameters + ---------- + mat + Material number. Deletes all FC command input for this material. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. - - If entered directly into the program, the STAT command should - immediately follow this command. + This command is also valid in POST1. """ - command = "CEQN, " % () + command = "FCDELE,%s" % (str(mat)) self.RunCommand(command, **kwargs) - def Resp(self, ir="", lftab="", ldtab="", spectype="", dampratio="", - dtime="", tmin="", tmax="", inputtype="", **kwargs): + def Mpcopy(self, matf="", matt="", **kwargs): """ - APDL Command: RESP + APDL Command: MPCOPY - Generates a response spectrum. + Copies linear material model data from one material reference number to + another. Parameters ---------- - ir - Arbitrary reference number assigned to the response spectrum - results (2 to NV [NUMVAR]). If this number is the same as for a - previously defined variable, the previously defined variable will - be overwritten with these results. - - lftab - Reference number of variable containing frequency table (created - with FILLDATA or DATA command). The frequency table defines the - number and frequency of oscillating systems used to determine the - response spectrum. The frequency interval need not be constant over - the entire range. Frequencies must be input in ascending order. - - ldtab - Reference number of variable containing the input time-history. - - spectype - Defines the type of response spectrum to be calculated: - - 0 or 1 - Displacement (relative to base excitation) - - 2 - Velocity (relative to base excitation) - - 3 - Acceleration response spectrum (absolute) - - 4 - Pseudo-velocity - - 5 - Pseudo-acceleration - - dampratio - Ratio of viscous damping to critical damping (input as a decimal - number). - - dtime - Integration time step. This value should be equal to or greater - than the integration time step used in the initial transient - analysis performed to generate the input time-history (LDTAB). - - tmin, tmax - Specifies a subset of the displacement-time history to be used in - the response spectrum calculation. Defaults to the full time - range. - - inputtype - Defines the type of the input time-history: + -- + Unused field - 0 - Displacement (default) + matf + Material reference number from where material property data will be + copied. - 1 - Acceleration + matt + Material reference number to where material property data will be + copied. Notes ----- - This command generates a response spectrum from a displacement or - acceleration time-history and frequency data. The response spectrum is - defined as the maximum response of single degree of freedom systems of - varying frequency (or period) to a given input support excitation. - - A response spectrum analysis (ANTYPE, SPECTR with SPOPT, SPRS or MPRS) - requires a response spectrum input. This input can be determined from - the response spectrum printout or display of this command. - - If a response spectrum is to be calculated from a given displacement - (or acceleration) time-history, the displacement time-history may be - input to a single one-element reduced linear transient dynamic - (ANTYPE,TRANS) analysis, so that the calculated output (which should be - the same as the input) will be properly located on the file. - - The integration time step (argument DTIME on the RESP command) and the - damping coefficient (argument dampRatio) are constant over the - frequency range. The number of calculations done per response spectrum - curve is the product of the number of input solution points (TMAX- - TMIN)/DTIME and the number of frequency points (frequencies located in - variable LFTAB). + The MPCOPY command copies linear material properties only, which are + all properties defined through the MP command. If you copy a model that + includes both linear and yield behavior constants (for example, a BKIN + model), the MPCOPY and TBCOPY, ALL commands are used together to copy + the entire model. All input data associated with the model is copied, + that is, all data defined through the MP and TB commands. - Input solution points requested (using DTIME and the frequency range) - at a time not corresponding to an actual displacement solution time on - the file are linearly interpolated with respect to the existing points. + Also, if you copy a material model using the Material Model Interface + (Edit> Copy), both the commands MPCOPY and TBCOPY, ALL are issued, + regardless of whether the model includes linear constants only, or if + it includes a combination of linear and yield behavior constants. - For the details of the response spectrum calculation, see POST26 - - Response Spectrum Generator (RESP). + This command is also valid in SOLUTION. """ - command = "RESP, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(ir), str(lftab), str(ldtab), str(spectype), str(dampratio), str(dtime), str(tmin), str(tmax), str(inputtype)) + command = "MPCOPY,%s,%s" % (str(matf), str(matt)) self.RunCommand(command, **kwargs) - def Ugin(self, name="", extension="", path="", entity="", layer="", fmt="", - **kwargs): + def Tbft(self, oper="", id="", option1="", option2="", option3="", + option4="", option5="", option6="", option7="", **kwargs): """ - APDL Command: ~UGIN + APDL Command: TBFT - Transfers an NX part into the ANSYS program. + Performs material curve-fitting operations. Parameters ---------- - name - The file name of the NX part to be imported, which cannot exceed 64 - characters in length. The path name must begin with an alphanumeric - character. Special characters such as &, -, and * are not - permitted in the part name. - - extension - The NX part file extension. The default is .prt. + oper + The specific curve-fitting operation: - path - The full path name to the directory containing the part, enclosed - in single quotes; for example, '/ug_parts'. The default is the - current working directory. + Define a constitutive model. - Delete a constitutive model. - entity - Entity to be imported. + Write data related to a constitutive model to the database (same as TB command). - Initialize coefficients of a constitutive model for nonlinear curve-fitting + procedure. - 0 or Solid - Solids only, imported as ANSYS volumes (the default). + Deletes coefficients at current reference temperature. Applicable only for temperature dependent coefficients. - Solve for coefficients. - 1 or Surface - Surfaces only, imported as ANSYS areas. + Fix (hold constant) the coefficient you specify in Option4. - Add experimental data. - 2 or Wireframe - Wireframe only, imported as ANSYS lines. + Delete experimental data. - List all data associated with the material model represented by the material ID + number. - 3 or All - All entities. Use this option when the part contains entities that may not be - attached to each other, such as a solid in one location - and a surface in another. + id + The material reference number (same as MAT argument used in the TB + command). Valid entry is any number greater than zero (default = 1) + but less than 100,000. - layer - The number(s) assigned to the layer(s) to be imported. You can - import one layer or a range of layers (designated by hyphens). - Defaults to 1-256 (all layers). + option1 + For curve-fit function operations (Oper = FADD, FDEL, FSET, SET, + CDEL, SOLVE or FIX) this field specifies the category (HYPER). - fmt - The format in which ANSYS will store the model. - - 0 - Neutral format (default). Defeaturing after import is restricted. + option2 + For curve-fit function operations (Oper = FADD, FDEL, FSET, SET, + CDEL, SOLVE, or FIX), this field specifies constitutive model type. + The valid entries are listed in Table 231: Hyperelastic Options + below. - 1 - Solid format; this allows defeaturing after import. + option3 + For Oper = FADD, FDEL, FSET, CDEL, SET, SOLVE or FIX, some of the + cases specified in Option2 will require that the polynomial order + be specified. The applicable values for the order specification are + listed in Table 231: Hyperelastic Options. - Notes - ----- - More information on importing NX parts is available in UG/NX in the - Connection User's Guide. + option4 + When you are working on a specific coefficient (Oper = FIX), this + field specifies the index of that coefficient. Valid entries vary + from 1 to n, where n is the total number of coefficients (default = + 1). - """ - command = "~UGIN, %s, %s, %s, %s, %s, %s" % (str(name), str(extension), str(path), str(entity), str(layer), str(fmt)) - self.RunCommand(command, **kwargs) + option5 + When you are working on a specific coefficient (Oper = FIX), this + field specifies the index of that coefficient. Valid entries vary + from 1 to N, where N is the total number of coefficients (default = + 1) - def Elist(self, iel1="", iel2="", inc="", nnkey="", rkey="", ptkey="", - **kwargs): - """ - APDL Command: ELIST + option6 + If Oper = SOLVE, specifies the allowed tolerance in residual change + to stop an iteration. Valid entry is 0.0 to 1.0 (default = 0.0). - Lists the elements and their attributes. + option7 + If Oper = SOLVE, specifies the allowed tolerance in coefficient + change to stop an iteration. Valid entry is 0 to 1 (default = 0). - Parameters - ---------- - iel1, iel2, inc - Lists elements from IEL1 to IEL2 (defaults to IEL1) in steps of INC - (defaults to 1). If IEL1 = ALL (default), IEL2 and INC are ignored - and all selected elements [ESEL] are listed. If IEL1 = 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 IEL1 (IEL2 and INC are ignored). + Notes + ----- + The TBFT command provides tools for comparing experimental material + data to the program-provided calculated data for various nonlinear + material options. Based on curve-fitting comparisons and error norms, + choose the model to use during the solution phase of the analysis + according to the best fit. All of the capabilities of the TBFT command + are accessible interactively via the standard material GUI. See + Material Curve Fitting in the Structural Analysis Guide for more + information. - nnkey - Node listing key: + Display material model data associated with both the TB command and the + TBFT,FSET command via TBLIST,ALL,ALL. - 0 - List attribute references and nodes. + Material model data associated with the most recent TB or TBFT,FSET + command overwrites previous data. - 1 - List attribute references but not nodes. + Display material model data associated with both the TB command and the + TBFT,FSET command via TBLIST,ALL,ALL. - rkey - Real constant listing key: + The capability to fix coefficients (Option4 = FIX) applies only to + nonlinear curve fits (as listed in Table: 5.3:: Hyperelastic Curve- + Fitting Model Types. - 0 - Do not show real constants for each element. + The uniaxial, biaxial, and shear experimental data use engineering + stress. The volumetric data uses true stress. See the Material + Reference for details about experimental data for creep and + viscoelasticity. - 1 - Show real constants for each element. This includes default values chosen for - the element. + """ + command = "TBFT,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(oper), str(id), str(option1), str(option2), str(option3), str(option4), str(option5), str(option6), str(option7)) + self.RunCommand(command, **kwargs) - ptkey - LS-DYNA part number listing key (applicable to ANSYS LS-DYNA only): + def Dlist(self, node1="", node2="", ninc="", **kwargs): + """ + APDL Command: DLIST - 0 - Do not show part ID number for each element. + Lists DOF constraints. - 1 - Show part ID number for each element. + 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 ----- - Lists the elements with their nodes and attributes (MAT, TYPE, REAL, - ESYS, SECNUM, PART). See also the LAYLIST command for listing layered - elements. + Listing applies to the selected nodes [NSEL] and the selected degree of + freedom labels [DOFSEL]. This command is valid in any processor. """ - command = "ELIST, %s, %s, %s, %s, %s, %s" % (str(iel1), str(iel2), str(inc), str(nnkey), str(rkey), str(ptkey)) + command = "DLIST,%s,%s,%s" % (str(node1), str(node2), str(ninc)) self.RunCommand(command, **kwargs) - def Tshap(self, shape="", **kwargs): + def Ktran(self, kcnto="", np1="", np2="", ninc="", kinc="", noelem="", + imove="", **kwargs): """ - APDL Command: TSHAP + APDL Command: KTRAN - Defines simple 2-D and 3-D geometric surfaces for target segment - elements. + Transfers a pattern of keypoints to another coordinate system. Parameters ---------- - shape - Specifies the geometric shapes for target segment elements TARGE169 - and TARGE170. - - LINE - Straight line (2-D, 3-D) (Default for 2-D) - - PARA - Parabola (2-D, 3-D) - - ARC - Clockwise arc (2-D) - - CARC - Counterclockwise arc (2-D) - - CIRC - Complete circle (2-D) - - TRIA - Three-node triangle (3-D) (Default for 3-D) + kcnto + Reference number of coordinate system where the pattern is to be + transferred. Transfer occurs from the active coordinate system. - TRI6 - Six-node triangle (3-D) + np1, np2, ninc + Transfer keypoints from pattern beginning with NP1 to NP2 (defaults + to NP1) in steps of NINC (defaults to 1). If NP1 = ALL, NP2 and + NINC are ignored and pattern is all selected keypoints [KSEL]. If + NP1 = 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 NP1 (NP2 and NINC are ignored). - QUAD - Four-node quadrilateral (3-D) + kinc + Keypoint increment between sets. If zero, the lowest available + keypoint numbers are assigned [NUMSTR]. - QUA8 - Eight-node quadrilateral (3-D) + noelem + Specifies whether nodes and elements are also to be generated: - CYLI - Cylinder (3-D) + 0 - Generate nodes and point elements associated with the original keypoints, if + they exist. - CONE - Cone (3-D) + 1 - Do not generate nodes and elements. - SPHE - Sphere (3-D) + imove + Specifies whether keypoints will be moved or newly defined: - PILO - Pilot node (2-D, 3-D) + 0 - Generate additional keypoints. - POINT - Point (rigid surface node) (2-D, 3-D) + 1 - Move original keypoints to new position retaining the same keypoint numbers + (KINC and NOELEM are ignored). Valid only if the old keypoints + are no longer needed at their original positions. + Corresponding meshed items are also moved if not needed at + their original position. Notes ----- - Use this command to specify the target segment shapes for the rigid - target surface associated with surface-to-surface contact (TARGE169, - CONTA171, CONTA172 (2-D) and TARGE170, CONTA173, CONTA174 (3-D)), 3-D - beam-to-beam contact (TARGE170 and CONTA176), and 3-D line-to-surface - contact (TARGE170 and CONTA177). Once you issue TSHAP, all subsequent - target elements generated via the direct element generation technique - will have the same shape, until you issue TSHAP again with a different - Shape value. + Transfers a pattern of keypoints (and corresponding mesh) from one + coordinate system to another (see analogous node transfer command, + TRANSFER). The MAT, TYPE, REAL, and ESYS attributes are based upon the + keypoints in the pattern and not upon the current settings. Coordinate + systems may be translated and rotated relative to each other. Initial + pattern may be generated in any coordinate system. Coordinate values + are interpreted in the active coordinate system and are transferred + directly. Solid modeling in a toroidal coordinate system is not + recommended. """ - command = "TSHAP, %s" % (str(shape)) + command = "KTRAN,%s,%s,%s,%s,%s,%s,%s" % (str(kcnto), str(np1), str(np2), str(ninc), str(kinc), str(noelem), str(imove)) self.RunCommand(command, **kwargs) - def Lcoper(self, oper="", lc_ase1="", oper2="", lc_ase2="", **kwargs): + def Vglue(self, nv1="", nv2="", nv3="", nv4="", nv5="", nv6="", nv7="", + nv8="", nv9="", **kwargs): """ - APDL Command: LCOPER + APDL Command: VGLUE - Performs load case operations. + Generates new volumes by "gluing" volumes. Parameters ---------- - oper - Valid operations are: - - ZERO - Zero results portion of database (LCASE1 ignored). - - SQUA - Square database values (LCASE1 ignored). - - SQRT - Square root of database (absolute) values (LCASE1 ignored). - - LPRIN - Recalculate line element principal stresses (LCASE1 ignored). Stresses are as - shown for the NMISC items of the ETABLE command for the - specific line element type. + nv1, nv2, nv3, . . . , nv9 + Numbers of the volumes to be glued. If NV1 = ALL, all selected + volumes will be glued (NV2 to NV9 will be ignored). If NV1 = 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 NV1. - ADD - Add LCASE1 to database values. + Notes + ----- + Use of the VGLUE command generates new volumes by "gluing" input + volumes. The glue operation redefines the input volumes so that they + share areas along their common boundaries. The new volumes encompass + the same geometry as the original volumes. This operation is only + valid if the intersections of the input volumes are areas along the + boundaries of those volumes. See the Modeling and Meshing Guide for an + illustration. See the BOPTN command for an explanation of the options + available to Boolean operations. Element attributes and solid model + boundary conditions assigned to the original entities will not be + transferred to the new entities generated. - SUB - Subtract LCASE1 from database values. + The VGLUE command results in the merging of areas, lines, and keypoints + at the common volume boundaries. The areas, lines, and keypoints of the + lower numbered volume will be kept. This means one must be aware of + volume numbering when multiple VGLUE commands are applied to avoid any + "ungluing" of geometry. - SRSS - Square root of the sum of the squares of database and LCASE1. + """ + command = "VGLUE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nv1), str(nv2), str(nv3), str(nv4), str(nv5), str(nv6), str(nv7), str(nv8), str(nv9)) + self.RunCommand(command, **kwargs) - MIN - Compare and save in database the algebraic minimum of database and LCASE1. + def Csys(self, kcn="", **kwargs): + """ + APDL Command: CSYS - MAX - Compare and save in database the algebraic maximum of database and LCASE1. + Activates a previously defined coordinate system. - ABMN - Compare and save in database the absolute minimum of database and LCASE1 (based - on magnitudes, then apply the corresponding sign). + Parameters + ---------- + kcn + Specifies the active coordinate system, as follows: - ABMX - Compare and save in database the absolute maximum of database and LCASE1 (based - on magnitudes, then apply the corresponding sign). + 0 (default) - Cartesian - lcase1 - First load case in the operation (if any). See LCNO of the LCDEF - command. If ALL, repeat operations using all selected load cases - [LCSEL]. + 1 - Cylindrical with global Cartesian Z as the axis of rotation - oper2 - Valid operations are: + 2 - Spherical - MULT - Multiplication: LCASE1*LCASE2 + 4 or WP - Working Plane - CPXMAX - This option does a phase angle sweep to calculate the maximum of derived - stresses and equivalent strain for a complex solution - where LCASE1 is the real part and LCASE2 is the imaginary - part. The Oper field is not applicable with this option. - Also, the LCABS and SUMTYPE commands have no effect on - this option. The value of S3 will be a minimum. This - option does not apply to derived displacement amplitude - (USUM). Load case writing (LCWRITE) is not supported. See - POST1 and POST26 – Complex Results Postprocessing in the - Mechanical APDL Theory Reference for more information. + 5 - Cylindrical with global Cartesian Y as the axis of rotation - lcase2 - Second load case. Used only with Oper2 operations. + 11 or greater - Any previously defined local coordinate system Notes ----- - LCOPER operates on the database and one or two load cases according to: + The CSYS command activates a previously defined coordinate system for + geometry input and generation. The LOCAL, CLOCAL, CS, CSKP, and CSWPLA + commands also activate coordinate systems as they are defined. To set + the active element coordinate system attribute pointer, issue the ESYS + command. - Database = Database Oper (LCASE1 Oper2 LCASE2) + The active coordinate system for files created via the CDWRITE command + is Cartesian (CSYS,0). - where operations Oper and Oper2 are as described above. Absolute - values and scale factors may be applied to the load cases before the - operations [LCABS, LCFACT]. If LCASE1 is not specified, only operation - Oper is performed on the current database. If LCASE2 is specified, - operation Oper2 will be performed before operation Oper. If LCASE2 is - not specified, operation Oper2 is ignored. Solution items not - contained [OUTRES] in either the database or the applicable load cases - will result in a null item during a load case operation. Harmonic - element data read from a result file load case are processed at zero - degrees. All load case combinations are performed in the solution - coordinate system, and the data resulting from load case combinations - are stored in the solution coordinate system. The resultant data are - then transformed to the active results coordinate system [RSYS] when - listed or displayed. Except in the cases of Oper = LPRIN, ADD, or SUB, - you must use RSYS,SOLU to list or display, and in the case of layered - elements, the layer (LAYER) must also be specified. + This command is valid in any processor. - Use the FORCE command prior to any combination operation to correctly - combine the requested force type. + CSYS,4 (or CSYS,WP) activates working plane tracking, which updates the + coordinate system to follow working plane changes. To deactivate + working plane tracking, activate any other coordinate system (for + example, CSYS,0 or CSYS,11). - If Oper2=CPXMAX, the derived stresses and strain calculation do not - apply to line elements. + CSYS,5 is a cylindrical coordinate system with global Cartesian Y as + the axis. The local x, y and z axes are radial, θ, and axial + (respectively). The R-Theta plane is the global X-Z plane, as it is for + an axisymmetric model. Thus, at θ = 0.0, CSYS,5 has a specific + orientation: the local x is in the global +X direction, local y is in + the global -Z direction, and local z (the cylindrical axis) is in the + global +Y direction. """ - command = "LCOPER, %s, %s, %s, %s" % (str(oper), str(lc_ase1), str(oper2), str(lc_ase2)) + command = "CSYS,%s" % (str(kcn)) self.RunCommand(command, **kwargs) - def Rmuse(self, option="", usefil="", **kwargs): + def Ekill(self, elem="", **kwargs): """ - APDL Command: RMUSE + APDL Command: EKILL - Activates ROM use pass for ROM elements. + Deactivates an element (for the birth and death capability). Parameters ---------- - option - Type of data to be plotted. Valid types are: - - 1 or "ON" - Activates ROM use pass. - - usefil - Name of the reduced displacement file (.rdsp) created by the ROM - Use Pass (required field only for the Expansion Pass). + elem + Element to be deactivated. If ALL, deactivate all selected elements + [ESEL]. If ELEM = 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 ELEM. Notes ----- - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Deactivates the specified element when the birth and death capability + is being used. A deactivated element remains in the model but + contributes a near-zero stiffness (or conductivity, etc.) value (ESTIF) + to the overall matrix. Any solution-dependent state variables (such as + stress, plastic strain, creep strain, etc.) are set to zero. + Deactivated elements contribute nothing to the overall mass (or + capacitance, etc.) matrix. + + The element can be reactivated with the EALIVE command. + + ANSYS, Inc. recommends using element deactivation/reactivation + (EKILL/EALIVE) for linear elastic materials only. For all other + materials, validate the results carefully before using them. + + This command is also valid in PREP7. """ - command = "RMUSE, %s, %s" % (str(option), str(usefil)) + command = "EKILL,%s" % (str(elem)) self.RunCommand(command, **kwargs) - def Mpchg(self, mat="", elem="", **kwargs): + def Gauge(self, opt="", freq="", **kwargs): """ - APDL Command: MPCHG + APDL Command: GAUGE - Changes the material number attribute of an element. + Gauges the problem domain for a magnetic edge-element formulation. Parameters ---------- - mat - Assign this material number to the element. Material numbers are - defined with the material property commands [MP]. - - elem - Element for material change. If ALL, change materials for all - selected elements [ESEL]. + opt + Type of gauging to be performed: - Notes - ----- - Changes the material number of the specified element. Between load - steps in SOLUTION, material properties cannot be changed from linear to - nonlinear, or from one nonlinear option to another. + ON - Perform tree gauging of the edge values (default). - If you change from one MKIN model to another MKIN model, the different - MKIN models need to have the same number of data points. This - requirement also applies if you change from one KINH model to another - KINH model, or from one CHABOCHE model to another CHABOCHE model. + OFF - Gauging is off. (You must specify custom gauging via APDL specifications.) - """ - command = "MPCHG, %s, %s" % (str(mat), str(elem)) - self.RunCommand(command, **kwargs) + STAT - Gauging status (returns the current Opt and FREQ values) - def Arsym(self, ncomp="", na1="", na2="", ninc="", kinc="", noelem="", - imove="", **kwargs): - """ - APDL Command: ARSYM + freq + The following options are valid when Opt = ON: - Generates areas from an area pattern by symmetry reflection. + 0 - Generate tree-gauging information once, at the first load step. Gauging data is + retained for subsequent load steps. (This behavior is the + default.) - Parameters - ---------- - ncomp - Symmetry key: + 1 - Repeat gauging for each load step. Rewrites the gauging information at each + load step to accommodate changing boundary conditions on the AZ + degree of freedom (for example, adding or deleting AZ + constraints via the D or CE commands). - X - X symmetry (default). + Notes + ----- + The GAUGE command controls the tree-gauging procedure required for + electromagnetic analyses using an edge-based magnetic formulation + (elements SOLID236 and SOLID237). - Y - Y symmetry. + Gauging occurs at the solver level for each solution (SOLVE). It sets + additional zero constraints on the edge-flux degrees of freedom AZ to + produce a unique solution; the additional constraints are removed after + solution. - Z - Z symmetry. + Use the FREQ option to specify how the command generates gauging + information for multiple load steps. - na1, na2, ninc - Reflect areas from pattern beginning with NA1 to NA2 (defaults to - NA1) in steps of NINC (defaults to 1). If NA1 = ALL, NA2 and NINC - are ignored and the pattern is all selected areas [ASEL]. If Ncomp - = P, use graphical picking to specify areas and ignore NL2 and - NINC. A component name may also be substituted for NA1 (NA2 and - NINC are ignored). + Access the gauging information via the _TGAUGE component of gauged + nodes. The program creates and uses this component internally to remove + and reapply the AZ constraints required by gauging. If FREQ = 0, the + _TGAUGE component is created at the first load step and is used to + reapply the tree gauge constraints at subsequent load steps. If FREQ = + 1, the tree-gauging information and the _TGAUGE component are generated + at every load step - kinc - Keypoint increment between sets. If zero, the lowest available - keypoint numbers are assigned [NUMSTR]. + If gauging is turned off (GAUGE,OFF), you must specify your own gauging + at the APDL level. - noelem - Specifies whether nodes and elements are also to be generated: + This command is also valid in PREP7. - 0 - Generate nodes and elements associated with the original areas, if they exist. + """ + command = "GAUGE,%s,%s" % (str(opt), str(freq)) + self.RunCommand(command, **kwargs) - 1 - Do not generate nodes and elements. + def Gcmd(self, wn="", lab1="", lab2="", lab3="", lab4="", lab5="", lab6="", + lab7="", lab8="", lab9="", lab10="", lab11="", lab12="", + **kwargs): + """ + APDL Command: /GCMD - imove - Specifies whether areas will be moved or newly defined: + Controls the type of element or graph display used for the GPLOT + command. - 0 - Generate additional areas. + Parameters + ---------- + wn + Window number (or ALL) to which this command applies (defaults to + 1) - 1 - Move original areas to new position retaining the same keypoint numbers (KINC - and NOELEM are ignored). Valid only if the old areas are no - longer needed at their original positions. Corresponding - meshed items are also moved if not needed at their original - position. + lab1, lab2, lab3, . . . , lab12 + Command labels (for example, PLNSOL,S,X) Notes ----- - Generates a reflected set of areas (and their corresponding keypoints, - lines and mesh) from a given area pattern by a symmetry reflection (see - analogous node symmetry command, NSYM). The MAT, TYPE, REAL, ESYS, and - SECNUM attributes are based upon the areas in the pattern and not upon - the current settings. Reflection is done in the active coordinate - system by changing a particular coordinate sign. The active coordinate - system must be a Cartesian system. Areas in the pattern may have been - generated in any coordinate system. However, solid modeling in a - toroidal coordinate system is not recommended. Areas are generated as - described in the AGEN command. + This command controls the type of element or graph display that appears + when you issue the GPLOT command when the /GTYPE,,(ELEM or GRPH) entity + type is active. If you have multiple plotting windows enabled, you can + also use /GCMD to select one window when you wish to edit its contents. - See the ESYM command for additional information about symmetry - elements. + For related information, see the descriptions of the GPLOT and /GTYPE + commands in this manual. + + This command is valid in any processor. """ - command = "ARSYM, %s, %s, %s, %s, %s, %s, %s" % (str(ncomp), str(na1), str(na2), str(ninc), str(kinc), str(noelem), str(imove)) + command = "/GCMD,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(wn), str(lab1), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6), str(lab7), str(lab8), str(lab9), str(lab10), str(lab11), str(lab12)) self.RunCommand(command, **kwargs) - def Mprint(self, key="", **kwargs): + def Cedele(self, neqn1="", neqn2="", ninc="", nsel="", **kwargs): """ - APDL Command: MPRINT + APDL Command: CEDELE - Specifies that radiation matrices are to be printed. + Deletes constraint equations. Parameters ---------- - key - Print key: + neqn1, neqn2, ninc + Delete constraint equations from NEQN1 to NEQN2 (defaults to NEQN1) + in steps of NINC (defaults to 1). If NEQN1 = ALL, NEQN2 and NINC + will be ignored all constraint equations will be deleted. - 0 - Do not print matrices. + nsel + Additional node selection control: - 1 - Print matrices. + ANY  - Delete equation set if any of the selected nodes are in the set (default). - Notes - ----- - Specifies that the element and node radiation matrices are to be - printed when the WRITE command is issued. If KEY = 1, form factor - information for each element will also be printed. + ALL  - Delete equation set only if all of the selected nodes are in the set. """ - command = "MPRINT, %s" % (str(key)) + command = "CEDELE,%s,%s,%s,%s" % (str(neqn1), str(neqn2), str(ninc), str(nsel)) self.RunCommand(command, **kwargs) - def Sfadele(self, area="", lkey="", lab="", **kwargs): + def Nora(self, area="", ndir="", **kwargs): """ - APDL Command: SFADELE + APDL Command: NORA - Deletes surface loads from areas. + Rotates nodal coordinate systems to surface normal Parameters ---------- area - Area to which surface load deletion applies. If ALL, delete load - from all selected areas [ASEL]. If AREA = P, graphical picking is - enabled and all remaining command fields are ignored (valid only in - the GUI). A component name may be substituted for AREA. + The area number containing the nodes to be rotated to their + normals. If ALL, applies to all selected areas (see the ASEL + command). If AREA = P, graphical picking is enabled. - lkey - Load key associated with surface load (defaults to 1). See the SFA - command for details. - - lab - Valid surface load label. If ALL, use all appropriate labels. See - the SFA command for labels. + ndir + Direction of the normal. If NDIR = -1, the nodal coordinate system + is rotated in the opposite direction of the surface normal. The + default is the same direction as the surface normal. Notes ----- - Deletes surface loads (and all corresponding finite element loads) from - selected areas. + The NORA command rotates the X-axis of the nodal coordinate system to + the surface normal. The rotated nodal coordinate systems may be + displayed through the /PSYMB command. In case multiple areas are + selected, there could be conflicts at the boundaries. If a node belongs + to two areas that have a different normal, its nodal coordinate system + will be rotated to the area normal with the lowest number. You can use + the AREVERSE and ANORM commands to rotate the surface normals in the + appropriate direction. Keep the following in mind when using the NORA + command: - This command is also valid in PREP7. + If the nodal coordinate system is parallel to the global Cartesian + system, it is not displayed through the /PSYMB command. + + Previously specified rotation on the selected nodes are overridden. """ - command = "SFADELE, %s, %s, %s" % (str(area), str(lkey), str(lab)) + command = "NORA,%s,%s" % (str(area), str(ndir)) self.RunCommand(command, **kwargs) - def Edterm(self, option="", lab="", num="", stop="", maxc="", minc="", - **kwargs): + def Numvar(self, nv="", **kwargs): """ - APDL Command: EDTERM + APDL Command: NUMVAR - Specifies termination criteria for an explicit dynamic analysis. + Specifies the number of variables allowed in POST26. Parameters ---------- - option - Label identifying the option to be performed. + nv + Allow storage for NV variables. 200 maximum are allowed. Defaults + to 10 (except for an explicit dynamics analysis, which defaults to + 30). TIME (variable 1) should also be included in this number. - ADD - Define termination criteria (default). + Notes + ----- + Specifies the number of variables allowed for data read from the + results file and for data resulting from an operation (if any). For + efficiency, NV should not be larger than necessary. NV cannot be + changed after data storage begins. - DELE - Delete termination criteria. + """ + command = "NUMVAR,%s" % (str(nv)) + self.RunCommand(command, **kwargs) - LIST - List termination criteria. + def Fcum(self, oper="", rfact="", ifact="", **kwargs): + """ + APDL Command: FCUM - lab - Label identifying the type of termination (no default). + Specifies that force loads are to be accumulated. - NODE - Terminate solution based on nodal point coordinates. The analysis terminates - when the current position of the specified node reaches - either the maximum or minimum coordinate value (STOP = 1, 2, - or 3), or when the node picks up force from any contact - surface (STOP = 4). + Parameters + ---------- + oper + Accumulation key: - PART - Terminate solution based on rigid body (part) displacements. The analysis - terminates when the displacement of the center of mass of - the specified rigid body reaches either the maximum or - minimum value (STOP = 1, 2, or 3), or when the displacement - magnitude of the center of mass is exceeded (STOP = 4). + REPL - Subsequent values replace the previous values (default). - num - Node number (if Lab = NODE) or rigid body Part ID (if Lab = PART). - (No default.) + ADD - Subsequent values are added to the previous values. - stop - Criterion for stopping the solution (no default). + IGNO - Subsequent values are ignored. - 1 - Global X-direction. + rfact + Scale factor for the real component. Zero (or blank) defaults to + 1.0. Use a small number for a zero scale factor. - 2 - Global Y-direction. + ifact + Scale factor for the imaginary component. Zero (or blank) defaults + to 1.0. Use a small number for a zero scale factor. - 3 - Global Z-direction. + Notes + ----- + Allows repeated force load (force, heat flow, etc.) values to be + replaced, added, or ignored. Operations apply to the selected nodes + [NSEL]. and the force labels corresponding to the selected force labels + [DOFSEL]. The operations occur when the next force specifications are + defined. For example, issuing the command F,1,FX,250 after a previous + F,1,FX,200 causes the current value of the force on node 1 in the + x-direction to be 450 with the add operation, 250 with the replace + operation, or 200 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 force of 700. Scale factors are applied even if no + previous values exist. Issue FCUM,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. - 4 - For Lab = NODE, stop the solution if contact occurs. For Lab = PART, stop the - solution if the displacement magnitude is exceeded for the - specified rigid body (use MAXC to define the displacement - magnitude). + Note:: : FE boundary conditions may still be overwritten by existing + solid model boundary conditions if a subsequent boundary condition + transfer occurs. - maxc - Maximum (most positive) coordinate value (Lab = NODE) or - displacement (Lab = PART). MAXC defaults to 1.0e21 + FCUM does not work for tabular boundary conditions. - minc - Minimum (most negative) coordinate value (Lab = NODE) or - displacement (Lab = PART). MINC defaults to -1.0e21. + This command is also valid in PREP7. - Notes - ----- - You may specify multiple termination criteria using EDTERM; the - solution will terminate when any one of the criteria is satisfied, or - when the solution end time (specified on the TIME command) is reached. + """ + command = "FCUM,%s,%s,%s" % (str(oper), str(rfact), str(ifact)) + self.RunCommand(command, **kwargs) - In an explicit dynamic small restart analysis (EDSTART,2) or full - restart analysis (EDSTART,3), the termination criteria set in the - previous analysis (the original analysis or the previous restart) are - carried over to the restart. If the previous analysis terminated due to - one of these criteria, that specific criterion must be modified so that - it will not cause the restart to terminate prematurely. In particular, - if a termination condition based on nodal contact (Lab = NODE, STOP = - 4) is satisfied, this condition must be deleted and replaced with a - condition based on nodal coordinates for that same node. (If a - condition based on nodal coordinates already exists for that node, the - replacement is not necessary.) In the restart, the number of - termination criteria specified using EDTERM cannot exceed a maximum of - 10 or the number specified in the original analysis. + def Trplis(self, ntrp1="", ntrp2="", trpinc="", opt="", **kwargs): + """ + APDL Command: TRPLIS - Note that the termination criteria set by EDTERM are not active during - dynamic relaxation (EDDRELAX). + Lists the particle flow or charged particle trace points. - This command is also valid in PREP7. + Parameters + ---------- + ntrp1, ntrp2, trpinc + List points from NTRP1 to NTRP2 (defaults to NTRP1) in steps of + TRPINC (defaults to 1). If NTRP1 = ALL, NTRP2 and TRPINC are + ignored and all trace points are listed. If NTRP1 = P, graphical + picking is enabled and all remaining command fields are ignored + (valid only in the GUI). + + opt + Opt = LOC lists the trace point number location (X, Y, Z). Default. + + Notes + ----- + Lists the particle flow or charged particle trace points in the active + display coordinate system [DSYS]. Trace points are defined with the + TRPOIN command. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "EDTERM, %s, %s, %s, %s, %s, %s" % (str(option), str(lab), str(num), str(stop), str(maxc), str(minc)) + command = "TRPLIS,%s,%s,%s,%s" % (str(ntrp1), str(ntrp2), str(trpinc), str(opt)) self.RunCommand(command, **kwargs) - def R(self, nset="", r1="", r2="", r3="", r4="", r5="", r6="", **kwargs): + def Sed(self, sedx="", sedy="", sedz="", cname="", **kwargs): """ - APDL Command: R + APDL Command: SED - Defines the element real constants. + Defines the excitation direction for response spectrum and PSD + analyses. Parameters ---------- - nset - Real constant set identification number (arbitrary). If same as a - previous set number, set is redefined. Set number relates to that - defined with the element [REAL]. Note that the GUI automatically - assigns this value. + sedx, sedy, sedz + Global Cartesian coordinates of a point that defines a line + (through the origin) corresponding to the excitation direction. + For example: 0.0, 1.0, 0.0 defines global Y as the spectrum + direction. - r1, r2, r3, . . . , r6 - Real constant values (interpreted as area, moment of inertia, - thickness, etc., as required for the particular element type using - this set), or table names for tabular input of boundary conditions. - Use RMORE command if more than six real constants per set are to be - input. + cname + The component name corresponding to the group of excited nodes. + Only applies to base excitation multi-point response spectrum + analysis (SPOPT, MPRS) and power spectral density analysis (SPOPT, + PSD). Defaults to no component. Notes ----- - Defines the element real constants. The real constants required for an - element are shown in the Input Summary of each element description in - the Element Reference. Constants must be input in the same order as - shown in that table. If more than the required number of element real - constants are specified in a set, only those required are used. If - fewer than the required number are specified, zero values are assumed - for the unspecified constants. - - If using table inputs (SURF151, SURF152, FLUID116, CONTA171, CONTA172, - CONTA173, CONTA174, and CONTA175 only), enclose the table name in % - signs (e.g., %tabname%). - - Specify NSET = GCN to define real constants for real constant sets that - were previously assigned by the GCDEF command (that is, real constants - used in general contact interactions). + In single-point response spectrum analysis (SPOPT,SPRS), the excitation + direction without rocking (ROCK) is normalized to one so that the SEDX, + SEDY, and SEDZ values do not scale the spectrum. The excitation + direction with rocking is not normalized. The SEDX, SEDY, and SEDZ + values must be consistent with the OMX, OMY, and OMZ values on the ROCK + command. The calculated direction then scales the spectrum. For more + information, see Participation Factors and Mode Coefficients. - When copying real constants to new sets, ANSYS, Inc. recommends that - you use the command input. If you do use the GUI, restrict the real - constant copy to only the first six real constants (real constants - seven and greater will be incorrect for both the master and copy set). + In multi-point response spectrum analysis (SPOPT,MPRS) and power + spectral density analysis (SPOPT,PSD), the excitation direction is + normalized to one so that the SEDX, SEDY, and SEDZ values do not scale + the spectrum. The component name (Cname) is required. The constraints + corresponding to the excitation direction are applied to the component + nodes. - This command is also valid in SOLUTION. + This command is also valid in PREP7. """ - command = "R, %s, %s, %s, %s, %s, %s, %s" % (str(nset), str(r1), str(r2), str(r3), str(r4), str(r5), str(r6)) + command = "SED,%s,%s,%s,%s" % (str(sedx), str(sedy), str(sedz), str(cname)) self.RunCommand(command, **kwargs) - def Moper(self, parr="", par1="", oper="", par2="", par3="", kdim="", - kout="", limit="", **kwargs): + def Ewrite(self, fname="", ext="", kappnd="", format="", **kwargs): """ - APDL Command: *MOPER + APDL Command: EWRITE - Performs matrix operations on array parameter matrices. + Writes elements to a file. Parameters ---------- - parr - The name of the resulting array parameter matrix. See *SET for - name restrictions. - - par1 - First array parameter matrix input to the operation. For Oper = - MAP, this is an N x 3 array of coordinate locations at which to - interpolate. ParR will then be an N(out) x M array containing the - interpolated values. - - oper - Matrix operations: + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - (*MOPER, ParR, Par1, INVERT) - Square matrix invert: Inverts the n x n matrix in Par1 into ParR. The matrix - must be well conditioned. + ext + Filename extension (eight-character maximum). - Warning:Non-independent or ill-conditioned equations can cause erroneous results. - For large matrices, use the APDL Math operation *LSFACTOR for efficiency (see - APDL Math). + -- + Unused field. - (*MOPER, ParR, Par1, MULT, Par2) - Matrix multiply: Multiplies Par1 by Par2. The number of rows of Par2 must - equal the number of columns of Par1 for the - operation. If Par2 is input with a number of rows - greater than the number of columns of Par1, - matrices are still multiplied. However, the - operation only uses a number of rows of Par2 - equal to the number of columns of Par1. + kappnd + Append key: - (*MOPER, ParR, Par1, COVAR, Par2) - Covariance: The measure of association between two columns of the input matrix - (Par1). Par1, of size m runs (rows) by n data - (columns) is first processed to produce a row - vector containing the mean of each column which - is transposed to a column vector (Par2) of n - array elements. The Par1 and Par2 operation then - produces a resulting n x n matrix (ParR) of - covariances (with the variances as the diagonal - terms). + 0 - Rewind file before the write operation. - (*MOPER, ParR, Par1, CORR, Par2) - Correlation: The correlation coefficient between two variables. The input - matrix (Par1), of size m runs (rows) by n data - (columns), is first processed to produce a row - vector containing the mean of each column which - is then transposed to a column vector (Par2) of n - array elements. The Par1 and Par2 operation then - produces a resulting n x n matrix (ParR) of - correlation coefficients (with a value of 1.0 for - the diagonal terms). + 1 - Append data to the end of the existing file. - (*MOPER, ParR, Par1, SOLV, Par2) - Solution of simultaneous equations: Solves the set of n equations of n terms - of the form an1x1 + an2x2 + ... + annxn = bn - where Par1 contains the matrix of a-coefficients, - Par2 the vector(s) of b-values, and ParR the - vector(s) of x-results. Par1 must be a square - matrix. The equations must be linear, - independent, and well conditioned. + format + Format key: - Warning:Non-independent or ill-conditioned equations can cause erroneous results. - For large matrices, use the APDL Math operation *LSFACTOR for efficiency (see - APDL Math). + SHORT - I6 format (the default). - (*MOPER, ParR, Par1, SORT, Par2, n1, n2, n3) - Matrix sort: Sorts matrix Par1 according to sort vector Par2 and places the - result back in Par1. Rows of Par1 are moved to - the corresponding positions indicated by the - values of Par2. Par2 may be a column of Par1 (in - which case it will also be reordered). - Alternatively, you may specify the column of Par1 - to sort using n1 (leaving Par2 blank). A - secondary sort can be specified by column n2, and - a third sort using n3. ParR is the vector of - initial row positions (the permutation vector). - Sorting Par1 according to ParR should reproduce - the initial ordering. + LONG - I8 format. - (*MOPER, ParR, Par1, NNEAR, Toler) - Nearest Node: Quickly determine all the nodes within a specified tolerance of a - given array. + Notes + ----- + Writes the selected elements to a file. The write operation is not + necessary in a standard ANSYS run but is provided as convenience to + users wanting a coded element file. If issuing EWRITE from ANSYS to be + used in ANSYS, you must also issue NWRITE to store nodal information + for later use. Only elements having all of their nodes defined (and + selected) are written. Data are written in a coded format. The data + description of each record is: I, J, K, L, M, N, O, P, MAT, TYPE, REAL, + SECNUM, ESYS, IEL, where MAT, TYPE, REAL, and ESYS are attribute + numbers, SECNUM is the beam section number, and IEL is the element + number. - ParR is a vector of the nearest selected nodes, or 0 if no nodes are nearer than Toler. Par1 is the n x 3 array of coordinate locations. Toler defaults to 1 and is limited to the maximum model size. - (*MOPER, ParR, Par1, ENEAR, Toler) + The format is (14I6) if Format is set to SHORT and (14I8) if the Format + is set to LONG, with one element description per record for elements + having eight nodes of less. For elements having more than eight nodes, + nodes nine and above are written on a second record with the same + format. - Nearest Element: Quickly determine the elements with centroids that are within a specified tolerance of the points in a given array. - ParR is a vector of the nearest selected elements, or 0 if no element centroids - are nearer than Toler. Par1 is the n x 3 array of - coordinate locations. + """ + command = "EWRITE,%s,%s,%s,%s" % (str(fname), str(ext), str(kappnd), str(format)) + self.RunCommand(command, **kwargs) - (*MOPER, ParR, Par1, MAP, Par2, Par3, kDim, --, kOut, LIMIT) - Maps the results from another program onto your ANSYS finite element model. For - example, you can map pressures from a CFD - analysis onto your model for a structural - analysis. + def User(self, wn="", **kwargs): + """ + APDL Command: /USER - When you map results, the subsequent Par2 and Par3 arguments define your input values and their locations, and the arguments that follow determine the search area and interpolation schemes (see below). - For Oper = MAP, output points are incorrect if they are not within the - boundaries (area or volume) set via the specified - input points. Also, calculations for out-of-bound - points require much more processing time than do - points that are within bounds. + Conveniently resets /FOCUS and /DIST to USER. - par2 - Second array parameter matrix input to the operation. For the - COVAR and CORR operations, this parameter must exist as a - dimensioned array vector without specified values since its values - (means) will be calculated as part of the operations. For MAP, this - will be an {N(in) x M} array of values to be interpolated, where - N(in) is the number of points to interpolate from, and M is the - number of values at each point. For the ENEAR and NNEAR operations, - this parameter specifies the tolerance for the search. + Parameters + ---------- + wn + Window number (or ALL) to which command applies (defaults to 1). - par3 - Third array parameter, used for Oper = MAP. This is an N x 3 array - of coordinate locations corresponding to the values in Par2. + Notes + ----- + Conveniently resets scale parameters to USER on the /FOCUS and /DIST + commands. Scale parameters will be internally respecified to those + used for the last display. Convenient when the last scale parameters + were automatically calculated. User specified parameters hold until + changed or removed [/AUTO]. Parameters may be reset on the individual + commands after this command has been issued. - kdim - Interpolation criteria; used for Oper = MAP: + This command is valid in any processor. - -- - Unused field + """ + command = "/USER,%s" % (str(wn)) + self.RunCommand(command, **kwargs) - kout - Outside region results; used for Oper = MAP + def Define(self, **kwargs): + """ + APDL Command: DEFINE - limit - Number of nearby nodes considered for interpolation (Oper = MAP). - Minimum = 5, default = 20. Lower values will reduce processing - time, however, some distorted or irregular meshes will require a - higher LIMIT value to encounter three nodes for triangulation. + Specifies "Data definition settings" as the subsequent status topic. Notes ----- - Each starting array element number must be defined for each array - parameter matrix if it does not start at the first location. For - example, *MOPER,A(2,3),B(1,4),MULT,C(1,5) multiplies submatrix B - (starting at element (1,4)) by submatrix C (starting at element (1,5)) - and puts the result in matrix A (starting at element (2,3)). - - The diagonal corner elements for each submatrix must be defined: the - upper left corner by the array starting element (on this command), the - lower right corner by the current values from the *VCOL and *VLEN - commands. The default values are the (1,1) element and the last - element in the matrix. No operations progress across matrix planes (in - the 3rd dimension). Absolute values and scale factors may be applied - to all parameters [*VABS, *VFACT]. Results may be cumulative [*VCUM]. - Array elements should not be skipped with the *VMASK and the NINC - value of the *VLEN specifications. See the *VOPER command for details. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - This command is valid in any processor. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "*MOPER, %s, %s, %s, %s, %s, %s, %s, %s" % (str(parr), str(par1), str(oper), str(par2), str(par3), str(kdim), str(kout), str(limit)) + command = "DEFINE," % () self.RunCommand(command, **kwargs) - def Fft(self, type="", inputdata="", outputdata="", dim1="", dim2="", - resultformat="", **kwargs): + def Kcalc(self, kplan="", mat="", kcsym="", klocpr="", **kwargs): """ - APDL Command: *FFT + APDL Command: KCALC - Computes the fast Fourier transformation of a specified matrix or - vector. + Calculates stress intensity factors in fracture mechanics analyses. Parameters ---------- - type - Type of FFT transformation: + kplan + Key to indicate stress state for calculation of stress intensity + factors: - Forward FFT computation (default). - Backward FFT computation. + 0 - Plane strain and axisymmetric condition (default). - inputdata - Name of matrix or vector for which the FFT will be computed. This - can be a dense matrix (created by the *DMAT command) or a vector - (created by the *VEC command). Data can be real or complex values. - There is no default value for this argument. + 1 - Plane stress condition. - outputdata - Name of matrix or vector where the FFT results will be stored. The - type of this argument must be consistent with InputData (see table - below). There is no default value for this argument. + mat + Material number used in the extrapolation (defaults to 1). - dim1 - The number of terms to consider for a vector, or the number of rows - for a matrix. Defaults to the whole input vector or all the rows of - the matrix. + kcsym + Symmetry key: - dim2 - The number of columns to consider for a matrix. Defaults to all the - columns of the matrix. (Valid only for matrices.) + 0 or 1  - Half-crack model with symmetry boundary conditions [DSYM] in the crack-tip + coordinate system. KII = KIII = 0. Three nodes are + required on the path. - resultformat - Specifies the result format: + 2 - Like 1 except with antisymmetric boundary conditions (KI = 0). - Returns the full result. That is, the result matches the dimension specified on this command (DIM1, DIM2). - Returns partial results. For real input data, there is a symmetry in the - results of the Fourier transform as some - coefficients are conjugated. The partial format - uses this symmetry to optimize the storage of the - results. (Valid only for real data.) + 3 - Full-crack model (both faces). Five nodes are required on the path (one at the + tip and two on each face). + + klocpr + Local displacements print key: + + 0 - Do not print local crack-tip displacements. + + 1 - Print local displacements used in the extrapolation technique. Notes ----- - In the example that follows, the fast Fourier transformation is used to - filter frequencies from a noisy input signal. + Calculates the stress intensity factors (KI, KII, and KIII) associated + with homogeneous isotropic linear elastic fracture mechanics. A + displacement extrapolation method is used in the calculation (see POST1 + - Crack Analysis in the Mechanical APDL Theory Reference). This method + assumes that the displacement calculations are for the plane strain + state. If the displacement calculations are performed using a plane + stress formulation, the calculation of the stress intensity factors can + be converted to the plane strain state by using KPLAN = 1. ANSYS Uses + minor Poisson's ratio (MP,NUXY) for the stress intensity factor + calculation, therefore the material's Poisson's ratio must be defined + using MP,NUXY command. The PATH and PPATH commands must be used to + define a path with the crack face nodes (NODE1 at the crack tip, NODE2 + and NODE3 on one face, NODE4 and NODE5 on the other (optional) face). + A crack-tip coordinate system, having x parallel to the crack face (and + perpendicular to the crack front) and y perpendicular to the crack + face, must be the active RSYS and CSYS before KCALC is issued. """ - command = "*FFT, %s, %s, %s, %s, %s, %s" % (str(type), str(inputdata), str(outputdata), str(dim1), str(dim2), str(resultformat)) + command = "KCALC,%s,%s,%s,%s" % (str(kplan), str(mat), str(kcsym), str(klocpr)) self.RunCommand(command, **kwargs) - def Output(self, fname="", ext="", loc="", **kwargs): + def V(self, p1="", p2="", p3="", p4="", p5="", p6="", p7="", p8="", + **kwargs): """ - APDL Command: /OUTPUT + APDL Command: V - Redirects text output to a file or to the screen. + Defines a volume through keypoints. Parameters ---------- - fname - Filename and directory path (248 character maximum, including - directory) to which text output will be redirected (defaults to - Jobname if Ext is specified). For interactive runs, Fname = TERM - (or blank) redirects output to the screen. For batch runs, Fname = - blank (with all remaining command arguments blank) redirects output - to the default system output file. + p1 + Keypoint defining starting corner of volume. If P1 = P, graphical + picking is enabled and all remaining command fields are ignored + (valid only in the GUI). - ext - Filename extension (eight-character maximum). + p2 + Keypoint defining second corner of volume. - -- - Unused field. + p3 + Keypoint defining third corner of volume. - loc - Location within a file to which output will be written: + p4 + Keypoint defining fourth corner of volume. - (blank) - Output is written starting at the top of the file (default). + p5 + Keypoint defining fifth corner of volume. - APPEND - Output is appended to the existing file. + p6 + Keypoint defining sixth corner of volume. + + p7 + Keypoint defining seventh corner of volume. + + p8 + Keypoint defining eighth corner of volume. Notes ----- - Text output includes responses to every command and GUI function, - notes, warnings, errors, and other informational messages. Upon - execution of /OUTPUT,Fname, Ext, ..., all subsequent text output is - redirected to the file Fname.Ext. To redirect output back to the - default location, issue /OUTPUT (no arguments). + Defines a volume (and its corresponding lines and areas) through eight + (or fewer) existing keypoints. Keypoints must be input in a continuous + order. The order of the keypoints should be around the bottom and then + the top. Missing lines are generated "straight" in the active + coordinate system and assigned the lowest available numbers [NUMSTR]. + Missing areas are generated and assigned the lowest available numbers. - Note:: : When using the GUI, output from list operations [NLIST, DLIST, - etc.] is always sent to a list window regardless of the /OUTPUT - setting. The output can then be saved on a file or copied to the - /OUTPUT location using the File menu in the list window. + Solid modeling in a toroidal coordinate system is not recommended. - This command is valid in any processor. + Certain faces may be condensed to a line or point by repeating + keypoints. For example, use V,P1,P2,P3,P3,P5,P6,P7,P7 for a + triangular prism or V,P1,P2,P3,P3,P5,P5,P5,P5 for a tetrahedron. + + Using keypoints to produce partial sections in CSYS = 2 can generate + anomalies; check the resulting volumes carefully. """ - command = "/OUTPUT, %s, %s, %s" % (str(fname), str(ext), str(loc)) + command = "V,%s,%s,%s,%s,%s,%s,%s,%s" % (str(p1), str(p2), str(p3), str(p4), str(p5), str(p6), str(p7), str(p8)) self.RunCommand(command, **kwargs) - def M(self, node="", lab1="", nend="", ninc="", lab2="", lab3="", lab4="", - lab5="", lab6="", **kwargs): + def Pri2(self, p51x="", z1="", z2="", **kwargs): """ - APDL Command: M - - Defines master degrees of freedom for superelement generation analyses. - - Parameters - ---------- - node - Node number at which master degree of freedom is defined. If ALL, - define master degrees of freedom at 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. - - lab1 - Valid degree of freedom label. If ALL, use all appropriate labels. - Structural labels: UX, UY, or UZ (displacements); ROTX, ROTY, or - ROTZ (rotations). Thermal labels: TEMP, TBOT, TE2, TE3, . . ., TTOP - (temperature). Electric labels: VOLT (voltage). - - nend, ninc - Define all nodes from NODE to NEND (defaults to NODE) in steps of - NINC (defaults to 1) as master degrees of freedom in the specified - direction. + APDL Command: PRI2 - lab2, lab3, lab4, . . . , lab6 - Additional master degree of freedom labels. The nodes defined are - associated with each label specified. + Creates a polygonal area or a prism volume by vertices (GUI). Notes ----- - Defines master degrees of freedom (MDOF) for superelement generation. - If defined for other analyses, MDOF are ignored. If used in SOLUTION, - this command is valid only within the first load step. - - Repeat M command for additional master degrees of freedom. The limit - for the number of master nodes used is determined by the maximum system - memory available. - - The substructure (ANTYPE,SUBSTR) analysis utilizes the matrix - condensation technique to reduce the structure matrices to those - characterized by a set of master degrees of freedom. - - Master degrees of freedom are identified by a list of nodes and their - nodal directions. The actual degree of freedom directions available - for a particular node depends upon the degrees of freedom associated - with element types (ET) at that node. There must be some mass (or - stress stiffening in the case of the buckling analysis) associated with - each master degree of freedom (except for the VOLT label). The mass - may be due either to the distributed mass of the element or due to - discrete lumped masses at the node. If a master degree of freedom is - specified at a constrained point, it is ignored. If a master degree of - freedom is specified at a coupled node, it should be specified at the - prime node of the coupled set. + Creates a polygonal area or a prism volume using the vertices as input. + This is a command generated by the Graphical User Interface (GUI) and + will appear in the log file (Jobname.LOG) if graphical picking is used. + This command is not intended to be typed in directly in an ANSYS + session (although it can be included in an input file for batch input + or for use with the /INPUT command). - Substructure analysis connection points must be defined as master - degrees of freedom. + For polygons, the PRI2 command will appear in the log file as + PRI2,P51X,0.0,0.0 preceded by FITEM commands that define the vertices + (in global Cartesian coordinates). For prisms, the PRI2 command will + appear in the log file as PRI2,P51X preceded by FITEM commands that + define the vertices and the Z-end of the prism. - This command is also valid in PREP7. + See the RPOLY, POLY, RPRISM, PRISM, and RPR4 commands for other ways to + create polygons and prisms. """ - command = "M, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(node), str(lab1), str(nend), str(ninc), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6)) + command = "PRI2,%s,%s,%s" % (str(p51x), str(z1), str(z2)) self.RunCommand(command, **kwargs) - def Mshcopy(self, keyla="", laptrn="", lacopy="", kcn="", dx="", dy="", - dz="", tol="", low="", high="", **kwargs): + def Expsol(self, lstep="", sbstep="", timfrq="", elcalc="", **kwargs): """ - APDL Command: MSHCOPY + APDL Command: EXPSOL - Simplifies the generation of meshes that have matching node element - patterns on two different line groups (in 2-D) or area groups (3-D). + Specifies the solution to be expanded for mode-superposition analyses + or substructure analyses. Parameters ---------- - keyla - Copy line mesh (default) if LINE, 0 or 1. Copy area mesh if AREA, - or 2. - - laptrn - Meshed line/area to be copied, or a component name containing a - list. If LAPTRN = P, graphical picking is enabled (valid only in - the GUI). - - lacopy - Unmeshed line/area to get copied mesh, or a component name - containing a list. If LACOPY = P, graphical picking is enabled - (valid only in the GUI). - - kcn - In coordinate system KCN, LAPTRN + DX DY DZ = LACOPY. + lstep, sbstep + Expand the solution identified as load step LSTEP and substep + SBSTEP. - dx, dy, dz - Node location increments in the active coordinate system (DR, Dθ, - DZ for cylindrical, DR, Dθ, DΦ for spherical or toroidal). + timfrq + As an alternative to LSTEP and SBSTEP, expand the solution at, or + nearest to, the time value TIMFRQ (for ANTYPE,TRANS or + ANTYPE,SUBSTR) or frequency value TIMFRQ (for ANTYPE,HARMIC). + LSTEP and SBSTEP should be blank. - tol - Tolerance. Defaults to 1.e--4. + elcalc + Element calculation key: - low - Name of low node component to be defined (optional). + YES - Calculate element results, nodal loads, and reaction loads. - high - Name of high node component to be defined (optional). + NO - Do not calculate these items. Notes ----- - Matching meshes are used for rotational (cyclic) symmetry, or for - contact analysis using coupling or node-to-node gap elements. See Using - CPCYC and MSHCOPY Commands in the Modeling and Meshing Guide for more - information. + Specifies the solution to be expanded from analyses that use the mode- + superposition method (ANTYPE,HARMIC or TRANS) or substructuring + (ANTYPE,SUBSTR). Use the NUMEXP command to expand a group of solutions. + + The resulting results file will maintain the same load step, substep, + and time (or frequency) values as the requested solution to be + expanded. + + This command is also valid in PREP7. """ - command = "MSHCOPY, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(keyla), str(laptrn), str(lacopy), str(kcn), str(dx), str(dy), str(dz), str(tol), str(low), str(high)) + command = "EXPSOL,%s,%s,%s,%s" % (str(lstep), str(sbstep), str(timfrq), str(elcalc)) self.RunCommand(command, **kwargs) - def Etype(self, **kwargs): + def Edpl(self, ldnum="", **kwargs): """ - APDL Command: ETYPE + APDL Command: EDPL - Specifies "Element types" as the subsequent status topic. + Plots a time dependent load curve in an explicit dynamic analysis. + + Parameters + ---------- + ldnum + Load number. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + EDPL invokes an ANSYS macro which produces a load vs. time graph for a + load defined with the EDLOAD command. Only one load curve can be + plotted at a time. Use EDLOAD,LIST to obtain a list of loads and + corresponding load numbers. - If entered directly into the program, the STAT command should - immediately follow this command. + This command is also valid in PREP7. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "ETYPE, " % () + command = "EDPL,%s" % (str(ldnum)) self.RunCommand(command, **kwargs) - def Asba(self, na1="", na2="", sepo="", keep1="", keep2="", **kwargs): + def Seltol(self, toler="", **kwargs): """ - APDL Command: ASBA + APDL Command: SELTOL - Subtracts areas from areas. + Sets the tolerance for subsequent select operations. Parameters ---------- - na1 - Area (or areas, if picking is used) to be subtracted from. If ALL, - use all selected areas. Areas specified in this argument are not - available for use in the NA2 argument. If P, graphical picking is - enabled (valid only in the GUI) and remaining fields are ignored. - A component name may also be substituted for NA1. - - na2 - Area (or areas, if picking is used) to subtract. If ALL, use all - selected areas (except those included in the NA1 argument). A - component name may also be substituted for NA2. - - sepo - Behavior if the intersection of the NA1 areas and the NA2 areas is - a line or lines: - - (blank) - The resulting areas will share line(s) where they touch. - - SEPO - The resulting areas will have separate, but coincident line(s) where they - touch. - - keep1 - Specifies whether NA1 areas are to be deleted: - - (blank) - Use the setting of KEEP on the BOPTN command. + toler + Tolerance value. If blank, restores the default tolerance logic. - DELETE - Delete NA1 areas after ASBA operation (override BOPTN command settings). + Notes + ----- + For selects based on non-integer numbers (e.g. coordinates, results, + etc.), items within the range VMIN - Toler and VMAX + Toler are + selected, where VMIN and VMAX are the range values input on the xSEL + commands (ASEL, ESEL, KSEL, LSEL, NSEL, and VSEL). - KEEP - Keep NA1 areas after ASBA operation (override BOPTN command settings). + The default tolerance logic is based on the relative values of VMIN and + VMAX as follows: - keep2 - Specifies whether NA2 areas are to be deleted: + If VMIN = VMAX, Toler = 0.005 x VMIN. - (blank) - Use the setting of KEEP on the BOPTN command. + If VMIN = VMAX = 0.0, Toler = 1.0E-6. - DELETE - Delete NA2 areas after ASBA operation (override BOPTN command settings). + If VMAX ≠ VMIN, Toler = 1.0E-8 x (VMAX-VMIN). - KEEP - Keep NA2 areas after ASBA operation (override BOPTN command settings). + This command is typically used when VMAX-VMIN is very large so that the + computed default tolerance is therefore large and the xSEL commands + selects more than what is desired. - Notes - ----- - Generates new areas by subtracting the regions common to both NA1 and - NA2 areas (the intersection) from the NA1 areas. The intersection can - be an area(s) or line(s). If the intersection is a line and SEPO is - blank, the NA1 area is divided at the line and the resulting areas will - be connected, sharing a common line where they touch. If SEPO is set - to SEPO, NA1 is divided into two unconnected areas with separate lines - where they touch. See Solid Modeling in the Modeling and Meshing Guide - for an illustration. See the BOPTN command for an explanation of the - options available to Boolean operations. Element attributes and solid - model boundary conditions assigned to the original entities will not be - transferred to the new entities generated. ASBA,ALL,ALL will have no - effect since all the areas (in NA1) will be unavailable as NA2 areas. + Toler remains active until respecified by a subsequent SELTOL command. + A SELTOL < blank > resets back to the default Toler logic. """ - command = "ASBA, %s, %s, %s, %s, %s" % (str(na1), str(na2), str(sepo), str(keep1), str(keep2)) + command = "SELTOL,%s" % (str(toler)) self.RunCommand(command, **kwargs) - def Proein(self, name="", extension="", path="", proecomm="", **kwargs): + def Page(self, iline="", ichar="", bline="", bchar="", comma="", **kwargs): """ - APDL Command: ~PROEIN + APDL Command: /PAGE - Transfers a Creo Parametric part into the ANSYS program. + Defines the printout and screen page size. Parameters ---------- - name - The name of the Creo Parametric part to be imported, which cannot - exceed 64 characters in length and must begin with an alphanumeric - character. Special characters such as & - and * and spaces are not - permitted in the part name. + iline + Number of lines (11 minimum) per "page" or screen. Defaults to 24. + Applies to interactive non-GUI to the screen output only. - extension - The general Creo Parametric extension format is prt for parts and - asm for assemblies. + ichar + Number of characters (41 to 132) per line before wraparound. + Defaults to 80. Applies to interactive non-GUI to the screen + output only. - path - Full path name to the directory containing the part. The default is - the current working directory. + bline + Number of lines (11 minimum) per page. Defaults to 56. Applies to + batch mode [/BATCH], diverted [/OUTPUT], or interactive GUI [/MENU] + output. If negative, no page headers are output. - proecomm - The start command for the version of Creo Parametric you are using. - proe1 is the default command. Note that the full path name to the - Creo Parametric command need not be used here if the path had been - included in the PATH variable. The Creo Parametric command name is - set by the PROE_START_CMD162 environment variable. + bchar + Number of characters (41 to 240 (system dependent)) per line before + wraparound. Defaults to 132. Applies to batch mode [/BATCH], + diverted [/OUTPUT], or interactive GUI [/MENU] output. + + comma + Input 1 to specify comma-separated output for node [NLIST] and + element [ELIST] output. Notes ----- - More information on importing Creo Parametric parts is available in - Creo Parametric (formerly Pro/ENGINEER) in the Connection User's Guide. + Defines the printout page size for batch runs and the screen page size + for interactive runs. Applies to the POST1 PRNSOL, PRESOL, PRETAB, + PRRSOL, and PRPATH commands. See the /HEADER command for additional + controls (page ejects, headers, etc.) that affect the amount of + printout. A blank (or out-of-range) value retains the previous + setting. Issue /PAGE,STAT to display the current settings. Issue + /PAGE,DEFA to reset the default specifications. + + This command is valid in any processor. """ - command = "~PROEIN, %s, %s, %s, %s" % (str(name), str(extension), str(path), str(proecomm)) + command = "/PAGE,%s,%s,%s,%s,%s" % (str(iline), str(ichar), str(bline), str(bchar), str(comma)) self.RunCommand(command, **kwargs) - def Nooffset(self, label="", **kwargs): + def Cdopt(self, option="", **kwargs): """ - APDL Command: NOOFFSET + APDL Command: CDOPT - Prevents the CDREAD command from offsetting specified data items + Specifies format to be used for archiving geometry. Parameters ---------- - label - Specifies items not to be offset. - - NODE - Node numbers - - ELEM - Element numbers - - KP - Keypoint numbers - - LINE - Line numbers + option + IGES - AREA - Area numbers + IGES - Write solid model geometry information using IGES format (default). - VOLU - Volume numbers + ANF - Write solid model geometry information using ANSYS Neutral File format. - MAT - Material numbers + STAT - Print out the current format setting. - TYPE - Element type numbers + Notes + ----- + This command controls your solid model geometry format for CDWRITE + operations. The ANF option affects only the COMB and SOLID options of + the CDWRITE command. All other options remain unaffected. - REAL - Real constant numbers + This option setting is saved in the database. - CSYS - Coordinate system numbers + """ + command = "CDOPT,%s" % (str(option)) + self.RunCommand(command, **kwargs) - SECN - Section numbers + def Smbc(self, mode="", **kwargs): + """ + APDL Command: /SMBC - CP - Coupled set numbers + Controls the display of solid model boundary condition symbols and + labels. - CE - Constraint equation numbers + Parameters + ---------- + mode + CENT - CLEAR - All items will be offset + CENT - Solid model boundary condition symbols and labels appear at the centroid of the + solid model entity (default). - STATUS - Shows which items are specified notto be offset. + TESS - Solid model boundary condition symbols and labels appear inside each + constituent element of the tessellation. Notes ----- - The NOOFFSET command specifies data items not to be offset by a set of - data read from a CDREAD command. + Mode = CENT is designed to reduce the clutter of boundary condition + symbols in solid model plots. For example, if you have assigned normal + pressure loads to an area, you may choose to display the pressures as + arrows with the /PSF command using /PSF,PRES,NORM,2. When Mode = CENT, + the pressure arrow is displayed at the centroid of the area. When Mode + = TESS, a pressure arrow is displayed at the centroid of each polygon + of the area's tessellation. + + This command is valid in any processor. """ - command = "NOOFFSET, %s" % (str(label)) + command = "/SMBC,%s" % (str(mode)) self.RunCommand(command, **kwargs) - def Rstoff(self, lab="", offset="", **kwargs): + def Sphere(self, rad1="", rad2="", theta1="", theta2="", **kwargs): """ - APDL Command: RSTOFF + APDL Command: SPHERE - Offsets node or element IDs in the FE geometry record. + Creates a spherical volume centered about the working plane origin. Parameters ---------- - lab - The offset type: - - NODE - Offset the node IDs. - - ELEM - Offset the element IDs. + rad1, rad2 + Inner and outer radii (either order) of the sphere. A value of + zero or blank for either RAD1 or RAD2 defines a solid sphere. - offset - A positive integer value specifying the offset value to apply. The - value must be greater than the number of nodes or elements in the - existing superelement results file. + theta1, theta2 + Starting and ending angles (either order) of the sphere. Used for + creating a spherical sector. The sector begins at the + algebraically smaller angle, extends in a positive angular + direction, and ends at the larger angle. The starting angle + defaults to 0.0° and the ending angle defaults to 360.0°. See the + Modeling and Meshing Guide for an illustration. Notes ----- - The RSTOFF command offsets node or element IDs in the FE geometry - record saved in the .rst results file. Use the command when expanding - superelements in a bottom-up substructuring analysis (where each - superelement is generated individually in a generation pass, and all - superelements are assembled together in the use pass). - - With appropriate offsets, you can write results files with unique node - or element IDs and thus display the entire model even if the original - superelements have overlapping element or node ID sets. (Such results - files are incompatible with the .db database file saved at the - generation pass.) - - The offset that you specify is based on the original superelement node - or element numbering, rather than on any offset specified via a SESYMM - or SETRAN command. When issuing an RSTOFF command, avoid specifying an - offset that creates conflicting node or element numbers for a - superelement generated via a SESYMM or SETRAN command. - - If you issue the command to set non-zero offsets for node or element - IDs, you must bring the geometry into the database via the SET command - so that ANSYS can display the results. You must specify appropriate - offsets to avoid overlapping node or element IDs with other - superelement results files. + Defines either a solid or hollow sphere or spherical sector centered + about the working plane origin. The sphere must have a spatial volume + greater than zero. (i.e., this volume primitive command cannot be used + to create a degenerate volume as a means of creating an area.) + Inaccuracies can develop when the size of the object you create is much + smaller than the relative coordinate system values (ratios near to or + greater than 1000). If you require an exceptionally small sphere, + create a larger object, and scale it down to the appropriate size. - The command is valid only in the first load step of a superelement - expansion pass. + For a solid sphere of 360°, you define it with two areas, each + consisting of a hemisphere. See the SPH4 and SPH5 commands for the + other ways to create spheres. """ - command = "RSTOFF, %s, %s" % (str(lab), str(offset)) + command = "SPHERE,%s,%s,%s,%s" % (str(rad1), str(rad2), str(theta1), str(theta2)) self.RunCommand(command, **kwargs) - def Dj(self, elem="", label="", value="", **kwargs): + def Eigen(self, kmatrix="", mmatrix="", cmatrix="", evals="", evects="", + **kwargs): """ - APDL Command: DJ + APDL Command: *EIGEN - Specifies boundary conditions on the components of relative motion of a - joint element. + Performs a modal solution with unsymmetric or damping matrices. Parameters ---------- - elem - Element number or ALL to be specified. - - label - Valid labels are: - - UX - Displacement in local x direction. + kmatrix + Name of the stiffness matrix. May be a real or complex-valued + matrix. - UY - Displacement in local y direction. + mmatrix + Name of the mass matrix. - UZ - Displacement in local z direction. + cmatrix + Name of the damping matrix (used only for MODOPT,DAMP). - ROTX - Rotation about local x axis. + evals + Name of the output eigenvalues vector. It will be an m-long *VEC + vector of complex values, where m is the number of eigenvalues + requested (MODOPT). - ROTY - Rotation about local y axis. + evects + Name of the output eigenvector matrix. It will be a n x m *DMAT + (dense) matrix of complex values, where n is the size of the matrix + and m is the number of eigenvalues requested (MODOPT). - ROTZ - Rotation about local y axis. + Notes + ----- + Use the command ANTYPE,MODAL and the MODOPT command to specify the + modal solution options. Only MODOPT,DAMP, MODOPT,UNSYM, MODOPT,LANB, + and MODOPT,SUBSP are supported. - VELX - Linear velocity in local x direction. + *EIGEN with Block Lanczos (LANB) only supports sparse matrices. - VELY - Linear velocity in local y direction. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - VELZ - Linear velocity in local z direction. + """ + command = "*EIGEN,%s,%s,%s,%s,%s" % (str(kmatrix), str(mmatrix), str(cmatrix), str(evals), str(evects)) + self.RunCommand(command, **kwargs) - OMGX - Angular velocity in local x direction. + def Ceintf(self, toler="", dof1="", dof2="", dof3="", dof4="", dof5="", + dof6="", movetol="", **kwargs): + """ + APDL Command: CEINTF - OMGY - Angular velocity in local y direction. + Generates constraint equations at an interface. - OMGZ - Angular velocity in local z direction. + Parameters + ---------- + toler + Tolerance about selected elements, based on a fraction of the + element dimension (defaults to 0.25 (25%)). Nodes outside the + element by more than the tolerance are not accepted as being on the + interface. - ACCX - Linear acceleration in local x direction. + dof1, dof2, dof3, . . . , dof6 + Degrees of freedom for which constraint equations are written. + Defaults to all applicable DOFs. DOF1 accepts ALL as a valid + label, in which case the rest are ignored (all DOFs are applied). - ACCY - Linear acceleration in local y direction. + movetol + The allowed "motion" of a node (see Note below). This distance is + in terms of the element coordinates (-1.0 to 1.0). A typical value + is 0.05. Defaults to 0 (do not move). MoveTol must be less than + or equal to TOLER. - ACCZ - Linear acceleration in local z direction. + Notes + ----- + This command can be used to "tie" together two regions with dissimilar + mesh patterns by generating constraint equations that connect the + selected nodes of one region to the selected elements of the other + region. At the interface between regions, nodes should be selected + from the more dense mesh region, A, and the elements selected from the + less dense mesh region, B. The degrees of freedom of region A nodes + are interpolated with the corresponding degrees of freedom of the nodes + on the region B elements, using the shape functions of the region B + elements. Constraint equations are then written that relate region A + and B nodes at the interface. - DMGX - Angular acceleration in local x direction. + The MoveTol field lets the nodes in the previously mentioned region A + change coordinates when slightly inside or outside the elements of + region B. The change in coordinates causes the nodes of region A to + assume the same surface as the nodes associated with the elements of + region B. The constraint equations that relate the nodes at both + regions of the interface are then written. - DMGY - Angular acceleration in local y direction. + Solid elements with six degrees of freedom should only be interfaced + with other six degree-of-freedom elements. The region A nodes should + be near the region B elements. A location tolerance based on the + smallest region B element length may be input. Stresses across the + interface are not necessarily continuous. Nodes in the interface + region should not have specified constraints. - DMGZ - Angular acceleration in local z direction. + Use the CPINTF command to connect nodes by coupling instead of + constraint equations. Use the EINTF command to connect nodes by line + elements. See also the NSEL and ESEL commands for selecting nodes and + elements. See the Mechanical APDL Theory Reference for a description + of 3-D space used to determine if a node will be considered by this + command. - value - Value of the label. + As an alternative to the CEINTF command, you can use contact elements + and the internal multipoint constraint (MPC) algorithm to tie together + two regions having dissimilar meshes. See Solid-Solid and Shell-Shell + Assemblies for more information. + + """ + command = "CEINTF,%s,%s,%s,%s,%s,%s,%s,%s" % (str(toler), str(dof1), str(dof2), str(dof3), str(dof4), str(dof5), str(dof6), str(movetol)) + self.RunCommand(command, **kwargs) + + def Eddump(self, num="", dt="", **kwargs): + """ + APDL Command: EDDUMP + + Specifies output frequency for the explicit dynamic restart file + (d3dump). + + Parameters + ---------- + num + Number of d3dump (restart) files written during the analysis + (defaults to 1). When you specify NUM, the time interval between + restart files is TIME / NUM, where TIME is the analysis end-time + specified on the TIME command. + + dt + Time interval at which the d3dump (restart) files are written. If + NUM is input, DT is ignored. Notes ----- - This command is valid for MPC184 joint elements. See DJDELE for - information on deleting boundary conditions applied with the DJ - command. + You can use NUM or DT to specify the time interval at which d3dump + restart files will be written. You should not specify both quantities; + if both are input, NUM will be used. The restart files are written + sequentially as d3dump01, d3dump02, etc. - 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 LS-DYNA, the restart file output is specified in terms of number of + time steps. Because the total number of time steps is not known until + the LS-DYNA solution finishes, Mechanical APDL calculates an + approximate number of time steps for the solution, and then uses NUM or + DT to calculate the required LS-DYNA input. This approximated number of + time steps may be different from the total number reached in LS-DYNA + after the solution finishes. Therefore, the number of restart dump + files or the output interval may differ slightly from what you + requested using NUM or DT. - In this case, the velocity load (VELX) applied in the last command will - override the displacement load (UX). + In an explicit dynamic small restart (EDSTART,2) or full restart + analysis (EDSTART,3), the EDDUMP setting will default to the NUM or DT + value used in the original analysis. You can issue EDDUMP in the + restart to change this setting. - Tabular boundary conditions (VALUE = %tabname%) can be used. + This command is also valid in PREP7. - %_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. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "DJ, %s, %s, %s" % (str(elem), str(label), str(value)) + command = "EDDUMP,%s,%s" % (str(num), str(dt)) self.RunCommand(command, **kwargs) - def Escheck(self, sele="", levl="", defkey="", **kwargs): + def Format(self, ndigit="", ftype="", nwidth="", dsignf="", line="", + char="", **kwargs): """ - APDL Command: ESCHECK + APDL Command: /FORMAT - Perform element shape checking for a selected element set. + Specifies format controls for tables. Parameters ---------- - sele - Specifies whether to select elements for checking: + ndigit + Number of digits (3 to 32) in first table column (usually the node + or element number). Initially defaults to 7. - (blank) - List all warnings/errors from element shape checking. + ftype + FORTRAN format types (initially defaults to G): - ESEL - Select the elements based on the .Levl criteria specified below. + G - Gxx.yy. xx and yy are described below. - levl - WARN + F - Fxx.yy - WARN - Select elements producing warning and error messages. + E - Exx.yy - ERR - Select only elements producing error messages (default). + nwidth + Total width (9 to 32) of the field (the xx in Ftype). Initially + defaults to 12. - defkey - Specifies whether check should be performed on deformed element - shapes. . + dsignf + Number of digits after the decimal point (yy in F or E format) or + number of significant digits in G format. Range is 2 to xx-7 for + Ftype = G or E; and 0 to xx-4 for Ftype = F. Initially defaults to + 5. - 0 - Do not update node coordinates before performing shape checks (default). + line + Number of lines (11 minimum) per page. Defaults to ILINE or BLINE + from the /PAGE command. - 1 - Update node coordinates using the current set of deformations in the database. + char + Number of characters (41 to 240, system-dependent) per line before + wraparound. Defaults to ICHAR or BCHAR from the /PAGE command. Notes ----- - Shape checking will occur according to the current SHPP settings. - Although ESCHECK is valid in all processors, Defkey uses the current - results in the database. If no results are available a warning will be - issued. + Specifies various format controls for tables printed with the POST1 + PRNSOL, PRESOL, PRETAB, PRRSOL, PRPATH, and CYCCALC commands. A blank + (or out-of-range) field on the command retains the current setting. + Issue /FORMAT,STAT to display the current settings. Issue /FORMAT,DEFA + to reestablish the initial default specifications. - This command is also valid in PREP7, SOLUTION and POST1. + For the POST26 PRVAR command, the Ftype, NWIDTH, and DSIGNF fields + control the time output format. + + This command is valid in any processor. """ - command = "ESCHECK, %s, %s, %s" % (str(sele), str(levl), str(defkey)) + command = "/FORMAT,%s,%s,%s,%s,%s,%s" % (str(ndigit), str(ftype), str(nwidth), str(dsignf), str(line), str(char)) self.RunCommand(command, **kwargs) - def Stitle(self, nline="", title="", **kwargs): + def Bfklist(self, kpoi="", lab="", **kwargs): """ - APDL Command: /STITLE + APDL Command: BFKLIST - Defines subtitles. + Lists the body force loads at keypoints. Parameters ---------- - nline - Subtitle line number (1 to 4). Defaults to 1. + kpoi + Keypoint at which body load is to be listed. If ALL (or blank), + list for all selected keypoints [KSEL]. If KPOI = 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 KPOI - title - Input up to 70 alphanumeric characters. Parameter substitution may - be forced within the title by enclosing the parameter name or - parametric expression within percent (%) signs. If Title is blank, - this subtitle is deleted. + lab + Valid body load label. If ALL, use all appropriate labels. Load + labels are listed under "Body Loads" in the input table for each + element type in the Element Reference. See the BFK command for + labels. Notes ----- - Subtitles (4 maximum) are displayed in the output along with the main - title [/TITLE]. Subtitles do not appear in GUI windows or in ANSYS - plot displays. The first subtitle is also written to various ANSYS - files along with the main title. Previous subtitles may be overwritten - or deleted. Issue /STATUS to display titles. + Lists the body force loads for the specified keypoint and label. + Keypoint body loads may be defined with the BFK command. This command is valid in any processor. """ - command = "/STITLE, %s, %s" % (str(nline), str(title)) + command = "BFKLIST,%s,%s" % (str(kpoi), str(lab)) self.RunCommand(command, **kwargs) - def Undo(self, kywrd="", **kwargs): + def Spunit(self, tblno="", type="", gvalue="", keyinterp="", **kwargs): """ - APDL Command: UNDO + APDL Command: SPUNIT - Allows the user to modify or save commands issued since the last RESUME - or SAVE command. + Defines the type of multi-point response spectrum. Parameters ---------- - kywrd + tblno + Input table number. + + type + Label identifying the type of spectrum: + DISP - Displacement spectrum (SPVAL values interpreted as displacements with units of + length). - NEW - Create an editable GUI window that allows the user to alter the commands issued - since the most recent SAVE or RESUME operations (GUI only). + VELO - Velocity spectrum (SPVAL values interpreted as velocities with units of + length/time). + + ACEL - Acceleration spectrum (SPVAL values interpreted as accelerations with units of + length/time2). + + ACCG - Acceleration spectrum (SPVAL values interpreted as accelerations with units of + g/time2). + + FORC - Force spectrum. + + PRES - Pressure spectrum. + + gvalue + Value of acceleration due to gravity in any arbitrary units for + Type=ACCG table. Default is 386.4 in/sec2. + + keyinterp + Key to activate or deactivate the linear interpolation between + input response spectrum points and input response spectrum curves: + + 0 (OFF or NO) - Deactivate linear and use logarithmic interpolation. This value is the default. + + 1 (ON or YES) - Activate linear interpolation. Notes ----- - The UNDO command brings up the session editor, a text window that - displays all of the program operations since the last SAVE or RESUME - command. You can modify command parameters, delete whole sections of - text and even save a portion of the command string to a separate file. - The file is named jobname000.cmds, with each subsequent save operation - incrementing the filename by one digit. + Defines the type of multi-point response spectrum defined by the SPFREQ + and SPVAL commands. - Note:: : The session editor file can be changed only by the session - editor. If you rename your database file outside of ANSYS and then - resume that database, the session editor will display the old filename. + Force (FORC) and pressure (PRES) type spectra can be used only as a + nodal excitation. - For more information on the session editor, see Using the Session - Editor in the Operations Guide. + GVALUE is valid only when type=ACCG is specified. A zero or negative + value cannot be used. A parameter substitution can also be performed. + + This command is also valid in PREP7. """ - command = "UNDO, %s" % (str(kywrd)) + command = "SPUNIT,%s,%s,%s,%s" % (str(tblno), str(type), str(gvalue), str(keyinterp)) self.RunCommand(command, **kwargs) - def Rpoly(self, nsides="", lside="", majrad="", minrad="", **kwargs): + def Pcgopt(self, lev_diff ="", reduceio="", strmck="", wrtfull="", + memory="", lm_key="", **kwargs): """ - APDL Command: RPOLY + APDL Command: PCGOPT - Creates a regular polygonal area centered about the working plane - origin. + Controls PCG solver options. Parameters ---------- - nsides - Number of sides in the regular polygon. Must be greater than 2. + lev_diff + Indicates the level of difficulty of the analysis. Valid settings + are AUTO or 0 (default), 1, 2, 3, 4, or 5. This option applies to + both the PCG solver when used in static and full transient analyses + and to the PCG Lanczos method in modal analyses. Use AUTO to let + ANSYS automatically choose the proper level of difficulty for the + model. Lower values (1 or 2) generally provide the best performance + for well-conditioned problems. Values of 3 or 4 generally provide + the best performance for ill-conditioned problems; however, higher + values may increase the solution time for well-conditioned + problems. Higher level-of-difficulty values typically require more + memory. Using the highest value of 5 essentially performs a + factorization of the global matrix (similar to the sparse solver) + and may require a very large amount of memory. If necessary, use + Memory to reduce the memory usage when using Lev_Diff = 5. + Lev_Diff = 5 is generally recommended for small- to medium-sized + problems when using the PCG Lanczos mode extraction method. - lside - Length of each side of the regular polygon. + -- + Unused field. - majrad - Radius of the major (or circumscribed) circle of the polygon. Not - used if LSIDE is input. + reduceio + Controls whether the PCG solver will attempt to reduce I/O + performed during equation solution: - minrad - Radius of the minor (or inscribed) circle of the polygon. Not used - if LSIDE or MAJRAD is input. + AUTO - Automatically chooses whether to reduce I/O or not (default). - Notes - ----- - Defines a regular polygonal area on the working plane. The polygon - will be centered about the working plane origin, with the first - keypoint defined at : θ = 0°. The area will be defined with NSIDES - keypoints and NSIDES lines. See the RPR4 and POLY commands for other - ways to create polygons. + YES - Reduces I/O performed during equation solution in order to reduce total solver + time. - """ - command = "RPOLY, %s, %s, %s, %s" % (str(nsides), str(lside), str(majrad), str(minrad)) - self.RunCommand(command, **kwargs) + NO - Does NOT reduce I/O performed during equation solution. - def Lstr(self, p1="", p2="", **kwargs): - """ - APDL Command: LSTR + strmck + Controls whether or not a Sturm sequence check is performed: - Defines a straight line irrespective of the active coordinate system. + OFF - Does NOT perform Sturm sequence check (default). - Parameters - ---------- - p1 - Keypoint at the beginning of line. If P1 = P, graphical picking is - enabled and all remaining command fields are ignored (valid only in - the GUI) + ON - Performs Sturm sequence check - p2 - Keypoint at the end of line. + wrtfull + Controls whether or not the .FULL file is written. - Notes - ----- - Defines a straight line from P1 to P2 using the global Cartesian - coordinate system. The active coordinate system will be ignored. The - line shape is invariant with the coordinate system after it is - generated. Lines may be redefined only if not yet attached to an area. + ON - Write .FULL file (default) - """ - command = "LSTR, %s, %s" % (str(p1), str(p2)) - self.RunCommand(command, **kwargs) + OFF - Do not write .FULL file. - def Iclist(self, node1="", node2="", ninc="", lab="", **kwargs): - """ - APDL Command: ICLIST + memory + Controls whether to run using in-core or out-of-core mode when + using Lev_Diff = 5. - Lists the initial conditions. + AUTO - Automatically chooses which mode to use (default). - Parameters - ---------- - node1, node2, ninc - List initial conditions for nodes NODE1 to NODE2 (defaults to - NODE1) in steps of NINC (defaults to 1). If NODE1 = ALL (default), - NODE2 and NINC are ignored and initial conditions 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 be substituted for NODE1 (NODE2 and - NINC are ignored). + INCORE - Run using in-core mode. - lab - Velocity key: + OOC - Run using out-of-core mode. - DISP - Specification is for first order degree of freedom value (displacements, - temperature, etc.) (default). + lm_key + Controls use of the PCG solver for MPC184 Lagrange multiplier + method elements. This option applies only to the PCG solver when + used in static and full transient analyses. - VELO - Specification is for second order degree of freedom value (velocities). + OFF - Do not use the PCG solver for the MPC184 Lagrange multiplier method (default). + + ON - Allow use of the PCG solver for the MPC184 Lagrange multiplier method. Notes ----- - Lists the initial conditions specified by the IC command. Listing - applies to all the selected nodes [NSEL] and DOF labels. ICLIST is not - the same as the DLIST command. All the initial conditions including - the default conditions are listed for the selected nodes. + ReduceIO works independently of the MSAVE command in the PCG solver. + Setting ReduceIO to YES can significantly increase the memory usage in + the PCG solver. - This command is valid in any processor. + To minimize the memory used by the PCG solver with respect to the + Lev_Diff option only, set Lev_Diff = 1 if you do not have sufficient + memory to run the PCG solver with Lev_Diff = AUTO. + + The MSAVE,ON command is not valid when using Lev_Diff = 5. In this + case, the Lev_Diff value will automatically be reset to 2. The + MSAVE,ON command is also not valid with the StrmCk option. In this + case, StrmCk will be set to OFF. + + Distributed ANSYS Restriction: The Memory option and the LM_Key option + are not supported in Distributed ANSYS. """ - command = "ICLIST, %s, %s, %s, %s" % (str(node1), str(node2), str(ninc), str(lab)) + command = "PCGOPT,%s,%s,%s,%s,%s,%s" % (str(lev_diff ), str(reduceio), str(strmck), str(wrtfull), str(memory), str(lm_key)) self.RunCommand(command, **kwargs) - def Fdele(self, node="", lab="", nend="", ninc="", lkey="", **kwargs): + def Secnum(self, secid="", **kwargs): """ - APDL Command: FDELE + APDL Command: SECNUM - Deletes force loads on nodes. + Sets the element section attribute pointer. Parameters ---------- - node - Node for which force is to be deleted. If ALL, NEND and NINC are - ignored and forces are deleted on 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. + secid + Defines the section ID number to be assigned to the subsequently- + defined elements. Defaults to 1. See SECTYPE for more information + about the section ID number. - lab - Valid force label. If ALL, use all appropriate labels. Structural - labels: FX, FY, or FZ (forces); MX, MY, or MZ (moments). Thermal - labels: HEAT, HBOT, HE2, HE3, . . ., HTOP (heat flow). Fluid - labels: FLOW (fluid flow). Electric labels: AMPS (current flow), - CHRG (electric charge). Magnetic labels: FLUX (magnetic flux); - CSGX, CSGY, or CSGZ (magnetic current segments). Diffusion labels: - RATE (diffusion flow rate). + """ + command = "SECNUM,%s" % (str(secid)) + self.RunCommand(command, **kwargs) - nend, ninc - Delete forces from NODE to NEND (defaults to NODE) in steps of NINC - (defaults to 1). + def Lsrestore(self, enginename="", filename="", **kwargs): + """ + APDL Command: *LSRESTORE - lkey - Lock key: + Restores a linear solver engine from a binary file. - (blank) - The DOF is not locked (default). + Parameters + ---------- + enginename + Name used to identify this engine. - FIXED - Displacement on the specified degrees of freedom (Lab) is locked. The program - prescribes the degree of freedom to the “current” relative - displacement value in addition to deleting the force. If a - displacement constraint (for example, D command) is applied - in conjunction with this option, the actual applied - displacement will be ramped during the next load step. The - displacement is ramped from the current value to the newly - defined value. This option is only valid for the following - labels: FX, FY, FZ, MX, MY, MZ. This option is intended - primarily for use in the ANSYS Workbench interface to apply - an increment length adjustment (bolt pretension loading). + filename + Name of the file to read from. Notes ----- - The node and the degree of freedom label corresponding to the force - must be selected [NSEL, DOFSEL]. - - This command is also valid in PREP7. + Restores a previously dumped Linear Solver (see the *LSDUMP command). + This Linear Solver can be used to solve a linear system using the + *LSBAC command. """ - command = "FDELE, %s, %s, %s, %s, %s" % (str(node), str(lab), str(nend), str(ninc), str(lkey)) + command = "*LSRESTORE,%s,%s" % (str(enginename), str(filename)) self.RunCommand(command, **kwargs) - def Gapf(self, nvar="", num="", name="", **kwargs): + def Supr(self, surfname="", rsetname="", **kwargs): """ - APDL Command: GAPF + APDL Command: SUPR - Defines the gap force data to be stored in a variable. + Print global status, geometry information and/or result information. Parameters ---------- - nvar - Arbitrary reference number assigned to this variable (2 to NV - [NUMVAR]). Overwrites any existing results for this variable. - - num - Number identifying gap number for which the gap force is to be - stored. Issue the GPLIST command to display gap numbers. + surfname + Eight character surface name. If SurfName = ALL, repeat printout + for all selected surfaces. - name - Thirty-two character name for identifying the item on the printout - and displays (defaults to the name GAPF). + rsetname + Eight character result set name. Notes ----- - Defines the gap force data to be stored in a variable. Applicable only - to the expansion pass of the mode-superposition linear transient - dynamic (ANTYPE,TRANS) analysis. The data is usually on Fname.RDSP. + When no arguments are specified, SUPR generates a global status summary + of all defined surfaces. If only SurfName is specified, the geometry + information for that surface is printed. If both SurfName and RSetName + are specified, the value of the results set at each point, in addition + to the geometry information, is printed. """ - command = "GAPF, %s, %s, %s" % (str(nvar), str(num), str(name)) + command = "SUPR,%s,%s" % (str(surfname), str(rsetname)) self.RunCommand(command, **kwargs) - def Pdsens(self, rlab="", name="", chart="", type="", slevel="", **kwargs): + def Pmap(self, form="", discon="", **kwargs): """ - APDL Command: PDSENS + APDL Command: PMAP - Plots the probabilistic sensitivities. + Creates mapping of the path geometry by defining path interpolation + division points. Parameters ---------- - rlab - Result set label. Identifies the result set to be used for - postprocessing. A result set label can be the solution set label - you defined in a PDEXE command (if you are directly postprocessing - Monte Carlo Simulation results), or the response surface set label - defined in an RSFIT command (for Response Surface Analyses). The - PDSENS command cannot be used to postprocess the results in a - solution set that is based on Response Surface Methods, only Monte - Carlo Simulations. + form + Defines the mapping method: - name - Parameter name. The parameter must have been previously defined as - a random output parameter using the PDVAR command. + UNIFORM - Maps uniform divisions (specified on the nDiv argument of the PATH command) + between specified points. This is the default. - chart - Keyword for the type of chart to be plotted. + ACCURATE - Map geometry using a small division at the beginning and end of each segment. + This gives you accurate derivatives, integrals, + tangents, and normals for curves which do not have + continuous slopes at the specified points. To create + nonuniform divisions, the nDiv argument of the PATH + command must be greater than 2. - BAR - Bar chart of the absolute sensitivities. + discon + Sets mapping for discontinuities in the field. The divisions are + modified to put a point just before and just after the + discontinuity. The valid label is MAT, for a material + discontinuity. No discontinuity is the default. Discontinuity + mapping involves the NOAV option on the PDEF command. - PIE - Pie chart of relative and normalized sensitivities. + """ + command = "PMAP,%s,%s" % (str(form), str(discon)) + self.RunCommand(command, **kwargs) - BOTH - Both pie and bar charts plotted side by side (default). + def Ocread(self, fname="", ext="", option="", **kwargs): + """ + APDL Command: OCREAD - type - Keyword for the type of correlation coefficients used to evaluate - the sensitivities. + Reads externally defined ocean data. - RANK - Spearman rank-order correlation coefficient (default). + Parameters + ---------- + fname + External ocean data file name (excluding the filename extension) + and directory path containing the file. For more information, see + the Notes section. - LIN - Pearson linear correlation coefficient. + ext + Filename extension (limited to eight characters). - slevel - Significance level. The value for the significance level must be - between 0.0 and 1.0 and it defaults to 0.025 (2.5%). + -- + Reserved field. + + option + Integer value passed to the userOceanRead subroutine (as iOption) + for user-defined waves. This value does not apply to the diffracted + wave type. Notes ----- - Plots the probabilistic sensitivities. + The OCREAD command imports ocean data that has been defined externally + (for example, via the Hydrodynamic Diffraction System (AQWA)). - If Rlab is left blank, then the result set label is inherited from the - last PDEXE command (Slab), RSFIT command (RSlab), or the most recently - used PDS postprocessing command where a result set label was explicitly - specified. + The command operates on the ocean load ID specified via the most + recently issued OCTYPE command. Issue a separate OCREAD command for + each ocean load that you want to read into the program. - Evaluation of the probabilistic sensitivities is based on the - correlation coefficients between all random input variables and the - random output parameter specified by Name. You can chose which - correlation coefficient should be used for that evaluation using the - Corr option. For all sensitivity values, the probabilistic design tool - evaluates the probability that the sensitivity can be neglected, based - on statistical test theory. If this probability exceeds the - significance level as specified by the SLEVEL parameter, the - sensitivity value should be regarded as negligible or insignificant. - The higher the significance level (SLEVEL) the more sensitivities are - considered as significant. The sensitivity plot includes the - significant sensitivities only and lists the insignificant ones - separately. + Fname is limited to 248 characters, including the directory path. If + Fname does not include a directory path, the program searches for the + specified file in the current working directory. An unspecified Fname + defaults to Jobname. + + For the diffracted wave type (KWAVE = 8 on the OCDATA command), you + must issue an OCREAD command for the ocean wave ID in order to import + the hydrodynamic data from the hydrodynamic analysis. + + For more information, see Applying Ocean Loading from a Hydrodynamic + Analysis in the Advanced Analysis Guide. + + To learn more about creating user-defined waves, see Subroutine + userPanelHydFor (Calculating Panel Loads Caused by Ocean Loading) in + the Programmer's Reference. + + This command is also valid in PREP7. """ - command = "PDSENS, %s, %s, %s, %s, %s" % (str(rlab), str(name), str(chart), str(type), str(slevel)) + command = "OCREAD,%s,%s,%s" % (str(fname), str(ext), str(option)) self.RunCommand(command, **kwargs) - def Soluopt(self, **kwargs): + def Llist(self, nl1="", nl2="", ninc="", lab="", **kwargs): """ - APDL Command: SOLUOPT + APDL Command: LLIST - Specifies "Solution options" as the subsequent status topic. + Lists the defined lines. + + Parameters + ---------- + nl1, nl2, ninc + List lines from NL1 to NL2 (defaults to NL1) in steps of NINC + (defaults to 1). If NL1 = ALL (default), NL2 and NINC are ignored + and all selected lines [LSEL] are listed. If NL1 = 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 NL1 (NL2 and NINC are ignored). + + lab + Determines what type of listing is used (one of the following): + + (blank) - Prints information about all lines in the specified range. + + RADIUS - Prints the radius of certain circular arcs, along with the keypoint numbers of + each line. Straight lines, non-circular curves, and + circular arcs not internally identified as arcs (which + depends upon how each arc is created) will print a radius + value of zero. + + LAYER - Prints layer-mesh control specifications. + + HPT - Prints information about only those lines that contain hard points. HPT is not + supported in the GUI. + + ORIENT - Prints a list of lines, and identifies any orientation keypoints and any cross + section IDs that are associated with the lines. Used for + beam meshing with defined orientation nodes and cross + sections. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + There are 2 listings for the number of element divisions and the + spacing ratio. The first listing shows assignments from LESIZE only, + followed by the “hard” key (KYNDIV). See LESIZE for more information. + The second listing shows NDIV and SPACE for the existing mesh, if one + exists. Whether this existing mesh and the mesh generated by LESIZE + match at any given point depends upon meshing options and the sequence + of meshing operations. - If entered directly into the program, the STAT command should - immediately follow this command. + A "-1" in the "nodes" column indicates that the line has been meshed + but that there are no interior nodes. + + An attribute (TYPE, MAT, REAL, or ESYS) listed as a zero is unassigned; + one listed as a positive value indicates that the attribute was + assigned with the LATT command (and will not be reset to zero if the + mesh is cleared); one listed as a negative value indicates that the + attribute was assigned using the attribute pointer [TYPE, MAT, REAL, or + ESYS] that was active during meshing (and will be reset to zero if the + mesh is cleared). + + This command is valid in any processor. """ - command = "SOLUOPT, " % () + command = "LLIST,%s,%s,%s,%s" % (str(nl1), str(nl2), str(ninc), str(lab)) self.RunCommand(command, **kwargs) - def Suresu(self, fname="", fext="", fdir="", **kwargs): + def Cplane(self, key="", **kwargs): """ - APDL Command: SURESU + APDL Command: /CPLANE - Read a set of surface definitions and result items from a file and make - them the current set. + Specifies the cutting plane for section and capped displays. Parameters ---------- - -- - Unused field. - - fname - Eight character name. + key + Specifies the cutting plane: - fext - Extension name. + 0 - Cutting plane is normal to the viewing vector [/VIEW] and passes through the + focus point [/FOCUS] (default). - fdir - Optional path specification. + 1 - The working plane [WPLANE] is the cutting plane. Notes ----- - Reading (and therefore resuming) surface and result definitions from a - file overwritea any existing surface definitions. + Defines the cutting plane to be used for section and capped displays + [/TYPE,,(1, 5, or 7)]. - Reading surfaces back into the postprocessor (/POST1) does not insure - that the surfaces (and their results) are appropriate for the model - currently residing in /POST1. + This command is valid in any processor. """ - command = "SURESU, %s, %s, %s" % (str(fname), str(fext), str(fdir)) + command = "/CPLANE,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Tallow(self, temp1="", temp2="", temp3="", temp4="", temp5="", - temp6="", **kwargs): + def Mprint(self, key="", **kwargs): """ - APDL Command: TALLOW + APDL Command: MPRINT - Defines the temperature table for safety factor calculations. + Specifies that radiation matrices are to be printed. Parameters ---------- - temp1, temp2, temp3, . . . , temp6 - Input up to six temperatures covering the range of nodal - temperatures. Temperatures must be input in ascending order. + key + Print key: + + 0 - Do not print matrices. + + 1 - Print matrices. Notes ----- - Defines the temperature table for safety factor calculations [SFACT, - SALLOW]. Use STAT command to list current temperature table. Repeat - TALLOW command to zero table and redefine points (6 maximum). - - Safety factor calculations are not supported by PowerGraphics. Both the - SALLOW and TALLOW commands must be used with the Full Model Graphics - display method active. + Specifies that the element and node radiation matrices are to be + printed when the WRITE command is issued. If KEY = 1, form factor + information for each element will also be printed. """ - command = "TALLOW, %s, %s, %s, %s, %s, %s" % (str(temp1), str(temp2), str(temp3), str(temp4), str(temp5), str(temp6)) + command = "MPRINT,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Mpcopy(self, matf="", matt="", **kwargs): + def Plesol(self, item="", comp="", kund="", fact="", **kwargs): """ - APDL Command: MPCOPY + APDL Command: PLESOL - Copies linear material model data from one material reference number to - another. + Displays the solution results as discontinuous element contours. Parameters ---------- - -- - Unused field + item + Label identifying the item. Valid item labels are shown in Table + 219: PLESOL - Valid Item and Component Labels for Element Results + below. Some items also require a component label. - matf - Material reference number from where material property data will be - copied. + comp + Component of the item (if required). Valid component labels are + shown in Table 219: PLESOL - Valid Item and Component Labels for + Element Results below. - matt - Material reference number to where material property data will be - copied. + kund + Undisplaced shape key: + + 0 - Do not overlay undeformed structure display + + 1 - Overlay displaced contour plot with undeformed display (appearance is system- + dependent) + + 2 - Overlay displaced contour plot with undeformed edge display (appearance is + system-dependent) + + fact + Scale factor for 2-D display of contact items (defaults to 1). A + negative scaling factor may be used to invert the display. Notes ----- - The MPCOPY command copies linear material properties only, which are - all properties defined through the MP command. If you copy a model that - includes both linear and yield behavior constants (for example, a BKIN - model), the MPCOPY and TBCOPY, ALL commands are used together to copy - the entire model. All input data associated with the model is copied, - that is, all data defined through the MP and TB commands. + Displays the solution results as element contours discontinuous across + element boundaries for the selected elements. For example, PLESOL,S,X + displays the X component of stress S (that is, the SX stress + component). Various element results depend on the calculation method + and the selected results location (AVPRIN, RSYS, and ESEL). Contours + are determined by linear interpolation within each element, unaffected + by the surrounding elements (i.e., no nodal averaging is performed). + The discontinuity between contours of adjacent elements is an + indication of the gradient across elements. Component results are + displayed in the active results coordinate system [RSYS] (default is + the global Cartesian). See the ETABLE and PLETAB commands for + displaying items not available through this command (such as line + element results). - Also, if you copy a material model using the Material Model Interface - (Edit> Copy), both the commands MPCOPY and TBCOPY, ALL are issued, - regardless of whether the model includes linear constants only, or if - it includes a combination of linear and yield behavior constants. + For PowerGraphics displays [/GRAPHICS,POWER], results are plotted only + for the model exterior surface. The items marked with [1] in Table: + 219:: PLESOL - Valid Item and Component Labels for Element Results are + not supported by PowerGraphics. - This command is also valid in SOLUTION. + Table: 219:: : PLESOL - Valid Item and Component Labels for Element + Results + + Not supported by PowerGraphics + + For MPC-based contact definitions, the value of STAT can be negative. + This indicates that one or more contact constraints were intentionally + removed to prevent overconstraint. STAT = -3 is used for MPC bonded + contact; STAT = -2 is used for MPC no-separation contact. + + Works only if failure criteria information is provided. (For more + information, see the documentation for the FC and TB commands.) + + Works only if user-defined failure criteria routine is provided. + + Must be added via the FCTYP command first. + + Some element- and material-type limitations apply. (For more + information, see the documentation for the PRERR command.) + + Do not use the PLESOL command to obtain contact forces for contact + elements. The force values reported by this command may not be accurate + for these elements. Instead, use the ETABLE command to obtain contact + force values. + + Total mechanical, thermal, and diffusion strain (EPEL + EPPL + EPCR + + EPTH + EPDI) in coupled-diffusion analyses. + + Failure criteria are based on the effective stresses in the damaged + material. """ - command = "MPCOPY, %s, %s" % (str(matf), str(matt)) + command = "PLESOL,%s,%s,%s,%s" % (str(item), str(comp), str(kund), str(fact)) self.RunCommand(command, **kwargs) - def Sabs(self, key="", **kwargs): + def Fecons(self, **kwargs): """ - APDL Command: SABS + APDL Command: FECONS - Specifies absolute values for element table operations. + Specifies "Constraints on nodes" as the subsequent status topic. - Parameters - ---------- - key - Absolute value key: + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - 0 - Use algebraic values in operations. + If entered directly into the program, the STAT command should + immediately follow this command. - 1 - Use absolute values in operations. + """ + command = "FECONS," % () + self.RunCommand(command, **kwargs) + + def Wrk(self, num="", **kwargs): + """ + APDL Command: *WRK + + Sets the active workspace number. + + Parameters + ---------- + num + Number of the active memory workspace for APDLMath vector and + matrices. All the following APDLMath vectors and matrices will + belong to this memory workspace, until the next call to the *WRK + command. By default, all the APDLMath objects belong to workspace + number 1. Notes ----- - Causes absolute values to be used in the SADD, SMULT, SMAX, SMIN, and - SSUM operations. + This feature enables you to associate a set of vector and matrices in a + given memory workspace, so that you can easily manage the free step: + + This feature can be useful to free all the temporary APDLMath variables + inside a MACRO in one call. """ - command = "SABS, %s" % (str(key)) + command = "*WRK,%s" % (str(num)) self.RunCommand(command, **kwargs) - def Selist(self, sename="", kopt="", kint="", **kwargs): + def Arscale(self, na1="", na2="", ninc="", rx="", ry="", rz="", kinc="", + noelem="", imove="", **kwargs): """ - APDL Command: SELIST + APDL Command: ARSCALE - Lists the contents of a superelement matrix file. + Generates a scaled set of areas from a pattern of areas. Parameters ---------- - sename - The name (case-sensitive) of the superelement matrix file created - by the substructure generation pass (Sename.SUB). Defaults to the - current Jobname. If a number, it is the element number of the - superelement as used in the use pass. + na1, na2, ninc + Set of areas, NA1 to NA2 in steps of NINC, that defines the pattern + to be scaled. NA2 defaults to NA1, NINC defaults to 1. If NA1 = + ALL, NA2 and NINC are ignored and the pattern is defined by all + selected areas. If NA1 = P, graphical picking is enabled and all + remaining arguments are ignored (valid only in the GUI). A + component name may also be substituted for NA1 (NA2 and NINC are + ignored). - kopt - List key: + rx, ry, rz + Scale factors to be applied to the X, Y, and Z keypoint coordinates + in the active coordinate system. (RR, R θ, RZ for cylindrical; RR, + R θ, R Φ for spherical). Note that the R θ and R Φ scale factors + are interpreted as angular offsets. For example, if CSYS = 1, RX, + RY, RZ input of (1.5,10,3) would scale the specified keypoints 1.5 + times in the radial and 3 times in the Z direction, while adding an + offset of 10 degrees to the keypoints. Zero, blank, or negative + scale factor values are assumed to be 1.0. Zero or blank angular + offsets have no effect. - 0 - List summary data only. + kinc + Increment to be applied to keypoint numbers for generated set. If + zero, the lowest available keypoint numbers will be assigned + [NUMSTR]. - 1 - List contents, except load vectors and matrices. + noelem + Specifies whether nodes and elements are also to be generated: - 2 - List contents, except matrices. + 0 - Nodes and elements associated with the original areas will be generated + (scaled) if they exist. - 3 - List full contents. Be aware that the listing may be extensive. + 1 - Nodes and elements will not be generated. - kint - Integer printout format key: + imove + Specifies whether areas will be moved or newly defined: - OFF - Default. + 0 - Additional areas will be generated. - ON - Long format for large integers. + 1 - Original areas will be moved to new position (KINC and NOELEM are ignored). + Use only if the old areas are no longer needed at their + original positions. Corresponding meshed items are also moved + if not needed at their original position. Notes ----- - This command is valid in any processor. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Generates a scaled set of areas (and their corresponding keypoints, + lines, and mesh) from a pattern of areas. The MAT, TYPE, REAL, and + ESYS attributes are based on the areas in the pattern and not the + current settings. Scaling is done in the active coordinate system. + Areas in the pattern could have been generated in any coordinate + system. However, solid modeling in a toroidal coordinate system is not + recommended. """ - command = "SELIST, %s, %s, %s" % (str(sename), str(kopt), str(kint)) + command = "ARSCALE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(na1), str(na2), str(ninc), str(rx), str(ry), str(rz), str(kinc), str(noelem), str(imove)) self.RunCommand(command, **kwargs) - def Jsol(self, nvar="", elem="", item="", comp="", name="", **kwargs): + def Smult(self, labr="", lab1="", lab2="", fact1="", fact2="", **kwargs): """ - APDL Command: JSOL + APDL Command: SMULT - Specifies result items to be stored for the joint element. + Forms an element table item by multiplying two other items. Parameters ---------- - nvar - Arbitrary reference number or name assigned to this variable. - Variable numbers can be 2 to NV (NUMVAR) while the name can be an - eight-byte character string. Overwrites any existing results for - this variable. + labr + Label assigned to results. If same as existing label, the existing + values will be overwritten by these results. - elem - Element number for which to store results. + lab1 + First labeled result item in operation. - item - Label identifying the item. Valid item labels are shown in Table - 202: JSOL - Valid Item and Component Labels below. + lab2 + Second labeled result item in operation (may be blank). - comp - Component of the Item (if required). Valid component labels are - shown in Table 202: JSOL - Valid Item and Component Labels below. + fact1 + Scale factor applied to Lab1. A (blank) or '0' entry defaults to + 1.0. - name - Thirty-two character name identifying the item on printouts and - displays. Defaults to a label formed by concatenating the first - four characters of the Item and Comp labels. + fact2 + Scale factor applied to Lab2. A (blank) or '0' entry defaults to + 1.0. Notes ----- - This command is valid for the MPC184 joint elements. The values stored - are for the free or unconstrained degrees of freedom of a joint - element. Relative reaction forces and moments are available only if - stiffness, damping, or friction is associated with the joint element. - - Table: 202:: : JSOL - Valid Item and Component Labels + Forms a labeled result item (see ETABLE command) for the selected + elements by multiplying two existing labeled result items according to + the operation: + LabR = (FACT1 x Lab1) x (FACT2 x Lab2) + May also be used to scale results for a single labeled result item. If + absolute values are requested [SABS,1], the absolute values of Lab1 and + Lab2 are used. """ - command = "JSOL, %s, %s, %s, %s, %s" % (str(nvar), str(elem), str(item), str(comp), str(name)) + command = "SMULT,%s,%s,%s,%s,%s" % (str(labr), str(lab1), str(lab2), str(fact1), str(fact2)) self.RunCommand(command, **kwargs) - def Write(self, fname="", **kwargs): + def Secwrite(self, fname="", ext="", elem_type="", **kwargs): """ - APDL Command: WRITE + APDL Command: SECWRITE - Writes the radiation matrix file. + Creates an ASCII file containing user mesh section information. Parameters ---------- @@ -16950,823 +17083,719 @@ def Write(self, fname="", **kwargs): directory path defaults to the working directory; in this case, you can use all 248 characters for the file name. + ext + Filename extension (eight-character maximum). + + -- + Unused field. + + elem_type + Element type attribute pointer (ET) for the elements that are part + of the section. See SECREAD for a detailed description. + Notes ----- - Writes radiation matrix file (File.SUB) for input to the substructure - thermal "use" pass. Subsequent WRITE operations to the same file - overwrite the file. + Before creating a user mesh file, first create a model using 2-D + meshing. Use PLANE183 or MESH200 with KEYOPT(1) = 7 (quadrilateral with + 8 nodes option) to model the cells. SECWRITE creates an ASCII file + that contains information about the nodes and cells that describe a + beam section. For detailed information on how to create a user mesh + file, see Creating Custom Cross Sections with a User-defined Mesh in + the Structural Analysis Guide. """ - command = "WRITE, %s" % (str(fname)) + command = "SECWRITE,%s,%s,%s" % (str(fname), str(ext), str(elem_type)) self.RunCommand(command, **kwargs) - def Voper(self, parr="", par1="", oper="", par2="", con1="", con2="", - **kwargs): + def Ldread(self, lab="", lstep="", sbstep="", time="", kimg="", fname="", + ext="", **kwargs): """ - APDL Command: *VOPER + APDL Command: LDREAD - Operates on two array parameters. + Reads results from the results file and applies them as loads. Parameters ---------- - parr - The name of the resulting array parameter vector. See *SET for - name restrictions. + lab + Valid load label: - par1 - First array parameter vector in the operation. May also be a - scalar parameter or a literal constant. + TEMP - Temperatures from a thermal analysis are applied as body force nodal loads (BF) + in a structural analysis, an explicit dynamic analysis, or + other type of analysis. - oper - Operations: + If the thermal analysis uses SHELL131 or SHELL132, temperatures are applied as body force element loads (BFE). In most cases, only the top and bottom temperatures from SHELL131 and SHELL132 are used by the structural shell elements; any interior temperatures are ignored. - All temperatures are used for SHELL181 using section input, and SHELL281 using + section input; for these elements, therefore, the + number of temperature points at a node generated + in the thermal model must match the number of + temperature points at a node needed by the + structural model. - Addition: Par1+Par2. - Subtraction: Par1-Par2. + When using SHELL131 or SHELL132 information for the LDREAD operation, all element types should specify the same set of thermal degrees of freedom. - When used in conjunction with KIMG=1 and KIMG=2, temperatures can be applied to + a subsequent thermal analysis as nodal loads (D) + or initial conditions (IC), respectively. - Multiplication: Par1*Par2. - Division: Par1/Par2 (a divide by zero results in a value of zero). + FORC - Forces from an electromagnetic analysis are applied as force loads (F) in a + structural analysis. LDREAD,FORC reads coupling forces. See + the discussion on force computation in the Low-Frequency + Electromagnetic Analysis Guide. - Minimum: minimum of Par1 and Par2. - Maximum: maximum of Par1 and Par2. + For a full harmonic magnetic analysis, FORC represents the time-averaged force (use in conjunction with KIMG = 2). Values are in the nodal coordinate system for the force loads (F). - HGEN - Less than comparison: Par1Par2 gives 1.0 if true, 0.0 if false. + Electric field element centroid values from an electrostatic analysis are applied as body force loads (BFE) in a magnetic analysis. Values are in the global Cartesian coordinate system. - REAC - First derivative: d(Par1)/d(Par2). The derivative at a point is determined over points half way between the previous and next points (by linear interpolation). Par1 must be a function (a unique Par1 value for each Par2 value) and Par2 must be in ascending order. - Second derivative: d2(Par1)/d(Par2)2. See also DER1. + Reaction loads from any analysis are applied as force loads (F) in any analysis. Values are in the nodal coordinate system. - CONC - Single integral:   Par1 d(Par2), where CON1 is the integration constant. The integral at a point is determined by using the single integration procedure described in the Mechanical APDL Theory Reference. - Double integral:    Par1 d(Par2), where CON1 is the integration constant of - the first integral and CON2 is the integration - constant of the second integral. If Par1 - contains acceleration data, CON1 is the initial - velocity and CON2 is the initial displacement. - See also INT1. + lstep + Load step number of the data set to be read. Defaults to 1. If + LAST, ignore SBSTEP and TIME and read the last data set. - Dot product: Par1 . Par2. Par1 and Par2 must each have three consecutive columns of data, with the columns containing the i, j, and k vector components, respectively. Only the starting row index and the column index for the i components are specified for Par1 and Par2, such as A(1,1). The j and k components of the vector are assumed to begin in the corresponding next columns, such as A(1,2) and A(1,3). - Cross product: Par1 x Par2. Par1, Par2, and ParR must each have 3 components, - respectively. Only the starting row index and - the column index for the i components are - specified for Par1, Par2, and ParR, such as - A(1,1). The j and k components of the vector are - assumed to begin in the corresponding next - columns, such as A(1,2) and A(1,3). + sbstep + Substep number (within LSTEP). If zero (or blank), LSTEP + represents the last substep of the load step. - Gather: For a vector of position numbers, Par2, copy the value of Par1 at each position number to ParR. Example: for Par1 = 10,20,30,40 and Par2 = 2,4,1; ParR = 20,40,10. - Scatter: Opposite of GATH operation. For a vector of position numbers, Par2, - copy the value of Par1 to that position number in - ParR. Example: for Par1 = 10,20,30,40,50 and - Par2 = 2,1,0,5,3; ParR = 20,10,50,0,40. + time + Time-point identifying the data set to be read. Used only if both + LSTEP and SBSTEP are zero (or blank). If TIME is between two + solution time points on the results file, a linear interpolation is + done between the two data sets. If TIME is beyond the last time + point on the file, use the last time point. - Arctangent: arctangent of Par1/Par2 with the sign of each component considered. - Transform the data in Par1 from the global Cartesian coordinate system to the - local coordinate system given in CON1. Par1 must - be an N x 3 (i.e., vector) or an N x 6 (i.e., - stress or strain tensor) array. If the local - coordinate system is a cylindrical, spherical, or - toroidal system, then you must provide the global - Cartesian coordinates in Par2 as an N x 3 array. - Set CON2 = 1 if the data is strain data. + kimg + When used with results from harmonic analyses (ANTYPE,HARMIC) KIMG + establishes which set of data to read: - par2 - Second array parameter vector in the operation. May also be a - scalar parameter or a literal constant. + 0 - Read the real part of the solution. Valid also for Lab = EHFLU to read in + time-average heat flux. - con1 - First constant (used only with the INT1 and INT2 operations). + 1 - Read the imaginary part of the solution. - con2 - Second constant (used only with the INT2 operation). + 2 - Calculate and read the time-average part. Meaningful for Lab = HGEN or FORC. + + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. + + ext + Filename extension (eight-character maximum). + + -- + Unused field. Notes ----- - Operates on two input array parameter vectors and produces one output - array parameter vector according to: + The LDREAD command reads results data from the results file and applies + them as loads. - ParR = Par1 o Par2 + The command can also apply results from an analysis defined with one + physics environment as loads on a second analysis using a different + physics environment. Results values are applied as loads for field- + coupling effects (for example, output temperatures from a thermal + analysis as input to a structural analysis). - where the operations (o) are described below. ParR may be the same as - Par1 or Par2. Absolute values and scale factors may be applied to all - parameters [*VABS, *VFACT]. Results may be cumulative [*VCUM]. - Starting array element numbers must be defined for each array parameter - vector if it does not start at the first location, such as - *VOPER,A,B(5),ADD,C(3) which adds the third element of C to the fifth - element of B and stores the result in the first element of A. - Operations continue on successive array elements [*VLEN, *VMASK] with - the default being all successive elements. Skipping array elements via - *VMASK or *VLEN for the DER_ and INT_ functions skips only the writing - of the results (skipped array element data are used in all - calculations). + The command works based on the assumption that the meshes have not + changed. - Parameter functions and operations are available to operate on a scalar - parameter or a single element of an array parameter, such as SQRT(B) or - SQRT(A(4)). See the *SET command for details. Operations on a - sequence of array elements can be done by repeating the desired - function or operation in a do-loop [*DO]. The vector operations within - the ANSYS program (*VXX commands) are internally programmed do-loops - that conveniently perform the indicated operation over a sequence of - array elements. If the array is multidimensional, only the first - subscript is incremented in the do-loop, that is, the operation repeats - in column vector fashion "down" the array. For example, for A(1,5), - A(2,5), A(3,5), etc. The starting location of the row index must be - defined for each parameter read and for the result written. + Nodal loads are applied only to selected nodes. Element loads are + applied only to selected elements. Element surface loads are applied + only to selected elements where all face nodes for that surface are + selected. - The default number of loops is from the starting result location to the - last result location and can be altered with the *VLEN command. A - logical mask vector may be defined to control at which locations the - operations are to be skipped [*VMASK]. The default is to skip no - locations. Repeat operations automatically terminate at the last array - element of the result array column if the number of loops is undefined - or if it exceeds the last result array element. Zeroes are used in - operations for values read beyond the last array element of an input - array column. Existing values in the rows and columns of the results - matrix remain unchanged where not changed by the requested operation - values. The result array column may be the same as the input array - column since results in progress are stored in a temporary array until - being moved to the results array at the end of the operation. Results - may be overwritten or accumulated with the existing results [*VCUM]. - The default is to overwrite results. The absolute value may be used - for each parameter read or written [*VABS]. A scale factor (defaulting - to 1.0) is also applied to each parameter read and written [*VFACT]. + To assure proper distribution of the surface loads, select only the + nodes on the element face where the surface load is to be applied. - This command is valid in any processor. + Scaling and accumulation specifications are applied as the loads are + read via the following commands: - """ - command = "*VOPER, %s, %s, %s, %s, %s, %s" % (str(parr), str(par1), str(oper), str(par2), str(con1), str(con2)) - self.RunCommand(command, **kwargs) + BFCUM for body force loads. (Heat-generation loads are not + accumulated.) - def Sph4(self, xcenter="", ycenter="", rad1="", rad2="", **kwargs): - """ - APDL Command: SPH4 + SFCUM for surface loads. - Creates a spherical volume anywhere on the working plane. + FCUM for force loads. - Parameters - ---------- - xcenter, ycenter - Working plane X and Y coordinates of the center of the sphere. + The BFCUM, SFCUM, and FCUM commands do not work for tabular boundary + conditions or temperature loads applied to an explicit dynamics + analysis via LDREAD. - rad1, rad2 - Inner and outer radii (either order) of the sphere. A value of - zero or blank for either RAD1 or RAD2 defines a solid sphere. + List the results via the appropriate list command: - Notes - ----- - Defines either a solid or hollow spherical volume anywhere on the - working plane. The sphere must have a spatial volume greater than - zero. (i.e., this volume primitive command cannot be used to create a - degenerate volume as a means of creating an area.) A sphere of 360° - will be defined with two areas, each consisting of a hemisphere. See - the SPHERE and SPH5 commands for other ways to create spheres. + BFLIST or BFELIST for body force loads. - When working with a model imported from an IGES file (DEFAULT import - option), you can create only solid spheres. If you enter a value for - both RAD1 and RAD2 the command is ignored. + SFELIST for surface loads. + + FLIST for force loads. + + Values may be redefined after being read by issuing LDREAD again with a + different load step and substep, or time value. + + When using LDREAD in an explicit dynamic analysis to read in + temperatures, temperature loading cannot be applied via the + EDLOAD,,TEMP command. Furthermore, any temperature loading defined by + LDREAD cannot be listed or deleted by EDLOAD. + + This command is also valid in PREP7. """ - command = "SPH4, %s, %s, %s, %s" % (str(xcenter), str(ycenter), str(rad1), str(rad2)) + command = "LDREAD,%s,%s,%s,%s,%s,%s,%s" % (str(lab), str(lstep), str(sbstep), str(time), str(kimg), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Gformat(self, ftype="", nwidth="", dsignf="", **kwargs): + def Eddbl(self, key="", **kwargs): """ - APDL Command: /GFORMAT + APDL Command: EDDBL - Specifies the format for the graphical display of numbers. + Selects a numerical precision type of the explicit dynamics analysis. Parameters ---------- - ftype - FORTRAN format types (G is the default if this field is left - blank.) - - G - Gxx.yy. xx and yy are described below. - - F - Fxx.yy + key + Number or name identifying numerical precision to be used. - E - Exx.yy + 0 or SINGLE - Select single precision version of LS-DYNA (default). - nwidth - Total width (12 maximum) of the field (the xx in Ftype). Defaults - to 12. + 1 or DOUBLE - Select double precision version of LS-DYNA. - dsignf - Number of digits after the decimal point (yy in F or E format) or - number of significant digits in G format. Range is 1 to xx-6 for - Ftype = G or E; and 0 to xx-3 for Ftype = F. The default is a - function of Ftype and NWIDTH. + STAT - Check the status of the numerical precision in effect. Notes ----- - Lets you control the format of the graphical display of floating point - numbers. Issue /GFORMAT,STAT to display the current settings; issue - /GFORMAT,DEFA to let ANSYS choose the format for the graphical display - of floating numbers. - - This command is valid in any processor. - - """ - command = "/GFORMAT, %s, %s, %s" % (str(ftype), str(nwidth), str(dsignf)) - self.RunCommand(command, **kwargs) - - def Emodif(self, iel="", stloc="", i1="", i2="", i3="", i4="", i5="", - i6="", i7="", i8="", **kwargs): - """ - APDL Command: EMODIF + Sets the single or double precision version of LS-DYNA into effect. + Please check the availability of the double precision version of LS- + DYNA on your system before using the command. If it is not available, + use the command default. - Modifies a previously defined element. + The double precision version may be up to 20% slower than the single + precision version. The results may also vary based on problem + specifications. - Parameters - ---------- - iel - Modify nodes and/or attributes for element number IEL. If ALL, - modify all selected elements [ESEL]. If IEL = 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 IEL. + In addition to EDDBL,STAT, you can use the GUI dialog box to verify + which precision version is currently chosen. The GUI is based on the + database and is updated to reflect changes. - stloc - Starting location (n) of first node to be modified or the attribute - label. + See Double Precision LS-DYNA for more information. - i1, i2, i3, . . . , i8 - Replace the previous node numbers assigned to this element with - these corresponding values. A (blank) retains the previous value - (except in the I1 field, which resets the STLOC node number to - zero). + This command is also valid in SOLUTION. - Notes - ----- - The nodes and/or attributes (MAT, TYPE, REAL, ESYS, and SECNUM values) - of an existing element may be changed with this command. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "EMODIF, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(iel), str(stloc), str(i1), str(i2), str(i3), str(i4), str(i5), str(i6), str(i7), str(i8)) + command = "EDDBL,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Edge(self, wn="", key="", angle="", **kwargs): + def Asbw(self, na="", sepo="", keep="", **kwargs): """ - APDL Command: /EDGE + APDL Command: ASBW - Displays only the common lines (“edges”) of an object. + Subtracts the intersection of the working plane from areas (divides + areas). Parameters ---------- - wn - Window number (or ALL) to which command applies. The default window - is 1. + na + Area (or areas, if picking is used) to be subtracted from. If NA = + ALL, use all selected areas. If NA = P, graphical picking is + enabled (valid only in the GUI). A component name may also be + input for NA. - key - Edge key: + sepo + Behavior of the created boundary. - 0 - Display common lines between all adjacent element faces. + (blank) - The resulting areas will share line(s) where they touch. - 1 - Display only the common lines between non-coplanar faces (that is, show only - the edges). + SEPO - The resulting areas will have separate, but coincident line(s). - angle - Largest angle between two faces for which the faces are considered - to be coplanar (0° to 180°). Defaults to 45°. A smaller angle - produces more edges, a larger angle produces fewer edges. + keep + Specifies whether NA areas are to be deleted. + + (blank) - Use the setting of KEEP on the BOPTN command. + + DELETE - Delete NA areas after ASBW operation (override BOPTN command settings). + + KEEP - Keep NA areas after ASBW operation (override BOPTN command settings). Notes ----- - The ANGLE field is used in PowerGraphics to determine geometric - discontinuities. It is a tolerance measure for the differences between - the normals of the surfaces being considered. Values within the - tolerance are accepted as coplanar (geometrically continuous). In - postprocessing displays, results are not averaged across discontinuous - surfaces. - - A surface can be displayed as an edge outline without interior detail. - This is useful for both geometry and postprocessing displays. Element - outlines are normally shown as solid lines for geometry and - displacement displays. Lines common to adjacent "coplanar" element - faces are removed from the display. Midside nodes of elements are - ignored. + Generates new areas by subtracting the intersection of the working + plane from the NA areas. The intersection will be a line(s). The + working plane must not be in the same plane as the NA areas(s). If + SEPO is blank, the NA area is divided at the line and the resulting + areas will be connected, sharing a common line where they touch. If + SEPO is set to SEPO, NA is divided into two unconnected areas with + separate lines. The SEPO option may cause unintended consequences if + any keypoints exist along the cut plane. See Solid Modeling in the + Modeling and Meshing Guide for an illustration. See the BOPTN command + for an explanation of the options available to Boolean operations. + Element attributes and solid model boundary conditions assigned to the + original entities will not be transferred to the new entities + generated. - The /SHRINK option is ignored with the edge option. + Issuing the ASBW command under certain conditions may generate a + topological degeneracy error. Do not issue the command if: - /EDGE is not supported for PLESOL and /ESHAPE displays when in - PowerGraphics mode (/GRAPHICS,POWER). + A sphere or cylinder has been scaled. (A cylinder must be scaled + unevenly in the XY plane.) - The /EDGE command is valid in any processor. + A sphere or cylinder has not been scaled but the work plane has been + rotated. """ - command = "/EDGE, %s, %s, %s" % (str(wn), str(key), str(angle)) + command = "ASBW,%s,%s,%s" % (str(na), str(sepo), str(keep)) self.RunCommand(command, **kwargs) - def Celist(self, neqn1="", neqn2="", ninc="", option="", **kwargs): + def Vtran(self, kcnto="", nv1="", nv2="", ninc="", kinc="", noelem="", + imove="", **kwargs): """ - APDL Command: CELIST + APDL Command: VTRAN - Lists the constraint equations. + Transfers a pattern of volumes to another coordinate system. Parameters ---------- - neqn1, neqn2, ninc - List constraint equations from NEQN1 to NEQN2 (defaults to NEQN1) - in steps of NINC (defaults to 1). If NEQN1 = ALL (default), NEQN2 - and NINC are ignored and all constraint equations are listed. + kcnto + Reference number of coordinate system where the pattern is to be + transferred. Transfer occurs from the active coordinate system. + The coordinate system type and parameters of KCNTO must be the same + as the active system. - option - Options for listing constraint equations: + nv1, nv2, ninc + Transfer volumes from pattern beginning with NV1 to NV2 (defaults + to NV1) in steps of NINC (defaults to 1). If NV1 = ALL, NV2 and + NINC are ignored and the pattern is all selected volumes [VSEL]. + If NV1 = 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 NV1 (NV2 and NINC are ignored). - ANY - List equation set if any of the selected nodes are in the set (default). Only - externally-generated constraint equations are listed. + kinc + Keypoint increment between sets. If zero, the lowest available + keypoint numbers are assigned [NUMSTR]. - ALL - List equation set only if all of the selected nodes are in the set. Only - externally-generated constraint equations are listed. + noelem + Specifies whether elements and nodes are also to be generated: - INTE - List internally-generated constraint equations that are associated with MPC- - based contact. Constraint equations are listed only if all - the nodes in the set are selected. + 0 - Generate nodes and elements associated with the original volumes, if they + exist. - CONV - Convert internal constraint equations to external constraint equations. - Internal constraint equations are converted only if all of - the nodes in the set are selected. + 1 - Do not generate nodes and elements. + + imove + Specifies whether to redefine the existing volumes: + + 0 - Generate additional volumes. + + 1 - Move original volumes to new position retaining the same keypoint numbers (KINC + and NOELEM are ignored). Corresponding meshed items are also + moved if not needed at their original position. Notes ----- - This command is valid in any processor. However, the INTE and CONV - options are only valid in the Solution processor after a SOLVE command - has been issued. + Transfers a pattern of volumes (and their corresponding keypoints, + lines, areas and mesh) from one coordinate system to another (see + analogous node transfer command, TRANSFER). The MAT, TYPE, REAL, and + ESYS attributes are based upon the volumes in the pattern and not upon + the current settings. Coordinate systems may be translated and rotated + relative to each other. Initial pattern may be generated in any + coordinate system. However, solid modeling in a toroidal coordinate + system is not recommended. Coordinate and slope values are interpreted + in the active coordinate system and are transferred directly. Volumes + are generated as described in the VGEN command. """ - command = "CELIST, %s, %s, %s, %s" % (str(neqn1), str(neqn2), str(ninc), str(option)) + command = "VTRAN,%s,%s,%s,%s,%s,%s,%s" % (str(kcnto), str(nv1), str(nv2), str(ninc), str(kinc), str(noelem), str(imove)) self.RunCommand(command, **kwargs) - def Anharm(self, nfram="", delay="", ncycl="", nperiod="", cms_antype="", - cms_modopt="", **kwargs): + def Plmap(self, item="", nodekey="", imagkey="", **kwargs): """ - APDL Command: ANHARM + APDL Command: PLMAP - Produces an animated sequence of time-harmonic results or complex mode - shapes. + Plots target and source pressures. Parameters ---------- - nfram - Number of frame captures per cycle. Defaults to 12. - - delay - Time delay (seconds) during animation. Defaults to 0.1 seconds. - - ncycl - Number of animation cycles. Defaults to 5. Not available in the - GUI. + item + Items to plot: - nperiod - Period number for the second set of frames showing the decay or - growth of a mode shape. Only applies to complex mode shape - animation. Defaults to 1, animating the decay or growth on the - first period. Issue -1 to animate without decay or growth. + BOTH - Plot both target and source pressures (default). - cms_antype - Analysis type performed in the CMS use pass. No default. + TARGET - Plot only the target pressures. - MODAL - Modal analysis + SOURCE - Plot only the source pressures. - HARMIC - Harmonic analysis + -- + Unused field. - cms_modopt - Mode extraction method selected in the CMS use pass. No default. + nodekey + If the source data contains faces (that is, surface elements were + created upon the READ command), set NODEkey = 1 to plot only the + source nodes rather than both the nodes and the elements. - UNSYM - Unsymmetric matrix + imagkey + 1 - DAMP - Damped system + 1 - Plot the real pressures (default). - QRDAMP - Damped system using QR algorithm + 0 - Plot the imaginary pressures. Notes ----- - ANHARM invokes an ANSYS macro which produces an animated sequence of: - - Time-harmonic results in the case of a harmonic analysis - (ANTYPE,HARMIC) + Pressures on the target faces are displayed as a color contour plot + using the command /PSF,PRES,,3. If the source data contains faces (that + is, surface elements were created upon the READ command), the source + faces are also displayed using a color contour plot by default. If + NODEkey = 1 or no source faces are available, the source pressures are + displayed as colored node symbols (/PSYMB,DOT,1 command). - Complex mode shapes in the case of a modal analysis (ANTYPE,MODAL). + """ + command = "PLMAP,%s,%s,%s" % (str(item), str(nodekey), str(imagkey)) + self.RunCommand(command, **kwargs) - In both cases, the results are those of the last plot action (for - example, PLNSOL,B,SUM). + def Toffst(self, value="", **kwargs): + """ + APDL Command: TOFFST - The animation converts the complex solution variables (real and - imaginary sets) into time varying results over one period. For example, - if NFRAM = 12, then the frame captures are in increments of 30 degree - phase angles. + Specifies the temperature offset from absolute zero to zero. - A second set of NFRAM frames will be generated for damped eigenmodes - from complex eigensolvers to visualize any exponential decay or growth - of the oscillations. The second set generated will display frames from - the period number specified by NPERIOD. + Parameters + ---------- + value + Degrees between absolute zero and zero of temperature system used + (should be positive). - In a CMS analysis, the ANHARM command can be used after the CMS - expansion pass or the use pass. To use ANHARM after the expansion pass, - you must indicate whether a modal analysis or a harmonic analysis was - performed in the CMS use pass by setting CMS_ANTYPE to either MODAL or - HARMIC. If the use pass was a modal analysis, you must also set the - CMS_MODOPT field to indicate the mode extraction method that was used - (UNSYM, DAMP, or QRDAMP). If CMS_MODOPT = QRDAMP, it is assumed that - CPXMOD was set to ON in the MODOPT command to request complex - eigenmodes. If the ANHARM command is used after the use pass, it is not - necessary to set the CMS_ANTYPE or CMS_MODOPT arguments. + Notes + ----- + Specifies the difference (in degrees) between absolute zero and the + zero of the temperature system used. Absolute temperature values are + required in evaluating certain expressions, such as for creep, + swelling, radiation heat transfer, MASS71, etc. (The offset + temperature is not used in evaluating emissivity.) Examples are 460° + for the Fahrenheit system and 273° for the Celsius system. The offset + temperature is internally included in the element calculations and does + not affect the temperature input or output. If used in SOLUTION, this + command is valid only within the first load step. - For more information about complex results postprocessing, see POST1 - and POST26 – Complex Results Postprocessing in the Mechanical APDL - Theory Reference + This command is also valid in PREP7. """ - command = "ANHARM, %s, %s, %s, %s, %s, %s" % (str(nfram), str(delay), str(ncycl), str(nperiod), str(cms_antype), str(cms_modopt)) + command = "TOFFST,%s" % (str(value)) self.RunCommand(command, **kwargs) - def L(self, p1="", p2="", ndiv="", space="", xv1="", yv1="", zv1="", - xv2="", yv2="", zv2="", **kwargs): + def Edload(self, option="", lab="", key="", cname="", par1="", par2="", + ph_ase="", lcid="", scale="", btime="", dtime="", **kwargs): """ - APDL Command: L + APDL Command: EDLOAD - Defines a line between two keypoints. + Specifies loads for an explicit dynamics analysis. Parameters ---------- - p1 - Keypoint at the beginning of line. If P1 = P, graphical picking is - enabled and all remaining command fields are ignored (valid only in - the GUI). + option + Label identifying the load option to be performed. - p2 - Keypoint at the end of line. + ADD - Define a load (default). If Option = ADD, Cname must be a valid node or element + component name (or PART number). You must also specify a load + curve using Par1 and Par2 (previously defined array + parameters) or LCID (a previously defined load curve). - ndiv - Number of element divisions within this line. Normally this field - is not used; specifying divisions with LESIZE, etc. is recommended. + DELE - Delete specified load. If Lab and Cname are blank, all loads are deleted. Par1, + Par2, PHASE, and LCID are ignored for this option. - space - Spacing ratio. Normally this field is not used, as specifying - spacing ratios with the LESIZE command is recommended. If - positive, SPACE is the nominal ratio of the last division size (at - P2) to the first division size (at P1). If the ratio is greater - than 1, the division sizes increase from P1 to P2, and if less than - 1, they decrease. If SPACE is negative, then |SPACE| is the - nominal ratio of the center division size to those at the ends. + LIST - List specified load. If Lab and Cname are blank, all loads are listed. Par1, + Par2, PHASE, and LCID are ignored for this option. - Notes - ----- - Defines a line between two keypoints from P1 to P2. The line shape may - be generated as "straight" (in the active coordinate system) or curved. - The line shape is invariant with coordinate system after it is - generated. Note that solid modeling in a toroidal coordinate system is - not recommended. A curved line is limited to 180°. Lines may be - redefined only if not yet attached to an area. + lab + Valid load labels for loads applied to nodes: - """ - command = "L, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(p1), str(p2), str(ndiv), str(space), str(xv1), str(yv1), str(zv1), str(xv2), str(yv2), str(zv2)) - self.RunCommand(command, **kwargs) + FX, FY, FZ - Forces. - def Alist(self, na1="", na2="", ninc="", lab="", **kwargs): - """ - APDL Command: ALIST + MX, MY, MZ - Moments. - Lists the defined areas. + UX, UY, UZ - Displacements. - Parameters - ---------- - na1, na2, ninc - List areas from NA1 to NA2 (defaults to NA1) in steps of NINC - (defaults to 1). If NA1 = ALL (default), NA2 and NINC are ignored - and all selected areas [ASEL] are listed. If NA1 = P, graphical - picking is enabled and all remaining arguments are ignored (valid - only in the GUI). A component name may also be substituted for NA1 - (NA2 and NINC are ignored). + ROTX, ROTY, ROTZ - Rotations. - lab - Determines what type of listing is used (one of the following): + VX, VY, VZ - Velocities. - (blank) - Prints information about all areas in the specified range. + OMGX, OMGY, OMGZ - Angular velocities. - HPT - Prints information about only those areas that contain hard points. + AX, AY, AZ - Accelerations (on nodes). - Notes - ----- - An attribute (TYPE, MAT, REAL, or ESYS) listed as a zero is unassigned; - one listed as a positive value indicates that the attribute was - assigned with the AATT command (and will not be reset to zero if the - mesh is cleared); one listed as a negative value indicates that the - attribute was assigned using the attribute pointer [TYPE, MAT, REAL, or - ESYS] that was active during meshing (and will be reset to zero if the - mesh is cleared). A "-1" in the "nodes" column indicates that the area - has been meshed but there are no interior nodes. The area size is - listed only if an ASUM command has been performed on the area. + ACLX, ACLY, ACLZ - Base accelerations. - """ - command = "ALIST, %s, %s, %s, %s" % (str(na1), str(na2), str(ninc), str(lab)) - self.RunCommand(command, **kwargs) + TEMP - Temperature. - def Mode(self, mode="", isym="", **kwargs): - """ - APDL Command: MODE + key + When Lab = PRESS, KEY = Load key (face number) associated with a + surface pressure load. Load keys (1,2,3, etc.) are listed under + "Surface Loads" in the input data tables for each element type in + the Element Reference. - Specifies the harmonic loading term for this load step. + cname + Name of existing component [CM] or PART number [EDPART] to which + this load is to be applied. For all load labels except the + pressure load (Lab = PRESS) and the rigid body loads (Lab = RBxx), + the component must consist of nodes. For pressure loads, the + component must consist of elements. For rigid body loads, a part + number must be input instead of a component name. The part number + must correspond to a set of elements that has been identified as a + rigid body [EDMP,RIGID,MAT]. - Parameters - ---------- - mode - Number of harmonic waves around circumference for this harmonic - loading term (defaults to 0). + par1 + Name of user-defined array parameter that contains the time values + of the load. - isym - Symmetry condition for this harmonic loading term (not used when - MODE = 0): + par2 + Name of user-defined array parameter that contains the "data" + values of the load corresponding to the time values in Par1. - 1 - Symmetric (UX, UY, ROTZ, TEMP use cosine terms; UZ uses sine term) (default). + phase + Phase of the analysis in which the load curve is to be used. - -1 - Antisymmetric (UX, UY, ROTZ, TEMP use sine terms; UZ uses cosine term). + 0 - Curve is used in transient analysis only (default). - Notes - ----- - Used with axisymmetric elements having nonaxisymmetric loading - capability (for example, PLANE25, SHELL61, etc.). For analysis types - ANTYPE,MODAL, HARMIC, TRANS, and SUBSTR, the term must be defined in - the first load step and may not be changed in succeeding load steps. + 1 - Curve is used in stress initialization or dynamic relaxation only. - This command is also valid in PREP7. + 2 - Curve is used in both stress initialization (or dynamic relaxation) and + transient analysis. - """ - command = "MODE, %s, %s" % (str(mode), str(isym)) - self.RunCommand(command, **kwargs) + lcid + Data curve ID number representing the load curve to be applied. The + load curve must have been previously defined using the EDCURVE + command. If LCID is specified, Par1 and Par2 must be left blank (in + the GUI, select “None” for Par1 and Par2). - def Ainp(self, na1="", na2="", na3="", na4="", na5="", na6="", na7="", - na8="", na9="", **kwargs): - """ - APDL Command: AINP + scale + Load curve scale factor applied to the specified load curve. The + scale value is applied to the data in Par2 or to the ordinate data + in the load curve specified by LCID. - Finds the pairwise intersection of areas. + btime + Birth time, or time when imposed motion is activated. The default + is 0.0. Some load types do not support birth and death time; see + Table 132: Birth Time, Death Time, and CID Support in the Notes + section for more information. - Parameters - ---------- - na1, na2, na3, . . . , na9 - Numbers of areas to be intersected pairwise. If NA1 = ALL, NA2 to - NA9 are ignored and the pairwise intersection of all selected areas - is found. If NA1 = P, graphical picking is enabled and all - remaining arguments are ignored (valid only in the GUI). A - component name may be substituted for NA1. + dtime + Death time, or time when imposed motion is removed. The default is + 1 x 1038. Some load types do not support birth and death time; see + Table 132: Birth Time, Death Time, and CID Support in the Notes + section for more information. Notes ----- - Finds the pairwise intersection of areas. The pairwise intersection is - defined as all regions shared by any two or more areas listed on this - command. New areas will be generated where the original areas - intersect pairwise. If the regions of pairwise intersection are only - lines, new lines will be generated. See the Modeling and Meshing Guide - for an illustration. See the BOPTN command for the options available - to Boolean operations. Element attributes and solid model boundary - conditions assigned to the original entities will not be transferred to - the new entities generated. - - """ - command = "AINP, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(na7), str(na8), str(na9)) - self.RunCommand(command, **kwargs) - - def Cycphase(self, type="", option="", **kwargs): - """ - APDL Command: CYCPHASE - - Provides tools for determining minimum and maximum possible result - values from frequency couplets produced in a modal cyclic symmetry - analysis. - - Parameters - ---------- - type - The type of operation requested: - - DISP - Calculate the maximum and minimum possible displacement at each node in the - original sector model. Store the values and the phase angle - at which they occurred. - - STRESS - Calculate the maximum and minimum possible stresses at each node in the - original sector model. Store the values and the phase - angle at which they occurred. - - STRAIN - Calculate the maximum and minimum possible strains at each node in the original - sector model. Store the values and the phase angle at - which they occurred. - - ALL - Calculate the maximum and minimum possible displacement, stress and strain at - each node in the original sector model. Store the values and - the phase angle at which they occurred. - - GET - Places the value of a MAX or MIN item into the _CYCVALUE parameter, the node - for that value in the _CYCNODE parameter, and the phase angle - for the value in the _CYCPHASE parameter. - - PUT - Put resulting sweep values for printing (via the PRNSOL command ) or plotting - (via the PLNSOL command). + If a component name is input (Cname) and the specified component + definition is changed before the SOLVE command, the last definition + will be used. - LIST - List the current minimum/maximum displacement, stress and strain nodal values. + You can specify the load data by inputting LCID (the ID number of a + previously defined load curve) or by inputting the two array parameters + Par1 and Par2 (which contain time and load values, respectively). The + input for Par1 and Par2 may be a single column array parameter, or a + specific column from a multi-column array parameter. A starting array + element number can be specified for Par1 and Par2; if none is + specified, array element 1 is used by default. - STAT - Summarize the results of the last phase sweep. + Note:: : You cannot update a previously defined load by changing the + array parameters that were input as Par1 and Par2. The load definition + is written to the database at the time EDLOAD is issued. Therefore, + subsequent changes to the array parameters that were used as input on + EDLOAD will not affect the load curve definition. If you need to change + the load definition, you must delete the load (EDLOAD,DELE) and define + it again. - CLEAR - Clear phase-sweep information from the database. + EDLOAD automatically assigns a load number to each defined load. Use + EDLOAD,LIST to obtain a list of loads and their corresponding load + numbers. You can plot a load curve by inputting the load number on the + EDPL command. The load numbers may change when loads are deleted + (EDLOAD,DELE). Therefore, you should obtain a current list of load + numbers (EDLOAD,LIST) before plotting a load curve. - option - If TYPE = DISP, STRAIN, STRESS or ALL, controls the sweep angle - increment to use in the search: + For prescribed motion, we recommend that you specify velocity time + histories instead of displacement time histories. Also, you should not + specify nonzero initial displacements. A piecewise linear displacement + time history may lead to discontinuous velocities and infinite + accelerations. - Angle - The sweep angle increment in degrees, greater than 0.1 and less than 10. The - default is 1. + By default, the load will be applied in the global Cartesian direction. + You can define the load in a different direction by inputting a CID + (coordinate system ID) value in the KEY field. The CID must be + previously defined using the EDLCS command. For load labels (Lab = FX, + FY, FZ, MX, MY, MZ, RBFX, RBFY, RBFZ, RBMX, RBMY, RBMZ), the load will + be applied in the direction of the local coordinate system defined by + EDLCS. For prescribed motion degrees of freedom labels (Lab = UX, UY, + UZ, ROTX, ROTY, ROTZ, VX, VY, VZ, AX, AY, AZ, RBUX, RBUY, RBUZ, RBRX, + RBRY, RBRZ, RBVX, RBVY, RBVZ, RBOX, RBOY, RBOZ), the motion will act in + the direction of a vector defined by two points input on the EDLCS + command. The origin and terminus ends of the vector are defined by the + X1, Y1, Z1 and X2, Y2, Z2 fields, respectively, of EDLCS. - Notes - ----- - When you expand the results of a modal cyclic symmetry analysis (via - the /CYCEXPAND or EXPAND command), ANSYS combines the real and - imaginary results for a given nodal diameter, assuming no phase shift - between them; however, the modal response can occur at any phase shift. + For Lab = OMGX, OMGY, and OMGZ, you may need to specify the origin + location of the acceleration coordinate system [CGLOC]. - CYCPHASE response results are valid only for the first cyclic sector. - To obtain the response at any part of the expanded model, ANSYS, Inc. - recommends using cyclic symmetry results expansion at the phase angle - obtained via CYCPHASE. + When applying a temperature load (Lab = TEMP), you may also need to + define a reference temperature via the TREF command. The thermal + loading is defined as the difference between the applied temperature + and the reference temperature. Note that EDLOAD,LIST will list only the + temperature values specified on EDLOAD, not the temperature difference. - The phase angles returned by CYCPHASE contain the minimum and maximum - values for USUM, SEQV and other scalar principal stress and strain - quantities; however, they do not always return the true minimum and - maximum values for directional quantities like UX or SX unless the - values fall in the first sector. + When applying loads to axisymmetric PLANE162 elements, the load may be + interpreted differently depending on whether you use the area weighted + or volume weighted option (KEYOPT(2)). See the PLANE162 element + description in the Element Reference for details. - CYCPHASE does not consider midside node values when evaluating maximum - and minimum values, which may affect DISPLAY quantities but no others. - (Typically, ANSYS ignores midside node stresses and strains during - postprocessing.) + Use PHASE = 0 when you are using the LS-DYNA solver to conduct a + transient explicit analysis only or when you are conducting a + sequential implicit/explicit analysis, in which the ANSYS (implicit) + resulting displacements (stored in the `drelax' file from the REXPORT + command) are used to preload the explicit model [EDDRELAX,ANSYS] - Issuing CYCPHASE,PUT clears the result values for midside nodes on high - order elements; therefore, this option sets element faceting (/EFACET) - to 1. The command reports that midside nodal values are set to zero and - indicates that element faceting is set to 1. + Use PHASE = 1 or 2 when you need to use LS-DYNA to preload the model + (as opposed to ANSYS) before running the transient portion of the + analysis. PHASE = 1 applies the load initially and then immediately + removes the load. As a result, the load is removed, and the structure + vibrates freely. PHASE = 2 applies the load and then continues to apply + the load over the course of the transient analysis, so that the + transient analysis includes the effect of the initial loading and + continues to account for the initial loading. - If the sweep values are available after issuing a CYCPHASE,PUT command, - the PRNSOL or PLNSOL command will print or plot (respectively) the - sweep values of structure displacement Ux, Uy, Uz, component - stress/strain X, Y, Z, XY, YZ, ZX, principal stress/strain 1, 2, 3 and - equivalent stress/strain EQV. The vector sum of displacement (USUM) - and stress/strain intensity (SINT) are not valid phase-sweep results. + Birth and Death times, as well as the CID key are supported only for + the EDLOAD labels specified with a Yes in the following table. - You can specify any coordinate system via the RSYS command for - displaying or printing CYCPHASE results. However, after CYCPHASE - results have been extracted, you cannot then transform them via the - RSYS command. If you try to do so, ANSYS issues a warning message. + Table: 132:: : Birth Time, Death Time, and CID Support - The CYCPHASE command is valid in /POST1 and for cyclically symmetric - models only. + This command is also valid in PREP7. - To learn more about analyzing a cyclically symmetric structure, see the - Cyclic Symmetry Analysis Guide. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "CYCPHASE, %s, %s" % (str(type), str(option)) + command = "EDLOAD,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(lab), str(key), str(cname), str(par1), str(par2), str(ph_ase), str(lcid), str(scale), str(btime), str(dtime)) self.RunCommand(command, **kwargs) - def Asum(self, lab="", **kwargs): + def Del(self, val1="", val2="", **kwargs): """ - APDL Command: ASUM + APDL Command: *DEL - Calculates and prints geometry statistics of the selected areas. + Deletes a parameter or parameters (GUI). Parameters ---------- - lab - Controls the degree of tessellation used in the calculation of area - properties. If LAB = DEFAULT, area calculations will use the - degree of tessellation set through the /FACET command. If LAB = - FINE, area calculations are based on a finer tessellation. - - Notes - ----- - Calculates and prints geometry statistics (area, centroid location, - moments of inertia, volume, etc.) associated with the selected areas. - ASUM should only be used on perfectly flat areas. - - Geometry items are reported in the global Cartesian coordinate system. - A unit thickness is assumed unless the areas have a non-zero total - thickness defined by real constant or section data. - - For layered areas, a unit density is always assumed. For single-layer - areas, a unit density is assumed unless the areas have a valid material - (density). - - The thickness and density are associated to the areas via the AATT - command. + val1 + Command behavior key: - Items calculated via ASUM and later retrieved via a *GET or *VGET - command are valid only if the model is not modified after issuing the - ASUM command. + Delete all user-defined parameters, or all user-defined parameters and all system parameters, as specified by Val2. - Delete the parameter(s) specified by Val2. - Setting a finer degree of tessellation will provide area calculations - with greater accuracy, especially for thin, hollow models. However, - using a finer degree of tessellation requires longer processing. + val2 + The parameter or parameters to delete (used only when Val1 = ALL or + (blank)): - For very narrow (sliver) areas, such that the ratio of the minimum to - the maximum dimension is less than 0.01, the ASUM command can provide - erroneous area information. To ensure that the calculations are - accurate, subdivide such areas so that the ratio of the minimum to the - maximum is at least 0.05. + When Val1 is (blank), specifies the location of the parameter within the Array Parameters dialog box. The location number is based on an alphabetically ordered list of all parameters in the database. - When Val1 is ALL, deletes all parameters, including those named with a leading + underscore (_) (except _STATUS and _RETURN). When + Val1 is (blank), deletes only those parameters + named with a leading underscore (_) (except + _STATUS and _RETURN). - """ - command = "ASUM, %s" % (str(lab)) - self.RunCommand(command, **kwargs) + When Val1 is (blank), deletes only those parameters named with a trailing underscore (_). - When Val1 is ALL, a (blank) value for Val2 causes all user-defined parameters + to be deleted. - def Pletab(self, itlab="", avglab="", **kwargs): - """ - APDL Command: PLETAB + Notes + ----- + This is a command generally created by the graphical user interface + (GUI). It appears in the log file (Jobname.LOG) if an array parameter + is deleted from within the Array Parameters dialog. - Displays element table items. + Usage examples: - Parameters - ---------- - itlab - User-defined label, as specified with the ETABLE command, of item - to be displayed. + Delete all user-defined parameters: *DEL,ALL - avglab - Averaging operation: + Delete only those user-defined parameters named with a trailing + underscore: *DEL,,PRM_ - NOAV - Do not average element items at common nodes (default). + Delete all user-defined and all system parameters (except for _STATUS + and _RETURN): *DEL,ALL,_PRM - AVG - Average the element items at common nodes. + Delete a parameter by specifying its location within the Array + Parameters dialog: *DEL,,LOC - Notes - ----- - Displays items stored in the table defined with the ETABLE command for - the selected elements. For display purposes, items are assumed to be - constant over the element and assigned to each of its nodes. Contour - display lines (lines of constant value) are determined by linear - interpolation within each element from the nodal values. These nodal - values have the option of being averaged (values are averaged at a node - whenever two or more elements connect to the same node) or not averaged - (discontinuous). The discontinuity between contour lines of adjacent - elements is an indication of the gradient across elements. + Delete a single specified parameter by name: *DEL,ParmName (You cannot + specify more than one named parameter at a time.) - Portions of this command are not supported by PowerGraphics - [/GRAPHICS,POWER]. + This command is valid in any processor. """ - command = "PLETAB, %s, %s" % (str(itlab), str(avglab)) + command = "*DEL,%s,%s" % (str(val1), str(val2)) self.RunCommand(command, **kwargs) - def Timint(self, key="", lab="", **kwargs): + def Plcrack(self, loc="", num="", **kwargs): """ - APDL Command: TIMINT + APDL Command: PLCRACK - Turns on transient effects. + Displays cracking and crushing locations in SOLID65 elements. Parameters ---------- - key - Transient effects key: - - OFF - No transient effects (static or steady-state). - - ON - Include transient (mass or inertia) effects. - - lab - Degree of freedom label: + loc + Location at which symbols are to be displayed: - ALL - Apply this key to all appropriate labels (default). + 0 - Plot symbols at integration points (default). - STRUC - Apply this key to structural DOFs. + 1 - Plot symbol at element centroids (averaged). - THERM - Apply this key to thermal DOFs. + num + Crack to be displayed: - ELECT - Apply this key to electric DOFs. + 0 - Plot all cracks (default). - MAG - Apply this key to magnetic DOFs. + 1 - Plot only the first crack. - FLUID - Apply this key to fluid DOFs. + 2 - Plot only the second crack. - DIFFU - Apply this key to concentration of DOFs. + 3 - Plot only the third crack. Notes ----- - Indicates whether this load step in a full transient analysis should - use time integration, that is, whether it includes transient effects - (e.g. structural inertia, thermal capacitance) or whether it is a - static (steady-state) load step for the indicated DOFs. Transient - initial conditions are introduced at the load step having Key = ON. - Initial conditions are then determined from the previous two substeps. - Zero initial velocity and acceleration are assumed if no previous - substeps exist. See the Structural Analysis Guide, the Thermal - Analysis Guide, and the Low-Frequency Electromagnetic Analysis Guide - for details. + PLCRACK displays circles at locations of cracking or crushing in + concrete elements. Cracking is shown with a circle outline in the + plane of the crack, and crushing is shown with an octahedron outline. + If the crack has opened and then closed, the circle outline will have + an X through it. Each integration point can crack in up to three + different planes. The first crack at an integration point is shown + with a red circle outline, the second crack with a green outline, and + the third crack with a blue outline. - This command is also valid in PREP7. + Symbols shown at the element centroid (LOC = 1) are based on the status + of all of the element's integration points. If any integration point + in the element has crushed, the crushed (octahedron) symbol is shown at + the centroid. If any integration point has cracked or cracked and + closed, the cracked symbol is shown at the element centroid. If at + least five integration points have cracked and closed, the cracked and + closed symbol is shown at the element centroid. Finally, if more than + one integration point has cracked, the circle outline at the element + centroid shows the average orientation of all cracked planes for that + element. + + Portions of this command are not supported by PowerGraphics + [/GRAPHICS,POWER]. """ - command = "TIMINT, %s, %s" % (str(key), str(lab)) + command = "PLCRACK,%s,%s" % (str(loc), str(num)) self.RunCommand(command, **kwargs) - def Vsel(self, type="", item="", comp="", vmin="", vmax="", vinc="", + def Lsel(self, type="", item="", comp="", vmin="", vmax="", vinc="", kswp="", **kwargs): """ - APDL Command: VSEL + APDL Command: LSEL - Selects a subset of volumes. + Selects a subset of lines. Parameters ---------- type - Label identifying the type of volume select: + Label identifying the type of select: S - Select a new set (default). @@ -17786,1265 +17815,1652 @@ def Vsel(self, type="", item="", comp="", vmin="", vmax="", vinc="", Notes ----- - Selects volumes based on values of a labeled item and component. For - example, to select a new set of volumes based on volume numbers 1 - through 7, use VSEL,S,VOLU,,1,7. The subset is used when the ALL label - is entered (or implied) on other commands, such as VLIST,ALL. Only - data identified by volume number are selected. Data are flagged as - selected and unselected; no data are actually deleted from the - database. + Selects lines based on values of a labeled item and component. For + example, to select a new set of lines based on line numbers 1 through + 7, use LSEL,S,LINE,,1,7. The subset is used when the ALL label is + entered (or implied) on other commands, such as LLIST,ALL. Only data + identified by line number are selected. Data are flagged as selected + and unselected; no data are actually deleted from the database. - This command is valid in any processor. + If Item = LCCA, the command selects only those lines that were created + by concatenation. The KSWP field is processed, but the Comp, VMIN, + VMAX, and VINC fields are ignored. - For Selects based on non-integer numbers (coordinates, results, etc.), - items that are within the range VMIN-Toler and VMAX+Toler are selected. - The default tolerance Toler is based on the relative values of VMIN and - VMAX as follows: + If Item = HPT, the command selects only those lines that contain hard + points. + + Item = RADIUS is only valid for lines that are circular arcs. + + LSEL is valid in any processor. + + For selections based on non-integer numbers (coordinates, results, + etc.), items that are within the range VMIN -Toler and VMAX +Toler are + selected. The default tolerance Toler is based on the relative values + of VMIN and VMAX as follows: If VMIN = VMAX, Toler = 0.005 x VMIN. If VMIN = VMAX = 0.0, Toler = 1.0E-6. - If VMAX ≠ VMIN, Toler = 1.0E-8 x (VMAX-VMIN). + If VMAX ≠ VMIN, Toler = 1.0E-8 x (VMAX - VMIN). Use the SELTOL command to override this default and specify Toler explicitly. - Table: 251:: : VSEL - Valid Item and Component Labels + Table: 204:: : LSEL - Valid Item and Component Labels """ - command = "VSEL, %s, %s, %s, %s, %s, %s, %s" % (str(type), str(item), str(comp), str(vmin), str(vmax), str(vinc), str(kswp)) + command = "LSEL,%s,%s,%s,%s,%s,%s,%s" % (str(type), str(item), str(comp), str(vmin), str(vmax), str(vinc), str(kswp)) self.RunCommand(command, **kwargs) - def Mfelem(self, fnumb="", itype1="", itype2="", itype3="", itype4="", - itype5="", itype6="", itype7="", itype8="", itype9="", - itype10="", **kwargs): + def Gmface(self, lab="", n="", **kwargs): """ - APDL Command: MFELEM + APDL Command: GMFACE - Defines a field by grouping element types. + Specifies the facet representation used to form solid models. Parameters ---------- - fnumb - Field number for a group of element types. + lab + Valid Labels: - itype1, itype2, itype3, . . . , itype10 - Element types defined by the ET command. + FINE - Value that determines how coarse the facets will be. - Notes - ----- - You can define up to ten element types per field. + n + An integer value between one (small) and ten (large) that + determines the tolerances that will be applied to the creation of + arcs and surfaces. Ten will create many facets, which may in turn + cause ANSYS to run very slowly. One will create fewer facets, which + may in turn cause larger tolerance errors. - Define only element types that contain elements in the field. Do not - include MESH200 because it is a “mesh-only” element that does not - contribute to the solution. + """ + command = "GMFACE,%s,%s" % (str(lab), str(n)) + self.RunCommand(command, **kwargs) - This command is also valid in PREP7. + def Bfa(self, area="", lab="", val1="", val2="", val3="", val4="", + **kwargs): + """ + APDL Command: BFA - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + Defines a body force load on an area. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Parameters + ---------- + area + Area to which body load applies. If ALL, apply to all selected + areas [ASEL]. A component name may also be substituted for Area. - """ - command = "MFELEM, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(fnumb), str(itype1), str(itype2), str(itype3), str(itype4), str(itype5), str(itype6), str(itype7), str(itype8), str(itype9), str(itype10)) - self.RunCommand(command, **kwargs) + lab + Valid body load label. Load labels are listed under "Body Loads" in + the input table for each element type in the Element Reference. - def Prorb(self, **kwargs): - """ - APDL Command: PRORB + val1, val2, val3 + Value associated with the Lab item or a table name for specifying + tabular boundary conditions. Use only VAL1 for TEMP, FLUE, HGEN, + CHRGD. For Lab = JS in magnetics, use VAL1, VAL2, and VAL3 for the + X, Y, and Z components. For acoustics, if Lab = JS, use VAL1 for + mass source in a harmonic analysis or mass source rate in a + transient analysis, and ignore VAL2 and VAL3. For Lab = VLTG, VAL1 + is the voltage drop and VAL2 is the phase angle. If Lab = IMPD, + VAL1 is the resistance and VAL2 is the reactance in ohms/square. + When specifying a table name, you must enclose the table name in + percent signs (%), e.g., BFA,Area,Lab,%tabname%. Use the *DIM + command to define a table. - Prints the orbital motion characteristics of a rotating structure + val4 + If Lab = JS, VAL4 is the phase angle in degrees. Notes ----- - When a structure is rotating and the Coriolis or gyroscopic effect is - taken into account (CORIOLIS), nodes lying on the rotation axis - generally exhibit an elliptical orbital motion. The PRORB command - prints out the orbit characteristics A, B, PSI, PHI, YMAX and ZMAX of - each rotating node, where - - Angles PSI and PHI are in degrees and within the range of -180 through - +180. For more information about orbit definition, see Orbits in the - Advanced Analysis Guide. - - To display the characteristics of the orbital path traversed by each - node, issue the PLORB command. + Defines a body force load (such as temperature in a structural + analysis, heat generation rate in a thermal analysis, etc.) on an area. + Body loads may be transferred from areas to area elements (or to nodes + if area elements do not exist) with the BFTRAN or SBCTRAN commands. + Body loads default to the value specified on the BFUNIF command, if it + was previously specified. - The PRORB command is valid for line elements (such as BEAM188, BEAM189, - PIPE288, and PIPE289). + You can specify a table name only when using temperature (TEMP) and + heat generation rate (HGEN) body load labels. - Your model must also involve a rotational velocity (OMEGA or CMOMEGA) - with Coriolis enabled in a stationary reference frame - (CORIOLIS,,,,RefFrame = ON). + Body loads specified by the BFA command can conflict with other + specified body loads. See Resolution of Conflicting Body Load + Specifications in the Basic Analysis Guide for details. - A SET command should be issued after PRORB to ensure proper output for - subsequent postprocessing commands. + Graphical picking is available only via the listed menu paths. - The coordinate system for displaying nodal results must be global - Cartesian (RSYS,KCN = 0). + This command is also valid in PREP7. """ - command = "PRORB, " % () + command = "BFA,%s,%s,%s,%s,%s,%s" % (str(area), str(lab), str(val1), str(val2), str(val3), str(val4)) self.RunCommand(command, **kwargs) - def Vsum(self, lab="", **kwargs): + def Andyna(self, delay="", ncycl="", start="", end="", inc="", + autocontourkey="", **kwargs): """ - APDL Command: VSUM + APDL Command: ANDYNA - Calculates and prints geometry statistics of the selected volumes. + Produces an animated sequence of contour values through substeps. Parameters ---------- - lab - Controls the degree of tessellation used in the calculation of area - properties. If LAB = DEFAULT, area calculations will use the - degree of tessellation set through the /FACET command. If LAB = - FINE, area calculations are based on a finer tessellation. + delay + Time delay during animation (defaults to 0.1 seconds). + + ncycl + Number of animation cycles (defaults to 5). Available in non-UI + mode only. + + start + Number of the starting substep (defaults to 1). + + end + Number of the ending substep (defaults to the maximum substep). + + inc + Increment between substeps (defaults to 1). + + autocontourkey + Auto-scales contour values, based on the overall subset range of + values (defaults to 0, no auto-scaling). Notes ----- - Calculates and prints geometry statistics (volume, centroid location, - moments of inertia, etc.) associated with the selected volumes. - Geometry items are reported in the global Cartesian coordinate system. - A unit density is assumed unless the volumes have a material - association via the VATT command. Items calculated by VSUM and later - retrieved by a *GET or *VGET command are valid only if the model is not - modified after the VSUM command is issued. - - Setting a finer degree of tessellation will provide area calculations - with greater accuracy, especially for thin, hollow models. However, - using a finer degree of tessellation requires longer processing. + ANDYNA involves an ANSYS macro which produces an animation of contour + values through all the substeps of the last plot action command. This + command operates only on graphic display platforms supporting the /SEG + command. After executing ANDYNA, you can replay the animated sequence + by issuing the ANIM command. - For very thin volumes, such that the ratio of the minimum to the - maximum dimension is less than 0.01, the VSUM command can provide - erroneous volume information. To ensure that such calculations are - accurate, make certain that you subdivide such volumes so that the - ratio of the minimum to the maximum is at least 0.05. + The command functions only in the postprocessor. """ - command = "VSUM, %s" % (str(lab)) + command = "ANDYNA,%s,%s,%s,%s,%s,%s" % (str(delay), str(ncycl), str(start), str(end), str(inc), str(autocontourkey)) self.RunCommand(command, **kwargs) - def Spread(self, value="", **kwargs): + def Pivcheck(self, key="", prntcntrl="", **kwargs): """ - APDL Command: SPREAD + APDL Command: PIVCHECK - Turns on a dashed tolerance curve for the subsequent curve plots. + Controls the behavior of an analysis when a negative or zero equation + solver pivot value is encountered. Parameters ---------- - value - Amount of tolerance. For example, 0.1 is ± 10%. + key + Determines whether to stop or continue an analysis when a negative + or zero equation solver pivot value is encountered: - """ - command = "SPREAD, %s" % (str(value)) - self.RunCommand(command, **kwargs) + AUTO - Check for negative or zero pivot values for analyses performed with the sparse + and PCG solvers. When one is encountered, an error or + warning is issued, per various criteria relating to the type + of analysis being solved. An error causes the analysis to + stop; a warning allows the analysis to continue. A negative + pivot value may be valid for some nonlinear and multiphysics + analyses (for example, electromagnetic and thermal + analyses); this key has no effect in these cases. - def Rmflvec(self, **kwargs): - """ - APDL Command: RMFLVEC + ERROR - Check for negative or zero pivot values for analyses performed with the sparse + and PCG solvers. When one is encountered, an error is + issued, stopping the analysis. A negative pivot value may + be valid for some nonlinear and multiphysics analyses (for + example, electromagnetic and thermal analyses); this key + has no effect in these cases. - Writes eigenvectors of fluid nodes to a file for use in damping - parameter extraction. + WARN - Check for negative or zero pivot values for analyses performed with the sparse + and PCG solvers. When one is encountered, a warning is + issued and the analysis continues. A negative pivot value + may be valid for some nonlinear and multiphysics analyses + (for example, electromagnetic and thermal analyses); this + key has no effect in these cases. + + OFF - Pivot values are not checked. This key causes the analysis to continue in spite + of a negative or zero pivot value. + + prntcntrl + Provides print options. Print output with these options will be + sent to the default output file, not to the files created by the + nonlinear diagnostic tools (NLDIAG). + + ONCE - Print only the maximum and minimum pivot information on the first call to the + sparse solver (which is the default solver). This is the + default behavior. + + EVERY - Print the maximum and minimum pivot information at every call to the sparse + solver. This option is provided for nonlinear analysis + diagnostics. Notes ----- - RMFLVEC extracts the modal information from the modal results file for - all nodes specified in a node component called 'FLUN'. This component - should include all nodes which are located at the fluid-structural - interface. Mode shapes, element normal orientation, and a scaling - factor are computed and stored in a file Jobname.EFL. For damping - parameter extraction, use the DMPEXT command macro. See Introduction - for more information on thin film analyses. + This command is valid for all analyses. In a nonlinear analysis, a + negative pivot may be valid. In some cases, rigid body motions in a + nonlinear analysis will be trapped by error routines checking + infinitely large displacements (DOF limit exceeded) or nonconvergence + status. An under-constrained model may avoid the pivot check, but fail + with a DOF limit exceeded error. - FLUID136 and FLUID138 are used to model the fluid interface. Both the - structural and fluid element types must be active. The fluid interface - nodes must be grouped into a component 'FLUN'. A results file of the - last modal analysis must be available. + Machine precision may affect whether a small pivot triggers an error or + bypasses this checking logic. You may wish to review the ratio of the + maximum to absolute minimum pivot values. For ratios exceeding 12 to 14 + orders of magnitude, the accuracy of the computed solution may be + degraded by the severe ill-conditioning of the assembled matrix. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Note that negative pivots corresponding to Lagrange multiplier based + mixed u-P elements are not checked or reported by this command. + Negative pivots arising from the u-P element formulation and related + analyses can occur and lead to correct solutions. + + This command is also valid in PREP7. """ - command = "RMFLVEC, " % () + command = "PIVCHECK,%s,%s" % (str(key), str(prntcntrl)) self.RunCommand(command, **kwargs) - def Form(self, lab="", **kwargs): + def Plf2d(self, ncont="", olay="", anum="", win="", **kwargs): """ - APDL Command: FORM + APDL Command: PLF2D - Specifies the format of the file dump. + Generates a contour line plot of equipotentials. Parameters ---------- - lab - Format: + ncont + Number of contour lines to display. Issue in multiples of 9 (i.e., + 9, 18, 27, etc.). Default is 27 contour lines. - RECO - Basic record description only (minimum output) (default). + olay + Overlay: - TEN - Same as RECO plus the first ten words of each record. + 0 - Overlay edge outlines by material number. - LONG - Same as RECO plus all words of each record. + 1 - Overlay edge outlines by real constant number. + + anum + Highest material or real constant attribute number. Command will + cycle through ANUM element display overlays. Defaults to 10. + + win + Window number to which command applies. Defaults to 1. Notes ----- - Specifies the format of the file dump (from the DUMP command). + PLF2D invokes an ANSYS macro which plots equipotentials of the degree + of freedom AZ. These equipotential lines are parallel to flux lines + and thus give a good representation of flux patterns. In the + axisymmetric case, the display is actually r*AZ where "r" is the node + radius. The macro overlays (OLAY) edge outlines by material number or + real constant number (ANUM) and allows user control over the number of + contour lines to display (NCONT). + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "FORM, %s" % (str(lab)) + command = "PLF2D,%s,%s,%s,%s" % (str(ncont), str(olay), str(anum), str(win)) self.RunCommand(command, **kwargs) - def Etlist(self, ityp1="", ityp2="", inc="", **kwargs): + def Ratio(self, wn="", ratox="", ratoy="", **kwargs): """ - APDL Command: ETLIST + APDL Command: /RATIO - Lists currently defined element types. + Distorts the object geometry. Parameters ---------- - ityp1, ityp2, inc - Lists element types from ITYP1 to ITYP2 (defaults to ITYP1) in - steps of INC (defaults to 1). If ITYP1 = ALL (default), ITYP2 and - INC are ignored and all element types are listed. + wn + Window number (or ALL) to which command applies (defaults to 1). + + ratox + Distort object in the window X direction by this factor (defaults + to 1.0). + + ratoy + Distort object in the window Y direction by this factor (defaults + to 1.0). Notes ----- + Distorts the object geometry in a particular direction. An example of + this command's use would be to allow long narrow sections to be + distorted to a more square area for better display visualization. + This command is valid in any processor. """ - command = "ETLIST, %s, %s, %s" % (str(ityp1), str(ityp2), str(inc)) + command = "/RATIO,%s,%s,%s" % (str(wn), str(ratox), str(ratoy)) self.RunCommand(command, **kwargs) - def Segen(self, mode="", nsuper="", mdof="", stopstage="", **kwargs): + def Ansol(self, nvar="", node="", item="", comp="", name="", mat="", + real="", ename="", **kwargs): """ - APDL Command: SEGEN + APDL Command: ANSOL - Automatically generate superelements. + Specifies averaged nodal data to be stored from the results file in the + solution coordinate system. Parameters ---------- - mode - Specify action to take (must be specified as one of the following): - - AUTO - Turn on feature. - - OFF - Turn off feature. + nvar + Arbitrary reference number assigned to this variable (2 to NV + [NUMVAR]). Overwrites any existing results for this variable. - nsuper - Number of superelements to create. The minimum number of - superelements is 2, and the maximum number of superelements is 999. - Note that the number of requested superelements may not be the same - as the number of defined superelements (see "Notes" for more - details). + node + Node number for which data are to be stored. - mdof - Specifies whether to use the master DOF defined by the user. + item + Label identifying the item. General item labels are shown in Table + 126: ANSOL - General Item and Component Labels below. Some items + also require a component label. - YES - Use master DOF defined by the user with the M command. + comp + Component of the item (if required). General component labels are + shown in Table 126: ANSOL - General Item and Component Labels + below. - NO - Use the master DOF defined by the automatic generation process. Be aware that - this option can generate a large number of master DOFs (see - "Notes" for more details). + name + Thirty-two character name for identifying the item on the printout + and displays. Defaults to an eight character label formed by + concatenating the first four characters of the Item and Comp + labels. - stopstage - Specifies when to stop the automatic superelement generation - process. + mat + The material number. Average will be computed based on the subset + of elements with the specified material number. DEFAULT: Use all + elements in the active set unless Real and/or Ename is specified. - PREVIEW - Preview the superelements only; stop after creating the domains which will - become the superelements, and after creating master DOF - on the interfaces between each domain. + real + The real number. Average will be computed based on the subset of + elements with the specified real number. DEFAULT: Use all elements + in the active set unless Mat and/or Ename is specified. - GEN - Create (generate) the superelements. + ename + The element type name. Average will be computed based on the subset + of elements with the specified element type name. DEFAULT: Use all + elements in the active set unless Mat and/or Real is specified. Notes ----- - This command can be used to quickly generate a set of superelements. - Each superelement is created in a separate file (jobnameXXX.sub, where - XXX is a positive number from 1 to 999). + Valid item and component labels for averaged nodal results are listed + in Table: 126:: ANSOL - General Item and Component Labels, below. - Due to the heuristics in the automatic domain decomposer, which is used - to define the domains that will become superelements, the number of - defined superelements may exceed the number of requested superelements. - Use the mDof and stopStage options to determine exactly how many - superelements will be created, the interfaces between each - superelement, and where master DOF will be defined. With the - /PNUM,DOMAIN command, you can graphically (visually) preview the - elements in each superelement. Then, if required, you can add - additional master DOF to (or remove from) the boundaries of the - superelements. Use the SEGEN command again with stopStage = GEN to - actually create the superelements. + All element nodal quantities are obtained in RSYS, Solu and then + averaged. - ANSYS automatically defines master DOF at each of the following: all - interface DOF between superelements, all DOF attached to contact - elements (TARGE169 to CONTA177), and all DOF associated with nodes - having a point load defined. Note that for regular superelements, all - interface DOFs must be defined as master DOFs for the correct solution - to be obtained. However, for CMS superelements, some of the interface - DOFs can be removed without a significant loss of accuracy. + The ANSOL command defines averaged nodal results data to be stored from + a results file [FILE]. Not all items are valid for all nodes. See the + input and output summary tables of the Element Reference of each + element that is attached to the node for the available items. - For the case when mDof = YES, you should select the preview option - first (stopStage = PREVIEW) to verify exactly how many superelements - will be created and where the superelement boundaries are located. If - more superelements will be created than were requested, you should - define master DOF on the interface(s) between all superelements. + COORDINATE SYSTEMS: All element nodal results used by ANSOL for + averaging are in the element coordinate system, except for layered + elements. Layered element results are in the layer coordinate system. + You can further specify the element nodal results, for some elements, + with the SHELL, LAYERP26, and FORCE commands. - This command is valid only for substructuring analyses (ANTYPE,SUBSTR). - Use SEOPT to specify any options for all of the superelements (e.g., - which matrices to reduce), and possibly CMSOPT for any CMS - substructuring analysis. Note that the created superelements will - follow the current /FILNAME instead of SENAME from SEOPT. Also, only - one load vector will be written to each .SUB file. Multiple load steps - are not supported with the automatic superelement generation process. + ANSOL does not transform results from RSYS, SOLU to other coordinate + systems. Verify that all elements attached to the subject node have the + same coordinate system before using ANSOL. - During the actual creation of the superelements, the output is - redirected to jobname.autoTemp. + SHELL ELEMENTS: The default shell element coordinate system is based on + node ordering. For shell elements the adjacent elements could have a + different RSYS,SOLU, making the resultant averaged data inconsistent. A + note to this effect is issued when ANSOL is used in models containing + shell elements. Ensure that consistent coordinate systems are active + for all associated elements used by the ANSOL command. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + DERIVED QUANTITIES: Some of the result items supported by ANSOL (see + Table: 126:: ANSOL - General Item and Component Labels) are derived + from the component quantities. Use AVPRIN to specify the principal and + vector sum quantity averaging methods. + + DEFAULT: If Mat, Real , and Ename are not specified, all of the + elements attached to the node will be considered. When a material ID, + real constant ID, or element type discontinuity is detected at a node, + a note is issued. For example, in a FSI analysis, a FLUID30 element at + the structure interface would be considered. But since it contains no + SX result, it will not be used during STORE operations. + + Table: 126:: : ANSOL - General Item and Component Labels + + For more information on the meaning of contact status and its possible + values, see Reviewing Results in POST1 in the Contact Technology Guide. """ - command = "SEGEN, %s, %s, %s, %s" % (str(mode), str(nsuper), str(mdof), str(stopstage)) + command = "ANSOL,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nvar), str(node), str(item), str(comp), str(name), str(mat), str(real), str(ename)) self.RunCommand(command, **kwargs) - def Normal(self, wn="", key="", **kwargs): + def Anharm(self, nfram="", delay="", ncycl="", nperiod="", cms_antype="", + cms_modopt="", **kwargs): """ - APDL Command: /NORMAL + APDL Command: ANHARM - Allows displaying area elements by top or bottom faces. + Produces an animated sequence of time-harmonic results or complex mode + shapes. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). - - key - Display key: - - 0 - No face distinction. + nfram + Number of frame captures per cycle. Defaults to 12. - 1 - Show only area elements having their positive normals directed toward the - viewing point. + delay + Time delay (seconds) during animation. Defaults to 0.1 seconds. - -1 - Show only area elements having their positive normals directed away from the - viewing point. + ncycl + Number of animation cycles. Defaults to 5. Not available in the + GUI. - Notes - ----- - /NORMAL allows you to select area elements and area plots by the top or - bottom faces. It is useful for checking the normal directions on shell - elements. The positive normal (element Z direction) is defined by the - right-hand rule following the node I, J, K, L input direction. This - command is available only with raster or hidden-line displays, for - WIN32 or X11 2-D displays only. + nperiod + Period number for the second set of frames showing the decay or + growth of a mode shape. Only applies to complex mode shape + animation. Defaults to 1, animating the decay or growth on the + first period. Issue -1 to animate without decay or growth. - This command is valid in any processor. + cms_antype + Analysis type performed in the CMS use pass. No default. - """ - command = "/NORMAL, %s, %s" % (str(wn), str(key)) - self.RunCommand(command, **kwargs) + MODAL - Modal analysis - def Gresume(self, fname="", ext="", **kwargs): - """ - APDL Command: /GRESUME + HARMIC - Harmonic analysis - Sets graphics settings to the settings on a file. + cms_modopt + Mode extraction method selected in the CMS use pass. No default. - Parameters - ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + UNSYM - Unsymmetric matrix - ext - Filename extension (eight-character maximum). + DAMP - Damped system - -- - Unused field. + QRDAMP - Damped system using QR algorithm Notes ----- - Causes a file to be read to reset the graphics slash (/) commands as - they were at the last /GSAVE command. + ANHARM invokes an ANSYS macro which produces an animated sequence of: - This command is valid in any processor. + Time-harmonic results in the case of a harmonic analysis + (ANTYPE,HARMIC) - """ - command = "/GRESUME, %s, %s" % (str(fname), str(ext)) - self.RunCommand(command, **kwargs) + Complex mode shapes in the case of a modal analysis (ANTYPE,MODAL). - def Sspm(self, dens="", t="", **kwargs): - """ - APDL Command: SSPM - - Specifies mass density for a preintegrated shell section. - - Parameters - ---------- - dens - Mass density. + In both cases, the results are those of the last plot action (for + example, PLNSOL,B,SUM). - t - Temperature. + The animation converts the complex solution variables (real and + imaginary sets) into time varying results over one period. For example, + if NFRAM = 12, then the frame captures are in increments of 30 degree + phase angles. - Notes - ----- - The SSPM command, one of several preintegrated shell section commands, - specifies the mass density (assuming a unit thickness) for a - preintegrated shell section. The value specified is associated with the - section most recently defined (via the SECTYPE command). + A second set of NFRAM frames will be generated for damped eigenmodes + from complex eigensolvers to visualize any exponential decay or growth + of the oscillations. The second set generated will display frames from + the period number specified by NPERIOD. - Related commands are SSPA, SSPB, SSPD, SSPE, SSMT, and SSBT. + In a CMS analysis, the ANHARM command can be used after the CMS + expansion pass or the use pass. To use ANHARM after the expansion pass, + you must indicate whether a modal analysis or a harmonic analysis was + performed in the CMS use pass by setting CMS_ANTYPE to either MODAL or + HARMIC. If the use pass was a modal analysis, you must also set the + CMS_MODOPT field to indicate the mode extraction method that was used + (UNSYM, DAMP, or QRDAMP). If CMS_MODOPT = QRDAMP, it is assumed that + CPXMOD was set to ON in the MODOPT command to request complex + eigenmodes. If the ANHARM command is used after the use pass, it is not + necessary to set the CMS_ANTYPE or CMS_MODOPT arguments. - For complete information, see Using Preintegrated General Shell - Sections. + For more information about complex results postprocessing, see POST1 + and POST26 – Complex Results Postprocessing in the Mechanical APDL + Theory Reference """ - command = "SSPM, %s, %s" % (str(dens), str(t)) + command = "ANHARM,%s,%s,%s,%s,%s,%s" % (str(nfram), str(delay), str(ncycl), str(nperiod), str(cms_antype), str(cms_modopt)) self.RunCommand(command, **kwargs) - def Bf(self, node="", lab="", val1="", val2="", val3="", val4="", val5="", - val6="", **kwargs): + def Antype(self, antype="", status="", ldstep="", substep="", action="", + **kwargs): """ - APDL Command: BF + APDL Command: ANTYPE - Defines a nodal body force load. + Specifies the analysis type and restart status. Parameters ---------- - node - Node to which body load applies. If Node = ALL, apply to all - selected nodes [NSEL]. A component name may also be substituted - for Node. + antype + Analysis type (defaults to the previously specified analysis type, + or to STATIC if none specified): - lab - Valid body load label. Load labels are listed under "Body Loads" in - the input table for each element type in the Element Reference. + STATIC or 0 - Perform a static analysis. Valid for all degrees of freedom. - val1, val2, val3, val4, val5, val6 - Value associated with the Lab item or table name reference for - tabular boundary conditions. To specify a table, enclose the table - name in percent signs (%) (e.g., BF,Node,TEMP,%tabname%). Use the - *DIM command to define a table. Use only VAL1 for TEMP, FLUE, HGEN, - DGEN, MVDI, CHRGD. If Lab = CHRGD for acoustics, VAL1 is the static - pressure for a non-uniform acoustic medium calculation. + BUCKLE or 1 - Perform a buckling analysis. Implies that a previous static solution was + performed with prestress effects calculated + (PSTRES,ON). Valid for structural degrees of freedom + only. - VAL1 - Mass source with units kg/(m3s) in a harmonic analysis, or mass source rate - with units kg/( m3s2) in a transient analysis + MODAL or 2 - Perform a modal analysis. Valid for structural and fluid degrees of freedom. - VAL2 - Phase angle in degrees + HARMIC or 3 - Perform a harmonic analysis. Valid for structural, fluid, magnetic, and + electrical degrees of freedom. - VAL3 - Not used + TRANS or 4 - Perform a transient analysis. Valid for all degrees of freedom. - VAL4 - Not used + SUBSTR or 7 - Perform a substructure analysis. Valid for all degrees of freedom. - VAL5 - Not used + SPECTR or 8 - Perform a spectrum analysis. Implies that a previous modal analysis was + performed. Valid for structural degrees of freedom + only. - VAL6 - Not used + status + Specifies the status of the analysis (new or restart): - Notes - ----- - Defines a nodal body force load (such as temperature in a structural - analysis, heat generation rate in a thermal analysis, etc.). Nodal body - loads default to the BFUNIF values, if they were previously specified. + NEW - Specifies a new analysis (default). If NEW, the remaining fields on this + command are ignored. - Table names are valid for Lab value (VALn) inputs in these cases only: + RESTART - Specifies a restart of a previous analysis. Valid for static, modal, and + transient (full or mode-superposition method) analyses. + For more information about restarting static and + transient analyses, see Multiframe Restart in the Basic + Analysis Guide. For more information on restarting a + modal analysis, see Modal Analysis Restart in the Basic + Analysis Guide. - VAL = %tabname% for temperatures (TEMP), diffusing substance generation - rates (DGEN), heat generation rates (HGEN), and nodal body force - densities (FORC). + Multiframe restart is also valid for harmonic analysis, but is limited to 2-D magnetic analysis only. - A substructure analysis (backsubstitution method only) can be restarted for the + purpose of generating additional load vectors. + For more information, see the SEOPT command and + Applying Loads and Creating the Superelement + Matrices in the Substructuring Analysis Guide. - VAL1 = %tabname1%, VAL2 = %tabname2%, VAL3 = %tabname3%, VAL4 = - %tabname4%, VAL5 = %tabname5%, and VAL6 = %tabname6% for velocities or - accelerations (VELO). + VTREST - Specifies the restart of a previous VT Accelerator analysis. Valid only with + Antype = STATIC, HARMIC, or TRANS. For more information, + see VT Accelerator Re-run in the Basic Analysis Guide. - VAL1 = %tabname1% and VAL2 = %tabname2% for mass sources or mass source - rates (MASS). + ldstep + Specifies the load step at which a multiframe restart begins. - The heat generation rate loads specified with the BF command are - multiplied by the weighted nodal volume of each element adjacent to - that node. This yields the total heat generation at that node. + substep + Specifies the substep at which a multiframe restart begins. - Graphical picking is available only via the listed menu paths. + action + Specifies the manner of a multiframe restart. - Body load labels VELO and MASS cannot be accessed from a menu. + CONTINUE - The program continues the analysis based on the specified LDSTEP and SUBSTEP + (default). The current load step is continued. If the + end of the load step is encountered in the .Rnnn file, a + new load step is started. The program deletes all .Rnnn + files, or .Mnnn files for mode-superposition transient + analyses, beyond the point of restart and updates the + .LDHI file if a new load step is encountered. + + ENDSTEP - At restart, force the specified load step (LDSTEP) to end at the specified + substep (SUBSTEP), even though the end of the current + load step has not been reached. At the end of the + specified substep, all loadings are scaled to the level + of the current ending and stored in the .LDHI file. A run + following this ENDSTEP starts a new load step. This + capability allows you to change the load level in the + middle of a load step. The program updates the .LDHI file + and deletes all .Rnnn files, or .Mnnn files for mode- + superposition transient analyses, beyond the point of + ENDSTEP. The .Rnnn or .Mnnn file at the point of ENDSTEP + are rewritten to record the rescaled load level. + + RSTCREATE - At restart, retrieve information to be written to the results file for the + specified load step (LDSTEP) and substep (SUBSTEP). Be + sure to use OUTRES to write the results to the + results file. This action does not affect the .LDHI or + .Rnnn files. Previous items stored in the results file + at and beyond the point of RSTCREATE are deleted. This + option cannot be used to restart a mode-superposition + transient analysis. + + PERTURB - At restart, a linear perturbation analysis (static, modal, buckling, or full + harmonic) is performed for the specified load step + (LDSTEP) and substep (SUBSTEP). This action does not + affect the .LDHI, .Rnnn, or .RST files. + + Notes + ----- + If using the ANTYPE command to change the analysis type in the same + SOLVE session, the program issues the following message: “Some analysis + options have been reset to their defaults. Please verify current + settings or respecify as required.” Typically, the program resets + commands such as NLGEOM and EQSLV to their default values. + + The analysis type (Antype) cannot be changed if a restart is specified. + Always save parameters before doing a restart. For more information on + the different types of restart, see Restarting an Analysis in the Basic + Analysis Guide. This command is also valid in PREP7. + The ANSYS Professional - Nonlinear Structural (PRN) product supports + the Antype = TRANS option for mode-superposition (TRNOPT,MSUP) analyses + only. + """ - command = "BF, %s, %s, %s, %s, %s, %s, %s, %s" % (str(node), str(lab), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6)) + command = "ANTYPE,%s,%s,%s,%s,%s" % (str(antype), str(status), str(ldstep), str(substep), str(action)) self.RunCommand(command, **kwargs) - def Pmlsize(self, freqb="", freqe="", dmin="", dmax="", thick="", angle="", - **kwargs): + def Edpc(self, min="", max="", inc="", **kwargs): """ - APDL Command: PMLSIZE + APDL Command: EDPC - Determines number of PML layers. + Selects and plots explicit dynamic contact entities. Parameters ---------- - freqb - Minimum operating frequency + min + Minimum contact entity number to be selected and plotted (default + = 1). - freqe - Maximum operating frequency + max + Maximum contact entity number to be selected and plotted (default = + MIN). - dmin - Minimum distance from radiation source to PML interface. + inc + Contact entity number increment (default = 1). - dmax - Maximum distance from radiation source to PML interface. + Notes + ----- + EDPC invokes an ANSYS macro which selects and plots explicit dynamic + contact entities. The plot will consist of nodes or elements, depending + on the method (node components or parts) that was used to define the + contact surfaces (see the EDCGEN command). For single surface contact + definitions, all external surfaces within the model are plotted. - thick - Thickness of PML region. Defaults to 0. + Note:: : EDPC changes the selected set of nodes and elements. After + plotting contact entities, you must reselect all nodes and elements + (NSEL and ESEL) required for subsequent operations, such as SOLVE - angle - Incident angle of wave to the PML interface. Defaults to 0. + Use the EDCLIST command to list the contact entity numbers for all + defined contact. - Notes - ----- - PMLSIZE determines the number of PML layers for acceptable numerical - accuracy. + This command is also valid in SOLUTION. - PMLSIZE must be issued before any meshing commands. If the thickness of - the PML region is known, it determines an element edge length (h) and - issues ESIZE,h. If the thickness of the PML region is unknown, it - determines the number of layers (n) and issues ESIZE,,n. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "PMLSIZE, %s, %s, %s, %s, %s, %s" % (str(freqb), str(freqe), str(dmin), str(dmax), str(thick), str(angle)) + command = "EDPC,%s,%s,%s" % (str(min), str(max), str(inc)) self.RunCommand(command, **kwargs) - def Image(self, label="", fname="", ext="", **kwargs): + def Cyclic(self, nsector="", angle="", kcn="", name="", usrcomp="", + usrnmap="", **kwargs): """ - APDL Command: /IMAGE + APDL Command: CYCLIC - Allows graphics data to be captured and saved. + Specifies a cyclic symmetry analysis. Parameters ---------- - label - Label specifying the operation to be performed: + nsector + The number of sectors in the full 360 degrees, or one of the + following options: - CAPTURE - Capture the image from the graphics window to a new window. + STATUS - Indicates the current cyclic status. - RESTORE - Restore the image from a file to a new window. + OFF - Resets model to normal (non-cyclic) status and removes the duplicate sector if + it exists. This option also deletes automatically detected + edge components (generated when USRCOMP = 0). - SAVE - Save the contents of the graphic window to a file. + UNDOUBLE - Removes the duplicate sector if it exists. The duplicate sector is created + during the solution (SOLVE) stage of a modal cyclic + symmetry analysis. - DELETE - Delete the window that contains the file. + angle + The sector angle in degrees. - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + kcn + An arbitrary reference number assigned to the cyclic coordinate + system. The default value of 0 specifies automatic detection. - ext - Filename extension (eight-character maximum). + name + The root name of sector low- and high-edge components (line, area, + or node components). The default root name (when USRCOMP = 0) is + "CYCLIC". A root name that you specify can contain up to 11 + characters. - -- - Unused field. + usrcomp + The number of pairs of user-defined low- and high-edge components + on the cyclic sector (if any). The default value of 0 specifies + automatic detection of sector edges; however, the automatic setting + is not valid in all cases. (For more information, see the Notes + section below.) If the value is greater than 0, no verification of + user-defined components occurs. - """ - command = "/IMAGE, %s, %s, %s" % (str(label), str(fname), str(ext)) - self.RunCommand(command, **kwargs) + usrnmap + The name of a user-defined array specifying the matching node pairs + between the sector low and high edges. Valid only when USRCOMP = 0. + Skips the automatic detection of sector edges. Node pairs may be + input in any order, but the low edge node must be the first entry + in each pair. - def Wpave(self, x1="", y1="", z1="", x2="", y2="", z2="", x3="", y3="", - z3="", **kwargs): - """ - APDL Command: WPAVE + Notes + ----- + You can input your own value for NSECTOR, ANGLE or KCN; if you do so, + the command verifies argument values before executing. - Moves the working plane origin to the average of specified points. + When USRCOMP = 0 and USRNMAP = blank (default), the CYCLIC command + automatically detects low- and high-edge components for models + comprised of any combination of line, area, or volume elements. If a + solid model exists, however, the command uses only the lines, areas, + and/or volumes to determine the low- and high-edge components; the + elements, if any, are ignored. - Parameters - ---------- - x1, y1, z1 - Coordinates (in the active coordinate system) of the first point. - If X1 = P, graphical picking is enabled and all remaining command - fields are ignored (valid only in the GUI). + Nodes will be automatically rotated unless CYCOPT,USERROT,YES has been + specified. - x2, y2, z2 - Coordinates (in the active coordinate system) of the second point. + If you issue a CYCOPT,TOLER command to set a tolerance for edge- + component pairing before issuing the CYCLIC command, the CYCLIC command + uses the specified tolerance when performing automatic edge-component + detection. - x3, y3, z3 - Coordinates (in the active coordinate system) of the third point. + For 2-D models, autodetection does not consider the CSYS,5 or CSYS,6 + coordinate system specification. Autodetection for 180 degree (two- + sector) models is not possible unless a central hole exists. - Notes - ----- - Moves the origin of the working plane to the average of the specified - points. A point is considered specified only if at least one of its - coordinates is non-blank, and at least one point (1, 2, or 3) must be - specified. Blank coordinates of a specified point are assumed to be - zero. Averaging is based on the active coordinate system. + The CYCLIC command sets values and keys so that, if possible, the area- + mesh (AMESH) or volume-mesh (VMESH) command meshes the sector with + matching node and element face patterns on the low and high edges. (The + command has no effect on any other element-creation command.) - This command is valid in any processor. + Issue the CYCLIC command prior to the meshing command to, if possible, + produce a mesh with identical node and element patterns on the low and + high sector edges. Only the AMESH or VMESH commands can perform + automated matching. (Other meshing operation commands such as VSWEEP + cannot.) If you employ a meshing operation other than AMESH or VMESH, + you should ensure that node and element face patterns match, if + desired. The CYCLIC command output indicates whether each edge- + component pair has or can produce a matching node pair. - """ - command = "WPAVE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(x1), str(y1), str(z1), str(x2), str(y2), str(z2), str(x3), str(y3), str(z3)) - self.RunCommand(command, **kwargs) + A cyclic solution (via the SOLVE command) allows dissimilar mesh + patterns on the extreme boundaries of a cyclically symmetric model. The + allowance for dissimilar patterns is useful when you have only finite- + element meshes for your model but not the geometry data necessary to + remesh it to obtain identical node patterns. In such cases, it is + possible to obtain solution results, although perhaps at the expense of + accuracy. A warning message appears because results may be degraded + near the sector edges. - def Plcplx(self, key="", **kwargs): - """ - APDL Command: PLCPLX + The constraint equations (CEs) that tie together the low and high edges + of your model are generated at the solution stage of the analysis from + the low- and high-edge components (and nowhere else). You should verify + that automatically detected components are in the correct locations + and that you can account for all components; to do so, you can list + (CMLIST) or plot (CMPLOT) the components. - Specifies the part of a complex variable to display. + If you issue the CYCLIC command after meshing and have defined element + types with rotational degrees of freedom (DOFs), ANSYS generates cyclic + CEs for rotational DOFs that may not exist on the sector boundaries. + Issue the CYCOPT,DOF command to prevent unused rotational terms from + being generated. - Parameters - ---------- - key - Complex variable part: + Modal cyclic symmetry analysis is supported by the following + eigensolvers: - 0 - Amplitude. + Block Lanczos (MODOPT,LANB) - 1 - Phase angle. + PCG Lanczos (MODOPT,LANPCG) - 2 - Real part. + Super Node (MODOPT,SNODE) - 3 - Imaginary part. + Subspace (MODOPT,SUBSP) - Notes - ----- - Used only with harmonic analyses (ANTYPE,HARMIC). + To learn more about analyzing a cyclically symmetric structure, see the + Cyclic Symmetry Analysis Guide. - All results data are stored in the form of real and imaginary - components and converted to amplitude and/or phase angle as specified - via the PLCPLX command. The conversion is not valid for derived - results (such as principal stress/strain, equivalent stress/strain and - USUM). + When using the: CYCLIC: command to automatically detect the sector, if + an area is defined with the: AL: command, the lines need to be oriented + to form the closed curve. """ - command = "PLCPLX, %s" % (str(key)) + command = "CYCLIC,%s,%s,%s,%s,%s,%s" % (str(nsector), str(angle), str(kcn), str(name), str(usrcomp), str(usrnmap)) self.RunCommand(command, **kwargs) - def Seclib(self, option="", path="", **kwargs): + def Plfar(self, lab="", option="", phi1="", phi2="", nph1="", theta1="", + theta2="", ntheta="", val1="", val2="", val3="", **kwargs): """ - APDL Command: /SECLIB + APDL Command: PLFAR - Sets the default section library path for the SECREAD command. + Plots pressure far fields and far field parameters. Parameters ---------- + lab + Parameters to plot : + + PRES - Acoustic parameters + + PROT - Acoustic parameters with the y-axis rotated extrusion + option - READ + Plot option, based on the specified plot parameter type: - READ - Sets the read path (default). + phi1, phi2 + Starting and ending φ angles (degrees) in the spherical coordinate + system. Defaults to 0. - STATUS - Reports the current section library path setting to the Jobname.LOG file. + nphi + Number of divisions between the starting and ending φ angles for + data computations. Defaults to 0. - path - Defines the directory path from which to read section library - files. + theta1, theta2 + Starting and ending θ angles (degrees) in the spherical coordinate + system. Defaults to 0 in 3-D and 90 in 2-D. - Notes - ----- - When the SECREAD command is issued without a directory path, the - command searches for a section library in the following order: + ntheta + Number of divisions between the starting and ending θ angles for + data computations. Defaults to 0. - The user's home directory + val1 + Radius of the sphere surface. Used only when Option = SUMC, SUMP, + PHSC, PHSP, SPLC, SPLP, SPAC, SPAP, PSCT, PSPL, TSCT, or TSPL. - The current working directory + val2 + When Option = SPLC, SPLP, SPAC, or SPAP: Reference rms sound + pressure. Defaults to 2x10-5 Pa. - The path specified by the /SECLIB command + val3 + When Lab = PRES: Thickness of 2-D model extrusion in the z + direction (no default). + + Notes + ----- + The PLFAR command plots pressure far fields and far field parameters as + determined by the equivalent source principle. Use this command to plot + pressure and acoustic parameters. See the HFSYM command for the + model symmetry and the HFANG command for spatial radiation angles. + + When Option = PWL no plot is generated, but the sound power level + appears in the output. + To retrieve saved equivalent source data, issue the + SET,Lstep,Sbstep,,REAL command. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/SECLIB, %s, %s" % (str(option), str(path)) + command = "PLFAR,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(lab), str(option), str(phi1), str(phi2), str(nph1), str(theta1), str(theta2), str(ntheta), str(val1), str(val2), str(val3)) self.RunCommand(command, **kwargs) - def Kpscale(self, np1="", np2="", ninc="", rx="", ry="", rz="", kinc="", - noelem="", imove="", **kwargs): + def Ovcheck(self, method="", frequency="", set="", **kwargs): """ - APDL Command: KPSCALE + APDL Command: OVCHECK - Generates a scaled set of (meshed) keypoints from a pattern of - keypoints. + Checks for overconstraint among constraint equations and Lagrange + multipliers. Parameters ---------- - np1, np2, ninc - Set of keypoints (NP1 to NP2 in steps of NINC) that defines the - pattern to be scaled. NP2 defaults to NP1, NINC defaults to 1. If - NP1 = ALL, NP2 and NINC are ignored and the pattern is defined by - all selected keypoints. If NP1 = 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 NP1 (NP2 and - NINC are ignored). + method + Method used to determine which slave DOFs will be eliminated: - rx, ry, rz - Scale factors to be applied to the X, Y, Z keypoint coordinates in - the active coordinate system (RR, Rθ, RZ for cylindrical; RR, Rθ, - RΦ for spherical). The Rθ and RΦ scale factors are interpreted as - angular offsets. For example, if CSYS = 1, an RX, RY, RZ input of - (1.5,10,3) would scale the specified keypoints 1.5 times in the - radial and 3 times in the Z direction, while adding an offset of 10 - degrees to the keypoints.) Zero, blank, or negative scale factor - values are assumed to be 1.0. Zero or blank angular offsets have - no effect. + TOPO - Topological approach (default). This method only works with constraint + equations; it does not work with Lagrange multipliers. - kinc - Increment to be applied to the keypoint numbers for generated set. - If zero, the lowest available keypoint numbers will be assigned - [NUMSTR]. + ALGE - Algebraic approach. - noelem - Specifies whether nodes and elements are also to be generated: + NONE - Do not use overconstraint detection logic. - 0 - Nodes and point elements associated with the original keypoints will be - generated (scaled) if they exist. + frequency + Frequency of overconstraint detection for static or full transient + analyses: - 1 - Nodes and point elements will not be generated. + ITERATION - For all equilibrium iterations (default). - imove - Specifies whether keypoints will be moved or newly defined: + SUBSTEP - At the beginning of each substep. - 0 - Additional keypoints will be generated. + LOADSTEP - At the beginning of each load step. - 1 - Original keypoints will be moved to new position (KINC and NOELEM are ignored). - Use only if the old keypoints are no longer needed at their - original positions. Corresponding meshed items are also moved - if not needed at their original position. + set + Set of equations: + + All - Check for overconstraint between all constraint equations (default). + + LAG - Check for overconstraint only on the set of equations that involves Lagrange + multipliers. This is faster than checking all sets, + especially when the model contains large MPC bonded contact + pairs. Notes ----- - Generates a scaled set of keypoints (and corresponding mesh) from a - pattern of keypoints. The MAT, TYPE, REAL, and ESYS attributes are - based on the keypoints in the pattern and not the current settings. - Scaling is done in the active coordinate system. Keypoints in the - pattern could have been generated in any coordinate system. However, - solid modeling in a toroidal coordinate system is not recommended. + The OVCHECK command checks for overconstraint among the constraint + equations (CE/CP) and the Lagrange multipliers for the globally + assembled stiffness matrix. If overconstrained constraint equations or + Lagrange multipliers are detected, they are automatically removed from + the system of equations. + + The constraint equations that are identified as redundant are removed + from the system and printed to the output file. It is very important + that you check the removed equations—they may lead to convergence + issues, especially for nonlinear analyses. + + The Frequency and Set arguments are active only for the topological + method (Method = TOPO). If you do not issue the OVCHECK command, + overconstraint detection is performed topologically, and the slave DOFs + are also determined topologically. + + Overconstraint detection slows down the run. We recommend using it to + validate that your model does not contain any overconstraints. Then, + you can switch back to the default method (no OVCHECK command is + needed). + + As an example, consider the redundant set of constraint equations + defined below: + + Equation number 2 will be removed by the overconstraint detection + logic. However, this is an arbitrary decision since equation number 1 + could be removed instead. This is an important choice as the constant + term is not the same in these two constraint equations. Therefore, you + must check the removed constraint equations carefully. + + For detailed information on the topological and algebraic methods of + overconstraint detection, see Constraints: Automatic Selection of Slave + DOFs in the Mechanical APDL Theory Reference """ - command = "KPSCALE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(np1), str(np2), str(ninc), str(rx), str(ry), str(rz), str(kinc), str(noelem), str(imove)) + command = "OVCHECK,%s,%s,%s" % (str(method), str(frequency), str(set)) self.RunCommand(command, **kwargs) - def Lccalc(self, **kwargs): + def Nopr(self, **kwargs): """ - APDL Command: LCCALC + APDL Command: /NOPR - Specifies "Load case settings" as the subsequent status topic. + Suppresses the expanded interpreted input data listing. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Suppresses printout of interpreted input data, including information + labeled as "Notes." When this printout is not suppressed, the data + input to the analysis is echoed to the output file in an expanded + format. Printout is suppressed until a /GOPR or /GO command is read. - If entered directly into the program, the STAT command should - immediately follow this command. + Use of /NOPR is not recommended when the graphical user interface (GUI) + is active. The GUI sometimes issues "hidden" /NOPR and /GOPR command + sequences, which will countermand user-issued /NOPR commands, thus + making the use of /NOPR in the GUI environment unpredictable. - This command is also valid for rezoning. + This command is valid in any processor. """ - command = "LCCALC, " % () + command = "/NOPR," % () self.RunCommand(command, **kwargs) - def Mkdir(self, dir="", **kwargs): + def Pltime(self, tmin="", tmax="", **kwargs): """ - APDL Command: /MKDIR + APDL Command: PLTIME - Creates a directory. + Defines the time range for which data are to be displayed. Parameters ---------- - dir - The directory to create (248 characters maximum on Linux; 233 on - Windows). If no path is provided, it will be created in the current - working directory. Must be a valid name (and path) for the system - you are working on. + tmin + Minimum time (defaults to the first point stored). + + tmax + Maximum time (defaults to the last point stored). Notes ----- - Creates a directory on the computer ANSYS is currently running on. + Defines the time (or frequency) range (within the range stored) for + which data are to be displayed. Time is always displayed in the Z-axis + direction for 3-D graph displays. If XVAR = 1, time is also displayed + in the X-axis direction and this control also sets the abscissa scale + range. """ - command = "/MKDIR, %s" % (str(dir)) + command = "PLTIME,%s,%s" % (str(tmin), str(tmax)) self.RunCommand(command, **kwargs) - def Lfillt(self, nl1="", nl2="", rad="", pcent="", **kwargs): + def Vclear(self, nv1="", nv2="", ninc="", **kwargs): """ - APDL Command: LFILLT + APDL Command: VCLEAR - Generates a fillet line between two intersecting lines. + Deletes nodes and volume elements associated with selected volumes. Parameters ---------- - nl1 - Number of the first intersecting line. If NL1 = P, graphical - picking is enabled and all remaining command fields are ignored - (valid only in the GUI). - - nl2 - Number of the second intersecting line. - - rad - Radius of fillet to be generated. Radius should be less than the - lengths of the two lines specified with NL1 and NL2. - - pcent - Number to be assigned to generated keypoint at fillet arc center. - If zero (or blank), no keypoint is generated. + nv1, nv2, ninc + Delete mesh for volumes NV1 to NV2 (defaults to NV1) in steps of + NINC (defaults to 1). If NV1 = ALL, NV2 and NINC are ignored and + mesh for all selected volumes [VSEL] is deleted. If NV1 = 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 NV1 (NV2 and NINC are ignored). Notes ----- - Generates a fillet line between two intersecting lines NL1 (P1-PINT) - and NL2 (P2-PINT). Three keypoints may be generated, two at the fillet - tangent points (PTAN1 and PTAN2) and one (optional) at the fillet arc - center (PCENT). Line P1-PINT becomes P1-PTAN1, P2-PINT becomes - P2-PTAN2, and new arc line PTAN1-PTAN2 is generated. Generated - keypoint and line numbers are automatically assigned (beginning with - the lowest available values [NUMSTR]). Line divisions are set to zero - (use LESIZE, etc. to modify). + Deletes all nodes and volume elements associated with selected volumes + (regardless of whether the nodes or elements are selected). Nodes + shared by adjacent meshed volumes and nodes associated with non-volume + elements will not be deleted. Attributes assigned as a result of VATT + are maintained. In the program's response to the command, if a volume, + area, line, or keypoint is tallied as "cleared," it means either its + node or element reference was deleted. """ - command = "LFILLT, %s, %s, %s, %s" % (str(nl1), str(nl2), str(rad), str(pcent)) + command = "VCLEAR,%s,%s,%s" % (str(nv1), str(nv2), str(ninc)) self.RunCommand(command, **kwargs) - def An3d(self, kywrd="", key="", **kwargs): + def Rcyc(self, ir="", ia="", sector="", name="", **kwargs): """ - APDL Command: /AN3D + APDL Command: RCYC - Specifies 3-D annotation functions + Calculates cyclic results for a mode-superposition harmonic solution. Parameters ---------- - num - Unique number assigned as each annotation is applied to a model. - These numbers are applied sequentially, although when an annotation - entity is deleted, its number is reassigned. + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previous + variable, the previous variable will be overwritten with this + result. - type - Annotation internal type number (101 = text, 102 = line, 103 = - point, 104 = area, 105 = arrow, 106 = symbol, 108 = bitmap). + ia + Reference number of the variable to be operated on. - xhot, yhot, zhot - X, Y, Z coordinates for hot spot location. + sector + Sector number to calculate the results for. + + name + Thirty-two character name identifying the variable on listings and + displays. Embedded blanks are compressed for output. Notes ----- - Because 3-D annotation is applied in relation to the XYZ coordinates of - the anchor, you can transform your model, and the annotation will - maintain the spatial relationship with the model. This works within - reason, and there are instances where changing the perspective or the - size of the model will change the apparent relationship between the - annotation and the model. - - The overall 3-D dimensions of your model are defined by a bounding - box. If portions of your model's bounding box lie outside of the - visible area of your graphics window (if you are zoomed in on a - specific area of your model), it can affect the placement of your 3-D - annotations. Zooming out will usually overcome this problem. - - 3-D annotation is valid for the Cartesian (CSYS,0) coordinate system - only. If you want to annotate a model you created in another coordinate - system, use 2-D annotation (note that 2-D annotations do not remain - anchored for dynamic rotations or transformations). - - When you apply user defined bitmaps, the size of the annotation can - vary. Use the options menu of the 3-D annotation widget to adjust the - size and placement of your bitmaps. + This command calculates the harmonic response in the sector specified + by SECTOR for the variable referenced by the reference number IA. Only + component values for IA are valid (no principles or sums). The variable + specified by IR will contain the harmonic solution. Jobname.RFRQ from + the cyclic mode-superposition harmonic solve and Jobname.RST or + Jobname.RSTP from the cyclic modal solve must be available for the + calculations to occur. The Jobname must be the same for the cyclic + modal solve and the cyclic mode-superposition harmonic solve. - You cannot use the “!” and “$” characters in ANSYS text annotation. + For SECTOR > 1, the result is in the nodal coordinate system of the + base sector, and it is rotated to the expanded sector’s location. Refer + to Using the /CYCEXPAND Command in the Cyclic Symmetry Analysis Guide + for more information. - The GUI generates this command during 3-D annotation operations and - inserts the command into the log file (Jobname.LOG). You should NOT - type this command directly during an ANSYS session (although the - command can be included in an input file for batch input or for use - with the /INPUT command). + See also Mode-Superposition Harmonic Cyclic Symmetry Analysis in the + Cyclic Symmetry Analysis Guide. """ - command = "/AN3D, %s, %s" % (str(kywrd), str(key)) + command = "RCYC,%s,%s,%s,%s" % (str(ir), str(ia), str(sector), str(name)) self.RunCommand(command, **kwargs) - def Sread(self, strarray="", fname="", ext="", nchar="", nskip="", - nread="", **kwargs): + def Esel(self, type="", item="", comp="", vmin="", vmax="", vinc="", + kabs="", **kwargs): """ - APDL Command: *SREAD + APDL Command: ESEL - Reads a file into a string array parameter. + Selects a subset of elements. Parameters ---------- - strarray - Name of the "string array" parameter which will hold the read file. - String array parameters are similar to character arrays, but each - array element can be as long as 128 characters. If the string - parameter does not exist, it will be created. The array will be - created as: *DIM,StrArray,STRING,nChar,nRead + type + Label identifying the type of select: - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + S - Select a new set (default). - ext - Filename extension (eight-character maximum). + R - Reselect a set from the current set. - -- - Unused field. + A - Additionally select a set and extend the current set. - nchar - Number of characters per line to read (default is length of the - longest line in the file). + U - Unselect a set from the current set. - nskip - Number of lines to skip at the start of the file (default is 0). + ALL - Restore the full set. - nread - Number of lines to read from the file (default is the entire file). + NONE - Unselect the full set. + + INVE - Invert the current set (selected becomes unselected and vice versa). + + STAT - Display the current select status. Notes ----- - The *SREAD command reads from a file into a string array parameter. The - file must be an ASCII text file. + Selects elements based on values of a labeled item and component. For + example, to select a new set of elements based on element numbers 1 + through 7, use ESEL,S,ELEM,,1,7. The subset is used when the ALL label + is entered (or implied) on other commands, such as ELIST,ALL. Only + data identified by element number are selected. Selected data are + internally flagged; no actual removal of data from the database occurs. + Different element subsets cannot be used for different load steps + [SOLVE] in a /SOLU sequence. The subset used in the first load step + will be used for all subsequent load steps regardless of subsequent + ESEL specifications. - """ - command = "*SREAD, %s, %s, %s, %s, %s, %s" % (str(strarray), str(fname), str(ext), str(nchar), str(nskip), str(nread)) - self.RunCommand(command, **kwargs) + This command is valid in any processor. - def Bool(self, **kwargs): - """ - APDL Command: BOOL + Elements crossing the named path (see PATH command) will be selected. + This option is only available in PREP7 and POST1. If no geometry data + has been mapped to the path (i.e., via PMAP and PDEF commands), the + path will assume the default mapping option (PMAP,UNIFORM) to map the + geometry prior to selecting the elements. If an invalid path name is + given, the ESEL command is ignored (status of selected elements is + unchanged). If there are no elements crossing the path, the ESEL + command will return zero elements selected. - Specifies "Booleans" as the subsequent status topic. + For selections based on non-integer numbers (coordinates, results, + etc.), items that are within the range VMIN -Toler and VMAX + Toler are + selected. The default tolerance Toler is based on the relative values + of VMIN and VMAX as follows: - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + If VMIN = VMAX, Toler = 0.005 x VMIN. - If entered directly into the program, the STAT command should - immediately follow this command. + If VMIN = VMAX = 0.0, Toler = 1.0E-6. + + If VMAX ≠ VMIN, Toler = 1.0E-8 x (VMAX - VMIN). + + Use the SELTOL command to override this default and specify Toler + explicitly. + + Table: 133:: : ESEL - Valid Item and Component Labels """ - command = "BOOL, " % () + command = "ESEL,%s,%s,%s,%s,%s,%s,%s" % (str(type), str(item), str(comp), str(vmin), str(vmax), str(vinc), str(kabs)) self.RunCommand(command, **kwargs) - def Vptn(self, nv1="", nv2="", nv3="", nv4="", nv5="", nv6="", nv7="", - nv8="", nv9="", **kwargs): + def Edhist(self, comp="", **kwargs): """ - APDL Command: VPTN + APDL Command: EDHIST - Partitions volumes. + Specifies time-history output for an explicit dynamic analysis. Parameters ---------- - nv1, nv2, nv3, . . . , nv9 - Numbers of volumes to be operated on. If NV1 = ALL, NV2 to NV9 are - ignored and all selected volumes are used. If NV1 = 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 NV1. + comp + Name of the component containing nodes or elements for which output + is desired. Comp is required. Notes ----- - Partitions volumes. Generates new volumes which encompass the geometry - of all the input volumes. The new volumes are defined by the regions - of intersection of the input volumes, and by the complementary (non- - intersecting) regions. See the Modeling and Meshing Guide for an - illustration. See the BOPTN command for an explanation of the options - available to Boolean operations. Element attributes and solid model - boundary conditions assigned to the original entities will not be - transferred to the new entities generated. + The time-history output is written to the file Jobname.HIS. Output is + written only for the nodes or elements contained in Comp. The data is + written at time intervals specified on the EDHTIME command. If no time + interval is specified, output is written at 1000 steps over the + analysis. (See also the EDOUT command which controls time-history + output in ascii form for an explicit dynamics analysis.) + + Use EDHIST,LIST to list the time-history output specification. (The + listing will include output requested with the EDOUT command.) Use + EDHIST,DELE to delete the time-history output specification. + + Jobname.HIS is a binary file that is read by the ANSYS time-history + postprocessor (POST26). If LS-DYNA output has been requested on the + EDWRITE command [EDWRITE,LSDYNA or EDWRITE,BOTH], the file D3THDT will + also be written. D3THDT is a binary file that is read by the LS-POST + postprocessor. + + This command is also valid in PREP7. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "VPTN, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nv1), str(nv2), str(nv3), str(nv4), str(nv5), str(nv6), str(nv7), str(nv8), str(nv9)) + command = "EDHIST,%s" % (str(comp)) self.RunCommand(command, **kwargs) - def Lsymbol(self, x="", y="", symang="", symtyp="", symsiz="", keybmp="", - **kwargs): + def Window(self, wn="", xmin="", xmax="", ymin="", ymax="", ncopy="", + **kwargs): """ - APDL Command: /LSYMBOL + APDL Command: /WINDOW - Creates annotation symbols (GUI). + Defines the window size on the screen. Parameters ---------- - x - X location for symbol (-1.0 < X < 2.0). + wn + Window reference number (1 to 5). Defaults to 1. This number, or + ALL (for all active windows), may be used on other commands. - y - Y location for symbol (-1.0 < Y < 1.0). + xmin, xmax, ymin, ymax + Screen coordinates defining window size. Screen coordinates are + measured as -1.0 to 1.67 with the origin at the screen center. For + example, (-1,1.67,-1,1) is full screen, (-1,0,-1,0) is the left + bottom quadrant. If XMIN = OFF, deactivate this previously defined + window; if ON, reactivate this previously defined window. If FULL, + LEFT, RIGH, TOP, BOT, LTOP, LBOT, RTOP, RBOT, form full, half, or + quarter window. If SQUA, form largest square window within the + current graphics area. If DELE, delete this window (cannot be + reactivated with ON). - symang - Symbol orientation angle. + ncopy + Copies the current specifications from window NCOPY (1 to 5) to + this window. If NCOPY = 0 (or blank), no specifications are + copied. - symtyp - Symbol type: + Notes + ----- + Defines the window size on the screen. Windows may occupy a separate + section of the screen or they may overlap. Requested displays are + formed in all windows according to the selected window specifications. - 1 - Arrow. + This command is valid in any processor. - 2 - Tee. + """ + command = "/WINDOW,%s,%s,%s,%s,%s,%s" % (str(wn), str(xmin), str(xmax), str(ymin), str(ymax), str(ncopy)) + self.RunCommand(command, **kwargs) - 3 - Circle. + def Gsave(self, fname="", ext="", **kwargs): + """ + APDL Command: /GSAVE - 4 - Triangle. + Saves graphics settings to a file for later use. - 5 - Star. + Parameters + ---------- + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - symsiz - Symbol size multiplier (0.1 to 20.0). Defaults to 1.0. + ext + Filename extension (eight-character maximum). - keybmp - If KEYBMP = 1, the annotation is a bitmap. SYMTYP will then be a - number from 1-99, indicating the bitmap type (see notes), and X and - Y will define the lower left corner of the bitmap. The SYMANG, - SYMSIZarguments are ignored. If KEYBMP = 0, or blank, then the - argument definitions above apply. + -- + Unused field. Notes ----- - Defines annotation symbols to be written directly onto the display at a - specified location. This is a command generated by the GUI and will - appear in the log file (Jobname.LOG) if annotation is used. This - command is not intended to be typed in directly in an ANSYS session - (although it can be included in an input file for batch input or for - use with the /INPUT command). - - All symbols are shown on subsequent displays unless the annotation is - turned off or deleted. Use the /LSPEC command to set the attributes of - the symbol. - - The KEYBMP argument reads the symtype argument to determine which - bitmap to insert. This bitmap is defined by an integer between 1 and - 99. Numbers 1 through 40 correspond to the standard texture values - found in the /TXTRE command, while numbers 51 through 99 correspond to - user supplied bitmaps, as defined using the Filename option of the - /TXTRE command. Numbers 51 through 57 are predefined (the logos, clamps - and arrows available from the GUI) but can be overridden. Numbers 41 - through 50 are reserved. + This command does not save all graphics settings, but only those that + may be reset by the /RESET command. The database remains untouched. + Use the /GRESUME command to read the file. Repeated use of the /GSAVE + command overwrites the previous data on the file. The following + commands are saved by /GSAVE: This command is valid in any processor. """ - command = "/LSYMBOL, %s, %s, %s, %s, %s, %s" % (str(x), str(y), str(symang), str(symtyp), str(symsiz), str(keybmp)) + command = "/GSAVE,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Lcomb(self, nl1="", nl2="", keep="", **kwargs): + def Mkdir(self, dir="", **kwargs): """ - APDL Command: LCOMB + APDL Command: /MKDIR - Combines adjacent lines into one line. + Creates a directory. Parameters ---------- - nl1 - Number of the first line to be combined. If NL1 = ALL, NL2 is - ignored and all selected lines [LSEL] are combined. If NL1 = 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 NL1 (NL2 is ignored). - - nl2 - Number of the second line to be combined. - - keep - Specifies whether to keep the input entities: - - 0 - Delete lines NL1 and NL2 and their common keypoint. Keypoints will not be - deleted if they are meshed or if they are attached to other - lines. Lines will not be deleted if they are attached to - different areas. - - 1 - Keep NL1, NL2, and their common keypoint. (The common keypoint will not be - attached to the output line.) + dir + The directory to create (248 characters maximum on Linux; 233 on + Windows). If no path is provided, it will be created in the current + working directory. Must be a valid name (and path) for the system + you are working on. Notes ----- - Combines adjacent lines into one line (the output line). This - operation will effectively "undo" the LDIV operation. Line divisions - are set to zero (use LESIZE, etc. to modify). Lines attached to the - same area(s) can also be combined. See also the LCCAT command for line - concatenation capability. + Creates a directory on the computer ANSYS is currently running on. """ - command = "LCOMB, %s, %s, %s" % (str(nl1), str(nl2), str(keep)) + command = "/MKDIR,%s" % (str(dir)) self.RunCommand(command, **kwargs) - def Edrc(self, option="", nrbf="", ncsf="", dtmax="", **kwargs): + def Msolve(self, numslv="", nrmtol="", nrmchkinc="", **kwargs): """ - APDL Command: EDRC + APDL Command: MSOLVE - Specifies rigid/deformable switch controls in an explicit dynamic - analysis. + Starts multiple solutions for random acoustics analysis with diffuse + sound field. Parameters ---------- - option - Label identifying option to be performed. - - ADD - Define rigid/deformable controls (default). + numslv + Number of multiple solutions (load steps) corresponding to the + number of samplings. Default = 1. - DELE - Delete rigid/deformable controls. + Notes + ----- + The MSOLVE command starts multiple solutions (load steps) for random + acoustics analysis with multiple samplings. - LIST - List rigid/deformable controls. + The process is controlled by the norm convergence tolerance NRMTOL or + the number of multiple solutions NUMSLV (if the solution steps reach + the defined number). - nrbf - Flag to delete/activate nodal rigid bodies. If nodal rigid bodies - or generalized weld definitions are active in the deformable bodies - that are switched to rigid, then the definitions should be deleted - to avoid instabilities. + The program checks the norm convergence by comparing two averaged sets + of radiated sound powers with the interval NRMCHKINC over the frequency + range. For example, if NRMCHKINC = 5, the averaged values from 5 + solutions are compared with the averaged values from 10 solutions, then + the averaged values from 10 solutions are compared with the averaged + values from 15 solutions, and so on. - 0 - No change from previous status (default). + The incident diffuse sound field is defined via the DFSWAVE command. - 1 - Delete. + The average result of multiple solutions with different samplings is + calculated via the PLST command. - 2 - Activate. + """ + command = "MSOLVE,%s,%s,%s" % (str(numslv), str(nrmtol), str(nrmchkinc)) + self.RunCommand(command, **kwargs) - ncsf - Flag to delete/activate nodal constraint set. If nodal - constraint/spotweld definitions are active in the deformable bodies - that are switched to rigid, then the definitions should be deleted - to avoid instabilities. + def Dset(self, node1="", node2="", node3="", ddev="", **kwargs): + """ + APDL Command: DSET - 0 - No change from previous status (default). + Sets the scale and drawing plane orientation for a digitizing tablet. - 1 - Delete. + Parameters + ---------- + node1, node2, node3 + Any three (noncolinear) nodes defining a plane parallel to the + drawing. Nodes and actual locations (in any coordinate system) + must have been previously defined. - 2 - Activate. + ddev + Digitizing device type number (device dependent). - -- - Unused field. + Notes + ----- + Sets drawing scale size and defines the drawing plane orientation for + use with a digitizing tablet. Drawings must be to scale. Views must + represent standard orthogonal parallel projections. The three nodes + indicated must be digitized [DIG] from the tablet after this command is + issued. - tdmax - Maximum allowed time step after restart (no default). + """ + command = "DSET,%s,%s,%s,%s" % (str(node1), str(node2), str(node3), str(ddev)) + self.RunCommand(command, **kwargs) + + def Rsys(self, kcn="", **kwargs): + """ + APDL Command: RSYS + + Activates a coordinate system for printout or display of element and + nodal results. + + Parameters + ---------- + kcn + The coordinate system to use for results output: + + 0 - Global Cartesian coordinate system (default, except for spectrum analyses). + + 1 - Global cylindrical coordinate system. + + 2 - Global spherical coordinate system. + + > 10 - Any existing local coordinate system. + + SOLU - Solution coordinate systems. For element quantities, these are the element + coordinate system for each element. For nodal quantities, + these are the nodal coordinate systems. If an element or + nodal coordinate system is not defined, ANSYS uses the + global Cartesian coordinate system. If you issue a LAYER,N + command (where N refers to a layer number), the results + appear in the layer coordinate system. (SOLU is the default + for spectrum analyses.) + + LSYS - Layer coordinate system. For layered shell and solid elements, the results + appear in their respective layer coordinate systems. For a + specific layer of interest, issue a LAYER,N command (where N + refers to a layer number). If a model has both nonlayered + and layered elements, you can use RSYS,SOLU and RSYS,LSYS + simultaneously (with RSYS,SOLU applicable to nonlayered + elements and RSYS,LSYS applicable to layered elements). To + reverse effects of the LSYS option, issue an RSYS,0 command. + LSYS is the default for spectrum analysis. Notes ----- - This command is only valid in an explicit dynamic small restart - analysis (EDSTART,2). Use this command when you do a rigid/deformable - switch (EDRD command) and you want to control constraints defined by - other means for the deformable body (such as nodal constraints or a - weld). For example, if a deformable body has nodal constraints defined - and it is switched to a rigid body, the nodal constraints should be - deleted since they are invalid for the rigid body. Later on, if you - want to switch the rigid body to deformable again and retain the nodal - constraints, you can use EDRC to activate the constraints previously - defined for the deformable body. Otherwise, the nodal constraints - remain deactivated. + The RSYS command activates a coordinate system for printing or + displaying element results data such as stresses and heat fluxes, and + nodal results data such as degrees of freedom and reactions. ANSYS + rotates the results data to the specified coordinate system during + printout, display, or element table operations (such as PRNSOL, PRESOL, + PLNSOL, and ETABLE). You can define coordinate systems with various + ANSYS commands such as LOCAL, CS, CLOCAL, and CSKP. - This command is also valid in PREP7. + If you issue RSYS with KCN > 10 (indicating a local coordinate system), + and the specified system is subsequently redefined, you must reissue + RSYS for results to be rotated into the redefined system. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Note:: : The default coordinate system for certain elements, notably + shells, is not global Cartesian and is frequently not aligned at + adjacent elements. + + The use of RSYS,SOLU with these elements can make nodal averaging of + component element results, such as SX, SY, SZ, SXY, SYZ, and SXZ, + invalid and is not recommended. + + The RSYS command has no effect on beam or pipe stresses, which ANSYS + displays (via /ESHAPE,1 and PowerGraphics) in the element coordinate + system. + + Element results such as stresses and heat fluxes are in the element + coordinate systems when KCN = SOLU. Nodal requests for element results + (for example, PRNSOL,S,COMP) average the element values at the common + node; that is, the orientation of the node is not a factor in the + output of element quantities. For nearly all solid elements, the + default element coordinate systems are parallel to the global Cartesian + coordinate system. For shell elements and the remaining solid elements, + the default element coordinate system can differ from element to + element. For layered shell and layered solid elements, ANSYS initially + selects the element coordinate system when KCN = SOLU; you can then + select the layer coordinate system via the LAYER command. + + Nodal results such as degrees of freedom and reactions can be properly + rotated only if the resulting component set is consistent with the + degree-of-freedom set at the node. (The degree-of-freedom set at a node + is determined by the elements attached to the node.) For example, if a + node does not have a UZ degree of freedom during solution, then any Z + component resulting from a rotation does not print or display in POST1. + Therefore, results at nodes with a single degree-of-freedom (UY only, + for example) should not be rotated; that is, they should be viewed only + in the nodal coordinate system or a system parallel to the nodal + system. (The global Cartesian system--the RSYS command default--may not + be parallel to the nodal system.) Results at nodes with a 2-D degree- + of-freedom set (UX and UY, for example) should not be rotated out of + the 2-D plane. + + PowerGraphics + + For PowerGraphics, ANSYS plots PLVECT vector arrow displays (such + temperature, velocity, and force) in the global Cartesian coordinate + system (RSYS = 0). Subsequent operations revert to your original + coordinate system. + + PGR File + + When you generate a .PGR file in SOLUTION, you can use the Results + Viewer to display your stresses only in the coordinate system in which + you write your .PGR file. To view stresses in other coordinate systems, + load your results file into the Results Viewer and regenerate the data. + + Large Deflections + + If large deflection is active (NLGEOM,ON), ANSYS rotates the element + component result directions by the amount of rigid body rotation. + + ANSYS displays the element component results in the initial global + coordinate system for the following elements: SHELL181, SHELL281, + ELBOW290, PLANE182, PLANE183, SOLID185, SOLID186, SOLID187, SOLID272, + SOLID273, SOLID285, SOLSH190, SHELL208, and SHELL209. All other element + result transformations are, therefore, also relative to the initial + global system. Nodal degree-of-freedom results are based on the initial + (and not the updated) geometry. For all other element types, component + results displayed in the co-rotated coordinate system include the + element rigid body rotation from the initial global coordinate system, + and all other element result transformations are relative to the + rotated global system. + + LS-DYNA + + You can use the RSYS command to rotate stress data for all explicit + (ANSYS LS-DYNA) elements except BEAM161, COMBI165, and composite + SHELL163 (KEYOPT(3) = 1). In models that contain these element types + combined with other explicit elements, you must unselect the + unsupported elements before issuing the RSYS command. The command does + not support strain data for any explicit element types. If you request + strain results for explicit elements when RSYS is not set to the global + Cartesian coordinate system (KCN = 0), ANSYS ignores the printing or + plotting command. (ANSYS always rotates displacements into the results + coordinate system, independent of the explicit element type.) """ - command = "EDRC, %s, %s, %s, %s" % (str(option), str(nrbf), str(ncsf), str(dtmax)) + command = "RSYS,%s" % (str(kcn)) self.RunCommand(command, **kwargs) - def Fileaux2(self, fname="", ident="", **kwargs): + def Parres(self, lab="", fname="", ext="", **kwargs): """ - APDL Command: FILEAUX2 + APDL Command: PARRES - Specifies the binary file to be dumped. + Reads parameters from a file. Parameters ---------- + lab + Read operation: + + Replace current parameter set with these parameters (default). - Extend current parameter set with these parameters, replacing any that already + exist. + fname File name and directory path (248 characters maximum, including the characters needed for the directory path). An unspecified directory path defaults to the working directory; in this case, you can use all 248 characters for the file name. - ident - ANSYS filename identifier. See the Basic Analysis Guide for file - descriptions and identifiers. If not an ANSYS identifier, Ident - will be used as the filename extension. + ext + Filename extension (eight-character maximum). -- Unused field. Notes ----- - Specifies the binary file to be dumped with the DUMP command. + Reads parameters from a coded file. The parameter file may have been + written with the PARSAV command. The parameters read may replace or + change the current parameter set. + + This command is valid in any processor. """ - command = "FILEAUX2, %s, %s" % (str(fname), str(ident)) + command = "PARRES,%s,%s,%s" % (str(lab), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Nlog(self, ir="", ia="", name="", facta="", factb="", **kwargs): + def Title(self, title="", **kwargs): """ - APDL Command: NLOG + APDL Command: /TITLE - Forms the natural log of a variable. + Defines a main title. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. + title + Input up to 72 alphanumeric characters. Parameter substitution may + be forced within the title by enclosing the parameter name or + parametric expression within percent (%) signs. - ia - Reference number of the variable to be operated on. + Notes + ----- + The title is carried through the printout and written on various files. + The title written to a file is the title defined at that time. Special + characters may be used within the title text. Subtitles may also be + defined [/STITLE]. - --, -- - Unused fields. + This command is valid in any processor. + + """ + command = "/TITLE,%s" % (str(title)) + self.RunCommand(command, **kwargs) + + def Pdinqr(self, rpar="", name="", type="", val="", **kwargs): + """ + APDL Command: PDINQR + + Evaluates statistical characteristics of a random input variable. + + Parameters + ---------- + rpar + Name of scalar ANSYS parameter into which the characteristic value + is stored. name - Thirty-two character name identifying the variable on printouts and - displays. Embedded blanks are compressed for output. + Parameter name. The parameter must have been previously defined as + a random input variable using the PDVAR command. - --, -- - Unused fields. + type + Keyword for the type of information you need to retrieve. - facta - Scaling factor applied to variable IA (defaults to 1.0). + MEAN - Mean value of the random input variable specified in Name. - factb - Scaling factor (positive or negative) applied to the operation - (defaults to 1.0). + STDV - Standard deviation of the random input variable + + PDF - Probability density function of the random input variable specified in Name at + a given value specified by VAL. + + CDF - Cumulative distribution function of the random input variable specified in Name + at a given value specified by VAL. + + INV - Inverse cumulative distribution function of the random input variable specified + in Name at a given probability specified by VAL. + + val + Value needed for Type = PDF, CDF, or INV. For Type = PDF and Type = + CDF, this is the value of the random input variable at which the + probabilistic density or cumulative distribution function should be + evaluated. For Type = INV, VAL indicates the probability at which + you want the inverse cumulative distribution function evaluated. Notes ----- - Forms the natural log of a variable according to the operation: - - IR = FACTB*LN(FACTA x IA) + Evaluates statistical characteristics of a random input variable. The + result is stored in the ANSYS parameter Rpar. """ - command = "NLOG, %s, %s, %s, %s, %s" % (str(ir), str(ia), str(name), str(facta), str(factb)) + command = "PDINQR,%s,%s,%s,%s" % (str(rpar), str(name), str(type), str(val)) self.RunCommand(command, **kwargs) - def Prim(self, **kwargs): + def Svplot(self, optionscale="", damp1="", damp2="", damp3="", damp4="", + **kwargs): """ - APDL Command: PRIM + APDL Command: SVPLOT - Specifies "Solid model primitives" as the subsequent status topic. + Displays input spectrum curves. + + Parameters + ---------- + optionscale + Flag to activate or deactivate input spectrum value scaling: + + OFF - Do not scale the input spectrum values with scale factor FACT (SVTYP command). + This is the default value. + + ON - Scale the input spectrum values with scale factor FACT (SVTYP command) + + damp1 + Damping ratio corresponding to DAMP (SV command) defining the first + spectrum curve. + + damp2 + Damping ratio corresponding to DAMP (SV command) defining the + second spectrum curve. + + damp3 + Damping ratio corresponding to DAMP (SV command) defining the third + spectrum curve. + + damp4 + Damping ratio corresponding to DAMP (SV command) defining the + fourth spectrum curve. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + You can display up to four input spectrum tables (SV and FREQ commands) + with log X scale. If no damping ratio is specified, all spectrum tables + are displayed. - If entered directly into the program, the STAT command should - immediately follow this command. + This command is valid in any processor. """ - command = "PRIM, " % () + command = "SVPLOT,%s,%s,%s,%s,%s" % (str(optionscale), str(damp1), str(damp2), str(damp3), str(damp4)) self.RunCommand(command, **kwargs) - def Conjug(self, ir="", ia="", name="", facta="", **kwargs): + def Add(self, ir="", ia="", ib="", ic="", name="", facta="", factb="", + factc="", **kwargs): """ - APDL Command: CONJUG + APDL Command: ADD - Forms the complex conjugate of a variable. + Adds (sums) variables. Parameters ---------- @@ -19054,3836 +19470,3931 @@ def Conjug(self, ir="", ia="", name="", facta="", **kwargs): defined variable, the previously defined variable will be overwritten with this result. - ia - Reference number of the variable to be operated on. - - --, -- - Unused fields. + ia, ib, ic + Reference numbers of the three variables to be operated on. If + only two variables, leave IC blank. If only one, leave IB and IC + blank. name - Thirty-two character name for identifying the variable on printouts - and displays. Embedded blanks are compressed for output. + Thirty-two character name for identifying the variable on the + printout and displays. Embedded blanks are compressed upon output. --, -- Unused fields. - facta - Scaling factor (positive or negative) applied to variable (default - to 1.0). + facta, factb, factc + Scaling factors (positive or negative) applied to the corresponding + variables (default to 1.0). Notes ----- - Used only with harmonic analyses (ANTYPE,HARMIC). + Adds variables (up to three at once) according to the operation: + + IR = (FACTA x IA) + (FACTB x IB) + (FACTC x IC) """ - command = "CONJUG, %s, %s, %s, %s" % (str(ir), str(ia), str(name), str(facta)) + command = "ADD,%s,%s,%s,%s,%s,%s,%s,%s" % (str(ir), str(ia), str(ib), str(ic), str(name), str(facta), str(factb), str(factc)) self.RunCommand(command, **kwargs) - def Engen(self, iinc="", itime="", ninc="", iel1="", iel2="", ieinc="", - minc="", tinc="", rinc="", cinc="", sinc="", dx="", dy="", dz="", - **kwargs): + def Image(self, label="", fname="", ext="", **kwargs): """ - APDL Command: ENGEN + APDL Command: /IMAGE - Generates elements from an existing pattern. + Allows graphics data to be captured and saved. Parameters ---------- - iinc - Increment to be added to element numbers in pattern. + label + Label specifying the operation to be performed: - itime, ninc - Do this generation operation a total of ITIMEs, incrementing all - nodes in the given pattern by NINC each time after the first. ITIME - must be > 1 if generation is to occur. NINC may be positive, zero, - or negative. + CAPTURE - Capture the image from the graphics window to a new window. - iel1, iel2, ieinc - Generate elements from the pattern that begins with IEL1 to IEL2 - (defaults to IEL1) in steps of IEINC (defaults to 1). If IEL1 is - negative, IEL2 and IEINC are ignored and use the last |IEL1| - elements (in sequence backward from the maximum element number) as - the pattern to be repeated. If IEL1 = ALL, IEL2 and IEINC are - ignored and all selected elements [ESEL] are used as the pattern to - be repeated. If IEL1 = 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 IEL1 (IEL2 and IEINC are - ignored). + RESTORE - Restore the image from a file to a new window. - minc - Increment material number of all elements in the given pattern by - MINC each time after the first. + SAVE - Save the contents of the graphic window to a file. - tinc - Increment type number by TINC. + DELETE - Delete the window that contains the file. - rinc - Increment real constant table number by RINC. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - cinc - Increment element coordinate system number by CINC. + ext + Filename extension (eight-character maximum). - sinc - Increment section ID number by SINC. + -- + Unused field. - dx, dy, dz - Define nodes that do not already exist but are needed by generated - elements (NGEN,ITIME,INC,NODE1,,,DX,DY,DZ). Zero is a valid value. - If blank, DX, DY, and DZ are ignored. + """ + command = "/IMAGE,%s,%s,%s" % (str(label), str(fname), str(ext)) + self.RunCommand(command, **kwargs) + + def Spec(self, **kwargs): + """ + APDL Command: SPEC + + Specifies "Miscellaneous specifications" as the subsequent status + topic. Notes ----- - Same as the EGEN command except it allows element numbers to be - explicitly incremented (IINC) from the generated set. Any existing - elements already having these numbers will be redefined. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "ENGEN, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(iinc), str(itime), str(ninc), str(iel1), str(iel2), str(ieinc), str(minc), str(tinc), str(rinc), str(cinc), str(sinc), str(dx), str(dy), str(dz)) + command = "SPEC," % () self.RunCommand(command, **kwargs) - def Dig(self, node1="", node2="", ninc="", **kwargs): + def Mffr(self, fname="", lab="", rfini="", rfmin="", rfmax="", **kwargs): """ - APDL Command: DIG + APDL Command: MFFR - Digitizes nodes to a surface. + Setup Multi-Field relaxation factors for field solutions. Parameters ---------- - node1, node2, ninc - Digitize nodes NODE1 through NODE2 in steps of NINC. NODE2 - defaults to NODE1 and NINC defaults to 1. + fname + Field name (MFX) or number (MFS). Must be the ANSYS field (cannot + be a CFX field). - Notes - ----- - Digitizes nodes to the surface defined by the DSURF command. The nodes - indicated must be digitized from the tablet after this command is - given. The program must be in the interactive mode and the graphics - terminal show option [/SHOW] must be active. The global Cartesian - coordinates of the nodes are stored. + lab + Label name. Valid values are DISP and TEMP. - """ - command = "DIG, %s, %s, %s" % (str(node1), str(node2), str(ninc)) - self.RunCommand(command, **kwargs) + rfini + Initial relaxation factor. Defaults to 0.75. - def Post26(self, **kwargs): - """ - APDL Command: /POST26 + rfmin + Minimum relaxation factor. Defaults to RFINI. - Enters the time-history results postprocessor. + rfmax + Maximum relaxation factor. Defaults to RFINI. Notes ----- - Enters the time-history results postprocessor (POST26). + Use this command to relax the field solutions in fluid-solid + interaction analyses and thermal-thermal analyses for a better + convergence rate in coupled problems, especially cases that need + dynamic relaxation. The ANSYS field that has the MFFR command applied + will do only one nonlinear stagger iteration within each multi-field + stagger; the convergence of the ANSYS field solver will be satisfied + through multiple multi-field staggers. Note that the CFX field solver + can have multiple iterations within the field solver; see the CFX + documentation for more details. ANSYS will not terminate the nonlinear + field solution until the ANSYS field solver converges or reaches the + maximum number of multi-field staggers as specified on MFITER. - This command is valid only at the Begin Level. + The interface load relaxation (MFRELAX) will be automatically turned + off for the corresponding surface loads that have MFFR applied. The + automatic change of the relaxation factor for accelerating the + nonlinear convergence of the coupled field solution is based on + Aitken's acceleration scheme. + + This command is valid only with coupled problems involving surface load + transfer only. No subcycling is allowed for the field solver if using + this command. """ - command = "/POST26, " % () + command = "MFFR,%s,%s,%s,%s,%s" % (str(fname), str(lab), str(rfini), str(rfmin), str(rfmax)) self.RunCommand(command, **kwargs) - def Eextrude(self, action="", nelem="", space="", dist="", theta="", - tfact="", **kwargs): + def Addam(self, af="", aa="", ab="", ac="", ad="", amin="", **kwargs): """ - APDL Command: EEXTRUDE + APDL Command: ADDAM - Extrudes 2-D plane elements into 3-D solids. + Specifies the acceleration spectrum computation constants for the + analysis of shock resistance of shipboard structures. Parameters ---------- - action - Specifies one of the following command behaviors: + af + Direction-dependent acceleration coefficient for elastic or + elastic-plastic analysis option (default = 0). - AUTO - Extrudes plane elements (PLANE182 and PLANE183) based on the KEYOPT(3) setting. - Complementary elements are also extruded. (See Notes for - more information.) This behavior is the default. + aa, ab, ac, ad + Coefficients for the DDAM acceleration spectrum equations. Default + for these coefficients is zero. - PLANE - Extrudes elements in the global Z direction. KEYOPT(3) of the parent elements - is ignored. + amin + The minimum acceleration value in inch/sec2. It defaults to 2316 + inch/sec2 which equals 6g, where g is acceleration due to gravity + (g = 386 inch/sec2). - AXIS - Extrudes elements about the global Y axis. KEYOPT(3) of the parent elements is - ignored. + Notes + ----- + This command specifies acceleration coefficients to analyze shock + resistance of shipboard equipment. These coefficients are used to + compute mode coefficients according to the equations given in Dynamic + Design Analysis Method in the Mechanical APDL Theory Reference. The + form of these equations is based on the Naval NRL Dynamic Design + Analysis Method. This command, along with the VDDAM and SED commands, + is used with the spectrum (ANTYPE,SPECTR) analysis as a special purpose + alternative to the SV, FREQ, and SVTYP commands. The mass and length + units of the model must be in pounds and inches, respectively. - TANGENT - Similar to Action = AXIS, except that target elements are extruded in the - global Z direction. + DDASPEC may alternatively be used to calculate spectrum coefficients. - nelem - Number of elements to generate in the extruded direction. If you do - not specify a number, the program calculates a number automatically - based on the average element size and extrusion distance. + This command is also valid in PREP7. - space - Spacing ratio. If positive, this value is the nominal ratio of the - last division size to the first division size (if > 1.0, sizes - increase, if < 1.0, sizes decrease). If negative, |SPACE| is the - nominal ratio of the center division size to the end division size. - The default value is 1.0 (uniform spacing). + """ + command = "ADDAM,%s,%s,%s,%s,%s,%s" % (str(af), str(aa), str(ab), str(ac), str(ad), str(amin)) + self.RunCommand(command, **kwargs) - dist - Distance to extrude in the global Z direction for the plane strain - case (Action = PLANE). The default is 1. + def Pmore(self, x5="", y5="", x6="", y6="", x7="", y7="", x8="", y8="", + **kwargs): + """ + APDL Command: /PMORE - theta - Ending angle (in degrees) to extrude about the global Y axis for - the axisymmetric case (Action = AXIS). The beginning angle is - always 0 degrees. The ending angle defaults to 360 degrees. + Creates an annotation polygon (GUI). - tfact - Factor for increasing the rigid target size. The size of the - extruded rigid target elements is determined automatically based on - the size of the contact elements. The default value is 0.2. + Parameters + ---------- + -- + Unused field. + + x5 + X location for vertex 5 of polygon (-1.0 < X < 2.0). + + y5 + Y location for vertex 5 of polygon (-1.0 < Y < 1.0). + + x6 + X location for vertex 6 of polygon (-1.0 < X < 2.0). + + y6 + Y location for vertex 6 of polygon (-1.0 < Y < 1.0). + + x7 + X location for vertex 7 of polygon (-1.0 < X < 2.0). + + y7 + Y location for vertex 7 of polygon (-1.0 < Y < 1.0). + + x8 + X location for vertex 8 of polygon (-1.0 < X < 2.0). + + y8 + Y location for vertex 8 of polygon (-1.0 < Y < 1.0). Notes ----- - The EEXTRUDE command extrudes current-technology elements PLANE182 and - PLANE183. Complementary elements TARGE169, CONTA171, CONTA172, and - REINF263 will also extrude. Extrusion operates automatically on - elements in the selected element set. - - For automatic PLANE182 and PLANE183 extrusion (Action = AUTO), based on - the element behavior of the plane elements, the command performs as - follows: + Defines the 5th through 8th vertices of an annotation polygon + [/POLYGON]. This is a command generated by the Graphical User + Interface (GUI) and will appear in the log file (Jobname.LOG) if + annotation is used. This command is not intended to be typed in + directly in an ANSYS session (although it can be included in an input + file for batch input or for use with the /INPUT command). - Plane stress; the element is ignored. + This command is valid in any processor. - Axisymmetric; the element is extruded 360 degrees about the Y-axis. - THETA is ignored. + """ + command = "/PMORE,%s,%s,%s,%s,%s,%s,%s,%s" % (str(x5), str(y5), str(x6), str(y6), str(x7), str(y7), str(x8), str(y8)) + self.RunCommand(command, **kwargs) - Plane strain (Z strain = 0.0); the element is extruded a unit distance - in the global Z direction. + def Edbx(self, option="", boxid="", xmin="", xmax="", ymin="", ymax="", + zmin="", zmax="", **kwargs): + """ + APDL Command: EDBX - Plane stress with thickness input; the element is extruded in the - Z-direction as specified by the thickness input via a real constant. + Creates a box shaped volume to be used in a contact definition for + explicit dynamics. - Generalized plane strain; the element is ignored. + Parameters + ---------- + option + Label identifying the contact box definition option to be + performed. - For an axisymmetric extrusion (Action = AUTO with KEYOPT(3) = 1, Action - = AXIS, or Action = TANGENT), the command merges any nodes within the - specified tolerance (SELTOL,TOLER) of the axis into a single node, then - forms degenerate tetrahedrons, pyramids, or wedges. The default - tolerance value is 1.0E-6. + ADD - Adds a contact box definition (default). - When issuing the EEXTRUDE command within the MAP2DTO3D environment - using KEYOPT(3) = 3, mapping results do not provide the correct 3-D - results state; therefore, KEYOPT(3) = 3 is suggested only as a tool for - extruding the mesh itself as a geometric feature. + DELETE - Deletes a contact box definition. - For an axisymmetric extrusion, SHELL208 and SHELL209 will extrude. + LIST - Lists each box ID number, and the coordinates that make up each box shaped + volume. - You can control shape-checking options via the SHPP command. + boxid + User defined list ID number. - The extrusion behavior of accompanying contact (CONTA171 and CONTA172) - is determined by the plane element settings. Rigid target (TARGE169) - elements are extruded in the global Z direction unless axisymmetric - extrusion (Action = AXIS) is in effect. + xmin + Minimum x-coordinate. - The following table shows each 2-D element capable of extrusion and its - corresponding post-extrusion 3-D element: + xmax + Maximum x-coordinate. - All element properties are also transferred consistently during - extrusion. For example, a 2-D element is extruded to a 3-D element, - and a mixed u-P 2-D element is extruded to a mixed u-P 3-D element. + ymin + Minimum y-coordinate. - """ - command = "EEXTRUDE, %s, %s, %s, %s, %s, %s" % (str(action), str(nelem), str(space), str(dist), str(theta), str(tfact)) - self.RunCommand(command, **kwargs) + ymax + Maximum y-coordinate. - def Ftran(self, **kwargs): - """ - APDL Command: FTRAN + zmin + Minimum z-coordinate. - Transfers solid model forces to the finite element model. + zmax + Maximum z-coordinate. Notes ----- - Forces are transferred only from selected keypoints to selected nodes. - The FTRAN operation is also done if the SBCTRAN command is issued or - automatically done upon initiation of the solution calculations - [SOLVE]. + The ANSYS LS-DYNA command EDCGEN allows you to define contact and + target volumes using box ID numbers BOXID1 and BOXID2, respectively. If + you use these arguments to define contact volumes, you must first + define their coordinates using the EDBX command. - This command is also valid in PREP7. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "FTRAN, " % () + command = "EDBX,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(boxid), str(xmin), str(xmax), str(ymin), str(ymax), str(zmin), str(zmax)) self.RunCommand(command, **kwargs) - def Dowhile(self, par="", **kwargs): + def Mfinter(self, option="", **kwargs): """ - APDL Command: *DOWHILE + APDL Command: MFINTER - Loops repeatedly through the next *ENDDO command. + Specifies the interface load transfer interpolation option for an ANSYS + Multi-field solver analysis. Parameters ---------- - par - The name of the scalar parameter to be used as the loop index. - There is no character parameter substitution for the Par field. + option + Interface load transfer option: + + CONS - Conservative formulation for load transfer. + + NONC - Nonconservative formulation for load transfer (default). Notes ----- - *DOWHILE loops repeatedly through the next *ENDDO command as long as - Par is greater than zero. The block of commands following the *DOWHILE - command (up to the *ENDDO command) is executed repeatedly until some - loop control is satisfied. Printout is automatically suppressed on all - loops after the first (include a /GOPR command to restore the - printout). The command line loop control (Par) must be input; however, - *IF within the block can also be used to control looping [*EXIT, - *CYCLE]. One level of internal file switching is used for each nested - *DOWHILE. Twenty levels of nested do-loops are allowed. + This command only applies to the interpolation method for forces, heat + flux, and heat generation. Displacement and temperature transfers are + always nonconservative. - This command is valid in any processor. + For more information on conservative and nonconservative load transfer, + see Load Transfer in the Coupled-Field Analysis Guide. + + This command is also valid in PREP7. + + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "*DOWHILE, %s" % (str(par)) + command = "MFINTER,%s" % (str(option)) self.RunCommand(command, **kwargs) - def Shell(self, loc="", **kwargs): + def Psmesh(self, secid="", name="", p0="", egroup="", num="", kcn="", + kdir="", value="", ndplane="", pstol="", pstype="", ecomp="", + ncomp="", **kwargs): """ - APDL Command: SHELL + APDL Command: PSMESH - Selects a shell element or shell layer location for results output. + Create and mesh a pretension section Parameters ---------- - loc - Location within shell element (or layer) to obtain stress results: + secid + Unique section number. This number must not already be assigned to + a section. - TOP - Top of shell element (or layer) (default). + name + Unique eight character descriptive name, if desired. - MID - Middle of shell element (or layer). The default method averages the TOP and BOT - values to obtain a mid value. Setting KEYOPT(8) = 2 for - SHELL181, SHELL208, SHELL209, and ELBOW290 uses MID results - obtained directly from the results file. + p0 + Pretension node number. The node will be defined if it doesn't + exist and the number defaults to the highest node number plus one. - BOT - Bottom of shell element (or layer). + egroup, num + Element group on which PSMESH will operate. If Egroup = P, + graphical picking is enabled and NUM is ignored (valid only in the + GUI). - Notes - ----- - Selects the location within a shell element (or a shell layer) for - results output (nodal stresses, strains, etc.). Applies to POST1 - selects, sorts, and output [NSEL, NSORT, PRNSOL, PLNSOL, PRPATH, - PLPATH, etc.], and is used for storage with the POST26 ESOL command. - For example, SHELL,TOP causes item S of the POST1 PRNSOL command or the - POST26 ESOL command to be the stresses at the top of the shell - elements. For layered shell elements, use the LAYER (POST1) or - LAYERP26 (POST26) command to select the layer. The SHELL command does - not apply to the layered thermal shell elements, SHELL131 and SHELL132. + L (or LINE) - PSMESH operates on all elements in the line specified by NUM. New pretension + nodes are associated with NUM or entities below it. + Any subsequent LCLEAR operation of NUM deletes the + pretension elements and nodes created by PSMESH. - For PowerGraphics [/GRAPHICS,POWER], the SHELL,MID command affects both - the printed output and the displayed results, while the SHELL (TOP or - BOT) command prints and displays both the top and bottom layers - simultaneously. Note that /CYCEXPAND,ON automatically turns on - PowerGraphics; however, for cyclic mode-superposition harmonic - postprocessing (CYCFILES), the SHELL command prints and displays only - the requested layer. + A (or AREA) - PSMESH operates on all elements in the area specified by NUM. New pretension + nodes are associated with NUM or entities below it. + Any subsequent ACLEAR of NUM deletes the pretension + elements and nodes created by PSMESH. - In POST26, the ESOL data stored is based on the active SHELL - specification at the time the data is stored. To store data at various - specifications (for example, stresses at the top and bottom locations), - issue a STORE command before each new specification. + V (or VOLU) - PSMESH operates on all elements in the volume specified by NUM. New pretension + nodes are associated with NUM or entities below it. + Any subsequent VCLEAR of NUM deletes the pretension + elements and nodes created by PSMESH. - """ - command = "SHELL, %s" % (str(loc)) - self.RunCommand(command, **kwargs) + P - PSMESH operates on elements selected through the subsequent picking operations, + and NUM is ignored - def Fcum(self, oper="", rfact="", ifact="", **kwargs): - """ - APDL Command: FCUM + ALL - The command operates on all selected elements, and NUM is ignored. - Specifies that force loads are to be accumulated. + kcn + Coordinate system number for the separation surface and normal + direction. - Parameters - ---------- - oper - Accumulation key: + kdir + Direction (x, y, or z) normal to separation surface in the KCN + coordinate system. - REPL - Subsequent values replace the previous values (default). + value + Point along the KDIR axis at which to locate the separation + surface. Ignored if NDPLANE is supplied. - ADD - Subsequent values are added to the previous values. + ndplane + Existing node that PSMESH will use to locate the separation + surface. If NDPLANE is supplied, the location of the separation + surface is defined by the KDIR coordinate of NDPLANE. - IGNO - Subsequent values are ignored. + pstol + Optional tolerance below VALUE. Allows nodes occurring precisely at + or slightly below the separation to be identified properly as + above the plane. Has the effect of shifting the plane down by + PSTOL. The following expression represents the default value: - rfact - Scale factor for the real component. Zero (or blank) defaults to - 1.0. Use a small number for a zero scale factor. + pstype + If specified, this value is the type number for pretension + elements. (If not specified, ANSYS defines this value.) If already + defined, it must be of type PRETS179. - ifact - Scale factor for the imaginary component. Zero (or blank) defaults - to 1.0. Use a small number for a zero scale factor. + ecomp + If specified, the name of a component to be composed of new + pretension elements and existing elements modified by the PSMESH + command. + + ncomp + Name of a component to be composed of nodes on new pretension + elements. Notes ----- - Allows repeated force load (force, heat flow, etc.) values to be - replaced, added, or ignored. Operations apply to the selected nodes - [NSEL]. and the force labels corresponding to the selected force labels - [DOFSEL]. The operations occur when the next force specifications are - defined. For example, issuing the command F,1,FX,250 after a previous - F,1,FX,200 causes the current value of the force on node 1 in the - x-direction to be 450 with the add operation, 250 with the replace - operation, or 200 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 force of 700. Scale factors are applied even if no - previous values exist. Issue FCUM,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. + The PSMESH command creates a pretension section normal to the + pretension load direction by cutting the mesh along existing element + boundaries at the point defined by VALUE or NDPLANE and inserting + PRETS179 elements. The PSMESH command verifies that PSTYPE is PRETS179; + if it is not, the command finds the lowest available ITYPE that is + PRETS179, or if necessary will create a new one. - Note:: : FE boundary conditions may still be overwritten by existing - solid model boundary conditions if a subsequent boundary condition - transfer occurs. + When it is necessary to define the pretension node, ANSYS uses node + NDPLANE. If the NDPLANE value is not specified, ANSYS defines the + pretension node at: - FCUM does not work for tabular boundary conditions. + The centroid of geometric entity NUM, if Egroup = LINE, AREA or VOLU - This command is also valid in PREP7. + The centroid location of all selected elements, if Egroup = ALL or if + graphical picking is used. + + If the elements to which the pretension load is to be applied have + already been meshed in two groups, PSMESH cannot be used to insert the + pretension elements. The EINTF command must be used to insert the + PRETS179 elements between the two meshed groups. + + The PSMESH operation copies any nodal temperatures you have defined on + the split surface of the original mesh from the original nodes to the + newly created coincident duplicate nodes. However, displacements, + forces, and other boundary conditions are not copied. + + By mathematical definition, the pretension surface must always be a + flat plane. In a non-Cartesian coordinate system, the PSMESH command + creates that plane at the indicated position, oriented with respect to + the specified direction of the active system (in the same manner that + the NROTAT command orients a nodal system with respect to a curved + system). For example, assuming a X = 1 and Y = 45 in a cylindrical + coordinate system with Z as the axis of rotation (KCN = 1), a + pretension surface normal to X tilts 45 degrees away from the global X + axis. + + The PSMESH command is valid for structural analyses only. """ - command = "FCUM, %s, %s, %s" % (str(oper), str(rfact), str(ifact)) + command = "PSMESH,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(secid), str(name), str(p0), str(egroup), str(num), str(kcn), str(kdir), str(value), str(ndplane), str(pstol), str(pstype), str(ecomp), str(ncomp)) self.RunCommand(command, **kwargs) - def Tsres(self, array="", **kwargs): + def Pdclr(self, type="", **kwargs): """ - APDL Command: TSRES + APDL Command: PDCLR - Defines an array of key times at which the time-stepping strategy - changes. + Clears the probabilistic design database. Parameters ---------- - array - Identifies an Nx1x1 array parameter containing the key times at - which the heat transfer time-stepping strategy changes (the time - step is reset to the initial time step based on DELTIM or NSUBST - settings). The array name must be enclosed by % signs (e.g., - %array%). See *DIM for more information on array parameters. + type + Specifies the part of the probabilistic database to be cleared. + + ALL - Clear the entire probabilistic database. Both the preprocessing and + postprocessing parts are cleared. + + POST - Clear only the postprocessing part of the probabilistic database. This is + necessary if you want to modify the deterministic model (the + analysis file) or probabilistic model (random variables, + correlations between random variables, or the random output + parameter) after a probabilistic analysis has already been + performed. Notes ----- - Time values in the array parameter must be in ascending order and must - not exceed the time at the end of the load step as defined on the TIME - command. The time increment between time points in the array list must - be larger than the initial time step defined on the DELTIM or NSUBST - command. Time values must also fall between the beginning and ending - time values of the load step. For multiple load step problems, you - must either change the parameter values to fall between the beginning - and ending time values of the load step or reissue the command with a - new array parameter. To clear the array parameter specification, issue - TSRES,ERASE. Results can be output at the requested time points if the - array or time values in the array are also specified in the OUTRES - command using FREQ=%array%. Use this command to reset the time- - stepping strategy within a load step. You may need to reset the time- - stepping strategy when using tabular time-varying boundary conditions. - - See Steady-State Thermal Analysis of the Thermal Analysis Guide for - more information on applying boundary conditions via tabular input. - See Transient Thermal Analysis of the Thermal Analysis Guide for more - information on defining the key time array. + Clears the probabilistic design system (PDS) database. The settings are + reset to their default values and the memory is cleared. Remember that + the result files containing the results of the probabilistic loops are + never deleted unless you intentionally delete them. We recommend that + you use this command before switching to a new probabilistic analysis + using a different probabilistic model (a different analysis loop file + or deterministic model), or changing random input variables, their + correlations, or random output parameters. Clearing the probabilistic + database is not necessary if the probabilistic model remains the same + and will be analyzed with a different probabilistic method or different + method options. See the PDEXE command for restrictions. Before issuing + the PDCLR command, you should save the probabilistic database using the + PDSAVE command. """ - command = "TSRES, %s" % (str(array)) + command = "PDCLR,%s" % (str(type)) self.RunCommand(command, **kwargs) - def Slashstatus(self, lab="", **kwargs): + def Pdsave(self, fname="", ext="", **kwargs): """ - APDL Command: /STATUS + APDL Command: PDSAVE - Lists the status of items for the run. + Writes the probabilistic model data to a file. Parameters ---------- - lab - Items to list status for: - - ALL - List all below (default). - - TITLE - List only titles, Jobname, and revision number. - - UNITS - List only units. - - MEM - List only memory data statistics. - - DB - List only database statistics - - CONFIG - List only configuration parameters. - - GLOBAL - Provides a global status summary. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - SOLU - Provides a solution status summary. + ext + Filename extension (eight-character maximum). - PROD - Provides a product summary. + -- + Unused field. Notes ----- - Displays various items active for the run (such as the ANSYS revision - number, Jobname, titles, units, configuration parameters, database - statistics, etc.). - - This command is valid in any processor. + Writes the probabilistic model data to a file. Saved data include + probabilistic data only; the results of the probabilistic analyses are + not stored in the file (rather, these are stored in separate result + files). """ - command = "/STATUS, %s" % (str(lab)) + command = "PDSAVE,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Supl(self, surfname="", rsetname="", kwire="", **kwargs): + def Cwd(self, dirpath="", **kwargs): """ - APDL Command: SUPL + APDL Command: /CWD - Plot result data on all selected surfaces or on a specified surface. + Changes the current working directory. Parameters ---------- - surfname - Eight character surface name. ALL will plot all selected surfaces. - - rsetname - Eight character result name. - - kwire - Plot in context of model. - - 0 - Plot results without the outline of selected elements. - - 1 - Plot results with the outline of selected elements. + dirpath + The full path name of the new working directory. Notes ----- - If RSetName is left blank, then the surface geometry will be plotted. - If the Setname portion of the argument is a vector prefix (i.e. if - result sets of name SetNameX, SetNameY and SetNameZ exist), ANSYS will - plot these vectors on the surface as arrows. For example, SUPL, ALL, - NORM will plot the surface normals as vectors on all selected surfaces, - since NORMX NORMY and NORMZ are pre-defined geometry items. + After issuing the /CWD command, all new files opened with no default + directory specified (via the FILE, /COPY, or RESUME commands, for + example) default to the new DIRPATH directory. """ - command = "SUPL, %s, %s, %s" % (str(surfname), str(rsetname), str(kwire)) + command = "/CWD,%s" % (str(dirpath)) self.RunCommand(command, **kwargs) - def Slashexpand(self, nrepeat1="", type1="", method1="", dx1="", dy1="", - dz1="", nrepeat2="", type2="", method2="", dx2="", dy2="", - dz2="", nrepeat3="", type3="", method3="", dx3="", dy3="", - dz3="", **kwargs): + def Mfelem(self, fnumb="", itype1="", itype2="", itype3="", itype4="", + itype5="", itype6="", itype7="", itype8="", itype9="", + itype10="", **kwargs): """ - APDL Command: /EXPAND + APDL Command: MFELEM - Allows the creation of a larger graphic display than represented by the - actual finite element analysis model. + Defines a field by grouping element types. Parameters ---------- - nrepeat1, nrepeat2, nrepeat3 - The number of repetitions required for the element pattern. The - default is 0 (no expansion). + fnumb + Field number for a group of element types. - type1, type2, type3 - The type of expansion requested. + itype1, itype2, itype3, . . . , itype10 + Element types defined by the ET command. - RECT - Causes a Cartesian transformation of DX, DY, and DZ for each pattern (default). + Notes + ----- + You can define up to ten element types per field. - POLAR - Causes a polar transformation of DR, D-Theta and DZ for each pattern. + Define only element types that contain elements in the field. Do not + include MESH200 because it is a “mesh-only” element that does not + contribute to the solution. - AXIS - Causes 2-D axisymmetric expansion (that is, rotates a 2-D model created in the - X-Y plane about the Y axis to create a 3-D model). + This command is also valid in PREP7. - LRECT - Causes a Cartesian transformation of DX, DY, and DZ for each pattern about the - current local coordinate system (specified via the CSYS - command). + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. - LPOLAR - Causes a polar transformation of DR, D-Theta, and DZ for each pattern about the - local coordinate system (specified via the CSYS command). + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - method1, method2, method3 - The method by which the pattern is repeated. + """ + command = "MFELEM,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(fnumb), str(itype1), str(itype2), str(itype3), str(itype4), str(itype5), str(itype6), str(itype7), str(itype8), str(itype9), str(itype10)) + self.RunCommand(command, **kwargs) - FULL - Causes a normal repeat of the pattern (default). + def Sueval(self, parm="", lab1="", oper="", **kwargs): + """ + APDL Command: SUEVAL - HALF - Uses a symmetry transformation for alternate repeats (to produce an image of a - complete circular gear from the image of half a tooth, for - example). + Perform operations on a mapped item and store result in a scalar + parameter. - dx1, dy1, dz1, dx2, dy2, dz2, dx3, dy3, dz3 - The Cartesian or polar increments between the repeated patterns. - Also determines the reflection plane. Reflection is about the plane - defined by the normal vector (DX, DY, DZ). If you want no - translation, specify a small nonzero value. For a half-image - expansion, the increment DX, DY, or DZ is doubled so that - POLAR,HALF, ,45 produces full images on 90° centers, and RECT,HALF, - ,1 produces full images on 2-meter centers. + Parameters + ---------- + parm + APDL parameter name. - Notes - ----- - You can use the /EXPAND command to perform up to three symmetry - expansions at once (that is, X, Y, and Z which is equal to going from a - 1/8 model to a full model). Polar expansions allow you to expand a - wheel section into a half wheel, then into the half section, and then - into the whole. + lab1 + Eight character set name for the first set used in calculation. - The command displays elements/results when you issue the EPLOT command - or postprocessing commands. + oper + Operation to perform: - The command works on all element and result displays, except as noted - below. As the graphic display is created, the elements (and results) - are repeated as many times as necessary, expanding the geometry and, if - necessary, the displacements and stresses. + SUM - Sum of lab1 result values. - Derived results are not supported. + INTG - Integral of lab1 over surface. - The /EXPAND command has the following limitations: + AVG - Area-weighted average of a result item [Σ(lab1*DA) / Σ(DA)] - It does not support solid model entities. + Notes + ----- + The result of this operation is a scalar APDL parameter value. If + multiple surfaces are selected when this command is issued, then the + operation is carried out on each surface individually and the parameter + reperesents the culmulative value of the operation on all selected + surfaces. - POLAR, FULL or HALF operations are meaningful only in global - cylindrical systems and are unaffected by the RSYS or DSYS commands. - Cartesian symmetry or unsymmetric operations also occur about the - global Cartesian system. + """ + command = "SUEVAL,%s,%s,%s" % (str(parm), str(lab1), str(oper)) + self.RunCommand(command, **kwargs) - It does not average nodal results across sector boundaries, even for - averaged plots (such as those obtained via the PLNSOL command). + def Lang(self, nl1="", p3="", ang="", phit="", locat="", **kwargs): + """ + APDL Command: LANG - Axisymmetric harmonic element results are not supported for Type = - AXIS. + Generates a straight line at an angle with a line. - The /EXPAND command differs significantly from the EXPAND command in - several respects: + Parameters + ---------- + nl1 + Number of the line to be hit (touched by the end of the new line). + If negative, assume P1 (see below) is the second keypoint of the + line instead of the first. If NL1 = P, graphical picking is + enabled and all remaining command fields are ignored (valid only in + the GUI). - The uses of /EXPAND are of a more general nature, whereas the EXPAND - command is intended primarily to expand modal cyclic symmetry results. + p3 + Keypoint at which generated line must end. - /EXPAND does not change the database as does the EXPAND command. + ang + Angle of intersection of generated line PHIT-P3 with tangent to + line P1-P2 at PHIT. If 0 (default), the generated line is tangent + to NL1 toward end P1; if 90, the generated line is perpendicular to + NL1. If 180, the generated line is tangent to NL1 toward end P2. + ANG can be any value, but is adjusted to the corresponding acute + angle with respect to LOCAT. See "Notes" for a discussion of + accuracy. - You cannot print results displayed via /EXPAND. + phit + Number to be assigned to keypoint generated at hit location + (defaults to lowest available keypoint number [NUMSTR]). + + locat + Approximate location of PHIT in terms of the ratio of the distance + along the line (NL1) to the length of the line. LOCAT can range + from 0 to 1. If LOCAT is blank, the point will be located with + less speed and accuracy, and an arbitrary location may result. + + Notes + ----- + Generates a straight line (PHIT-P3) at an angle (ANG) with a line NL1 + (P1-P2). The location of PHIT on the line is automatically calculated. + Line P1-P2 becomes P1-PHIT and new lines PHIT-P2 and PHIT-P3 are + generated. Line divisions are set to zero (use LESIZE, etc. to + modify). + PHIT is positioned closest to LOCAT for the given angle, ANG. To + ensure better performance, it is recommended that LOCAT be input, even + if it is 0. + The program uses an iterative procedure to position PHIT. The + procedure is not exact, with the result that the actual value of ANG + will sometimes differ slightly from the specified value. """ - command = "/EXPAND, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nrepeat1), str(type1), str(method1), str(dx1), str(dy1), str(dz1), str(nrepeat2), str(type2), str(method2), str(dx2), str(dy2), str(dz2), str(nrepeat3), str(type3), str(method3), str(dx3), str(dy3), str(dz3)) + command = "LANG,%s,%s,%s,%s,%s" % (str(nl1), str(p3), str(ang), str(phit), str(locat)) self.RunCommand(command, **kwargs) - def Vfsm(self, action="", encl="", opt="", maxiter="", conv="", **kwargs): + def Cat5in(self, name="", extension="", path="", entity="", fmt="", + nocl="", noan="", **kwargs): """ - APDL Command: VFSM + APDL Command: ~CAT5IN - Adjusts view factor matrix to satisfy reciprocity and/or row sum - properties. + Transfers a .CATPart file into the ANSYS program. Parameters ---------- - action - Action to be performed: + name + The name of a valid .CATPart file, created with CATIA Version 5.0. + The first character of the file name must be an alphanumeric. - Define - Define a view factor summation (default) + extension + The extension for the file. The default extension is .CATPart. - Clear - Resets the scaling method to 0 for all enclosures. All subsequent arguments are - ignored. + path + The path name of the directory in which the file resides enclosed + in single quotes. The default path name is the current working + directory. - Status - Outputs the OPT value for each enclosure in the model. + entity + Entity to be imported. - encl - Previously defined enclosure number for the view factor adjustment. + SOLIDS - Solids only, imported as ANSYS volumes (default). - opt - Option key: + SURFACES - Surfaces only, imported as ANSYS areas. - 0 - The view factor matrix values are not adjusted (default). + ALL - All entities. Use this option when the file contains different types of + entities. - 1 - The view factor matrix values are adjusted so that the row sum equals 1.0. + fmt + The format in which ANSYS will store the model. - 2 - The view factor matrix values are adjusted so that the row sum equals 1.0 and - the reciprocity relationship is satisfied. + 0 - Neutral format (default). Defeaturing after import is restricted. - 3 - The view factor matrix values are adjusted so that the original row sum is - maintained. + 1 - Solid format; this allows defeaturing after import. - 4 - The view factor matrix values are adjusted so that the original row sum is - maintained and the reciprocity relationship is satisfied. + nocl + Remove tiny objects. - maxiter - Maximum number of iterations to achieve convergence. Valid only - when OPT = 2 or 4. Default is 100. + 0 - Remove tiny objects without checking model validity (default). - conv - Convergence value for row sum. Iterations will continue (up to - MAXITER) until the maximum residual over all the rows is less than - this value. Valid only when OPT = 2 or 4. Default is 1E-3. + 1 - Do not remove tiny objects. - Notes - ----- - To have a good energy balance, it is important to satisfy both the row - sum and reciprocity relationships. For more information, see View - Factors in the Mechanical APDL Theory Reference. + noan + Perform an analysis of the model. - OPT = 1 and 2 are suitable for perfect enclosures. OPT = 1 is less - expensive than OPT = 2 because no iterations are involved. However, - with OPT = 1, the reciprocity relationship is not satisfied. + 0 - Analyze the model (default). - OPT = 3 and 4 are suitable for leaky enclosures. OPT = 3 is less - expensive than OPT = 4 because no iterations are involved. However, - with OPT = 3, the reciprocity relationship is not satisfied. + 1 - Do not analyze the model. - The VFSM command must be used before VFOPT is issued, or Solve is - initiated. + Notes + ----- + If defeaturing is specified (FMT = 1), this command must be the last + line of any file, script, or other interactive input. + + More information on importing CATIA Version 5 parts is available in + CATIA V5 in the Connection User's Guide. """ - command = "VFSM, %s, %s, %s, %s, %s" % (str(action), str(encl), str(opt), str(maxiter), str(conv)) + command = "~CAT5IN,%s,%s,%s,%s,%s,%s,%s" % (str(name), str(extension), str(path), str(entity), str(fmt), str(nocl), str(noan)) self.RunCommand(command, **kwargs) - def Eplot(self, **kwargs): + def Pletab(self, itlab="", avglab="", **kwargs): """ - APDL Command: EPLOT + APDL Command: PLETAB - Produces an element display. + Displays element table items. + + Parameters + ---------- + itlab + User-defined label, as specified with the ETABLE command, of item + to be displayed. + + avglab + Averaging operation: + + NOAV - Do not average element items at common nodes (default). + + AVG - Average the element items at common nodes. Notes ----- - Produces an element display of the selected elements. In full graphics, - only those elements faces with all of their corresponding nodes - selected are plotted. In PowerGraphics, all element faces of the - selected element set are plotted irrespective of the nodes selected. - However, for both full graphics and PowerGraphics, adjacent or - otherwise duplicated faces of 3-D solid elements will not be displayed - in an attempt to eliminate plotting of interior facets. See the DSYS - command for display coordinate system issues. - - This command will display curvature in midside node elements when - PowerGraphics is activated [/GRAPHICS,POWER] and /EFACET,2 or /EFACET,4 - are enabled. (To display curvature, two facets per edge is recommended - [/EFACET,2]). When you specify /EFACET,1, PowerGraphics does not - display midside nodes. /EFACET has no effect on EPLOT for non-midside - node elements. + Displays items stored in the table defined with the ETABLE command for + the selected elements. For display purposes, items are assumed to be + constant over the element and assigned to each of its nodes. Contour + display lines (lines of constant value) are determined by linear + interpolation within each element from the nodal values. These nodal + values have the option of being averaged (values are averaged at a node + whenever two or more elements connect to the same node) or not averaged + (discontinuous). The discontinuity between contour lines of adjacent + elements is an indication of the gradient across elements. - This command is valid in any processor. + Portions of this command are not supported by PowerGraphics + [/GRAPHICS,POWER]. """ - command = "EPLOT, " % () + command = "PLETAB,%s,%s" % (str(itlab), str(avglab)) self.RunCommand(command, **kwargs) - def Rpr4(self, nsides="", xcenter="", ycenter="", radius="", theta="", - depth="", **kwargs): + def Memm(self, lab="", kywrd="", **kwargs): """ - APDL Command: RPR4 + APDL Command: MEMM - Creates a regular polygonal area or prism volume anywhere on the - working plane. + Allows the current session to keep allocated memory Parameters ---------- - nsides - The number of sides in the polygon or prism face. Must be greater - than 2. - - xcenter, ycenter - Working plane X and Y coordinates of the center of the polygon or - prism face. + lab + When Lab = KEEP, the memory manager's ability to acquire and keep + memory is controlled by Kywrd - radius - Distance (major radius) from the center to a vertex of the polygon - or prism face (where the first keypoint is defined). + kywrd + Turns the memory “keep” mode on or off - theta - Angle (in degrees) from the working plane X-axis to the vertex of - the polygon or prism face where the first keypoint is defined. - Used to orient the polygon or prism face. Defaults to zero. + ON - Keep any memory allocated during the analysis. - depth - The perpendicular distance (either positive or negative based on - the working plane Z direction) from the working plane representing - the depth of the prism. If DEPTH = 0 (default), a polygonal area - is created on the working plane. + OFF - Use memory dynamically and free it up to other users after use (default). Notes ----- - Defines a regular polygonal area anywhere on the working plane or prism - volume with one face anywhere on the working plane. The top and bottom - faces of the prism are polygonal areas. See the RPOLY, POLY, RPRISM, - and PRISM commands for other ways to create polygons and prisms. + You can use the MEMM command to ensure that memory intensive operations + will always have the same memory available when the operations occur + intermittently. Normally, if a large amount of memory is allocated for + a specific operation, it will be returned to the system once the + operation is finished. This option always maintains the highest level + used during the analysis until the analysis is finished. + + The MEMM command does not affect the value you specify with the -m + switch. When you allocate memory with the -m switch, that amount will + always be available. However, if dynamic memory allocation in excess of + the-m value occurs, you can use the MEMM command to ensure that amount + is retained until the end of your analysis. """ - command = "RPR4, %s, %s, %s, %s, %s, %s" % (str(nsides), str(xcenter), str(ycenter), str(radius), str(theta), str(depth)) + command = "MEMM,%s,%s" % (str(lab), str(kywrd)) self.RunCommand(command, **kwargs) - def Chkmsh(self, comp="", **kwargs): + def Con4(self, xcenter="", ycenter="", rad1="", rad2="", depth="", + **kwargs): """ - APDL Command: CHKMSH + APDL Command: CON4 - Checks area and volume entities for previous meshes. + Creates a conical volume anywhere on the working plane. Parameters ---------- - comp - Name of component containing areas or volumes. + xcenter, ycenter + Working plane X and Y coordinates of the center axis of the cone. + + rad1, rad2 + Radii of the faces of the cone. RAD1 defines the bottom face and + will be located on the working plane. RAD2 defines the top face + and is parallel to the working plane. A value of zero or blank for + either RAD1 or RAD2 defines a degenerate face at the center axis + (i.e., the vertex of the cone). The same value for both RAD1 and + RAD2 defines a cylinder instead of a cone. + + depth + The perpendicular distance (either positive or negative based on + the working plane Z direction) from the working plane representing + the depth of the cone. DEPTH cannot be zero (see "Notes" below). Notes ----- - CHKMSH invokes a predefined ANSYS macro that checks areas and volumes - to find out if they were previously meshed. This macro name will - appear in the log file (Jobname.LOG) prior to area and volume meshing - operations initiated through the GUI. This command is not intended to - be typed in directly in an ANSYS session (although it can be included - in an input file for use with the /INPUT command). + Defines a solid conical volume with either the vertex or a face + anywhere on the working plane. The cone must have a spatial volume + greater than zero. (i.e., this volume primitive command cannot be used + to create a degenerate volume as a means of creating an area.) The + face or faces will be circular (each area defined with four lines), and + they will be connected with two areas (each spanning 180°). See the + CONE command for an alternate way to create cones. """ - command = "CHKMSH, %s" % (str(comp)) + command = "CON4,%s,%s,%s,%s,%s" % (str(xcenter), str(ycenter), str(rad1), str(rad2), str(depth)) self.RunCommand(command, **kwargs) - def Parain(self, name="", extension="", path="", entity="", fmt="", - scale="", **kwargs): + def Satin(self, name="", extension="", path="", entity="", fmt="", nocl="", + noan="", **kwargs): """ - APDL Command: ~PARAIN + APDL Command: ~SATIN - Transfers a Parasolid file into the ANSYS program. + Transfers a .SAT file into the ANSYS program. Parameters ---------- name - The name of a valid Parasolid file. The first character of the file - name must be an alphanumeric. + The name of a valid .SAT file, created with a supported version of + ACIS. The first character of the file name must be an alphanumeric. + Special characters such as & - and * and spaces are not permitted + in the part name. See File Names in the Command Reference for more + information about ANSYS file naming conventions. extension - The extension for the file. The default extension is .x_t on a PC - or .xmt_txt on a Linux system. Parasolid files are compatible - across systems, and do not need to be renamed to be used on another - platform. + The extension for the file. The default extension is .sat. path - The path name of the directory in which the file resides, enclosed + The path name of the directory in which the file resides enclosed in single quotes. The default path name is the current working directory. entity - Entity to be imported: + Entity to be imported. - SOLIDS - Solids only, imported as ANSYS volumes (default) + SOLIDS - Solids only, imported as ANSYS volumes (Not implemented, imports All). - SURFACES - Surfaces only, imported as ANSYS areas. + SURFACES - Surfaces only, imported as ANSYS areas (Not implemented, imports All). - WIREFRAME - Wireframe only, imported as ANSYS lines. + WIREFRAME - Wireframe only, imported as ANSYS lines (Not implemented, imports All). - ALL - All entities. Use this option when the file contains more than one type of - entity. + ALL - All entities. Use this option when the file contains different types of + entities. fmt - Sets the format in which ANSYS will store the model + The format in which ANSYS will store the model. - 0 - Neutral format (default). Defeaturing after import is restricted. Use this - option if you need to scale a model to a specific unit of - measure (other than meters). + 0 - Neutral format (default). Defeaturing after import is restricted. 1 - Solid format; this allows defeaturing after import. - scale - Allows scaling for the model + nocl + Remove tiny objects. - 0 - Do not rescale the model; retain the default Parasolid setting of meters - (default). + 0 - Remove tiny objects without checking model validity (default). - 1 - Scale the model if warranted by the model size. + 1 - Do not remove tiny objects. + + noan + Perform an ACIS analysis of the model. + + 0 - Analyze the model (default). + + 1 - Do not analyze the model. Notes ----- - More information on importing Parasolid parts is available in Parasolid - in the Connection User's Guide. + More information on importing ACIS parts is available in ACIS in the + Connection User's Guide. """ - command = "~PARAIN, %s, %s, %s, %s, %s, %s" % (str(name), str(extension), str(path), str(entity), str(fmt), str(scale)) + command = "~SATIN,%s,%s,%s,%s,%s,%s,%s" % (str(name), str(extension), str(path), str(entity), str(fmt), str(nocl), str(noan)) self.RunCommand(command, **kwargs) - def Ksel(self, type="", item="", comp="", vmin="", vmax="", vinc="", - kabs="", **kwargs): + def Pras(self, quantity="", loadstep="", substep="", **kwargs): """ - APDL Command: KSEL + APDL Command: PRAS - Selects a subset of keypoints or hard points. + Calculates a specified acoustic quantity on the selected exterior + surface or the frequency-band sound pressure level (SPL). Parameters ---------- - type - Label identifying the type of select: - - S - Select a new set (default). - - R - Reselect a set from the current set. - - A - Additionally select a set and extend the current set. + quantity + The acoustic quantity to calculate: - U - Unselect a set from the current set. + SIMP - Specific acoustic impedance on the selected surface. - ALL - Restore the full set. + AIMP - Acoustic impedance on the selected surface. - NONE - Unselect the full set. + MIMP - Mechanical impedance on the selected surface. - INVE - Invert the current set (selected becomes unselected and vice versa). + PRES - Average pressure on the selected surface. - STAT - Display the current select status. + FORC - Force on the selected surface. - Notes - ----- - Selects a subset of keypoints or hard points. For example, to select a - new set of keypoints based on keypoint numbers 1 through 7, use - KSEL,S,KP,,1,7. The selected subset is used when the ALL label is - entered (or implied) on other commands, such as KLIST,ALL. Only data - identified by keypoint number are selected. Data are flagged as - selected and unselected; no data are actually deleted from the - database. + POWE - Acoustic power on the selected surface. - This command is valid in any processor. + BSPL - Frequency-band sound pressure level. - For selections based on non-integer numbers (coordinates, results, - etc.), items that are within the range VMIN -Toler and VMAX + Toler are - selected. The default tolerance Toler is based on the relative values - of VMIN and VMAX as follows: + BSPA - A-weighted frequency-band sound pressure level. - If VMIN = VMAX, Toler = 0.005 x VMIN. + loadstep + Specified load step. Default = 1. - If VMIN = VMAX = 0.0, Toler = 1.0E-6. + substep + Specified substep. Default = All substeps at the specified load + step. Not valid for Quantity = BSPL or BSPA. - If VMAX ≠ VMIN, Toler = 1.0E-8 x (VMAX - VMIN). + Notes + ----- + The PRAS command calculates a specified acoustic quantity on the + selected exterior surface in postprocessing. The calculation is based + on the pressure and velocity solution or the frequency-band sound + pressure level (SPL). - Use the SELTOL command to override this default and specify Toler - explicitly. + The total pressure and velocity are used if the selected surface is the + excitation source surface. To calculate the incoming and outgoing + acoustic power, and other sound power parameters, on the excitation + source surface, issue the SF,,PORT and SPOWER commands. - Table: 203:: : KSEL - Valid Item and Component Labels + The sound pressure level of the octave bands and general frequency band + (defined via the HARFRQ command) is calculated at the selected nodes in + the model. """ - command = "KSEL, %s, %s, %s, %s, %s, %s, %s" % (str(type), str(item), str(comp), str(vmin), str(vmax), str(vinc), str(kabs)) + command = "PRAS,%s,%s,%s" % (str(quantity), str(loadstep), str(substep)) self.RunCommand(command, **kwargs) - def Icscale(self, wn="", factor="", **kwargs): + def Lextnd(self, nl1="", nk1="", dist="", keep="", **kwargs): """ - APDL Command: /ICSCALE + APDL Command: LEXTND - Scales the icon size for elements supported in the circuit builder. + Extends a line at one end by using its slope. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). + nl1 + Number of the line to be extended. If NL1 = P, graphical picking + is enabled and all remaining command fields are ignored (valid only + in the GUI). - factor - Factor applied to the default icon size (defaults to 1). + nk1 + Number of keypoint at the end of line NL1 to be extended. - Notes - ----- - Scaling the icon size can provide better visualization of the circuit - components when using the Circuit Builder (an interactive builder - available in the ANSYS GUI). + dist + Distance that the line will be extended. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. - - """ - command = "/ICSCALE, %s, %s" % (str(wn), str(factor)) - self.RunCommand(command, **kwargs) - - def Alphad(self, value="", **kwargs): - """ - APDL Command: ALPHAD + keep + Specifies whether to keep the input entities: - Defines the mass matrix multiplier for damping. + 0 - Modify old line to use new keypoints and slopes. - Parameters - ---------- - value - Mass matrix multiplier for damping. + 1 - Do not modify old line. New line will overlay old line and have unique + keypoints. Notes ----- - This command defines the mass matrix multiplier α used to form the - viscous damping matrix [C] = α[M] where [M] is the mass matrix. - - Values of α may also be input as a material property (use the ALPD - label on the MP command). If ALPD is included, the ALPD value is added - to the ALPHAD value as appropriate (see Damping Matrices in the - Mechanical APDL Theory Reference). Damping is not used in the static - (ANTYPE,STATIC) or buckling (ANTYPE,BUCKLE) analyses. - - This command is also valid in PREP7. + Extends a line at one end by using its slope. Lines may be redefined + only if not yet attached to an area. Line divisions are set to zero + (use LESIZE, etc. to modify). Note that solid modeling in a toroidal + coordinate system is not recommended. """ - command = "ALPHAD, %s" % (str(value)) + command = "LEXTND,%s,%s,%s,%s" % (str(nl1), str(nk1), str(dist), str(keep)) self.RunCommand(command, **kwargs) - def Rsurf(self, options="", delopts="", etnum="", **kwargs): + def Ksymm(self, ncomp="", np1="", np2="", ninc="", kinc="", noelem="", + imove="", **kwargs): """ - APDL Command: RSURF + APDL Command: KSYMM - Generates the radiosity surface elements (SURF251/SURF252) and stores - them in the database. + Generates a reflected set of keypoints. Parameters ---------- - options - Command options: + ncomp + Symmetry key: - CLEAR - Deletes radiosity surface elements and nodes. The set of elements and nodes to - be deleted is defined by Delopts. ETNUM is ignored. + X - X (or R) symmetry (default). - DEFINE - Creates the radiosity surface elements and nodes (default). + Y - Y (or θ) symmetry. - STAT - Shows the status/listing. Other command options are ignored. + Z - Z (or Φ) symmetry. - delopts - Deletion options + np1, np2, ninc + Reflect keypoints from pattern beginning with NP1 to NP2 (defaults + to NP1) in steps of NINC (defaults to 1). If NP1 = ALL, NP2 and + NINC are ignored and pattern is all selected keypoints [KSEL]. If + Ncomp = 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 NP1 (NP2 and NINC are ignored). - ALL - Deletes all radiosity surface elements and nodes. + kinc + Keypoint increment between sets. If zero, the lowest available + keypoint numbers are assigned [NUMSTR]. - LAST - Deletes radiosity surface elements and nodes created by the last RSURF command. + noelem + Specifies whether nodes and elements are also to be generated: - etnum - Element type number. Leave blank to indicate the next available - number. + 0 - Generate nodes and point elements associated with the original keypoints, if + they exist. + + 1 - Do not generate nodes and elements. + + imove + Specifies whether keypoints will be moved or newly defined: + + 0 - Generate additional keypoints. + + 1 - Move original keypoints to new position retaining the same keypoint numbers + (KINC and NOELEM are ignored). Valid only if the old keypoints + are no longer needed at their original positions. + Corresponding meshed items are also moved if not needed at + their original position. Notes ----- - This command generates the radiosity surface elements based on the - RSYMM and RDEC parameters and stores them in the database. It works - only on the faces of selected underlying elements that have RDSF flags - on them and all corner nodes selected. You can issue multiple RSURF - commands to build the radiosity model. However, all RSURF commands must - be issued after issuing the RSYMM, and after the model is complete - (i.e., after all meshing operations are complete). - - If you do issue multiple RSURF commands for different regions, you must - first mesh the different regions, and then generate the radiosity - surface elements on each meshed region individually. Use RSURF,,,ETNUM - to assign a separate element type number to each region. This procedure - allow you to identify the individual regions later in the multi-field - analysis. + Generates a reflected set of keypoints (and corresponding mesh) from a + given keypoint pattern by a symmetry reflection (see analogous node + symmetry command, NSYM). The MAT, TYPE, REAL, and ESYS attributes are + based upon the keypoints in the pattern and not upon the current + settings. Reflection is done in the active coordinate system by + changing a particular coordinate sign. Keypoints in the pattern may + have been generated in any coordinate system. However, solid modeling + in a toroidal coordinate system is not recommended. - If the underlying solid elements are higher order, the radiosity - surface elements are always lower order (4- or 3-node in 3-D or 2-node - in 2-D). Decimation will always occur before any symmetry operations. + """ + command = "KSYMM,%s,%s,%s,%s,%s,%s,%s" % (str(ncomp), str(np1), str(np2), str(ninc), str(kinc), str(noelem), str(imove)) + self.RunCommand(command, **kwargs) - For 2-D axisymmetric YR models, the newly-generated nodes can have only - positive Y coordinates. + def Rmmlist(self, **kwargs): + """ + APDL Command: RMMLIST - If you have already issued RSURF for a surface and you issue RSURF - again, the program creates a new set of radiosity surface elements and - nodes over the existing set, resulting in an erroneous solution. + Lists all mode specifications for the ROM method. + Notes + ----- Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. - This is an action command (that creates or deletes surface meshes) and - is serial in nature. Even if Distributed ANSYS is running, the RSURF - command runs serially - """ - command = "RSURF, %s, %s, %s" % (str(options), str(delopts), str(etnum)) + command = "RMMLIST," % () self.RunCommand(command, **kwargs) - def Inistate(self, action="", val1="", val2="", val3="", val4="", val5="", - val6="", val7="", val8="", val9="", **kwargs): + def Cntr(self, option="", key="", **kwargs): """ - APDL Command: INISTATE + APDL Command: CNTR - Defines initial state data and parameters. + Redirects contact pair output quantities to a text file. Parameters ---------- - action - Specifies action for defining or manipulating initial state data: - - SET - Use Action = SET to designate initial state coordinate system, data type, and - material type parameters. See "Command Specification for - Action = SET". - - DEFINE - Use Action = DEFINE to specify the actual state values, and the corresponding - element, integration point, or layer information. See - "Command Specifications for Action = DEFINE". - - WRITE - Use Action = WRITE to write the initial state values to a file when the SOLVE - command is issued. See "Command Specifications for Action = - WRITE". + option + Output option: - READ - Use Action = READ to read the initial state values from a file. See "Command - Specifications for Action = READ". + OUT - Contact output control. - LIST - Use Action = LIST to read out the initial state data. See "Command - Specifications for Action = LIST". + key + Control key: - DELETE - Use Action = DELE to delete initial state data from a selected set of elements. - See "Command Specifications for Action = DELETE" + NO - Write contact information to the output file or to the screen (default). - val1, val2, ..., val9 - Input values based on the Action type. + YES - Write contact information to the Jobname.CNM file. Notes ----- - The INISTATE command is available for current-technology elements. - Initial state supported for a given element is indicated in the - documentation for the element under “Special Features.” - - The command is not for use with kinematic hardening material properties - (TB,BKIN, TB,KINH, TB,PLAS,,,,KINH) or the shape memory alloy material - model (TB,SMA). - - INISTATE with elastic strain alone is not supported for gasket - materials (TB,GASK) and hyperelastic materials (TB,HYPER, TB,BB, - TB,AHYPER, TB,CDM, TB,EXPE). - - INISTATE with initial stress alone is not supported for gasket - materials (TB,GASK). - - INISTATE with plastic strain (which must include initial strain or - stress, plastic strain, and accumulated plastic strain) does not - support gasket materials (TB,GASK), porous media (TB,PM), rate- - dependent plasticity (TB,RATE), and viscoplasticity (TB,PRONY, - TB,SHIFT). + Issue the command CNTR,OUT,YES to redirect contact pair output + quantities to the Jobname.CNM file. - For detailed information about using the initial state capability, see - Initial State in the Basic Analysis Guide. + To ensure that the contact information is written to Jobname.CNM, + reissue CNTR,OUT,YES each time you reenter the solution processor + (/SOLU). """ - command = "INISTATE, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(action), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9)) + command = "CNTR,%s,%s" % (str(option), str(key)) self.RunCommand(command, **kwargs) - def Cat5in(self, name="", extension="", path="", entity="", fmt="", - nocl="", noan="", **kwargs): + def Writemap(self, fname="", **kwargs): """ - APDL Command: ~CAT5IN + APDL Command: WRITEMAP - Transfers a .CATPart file into the ANSYS program. + Writes interpolated pressure data to a file. Parameters ---------- - name - The name of a valid .CATPart file, created with CATIA Version 5.0. - The first character of the file name must be an alphanumeric. - - extension - The extension for the file. The default extension is .CATPart. - - path - The path name of the directory in which the file resides enclosed - in single quotes. The default path name is the current working - directory. - - entity - Entity to be imported. - - SOLIDS - Solids only, imported as ANSYS volumes (default). - - SURFACES - Surfaces only, imported as ANSYS areas. - - ALL - All entities. Use this option when the file contains different types of - entities. - - fmt - The format in which ANSYS will store the model. - - 0 - Neutral format (default). Defeaturing after import is restricted. - - 1 - Solid format; this allows defeaturing after import. - - nocl - Remove tiny objects. - - 0 - Remove tiny objects without checking model validity (default). - - 1 - Do not remove tiny objects. - - noan - Perform an analysis of the model. - - 0 - Analyze the model (default). - - 1 - Do not analyze the model. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. Notes ----- - If defeaturing is specified (FMT = 1), this command must be the last - line of any file, script, or other interactive input. - - More information on importing CATIA Version 5 parts is available in - CATIA V5 in the Connection User's Guide. + Writes the interpolated pressure data to the specified file. The data + is written as SFE commands applied to the SURF154 elements that are on + the target surface. You may read this data for inclusion in an analysis + by using /INPUT,Fname. """ - command = "~CAT5IN, %s, %s, %s, %s, %s, %s, %s" % (str(name), str(extension), str(path), str(entity), str(fmt), str(nocl), str(noan)) + command = "WRITEMAP,%s" % (str(fname)) self.RunCommand(command, **kwargs) - def Boptn(self, lab="", value="", **kwargs): + def Eslv(self, type="", **kwargs): """ - APDL Command: BOPTN + APDL Command: ESLV - Specifies Boolean operation options. + Selects elements associated with the selected volumes. Parameters ---------- - lab - Default/status key: - - DEFA  - Resets settings to default values. + type + Label identifying the type of element selected: - STAT  - Lists status of present settings. + S - Select a new set (default). - value - Option settings if Lab = KEEP: + R - Reselect a set from the current set. - NO  - Delete entities used as input with a Boolean operation (default). Entities - will not be deleted if meshed or if attached to a higher - entity. + A - Additionally select a set and extend the current set. - YES  - Keep input solid modeling entities. + U - Unselect a set from the current set. Notes ----- - Boolean operations at Revision 5.2 may produce a different number of - entities than previous revisions of ANSYS. When running input files - created at earlier revisions of ANSYS, match the Boolean compatibility - option (VERSION) to the revision originally used. For instance, if you - are running Revision 5.2 and are reading an input file (/INPUT) created - at Revision 5.1, it is recommended that you set VERSION to RV51 before - reading the input. - - See the Modeling and Meshing Guide for further details on the functions - of the RV51 and RV52 labels. + Selects volume elements belonging to meshed [VMESH], selected [VSEL] + volumes. This command is valid in any processor. """ - command = "BOPTN, %s, %s" % (str(lab), str(value)) + command = "ESLV,%s" % (str(type)) self.RunCommand(command, **kwargs) - def Satin(self, name="", extension="", path="", entity="", fmt="", nocl="", - noan="", **kwargs): + def Eorient(self, etype="", dir="", toler="", **kwargs): """ - APDL Command: ~SATIN + APDL Command: EORIENT - Transfers a .SAT file into the ANSYS program. + Reorients solid element normals. Parameters ---------- - name - The name of a valid .SAT file, created with a supported version of - ACIS. The first character of the file name must be an alphanumeric. - Special characters such as & - and * and spaces are not permitted - in the part name. See File Names in the Command Reference for more - information about ANSYS file naming conventions. - - extension - The extension for the file. The default extension is .sat. - - path - The path name of the directory in which the file resides enclosed - in single quotes. The default path name is the current working - directory. - - entity - Entity to be imported. - - SOLIDS - Solids only, imported as ANSYS volumes (Not implemented, imports All). - - SURFACES - Surfaces only, imported as ANSYS areas (Not implemented, imports All). + etype + Specifies which elements to orient. - WIREFRAME - Wireframe only, imported as ANSYS lines (Not implemented, imports All). + LYSL - Specifies that certain solid elements (such as SOLID185 with KEYOPT(3) = 1, + SOLID186 with KEYOPT(3) = 1, and SOLSH190) will be oriented. + This value is the default. - ALL - All entities. Use this option when the file contains different types of - entities. + Notes + ----- + EORIENT renumbers the element faces, designating the face most + parallel to the XY plane of the element coordinate system (set with + ESYS) as face 1 (nodes I-J-K-L, parallel to the layers in layered + elements). It calculates the outward normal of each face and changes + the node designation of the elements so the face with a normal most + nearly parallel with and in the same general direction as the target + axis becomes face 1. - fmt - The format in which ANSYS will store the model. + The target axis, defined by Dir, is either the negative or positive + indicated axis or the outward normal of face 1 of that element. - 0 - Neutral format (default). Defeaturing after import is restricted. + All SOLID185 Layered Structural Solid, SOLID186 Layered Structural + Solid, and SOLSH190 solid shell elements in the selected set are + considered for reorientation. - 1 - Solid format; this allows defeaturing after import. + After reorienting elements, you should always display and graphically + review results using the /ESHAPE command. When plotting models with + many or symmetric layers, it may be useful to temporarily reduce the + number of layers to two, with one layer being much thicker than the + other. - nocl - Remove tiny objects. + You cannot use EORIENT to change the normal direction of any element + that has a body or surface load. We recommend that you apply all of + your loads only after ensuring that the element normal directions are + acceptable. - 0 - Remove tiny objects without checking model validity (default). + Prisms and tetrahedrals are also supported, within the current + limitations of the SOLID185, SOLID186, and SOLSH190 elements. (Layers + parallel to the four-node face of the prism are not supported.) - 1 - Do not remove tiny objects. + """ + command = "EORIENT,%s,%s,%s" % (str(etype), str(dir), str(toler)) + self.RunCommand(command, **kwargs) - noan - Perform an ACIS analysis of the model. + def Kmesh(self, np1="", np2="", ninc="", **kwargs): + """ + APDL Command: KMESH - 0 - Analyze the model (default). + Generates nodes and point elements at keypoints. - 1 - Do not analyze the model. + Parameters + ---------- + np1, np2, ninc + Mesh keypoints from NP1 to NP2 (defaults to NP1) in steps of NINC + (defaults to 1). If NP1 = ALL, NP2 and NINC are ignored and all + selected keypoints [KSEL] are meshed. If NP1 = 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 NP1. Notes ----- - More information on importing ACIS parts is available in ACIS in the - Connection User's Guide. + Missing nodes required for the generated elements are created and + assigned the lowest available numbers. """ - command = "~SATIN, %s, %s, %s, %s, %s, %s, %s" % (str(name), str(extension), str(path), str(entity), str(fmt), str(nocl), str(noan)) + command = "KMESH,%s,%s,%s" % (str(np1), str(np2), str(ninc)) self.RunCommand(command, **kwargs) - def Bfllist(self, line="", lab="", **kwargs): + def Thexpand(self, key="", **kwargs): """ - APDL Command: BFLLIST + APDL Command: THEXPAND - Lists the body force loads on a line. + Enables or disables thermal loading Parameters ---------- - line - Line at which body load is to be listed. If ALL (or blank), list - for all selected lines [LSEL]. If LINE = 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 LINE. + key + Activation key: - lab - Valid body load label. If ALL, use all appropriate labels. Load - labels are listed under "Body Loads" in the input table for each - element type in the Element Reference. See the BFL command for - labels. + ON - Thermal loading is included in the load vector (default). + + OFF - Thermal loading is not included in the load vector. Notes ----- - Lists the body force loads for the specified line and label. Body - loads may be defined on a line with the BFL command. + Temperatures applied in the analysis are used by default to evaluate + material properties and contribute to the load vector if the + temperature does not equal the reference temperature and a coefficient + of thermal expansion is specified. - This command is valid in any processor. + Use THEXPAND,OFF to evaluate the material properties but not contribute + to the load vector. This capability is particularly useful when + performing a harmonic analysis where you do not want to include + harmonically varying thermal loads. It is also useful in a modal + analysis when computing a modal load vector but excluding the thermal + load. + + This command is valid for all analysis types except linear perturbation + modal and linear perturbation harmonic analyses. For these two linear + perturbation analysis types, the program internally sets THEXPAND,OFF, + and it cannot be set to ON by using this command (THEXPAND,ON is + ignored). """ - command = "BFLLIST, %s, %s" % (str(line), str(lab)) + command = "THEXPAND,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Fctyp(self, oper="", lab="", **kwargs): + def Lcwrite(self, lcno="", fname="", ext="", **kwargs): """ - APDL Command: FCTYP + APDL Command: LCWRITE - Activates or removes failure-criteria types for postprocessing. + Creates a load case by writing results to a load case file. Parameters ---------- - oper - Operation key: - - ADD - Activate failure-criteria types. This option is the default behavior. - - DELE - Remove failure-criteria types. - - lab - Valid failure-criteria labels. If ALL, select all available - (including user-defined) failure criteria. - - EMAX - Maximum strain criterion (default) - - SMAX - Maximum stress criterion (default) - - TWSI - Tsai-Wu strength index (default) - - TWSR - Inverse of Tsai-Wu strength ratio index (default) - - HFIB - Hashin fiber failure criterion + lcno + Arbitrary pointer number (1-99) to be assigned to this load case. - HMAT - Hashin matrix failure criterion + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - PFIB - Puck fiber failure criterion + ext + Filename extension (eight-character maximum). - PMAT - Puck inter-fiber (matrix) failure criterion + -- + Unused field. - L3FB - LaRc03 fiber failure criterion + Notes + ----- + Creates a load case by writing the results data in the database to a + load case file. The database remains unchanged by this operation. A + pointer is also established to the written set of results on the load + case file. This pointer (LCNO) can then be used on the LCASE or LCOPER + commands to read the load case data into the database. By default, + only summable results data (such as displacements, stresses, elastic + strains) and constant results data (such as volume) are written to the + load case file unless requested (LCSUM command). Non-summable results + data (such as plastic strains, strain energy), boundary conditions, and + nodal loads are not written to the load case file. The load case file + may be named by default or by a user name. Rewriting to the same file + overwrites the previous data. See the LCDEF command for status and + erase operations. - L3MT - LaRc03 matrix failure criterion + """ + command = "LCWRITE,%s,%s,%s" % (str(lcno), str(fname), str(ext)) + self.RunCommand(command, **kwargs) - L4FB - LaRc04 fiber failure criterion + def Cmdele(self, name="", **kwargs): + """ + APDL Command: CMDELE - L4MT - LaRc04 matrix failure criterion + Deletes a component or assembly definition. - USR1 through USR9 - User-defined failure criteria + Parameters + ---------- + name + Name of the component or assembly whose definition is to be + removed. Notes ----- - The FCTYP command modifies the list of active failure criteria. - - By default, active failure criteria include EMAX, SMAX, TWSI, and TWSR. - - The command affects any subsequent postprocessing listing and plotting - commands (such as PRESOL, PRNSOL, PLESOL, PLNSOL, and ETABLE). + Entities contained in the component, or the components within the + assembly, are unaffected. Only the grouping relationships are deleted. + Assemblies are automatically updated to reflect deletion of their + components or subassemblies, but they are not automatically deleted + when all their components or subassemblies are deleted. - A single FCTYP command allows up to six failure-criteria labels. If - needed, reissue the command to activate or remove additional failure- - criteria types. + This command is valid in any processor. """ - command = "FCTYP, %s, %s" % (str(oper), str(lab)) + command = "CMDELE,%s" % (str(name)) self.RunCommand(command, **kwargs) - def Hptdelete(self, np1="", np2="", ninc="", **kwargs): + def Sffun(self, lab="", par="", par2="", **kwargs): """ - APDL Command: HPTDELETE + APDL Command: SFFUN - Deletes selected hardpoints. + Specifies a varying surface load. Parameters ---------- - np1, np2, ninc - Delete the pattern of hard points beginning with NP1 to NP2 in - steps of NINC (defaults to 1). If NP1 = ALL, NP2 and NINC are - ignored and the pattern is all selected hard points [KSEL]. If NP1 - = P, graphical picking is enabled and all remaining command fields - are ignored. + lab + Valid surface load label. Load labels are listed under "Surface + Loads" in the input table for each element type in the Element + Reference. Issue SFFUN,STATUS to list current command settings. + + par + Parameter containing list of surface load values. If Lab = CONV, + values are typically the film coefficients and Par2 values (below) + are typically the bulk temperatures. + + par2 + Parameter containing list of second surface load values (if any). + If Lab = CONV, the Par2 values are typically the bulk temperatures. + Par2 is not used for other surface load labels. Notes ----- - Deletes all attributes attached to the designated hard points as well - as the hard points themselves. If any entity is attached to a - designated hard point, the command detaches the hard point from that - entity (the program will alert you that this will occur). + Specifies a surface load "function" to be used when the SF or SFE + command is issued. The function is supplied through an array parameter + vector which contains nodal surface load values. Node numbers are + implied from the sequential location in the array parameter. For + example, a value in location 11 applies to node 11. The element faces + are determined from the implied list of nodes when the SF or SFE + command is issued. Zero values should be supplied for nodes that have + no load. A tapered load value may be applied over the element face. + These loads are in addition to any loads that are also specified with + the SF or SFE commands. Issue SFFUN (with blank remaining fields) to + remove this specification. Issue SFFUN,STATUS to list current + settings. + + Starting array element numbers must be defined for each array parameter + vector. For example, SFFUN,CONV,A(1,1),A(1,2) reads the first and + second columns of array A (starting with the first array element of + each column) and associates the values with the nodes. Operations + continue on successive column array elements until the end of the + column. Another example to show the order of the commands: + + SFFUN does not work for tabular boundary conditions. + + This command is also valid in PREP7. """ - command = "HPTDELETE, %s, %s, %s" % (str(np1), str(np2), str(ninc)) + command = "SFFUN,%s,%s,%s" % (str(lab), str(par), str(par2)) self.RunCommand(command, **kwargs) - def Pretab(self, lab1="", lab2="", lab3="", lab4="", lab5="", lab6="", - lab7="", lab8="", lab9="", **kwargs): + def Mptgen(self, stloc="", num="", tstrt="", tinc="", **kwargs): """ - APDL Command: PRETAB + APDL Command: MPTGEN - Prints the element table items. + Adds temperatures to the temperature table by generation. Parameters ---------- - lab1, lab2, lab3, . . . , lab9 - Print selected items. Valid labels are (blank) or any label as - specified with the ETABLE command. Convenience labels may be used - for Lab1 to select groups of labels (10 labels maximum): GRP1 for - first 10 stored items; GRP2 for items 11 to 20; GRP3 for items 21 - to 30; GRP4 for items 31 to 40; GRP5 for items 41 to 50. Enter - ETABLE,STAT command to list stored item order. If all labels are - blank, print first 10 stored items (GRP1). + stloc + Starting location in table for generating temperatures. Defaults + to last location filled + 1. + + num + Number of temperatures to be generated (1-100). + + tstrt + Temperature assigned to STLOC location. + + tinc + Increment previous temperature by TINC and assign to next location + until all NUM locations are filled. Notes ----- - Prints the items stored in the table defined with the ETABLE command. - Item values will be listed for the selected elements in the sorted - sequence [ESORT]. The FORCE command can be used to define which - component of the nodal load is to be used (static, damping, inertia, - or total). + Adds temperatures to the temperature table by generation. May be used + in combination (or in place of) the MPTEMP command. - Portions of this command are not supported by PowerGraphics - [/GRAPHICS,POWER]. + This command is also valid in SOLUTION. """ - command = "PRETAB, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(lab1), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6), str(lab7), str(lab8), str(lab9)) + command = "MPTGEN,%s,%s,%s,%s" % (str(stloc), str(num), str(tstrt), str(tinc)) self.RunCommand(command, **kwargs) - def Bfedele(self, elem="", lab="", **kwargs): + def En(self, iel="", i="", j="", k="", l="", m="", n="", o="", p="", + **kwargs): """ - APDL Command: BFEDELE + APDL Command: EN - Deletes element body force loads. + Defines an element by its number and node connectivity. Parameters ---------- - elem - Element at which body load is to be deleted. If ALL, delete for - all selected elements [ A component name may also be substituted - for ELEM. + iel + Number assigned to element being defined. If IEL = P, graphical + picking is enabled and all remaining command fields are ignored + (valid only in the GUI). - lab - Valid body load label. If ALL, use all appropriate labels. See BFE - command for labels. + i + Number of node assigned to first nodal position (node I). + + j, k, l, m, n, o, p + Number assigned to second (node J) through eighth (node P) nodal + position, if any. Notes ----- - Deletes element body force loads for a specified element and label. - Element body loads may be defined with the BFE commands. + Defines an element by its nodes and attribute values. Similar to the E + command except it allows the element number (IEL) to be defined + explicitly. Element numbers need not be consecutive. Any existing + element already having this number will be redefined. - Graphical picking is available only via the listed menu paths. + Up to 8 nodes may be specified with the EN command. If more nodes are + needed for the element, use the EMORE command. The number of nodes + required and the order in which they should be specified are described + in the Element Reference for each element type. The current (or + default) MAT, TYPE, REAL, SECNUM, and ESYS attribute values are also + assigned to the element. - This command is also valid in PREP7. + When creating elements with more than 8 nodes using this command and + the EMORE command, it may be necessary to turn off shape checking using + the SHPP command before issuing this command. If a valid element type + can be created without using the additional nodes on the EMORE command, + this command will create that element. The EMORE command will then + modify the element to include the additional nodes. If shape checking + is active, it will be performed before the EMORE command is issued. + Therefore, if the shape checking limits are exceeded, element creation + may fail before the EMORE command modifies the element into an + acceptable shape. """ - command = "BFEDELE, %s, %s" % (str(elem), str(lab)) + command = "EN,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(iel), str(i), str(j), str(k), str(l), str(m), str(n), str(o), str(p)) self.RunCommand(command, **kwargs) - def Edale(self, option="", afac="", bfac="", dfac="", efac="", start="", - end="", **kwargs): + def Cswpla(self, kcn="", kcs="", par1="", par2="", **kwargs): """ - APDL Command: EDALE + APDL Command: CSWPLA - Assigns mesh smoothing to explicit dynamic elements that use the ALE - formulation. + Defines a local coordinate system at the origin of the working plane. Parameters ---------- - option - Label identifying the option to be performed: - - ADD - Add smoothing controls (default). - - DELETE - Delete smoothing controls. - - LIST - List smoothing controls. - - -- - Unused field. + kcn + Arbitrary reference number assigned to this coordinate system. + Must be greater than 10. A coordinate system previously defined + with this number will be redefined. - afac - Simple average smoothing weight factor (default = 0). + kcs + Coordinate system type: - bfac - Volume weighted smoothing weight factor (default = 0). + 0 or CART - Cartesian - -- - Unused field. + 1 or CYLIN - Cylindrical (circular or elliptical) - dfac - Equipotential smoothing weight factor (default = 0). + 2 or SPHE - Spherical (or spheroidal) - efac - Equilibrium smoothing weight factor (default = 0). EFAC is only - applicable to PLANE162 elements. + 3 or TORO - Toroidal - start - Start time for ALE smoothing (default = 0). + par1 + Used for elliptical, spheroidal, or toroidal systems. If KCS = 1 + or 2, PAR1 is the ratio of the ellipse Y-axis radius to X-axis + radius (defaults to 1.0 (circle)). If KCS = 3, PAR1 is the major + radius of the torus. - end - End time for ALE smoothing (default = 1e20). + par2 + Used for spheroidal systems. If KCS = 2, PAR2 = ratio of ellipse + Z-axis radius to X-axis radius (defaults to 1.0 (circle)). Notes ----- - Mesh smoothing specified by the EDALE command is only applicable to - PLANE162 and SOLID164 elements that are flagged to use the ALE - formulation (KEYOPT(5) = 1). To activate the ALE formulation, you must - specify at least one smoothing weight factor on this command and the - number of cycles between advection (NADV) on the EDGCALE command. See - Arbitrary Lagrangian-Eulerian Formulation in the ANSYS LS-DYNA User's - Guide for more information. - - The EDALE command is also valid in PREP7. + Defines and activates a local right-handed coordinate system centered + at the origin of the working plane. The coordinate system's local x-y + plane (for a Cartesian system) or R-θ plane (for a cylindrical or + spherical system) corresponds to the working plane. This local system + becomes the active coordinate system. See the CS, LOCAL, CLOCAL, and + CSKP commands for alternate ways to define a local coordinate system. + Local coordinate systems may be displayed with the /PSYMB command. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "EDALE, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(afac), str(bfac), str(dfac), str(efac), str(start), str(end)) + command = "CSWPLA,%s,%s,%s,%s" % (str(kcn), str(kcs), str(par1), str(par2)) self.RunCommand(command, **kwargs) - def Post1(self, **kwargs): + def Cmgrp(self, aname="", cnam1="", cnam2="", cnam3="", cnam4="", cnam5="", + cnam6="", cnam7="", cnam8="", **kwargs): """ - APDL Command: /POST1 + APDL Command: CMGRP - Enters the database results postprocessor. + Groups components and assemblies into an assembly. + + Parameters + ---------- + aname + An alphanumeric name used to identify this assembly. Aname may be + up to 32 characters, beginning with a letter and containing only + letters, numbers, and underscores. Overwrites a previously defined + Aname (and removes it from higher level assemblies, if any). + + cnam1, cnam2, cnam3, . . . , cnam8 + Names of existing components or other assemblies to be included in + this assembly. Notes ----- - Enters the general database results postprocessor (POST1). All load - symbols (/PBC, /PSF, or /PBF) are automatically turned off with this - command. + Groups components and other assemblies into an assembly identified by a + name. CMGRP is used for the initial definition of an assembly. An + assembly is used in the same manner as a component. Up to 5 levels of + assemblies within assemblies may be used. - This command is valid only at the Begin Level. + An assembly is a convenient grouping of previously defined components + and other assemblies. Assemblies may contain components only, other + assemblies, or any combination. A component may belong to any number + of assemblies. Up to 5 levels of nested assemblies may be defined. + Components and assemblies may be added to or deleted from an existing + assembly by the CMEDIT command. Once defined, an assembly may be + listed, deleted, selected, or unselected using the same commands as for + a component. Assemblies are automatically updated to reflect deletions + of one or more of their components or lower-level assemblies. + Assemblies are not automatically deleted when all their components or + subassemblies are deleted. + + This command is valid in any processor. """ - command = "/POST1, " % () + command = "CMGRP,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(aname), str(cnam1), str(cnam2), str(cnam3), str(cnam4), str(cnam5), str(cnam6), str(cnam7), str(cnam8)) self.RunCommand(command, **kwargs) - def Slashexit(self, slab="", fname="", ext="", **kwargs): + def Ldrag(self, nk1="", nk2="", nk3="", nk4="", nk5="", nk6="", nl1="", + nl2="", nl3="", nl4="", nl5="", nl6="", **kwargs): """ - APDL Command: /EXIT + APDL Command: LDRAG - Stops the run and returns control to the system. + Generates lines by sweeping a keypoint pattern along path. Parameters ---------- - slab - Mode for saving the database: - - MODEL - Save the model data (solid model, finite element model, loadings, etc.) only - (default). - - SOLU - Save the model data and the solution data (nodal and element results). - - ALL - Save the model data, solution data and post data (element tables, path results, - etc.) - - NOSAVE - Do not save any data on File.DB (an existing DB file will not be overwritten). - - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. - - ext - Filename extension (eight-character maximum). + nk1, nk2, nk3, . . . , nk6 + List of keypoints in the pattern to be dragged (6 maximum if using + keyboard entry). If NK1 = P, graphical picking is enabled and all + remaining command fields are ignored (valid only in the GUI). If + NK1 = ALL, all selected keypoints (except those that define the + drag path) will be swept along the path. A component name may also + be substituted for NK1. - -- - Unused field. + nl1, nl2, nl3, . . . , nl6 + List of lines defining the path along which the pattern is to be + dragged (6 maximum if using keyboard entry). Must be a continuous + set of lines. Notes ----- - The current database information may be written on File.DB or a named - file. If File.DB already exists, a backup file (File.DBB) will also be - written whenever a new File.DB is written. + Generates lines (and their corresponding keypoints) by sweeping a given + keypoint pattern along a characteristic drag path. If the drag path + consists of multiple lines, the drag direction is determined by the + sequence in which the path lines are input (NL1, NL2, etc.). If the + drag path is a single line (NL1), the drag direction is from the + keypoint on the drag line that is closest to the first keypoint of the + given pattern to the other end of the drag line. - This command is valid in any processor. Issuing this command at any - point will exit the program. + The magnitude of the vector between the keypoints of the given pattern + and the first path keypoint remains constant for all generated keypoint + patterns and the path keypoints. The direction of the vector relative + to the path slope also remains constant so that patterns may be swept + around curves. Keypoint and line numbers are automatically assigned + (beginning with the lowest available values [NUMSTR]). For best + results, the entities to be dragged should be orthogonal to the start + of the drag path. Drag operations that produce an error message may + create some of the desired entities prior to terminating. """ - command = "/EXIT, %s, %s, %s" % (str(slab), str(fname), str(ext)) + command = "LDRAG,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nk1), str(nk2), str(nk3), str(nk4), str(nk5), str(nk6), str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6)) self.RunCommand(command, **kwargs) - def Mshape(self, key="", dimension="", **kwargs): + def Init(self, name="", method="", val1="", val2="", val3="", **kwargs): """ - APDL Command: MSHAPE + APDL Command: *INIT - For elements that support multiple shapes, specifies the element shape - to be used for meshing. + Initializes a vector or dense matrix. Parameters ---------- - key - Key indicating the element shape to be used: - - 0 - Mesh with quadrilateral-shaped elements when Dimension = 2-D mesh with - hexahedral-shaped elements when Dimension = 3-D. + name + Vector or matrix which will be initialized. This can be a vector + (created by the *VEC command) or a dense matrix (created by the + *DMAT command). - 1 - Mesh with triangle-shaped elements when Dimension = 2-D mesh with tetrahedral- - shaped elements when Dimension = 3-D. + method + Initialization method to use: - dimension - Specifies the dimension of the model to be meshed: + Fill the vector/matrix with zeros (default). - Fill the vector/matrix with a constant value. - 2D - 2-D model (area mesh). + Fill the vector/matrix with random values. - Fill the nth diagonal of the matrix with a constant value. Other values are not + overwritten. - 3D - 3-D model (volume mesh). + val1, val2, val3 + Additional input. The meaning of Val1 through Val3 will vary + depending on the specified Method. See details below. Notes ----- - If no value is specified for Dimension the value of KEY determines the - element shape that will be used for both 2-D and 3-D meshing. In other - words, if you specify MSHAPE,0, quadrilateral-shaped and hexahedral- - shaped elements will be used. If you specify MSHAPE,1, triangle-shaped - and tetrahedral-shaped elements will be used. - - The MSHAPE, MSHKEY, and MSHMID commands replace the functionality that - was provided by the ESHAPE command in ANSYS 5.3 and earlier releases. - - This command is also valid for rezoning. + This command initializes a previously defined vector (*VEC) or dense + matrix (*DMAT). """ - command = "MSHAPE, %s, %s" % (str(key), str(dimension)) + command = "*INIT,%s,%s,%s,%s,%s" % (str(name), str(method), str(val1), str(val2), str(val3)) self.RunCommand(command, **kwargs) - def Naxis(self, action="", val="", **kwargs): + def Dadele(self, area="", lab="", **kwargs): """ - APDL Command: NAXIS + APDL Command: DADELE - Generates nodes for general axisymmetric element sections. + Deletes degree-of-freedom constraints on an area. Parameters ---------- - action - Specifies one of the following command behaviors: + area + Area for which constraints are to be deleted. If ALL, delete for + all selected areas [ASEL]. If AREA = P, graphical picking is + enabled and all remaining command fields are ignored (valid only in + the GUI). You can substitute a component name for AREA. - GEN - Generates nodes around the axis of an axisymmetric section (default). + lab + Valid constraint labels are: - CLEAR - Clears all nodes around the axis of an axisymmetric section. + ALL - All constraints. - EFACET - Specifies the number of facets per edge between nodal planes and integration - planes in the circumferential direction to display using - PowerGraphics. This option is only valid with /ESHAPE,1 - and RSYS,SOLU commands. + SYMM - Symmetry constraints. - val - Tolerance value or number of facets per edge: + ASYM - Antisymmetry constraints. - TOLER - When Action = GEN, the tolerance to use for merging the generated nodes around - the axis. + UX - Displacement in X direction. - NUM - When Action = EFACET, the number of facets per element edge for element plots: + UY - Displacement in Y direction. - AUTO - Use program-chosen facets per edge (default). + UZ - Displacement in Z direction. - 1 - Use 1 facet per edge (default for elements with 9, 10, 11, or 12 nodal planes). - Shows nodal and integration planes only. + ROTX - Rotation about X axis. - 2 - Use 2 facets per edge (default for elements with 5, 6, 7, or 8 nodal planes, - and maximum for elements with 9, 10, 11, or 12 nodal planes). + ROTY - Rotation about Y axis. - 3 - Use 3 facets per edge (default for elements with 3 or 4 nodal planes, and - maximum for elements with 6, 7, or 8 nodal planes). + ROTZ - Rotation about Z axis. - 4 - Use 4 facets per edge (maximum for elements with 5 nodal planes). + PRES - Pressure. - 5 - Use 5 facets per edge (maximum for elements with 4 nodal planes). + TEMP, TBOT, TE2, TE3, . . ., TTOP - Temperature. - 6 - Use 6 facets per edge (maximum for elements with 3 nodal planes). + MAG - Magnetic scalar potential. + + VOLT - Electric scalar potential. + + AX - Magnetic vector potential in X direction (see notes). + + AY - Magnetic vector potential in Y direction. + + AZ - Magnetic vector potential in Z direction (see notes). + + CONC - Concentration. Notes ----- - The NAXIS command generates or clears the nodes for general - axisymmetric element sections. The command applies to elements SURF159, - SOLID272, and SOLID273. + Deletes the degree of freedom constraints at an area (and all + corresponding finite element constraints) previously specified with the + DA command. See the DDELE command for delete details. - The generate option (Action = GEN) operates automatically on any - current-technology axisymmetric element. Any nodes within the tolerance - value (TOLER) of the axis are merged into a single node. The default - tolerance is 1.0e-4. + If the multiple species labels have been changed to user-defined labels + via the MSSPEC command, use the user-defined labels. - If you want to change the number of nodes, use the clear option (Action - = CLEAR) before regenerating the nodes. + See the DA or the DA commands for details on element applicability. - To cause the 3-D element plot to appear more like the actual 3-D model, - use NAXIS,EFACET,NUM, where NUM > 1. In this case, the coordinate - system specified for displaying element and nodal results (RSYS) must - be solution (RSYS,SOLU); otherwise, ANSYS resets NUM to 1. + Warning:: : On previously meshed areas, all constraints on affected + nodes will be deleted, whether or not they were specified by the DA + command. + + This command is also valid in PREP7. """ - command = "NAXIS, %s, %s" % (str(action), str(val)) + command = "DADELE,%s,%s" % (str(area), str(lab)) self.RunCommand(command, **kwargs) - def Fjdele(self, elem="", lab="", **kwargs): + def Lclear(self, nl1="", nl2="", ninc="", **kwargs): """ - APDL Command: FJDELE + APDL Command: LCLEAR - Deletes forces (or moments) on the components of the relative motion of - a joint element. + Deletes nodes and line elements associated with selected lines. Parameters ---------- - elem - Element number, or ALL. (leaving this blank defaults to ALL) - - lab - Valid labels are: - - FX - Force in local x direction. - - FY - Force in local y direction. - - FZ - Force in local z direction. - - MX - Moment about local x axis. - - MY - Moment about local y axis. - - MZ - Moment about local z axis. - - ALL, or (blank) - Delete all valid forces or moments. + nl1, nl2, ninc + Delete mesh for lines NL1 to NL2 (defaults to NL1) in steps of NINC + (defaults to 1). If NL1 = ALL, NL2 and NINC are ignored and the + mesh for all selected lines [LSEL] is deleted. If NL1 = 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 NL1 (NL2 and NINC are ignored). Notes ----- - Valid for MPC184 (joint options in KEYOPT(1)). - - See FJ for information on specifying forces (or moments). + Deletes all nodes and line elements associated with selected lines + (regardless of whether the nodes or elements are selected). Nodes + shared by adjacent meshed lines and nodes associated with non-line + elements will not be deleted. Attributes assigned as a result of LATT + are maintained. In the program's response to the command, if a line or + keypoint is tallied as "cleared," it means either its node or element + reference was deleted. """ - command = "FJDELE, %s, %s" % (str(elem), str(lab)) + command = "LCLEAR,%s,%s,%s" % (str(nl1), str(nl2), str(ninc)) self.RunCommand(command, **kwargs) - def Nsym(self, ncomp="", inc="", node1="", node2="", ninc="", **kwargs): + def Demorph(self, elem="", dimn="", rmshky="", **kwargs): """ - APDL Command: NSYM + APDL Command: DEMORPH - Generates a reflected set of nodes. + Move nodes in selected elements to conform to structural displacements. Parameters ---------- - ncomp - Symmetry key: + elem + Non-structural elements to which mesh movement (morph) applies. + If ALL, apply morphing to all selected elements [ESEL]. If ELEM = + P, graphical picking is enabled. A component may be substituted + for ELEM. - X - X (or R) symmetry (default). + dimn + Problem dimensionality. Use "2" for a 2-D problem and "3" for a + 3-D problem (no default). - Y - Y (or θ) symmetry. + rmshky + Remesh flag option: - Z - Z (or Φ) symmetry. + 0 - Remesh the selected non-structural regions only if mesh morphing fails. - inc - Increment all nodes in the given pattern by INC to form the - reflected node pattern. + 1 - Remesh the selected non-structural regions and bypass mesh morphing. - node1, node2, ninc - Reflect nodes from pattern beginning with NODE1 to NODE2 (defaults - to NODE1) in steps of NINC (defaults to 1). If NODE1 = ALL, NODE2 - and NINC are ignored and pattern is all selected nodes [NSEL]. 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). + 2 - Perform mesh morphing only and do not remesh. Notes ----- - Generates nodes from a given node pattern by a symmetry reflection. - Reflection is done in the active coordinate system by changing a - particular coordinate sign. Nodes in the pattern may have been - generated in any coordinate system. Nodal rotation angles are not - reflected. + The selected elements should include only non-structural regions + adjacent to structural regions. The exterior nodes of the selected + elements will usually be on the boundary of the region which will have + node positions displaced. For DIMN = 2, elements must lie on a flat + plane. The DEMORPH command requires a single domain grouping of + elements be provided (multiple domains of elements are not permitted). + Exterior nodes will be assumed fixed (no nodes will be morphed) unless + they coincide with structural nodes having nonzero displacements. - Symmetry reflection may be used with any node pattern, in any - coordinate system, as many times as desired. Reflection is - accomplished by a coordinate sign change (in the active coordinate - system). For example, an X-reflection in a Cartesian coordinate system - generates additional nodes from a given pattern, with a node increment - added to each node number, and an X coordinate sign change. An - R-reflection in a cylindrical coordinate system gives a reflected - "radial" location by changing the "equivalent" Cartesian (i.e., the - Cartesian system with the same origin as the active cylindrical system) - X and Y coordinate signs. An R-reflection in a spherical coordinate - system gives a reflected "radial" location by changing the equivalent - Cartesian X, Y, and Z coordinate location signs. Nodal coordinate - system rotation angles are not reflected. + Nodes in the structural regions move in accordance with computed + displacements. Displacements from a structural analysis must be in the + database prior to issuing DEMORPH. + + By default (RMSHKY = 0), DEMORPH will remesh the selected non- + structural regions entirely if a satisfactory morphed mesh cannot be + provided. + + If boundary conditions and loads are applied directly to nodes and + elements, the DEMORPH command requires that these be removed before + remeshing can take place. + + Exercise care with initial conditions defined by the IC command. Before + a structural analysis is performed for a sequentially coupled analysis, + the DEMORPH command requires that initial conditions be removed from + all null element type nodes in the non-structural regions. Use ICDELE + to delete the initial conditions. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "NSYM, %s, %s, %s, %s, %s" % (str(ncomp), str(inc), str(node1), str(node2), str(ninc)) + command = "DEMORPH,%s,%s,%s" % (str(elem), str(dimn), str(rmshky)) self.RunCommand(command, **kwargs) - def Tread(self, par="", fname="", ext="", nskip="", **kwargs): + def Egen(self, itime="", ninc="", iel1="", iel2="", ieinc="", minc="", + tinc="", rinc="", cinc="", sinc="", dx="", dy="", dz="", + **kwargs): """ - APDL Command: *TREAD + APDL Command: EGEN - Reads data from an external file into a table array parameter. + Generates elements from an existing pattern. Parameters ---------- - par - Table array parameter name as defined by the *DIM command. + itime, ninc + Do this generation operation a total of ITIMEs, incrementing all + nodes in the given pattern by NINC each time after the first. ITIME + must be >1 if generation is to occur. NINC may be positive, zero, + or negative. If DX, DY, and/or DZ is specified, NINC should be set + so any existing nodes (as on NGEN) are not overwritten. - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + iel1, iel2, ieinc + Generate elements from selected pattern beginning with IEL1 to IEL2 + (defaults to IEL1) in steps of IEINC (defaults to 1). If IEL1 is + negative, IEL2 and IEINC are ignored and the last |IEL1| elements + (in sequence backward from the maximum element number) are used as + the pattern to be repeated. If IEL1 = ALL, IEL2 and IEINC are + ignored and use all selected elements [ESEL] as pattern to be + repeated. If P1 = 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 IEL1 (IEL2 and INC are ignored). - ext - Filename extension (eight-character maximum). + minc + Increment material number of all elements in the given pattern by + MINC each time after the first. - -- - Unused field. + tinc + Increment type number by TINC. - nskip - Number of comment lines at the beginning of the file being read - that will be skipped during the reading. Default = 0. + rinc + Increment real constant table number by RINC. + + cinc + Increment element coordinate system number by CINC. + + sinc + Increment section ID number by SINC. + + dx, dy, dz + Define nodes that do not already exist but are needed by generated + elements (as though the NGEN,ITIME,INC,NODE1,,,DX,DY,DZ were issued + before EGEN). Zero is a valid value. If blank, DX, DY, and DZ are + ignored. Notes ----- - Use this command to read in a table of data from an external file into - an ANSYS table array parameter. The external file may be created using - a text editor or by an external application or program. The external - file must be in tab-delimited, blank-delimited, or comma-delimited - format to be used by *TREAD. The ANSYS TABLE type array parameter must - be defined before you can read in an external file. See *DIM for more - information. + A pattern may consist of any number of previously defined elements. The + MAT, TYPE, REAL, ESYS, and SECNUM numbers of the new elements are based + upon the elements in the pattern and not upon the current specification + settings. - This command is not applicable to 4- or 5-D tables. + You can use the EGEN command to generate interface elements (INTER192, + INTER193, INTER194, and INTER195) directly. However, because interface + elements require that the element connectivity be started from the + bottom surface, you must make sure that you use the correct element + node connectivity. See the element descriptions for INTER192, INTER193, + INTER194, and INTER195 for the correct element node definition. """ - command = "*TREAD, %s, %s, %s, %s" % (str(par), str(fname), str(ext), str(nskip)) + command = "EGEN,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(itime), str(ninc), str(iel1), str(iel2), str(ieinc), str(minc), str(tinc), str(rinc), str(cinc), str(sinc), str(dx), str(dy), str(dz)) self.RunCommand(command, **kwargs) - def Rpsd(self, ir="", ia="", ib="", itype="", datum="", name="", signif="", - **kwargs): + def Hemiopt(self, hres="", **kwargs): """ - APDL Command: RPSD + APDL Command: HEMIOPT - Calculates response power spectral density (PSD). + Specifies options for Hemicube view factor calculation. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previous - variable, the previous variable will be overwritten with this - result. - - ia, ib - Reference numbers of the two variables to be operated on. If only - one, leave IB blank. + hres + Hemicube resolution. Increase value to increase the accuracy of + the view factor calculation. Defaults to 10. - itype - Defines the type of response PSD to be calculated: + """ + command = "HEMIOPT,%s" % (str(hres)) + self.RunCommand(command, **kwargs) - 0,1 - Displacement (default). + def Post26(self, **kwargs): + """ + APDL Command: /POST26 - 2 - Velocity. + Enters the time-history results postprocessor. - 3 - Acceleration. + Notes + ----- + Enters the time-history results postprocessor (POST26). - datum - Defines the reference with respect to which response PSD is to be - calculated: + This command is valid only at the Begin Level. - 1 - Absolute value. + """ + command = "/POST26," % () + self.RunCommand(command, **kwargs) - 2 - Relative to base (default). + def Vatt(self, mat="", real="", type="", esys="", secnum="", **kwargs): + """ + APDL Command: VATT - name - Thirty-two character name identifying variable on listings and - displays. Embedded blanks are compressed for output. + Associates element attributes with the selected, unmeshed volumes. - signif - Combine only those modes whose significance level exceeds the - SIGNIF threshold. The significance level is defined as the modal - covariance matrix term divided by the maximum of all the modal - covariance matrix terms. Any term whose significance level is less - than SIGNIF is considered insignificant and does not contribute to - the response. All modes are taken into account by default (SIGNIF = - 0.0). + Parameters + ---------- + mat, real, type, esys, secnum + Material number, real constant set number, type number, coordinate + system number, and section number to be associated with selected, + unmeshed volumes. Notes ----- - This command calculates response power spectral density (PSD) for the - variables referenced by the reference numbers IA and IB. The variable - referred by IR will contain the response PSD. You must issue the - STORE,PSD command first; File.PSD must be available for the - calculations to occur. + These element attributes will be used when the volumes are meshed. If + a volume does not have attributes associated with it (by this command) + at the time it is meshed, the attributes are obtained from the then + current MAT, REAL, TYPE, ESYS, and SECNUM command settings. Reissue + the VATT command (before volumes are meshed) to change the attributes. + A zero (or blank) argument removes the corresponding association. - See POST26 - Response Power Spectral Density in the Mechanical APDL - Theory Reference for more information on these equations. + If any of the arguments MAT, REAL, TYPE, ESYS or SECNUM are defined as + -1, then that value will be left unchanged in the selected set. + + In some cases, ANSYS can proceed with a volume meshing operation even + when no logical element type has been assigned via VATT,,,TYPE or TYPE. + For more information, see the discussion on setting element attributes + in Meshing Your Solid Model of the Modeling and Meshing Guide. """ - command = "RPSD, %s, %s, %s, %s, %s, %s, %s" % (str(ir), str(ia), str(ib), str(itype), str(datum), str(name), str(signif)) + command = "VATT,%s,%s,%s,%s,%s" % (str(mat), str(real), str(type), str(esys), str(secnum)) self.RunCommand(command, **kwargs) - def Erase(self, **kwargs): + def Wait(self, dtime="", **kwargs): """ - APDL Command: ERASE + APDL Command: /WAIT - Explicitly erases the current display. + Causes a delay before the reading of the next command. + + Parameters + ---------- + dtime + Time delay (in seconds). Maximum time delay is 59 seconds. Notes ----- - Similar to a hardware screen erase key. Useful during an "immediate" - display to erase the screen without a replot so that the display - continues on a clean screen. This action is automatically included in - commands such as NPLOT and EPLOT. - - If the /NOERASE command is active, issuing the erase command will - simply clear the display area. Subsequent replots will provide the - display previously generated by the /NOERASE command. + The command following the /WAIT will not be processed until the + specified wait time increment has elapsed. Useful when reading from a + prepared input file to cause a pause, for example, after a display + command so that the display can be reviewed for a period of time. + Another "wait" feature is available via the *ASK command. This command is valid in any processor. """ - command = "ERASE, " % () + command = "/WAIT,%s" % (str(dtime)) self.RunCommand(command, **kwargs) - def Sstate(self, action="", cm_name="", val1="", val2="", val3="", val4="", - val5="", val6="", val7="", val8="", val9="", **kwargs): + def Mrep(self, name="", arg1="", arg2="", arg3="", arg4="", arg5="", + arg6="", arg7="", arg8="", arg9="", arg10="", arg11="", arg12="", + arg13="", arg14="", arg15="", arg16="", arg17="", arg18="", + **kwargs): """ - APDL Command: SSTATE + APDL Command: /MREP - Defines a steady-state analysis. + Enables you to reissue the graphics command macro "name" during a + replot or zoom operation. Parameters ---------- - action - Action to perform for defining or manipulating steady-state - analysis data: - - DEFINE - Define steady-state analysis data - - LIST - List current steady-state analysis data - - DELETE - Delete steady-state analysis data - - cm_name - Element component name + name + The name identifying the macro file or macro block on a macro + library file. The name can contain up to eight characters maximum + and must begin with a letter. - val1, ..., val9 - Input values (based on the Action type) + arg1, arg2, arg3, . . . , arg18 + Values to be passed into the file or block. Notes ----- - The SSTATE command specifies steady-state analysis parameters for the - given element component. The program runs the steady-state analysis if - the corresponding element key option is enabled for that element - component. - - The command supports the following elements: - - SOLID185 - - 3-D 8-Node Structural Solid - - SOLID186 - - 3-D 20-Node Structural Solid + This command reissues the graphics command macro "name" during a replot + operation [/REPLOT] or a zoom [/ZOOM] operation. The ANSYS program + passes the command macro arguments to the replot and zoom feature for + use by the graphics macro. You should place the s-MREP command at the + end of the graphics command macro, following the last graphics command + within the macro, to enable the replot or zoom feature. - SOLID187 + """ + command = "/MREP,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(name), str(arg1), str(arg2), str(arg3), str(arg4), str(arg5), str(arg6), str(arg7), str(arg8), str(arg9), str(arg10), str(arg11), str(arg12), str(arg13), str(arg14), str(arg15), str(arg16), str(arg17), str(arg18)) + self.RunCommand(command, **kwargs) - 3-D 10-Node Tetrahedral Structural Solid + def Edadapt(self, part="", key="", **kwargs): + """ + APDL Command: EDADAPT - SOLSH190 + Activates adaptive meshing in an explicit dynamic analysis. - 3-D 8-Node Structural Solid Shell + Parameters + ---------- + part + Part ID (number) for which adaptive meshing is to be turned on (or + off). Use PART = STAT to list the current adaptive meshing + definitions. - Degenerated shape (prism) option not supported. + key + Adaptivity key: - SOLID285 + OFF - Do not use adaptive meshing for the specified part ID (default). - 3-D 4-Node Tetrahedral Structural Solid with Nodal Pressures + ON - Use adaptive meshing for the specified part ID. - For information about steady-state rolling for rebar and solid - elements, see Steady State Rolling in the Mechanical APDL Theory - Reference. + Notes + ----- + When adaptive meshing (adaptivity) is turned on, the mesh will + automatically be regenerated to ensure adequate element aspect ratios. + Adaptive meshing is most commonly used in the analysis of large + deformation processes such as metal forming, in which the blank would + need to be adaptively meshed. - The following data types can be defined: + Adaptive meshing is only valid for parts consisting of SHELL163 + elements. By default, adaptive meshing is OFF for all parts in the + model. To specify adaptive meshing for more than one part in the model, + you must issue the EDADAPT command for each part ID. Use the EDPART + command to create and list valid part IDs. Use the EDCADAPT command to + define additional adaptive meshing parameters. - SPIN -- Steady-state spinning motion + The EDADAPT command is not supported in an explicit dynamic full + restart analysis (EDSTART,3). In addition, a full restart cannot be + performed successfully if adaptive meshing was used in the previous + analysis. - TRANSLATE -- Rigid body motion (velocity) that the spinning component - is undergoing + This command is also valid in PREP7. - Define the steady-state spinning motion: + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - SSTATE, DEFINE, CM_Name, SPIN, OMEGA, Method, Val4, Val5, Val6, Val7, - Val8, Val9 + """ + command = "EDADAPT,%s,%s" % (str(part), str(key)) + self.RunCommand(command, **kwargs) - Spin velocity + def Ancntr(self, nfram="", delay="", ncycl="", **kwargs): + """ + APDL Command: ANCNTR - Method to use for defining the spin axis: + Produces an animated sequence of a contoured deformed shape. - Define the spin axis using two points: + Parameters + ---------- + nfram + Number of frames captures (defaults to 5). - Val4, Val5, Val6 -- Coordinates of the first point + delay + Time delay during animation (defaults to 0.1 seconds). - Val7, Val8, Val9 -- Coordinates of the second point + ncycl + Number of animation cycles (defaults to 5). Available in non-UI + mode only. - This definition method is currently the only option. + Notes + ----- + ANCNTR involves an ANSYS macro which produces an animation of a + contoured deformed shape of the last plot action command. This command + operates only on graphic display platforms supporting the /SEG command. + After executing ANCNTR, you can replay the animated sequence by issuing + the ANIM command. - This command defines a steady state spinning motion of 120 rad/s around - the spin axis: + The command functions only in the postprocessor. - In this case, two points with coordinates (0,0,0) and (0,1,0) define - the spin axis in the global Y direction. + """ + command = "ANCNTR,%s,%s,%s" % (str(nfram), str(delay), str(ncycl)) + self.RunCommand(command, **kwargs) - Define the rigid body motion (velocity): + def Mdele(self, node="", lab1="", nend="", ninc="", lab2="", lab3="", + lab4="", lab5="", lab6="", **kwargs): + """ + APDL Command: MDELE - SSTATE, DEFINE, CM_Name, TRANSLATE, Val2, Val3, Val4 + Deletes master degrees of freedom. - SSTATE, LIST, CM_Name + Parameters + ---------- + node, lab1, nend, ninc + Delete master degrees of freedom in the Lab1 direction [M] from + NODE to NEND (defaults to NODE) in steps of NINC (defaults to 1). + If NODE = ALL, NEND and NINC are ignored and masters for all + selected nodes [NSEL] are deleted. If Lab1 = ALL, all label + directions will be 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. - Lists all steady-state analysis data defined on the specified element - component. All data is listed if no component (CM_Name) is specified. + lab2, lab3, lab4, . . . , lab6 + Delete masters in these additional directions. - SSTATE, DELETE, CM_Name + Notes + ----- + Deletes master degrees of freedom. If used in SOLUTION, this command + is valid only within the first load step. - Deletes all steady-state analysis data defined on the specified element - component. All data is deleted if no component (CM_Name) is specified. + This command is also valid in PREP7. """ - command = "SSTATE, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(action), str(cm_name), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9)) + command = "MDELE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(node), str(lab1), str(nend), str(ninc), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6)) self.RunCommand(command, **kwargs) - def Torqsum(self, cnam1="", cnam2="", cnam3="", cnam4="", cnam5="", - cnam6="", cnam7="", cnam8="", cnam9="", **kwargs): + def Adgl(self, na1="", na2="", ninc="", **kwargs): """ - APDL Command: TORQSUM + APDL Command: ADGL - Summarizes electromagnetic torque calculations on element components. + Lists keypoints of an area that lie on a parametric degeneracy. Parameters ---------- - cnam1, cnam2, cnam3, . . . , cnam9 - Names of existing element components for which Maxwell or virtual - work boundary conditions were applied in the preprocessor. Must be - enclosed in single quotes (e.g., 'CNAM1') when the command typed in - the command input box. + na1, na2, ninc + List keypoints that lie on a parametric degeneracy on areas from + NA1 to NA2 (defaults to NA1) in steps of NINC (defaults to 1). If + NA1 = ALL (default), NA2 and NINC will be ignored and keypoints on + all selected areas [ASEL] will be listed. If NA1 = P, graphical + picking is enabled and all remaining arguments are ignored (valid + only in the GUI). A component name may be substituted in NA1 (NA2 + and NINC will be ignored). Notes ----- - TORQSUM invokes an ANSYS macro that summarizes the Maxwell and virtual - work torque values. The element components must have had appropriate - Maxwell or virtual work boundary conditions established in the - preprocessor prior to solution in order to retrieve torques (see the - FMAGBC command). The torque values are stored on a per-element basis - for the adjacent air layer elements surrounding the components and are - retrieved and summed by the macro. For a harmonic analysis, the - calculated torque represents a time-average value. + See the Modeling and Meshing Guide for details on parametric + degeneracies. - TORQSUM is valid only for 2-D planar analysis. + This command is valid in any processor. """ - command = "TORQSUM, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(cnam1), str(cnam2), str(cnam3), str(cnam4), str(cnam5), str(cnam6), str(cnam7), str(cnam8), str(cnam9)) + command = "ADGL,%s,%s,%s" % (str(na1), str(na2), str(ninc)) self.RunCommand(command, **kwargs) - def Header(self, header="", stitle="", idstmp="", notes="", colhed="", - minmax="", **kwargs): + def Edlcs(self, option="", cid="", x1="", y1="", z1="", x2="", y2="", + z2="", x3="", y3="", z3="", **kwargs): """ - APDL Command: /HEADER + APDL Command: EDLCS - Sets page and table heading print controls. + Defines a local coordinate system for use in explicit dynamics + analysis. Parameters ---------- - header - ANSYS page header (system, date, time, version, copyright, title, - etc.): - - ON - Turns this item on (default for batch mode; not available for interactive - mode). + option + Label identifying the option to be performed: - OFF - Turns this item off. + ADD - Define a coordinate system (default). - (blank) - Retains the previous setting. + DELE - Delete a coordinate system. If CID is blank, all coordinate systems are + deleted. - stitle - Subtitles (see /STITLE command): ON, OFF, or (blank) (see above). + LIST - List defined coordinate systems. If CID is blank, all coordinate systems are + listed. - idstmp - Load step information (step number, substep number, time value): - ON, OFF, or (blank) (see above). + cid + Coordinate system ID. - notes - Information relative to particular table listings: ON, OFF, or - (blank) (see above). + x1, y1, z1 + X, Y, and Z coordinates of a point on the local x-axis. - colhed - Column header labels of table listings (currently only for single - column tables): ON, OFF, or (blank) (see above). + x2, y2, z2 + X, Y, and Z coordinates of a point on the local x-y plane. - minmax - Minimum/maximum information or totals after table listings: ON, - OFF, or (blank) (see above). + x3, y3, z3 + X, Y, and Z coordinates of the origin. X3, Y3, and Z3 all default + to zero. Notes ----- - Sets specifications on or off for page and table heading print controls - associated with the POST1 PRNSOL, PRESOL, PRETAB, PRRSOL, and PRPATH - commands. + Local coordinate systems defined by this command are used in an + explicit dynamic analysis. For example, a local coordinate system may + be used when defining orthotropic material properties (see EDMP). - Note:: : If the printout caused a top-of-form (page eject to top of - next page), the top-of-form is also suppressed with the printout. - Issue /HEADER,STAT to display the current settings. Issue /HEADER,DEFA - to reset the default specifications. + The coordinate system is defined by 2 vectors, one from the origin (X3, + Y3, Z3) to a point on the x-axis (X1, Y1, Z1), and one from the origin + to a point on the x-y plane (X2, Y2, Z2). The cross product of these + two vectors determines the z-axis, and the cross product of the z-axis + vector and x-axis vector determines the y-axis. If X3, Y3, and Z3 are + not specified, the global origin (0,0,0) is used by default (as shown + in the figure below). - This command is valid in any processor. + The x-axis vector and the xy vector should be separated by a reasonable + angle to avoid numerical inaccuracies. + + When you use the local coordinate system (defined by the EDLCS command) + to define a load (EDLOAD command), the direction of the load will + depend on the load type. For force and moment loads (Lab = FX, MX, etc. + on EDLOAD), the load will be applied in the direction of the local + coordinate system defined by EDLCS. For prescribed motion degrees of + freedom (Lab = UX, ROTX, VX, AX, etc. on EDLOAD), the motion will act + in the direction of a vector from point (X1, Y1, Z1) to point (X2, Y2, + Z2) as input on EDLCS. See the EDLOAD command for more information. + + This command is also valid in SOLUTION. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/HEADER, %s, %s, %s, %s, %s, %s" % (str(header), str(stitle), str(idstmp), str(notes), str(colhed), str(minmax)) + command = "EDLCS,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(cid), str(x1), str(y1), str(z1), str(x2), str(y2), str(z2), str(x3), str(y3), str(z3)) self.RunCommand(command, **kwargs) - def Sumtype(self, label="", **kwargs): + def Edale(self, option="", afac="", bfac="", dfac="", efac="", start="", + end="", **kwargs): """ - APDL Command: SUMTYPE - - Sets the type of summation to be used in the following load case - operations. + APDL Command: EDALE + + Assigns mesh smoothing to explicit dynamic elements that use the ALE + formulation. Parameters ---------- - label - Summation type + option + Label identifying the option to be performed: - COMP - Combine element component stresses only. Stresses such as average nodal - stresses, principal stresses, equivalent stresses, and - stress intensities are derived from the combined element - component stresses. Default. + ADD - Add smoothing controls (default). - PRIN - Combine principal stress, equivalent stress, and stress intensity directly as - stored on the results file. Component stresses are not - available with this option. + DELETE - Delete smoothing controls. - Notes - ----- - Issue SUMTYPE,PRIN when you want to have a load case operation (LCOPER) - act on the principal / equivalent stresses instead of the component - stresses. Also issue SUMTYPE,PRIN when you want to read in load cases - (LCASE). Note that the SUMTYPE setting is not maintained between /POST1 - sessions. + LIST - List smoothing controls. - SUMTYPE,PRIN also causes principal nodal values to be the average of - the contibuting principal element nodal values (see AVPRIN,1). + -- + Unused field. - BEAM188 and BEAM189 elements compute principal stress, equivalent - stress, and stress intensity values on request instead of storing them - on the results file; SUMTYPE,PRIN does not apply for these elements. + afac + Simple average smoothing weight factor (default = 0). - """ - command = "SUMTYPE, %s" % (str(label)) - self.RunCommand(command, **kwargs) + bfac + Volume weighted smoothing weight factor (default = 0). - def Afillt(self, na1="", na2="", rad="", **kwargs): - """ - APDL Command: AFILLT + -- + Unused field. - Generates a fillet at the intersection of two areas. + dfac + Equipotential smoothing weight factor (default = 0). - Parameters - ---------- - na1 - Number of the first intersecting area. If NA1 = P, graphical - picking is enabled and all remaining arguments are ignored (valid - only in the GUI). + efac + Equilibrium smoothing weight factor (default = 0). EFAC is only + applicable to PLANE162 elements. - na2 - Number of the second intersecting area. + start + Start time for ALE smoothing (default = 0). - rad - Radius of fillet to be generated. + end + End time for ALE smoothing (default = 1e20). Notes ----- - Generates an area of constant fillet radius at the intersection of two - areas using a series of Boolean operations. Corresponding lines and - keypoints are also generated. See BOPTN command for an explanation of - the options available to Boolean operations. If areas do not initially - intersect at a common line, use the AINA command. + Mesh smoothing specified by the EDALE command is only applicable to + PLANE162 and SOLID164 elements that are flagged to use the ALE + formulation (KEYOPT(5) = 1). To activate the ALE formulation, you must + specify at least one smoothing weight factor on this command and the + number of cycles between advection (NADV) on the EDGCALE command. See + Arbitrary Lagrangian-Eulerian Formulation in the ANSYS LS-DYNA User's + Guide for more information. + + The EDALE command is also valid in PREP7. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "AFILLT, %s, %s, %s" % (str(na1), str(na2), str(rad)) + command = "EDALE,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(afac), str(bfac), str(dfac), str(efac), str(start), str(end)) self.RunCommand(command, **kwargs) - def Kbetw(self, kp1="", kp2="", kpnew="", type="", value="", **kwargs): + def Edhtime(self, nstep="", dt="", **kwargs): """ - APDL Command: KBETW + APDL Command: EDHTIME - Creates a keypoint between two existing keypoints. + Specifies the time-history output interval for an explicit dynamics + analysis. Parameters ---------- - kp1 - First keypoint. If KP1 = P, graphical picking is enabled and all - remaining command fields are ignored (valid only in the GUI). + nstep + Number of steps at which output is written to the time-history + file, Jobname.HIS, and the ASCII output files. Defaults to 1000. + The time increment between output is TIME / NSTEP, where TIME is + the analysis end-time specified on the TIME command. - kp2 - Second keypoint. + dt + Time interval at which output is written to the time-history file, + Jobname.HIS, and the ASCII output files. If NSTEP is input, DT is + ignored. - kpnew - Number assigned to the new keypoint. Defaults to the lowest - available keypoint number. + Notes + ----- + EDHTIME controls the number of steps at which output will be written to + the time-history file, Jobname.HIS (see the EDHIST command), and any + ASCII files requested on the EDOUT command. You can use NSTEP or DT to + specify the output interval. You should not specify both quantities; if + both are input, NSTEP will be used. - type - Type of input for VALUE. + In an explicit dynamic small restart (EDSTART,2) or full restart + analysis (EDSTART,3), the EDHTIME setting will default to the NSTEP or + DT value used in the original analysis. You can issue EDHTIME in the + restart to change this setting. - RATIO - Value is the ratio of the distances between keypoints as follows: - (KP1-KPNEW)/(KP1-KP2). + This command is also valid in PREP7. - DIST - Value is the absolute distance between KP1 and KPNEW (valid only if current - coordinate system is Cartesian). + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - value - Location of new keypoint, as defined by Type (defaults to 0.5). If - VALUE is a ratio (Type = RATIO) and is less than 0 or greater than - 1, the keypoint is created on the extended line. Similarly, if - VALUE is a distance (Type = DIST) and is less than 0 or greater - than the distance between KP1 and KP2, the keypoint is created on - the extended line. + """ + command = "EDHTIME,%s,%s" % (str(nstep), str(dt)) + self.RunCommand(command, **kwargs) + + def Aina(self, na1="", na2="", na3="", na4="", na5="", na6="", na7="", + na8="", na9="", **kwargs): + """ + APDL Command: AINA + + Finds the intersection of areas. + + Parameters + ---------- + na1, na2, na3, . . . , na9 + Numbers of areas to be intersected. If NA1 = ALL, NA2 to NA9 are + ignored and the intersection of all selected areas is found. If + NA1 = P, graphical picking is enabled and all remaining arguments + are ignored (valid only in the GUI). A component name may also be + substituted for NA1. Notes ----- - Placement of the new keypoint depends on the currently active - coordinate system [CSYS]. If the coordinate system is Cartesian, the - keypoint will lie on a straight line between KP1 and KP2. If the - system is not Cartesian (e.g., cylindrical, spherical, etc.), the - keypoint will be located as if on a line (which may not be straight) - created in the current coordinate system between KP1 and KP2. Note - that solid modeling in a toroidal coordinate system is not recommended. + Finds the common (not pairwise) intersection of areas. The common + intersection is defined as the regions shared (in common) by all areas + listed on this command. New areas will be generated where the original + areas intersect. If the regions of intersection are only lines, new + lines will be generated instead. See the Modeling and Meshing Guide + for an illustration. See the BOPTN command for the options available + to Boolean operations. Element attributes and solid model boundary + conditions assigned to the original entities will not be transferred to + the new entities generated. """ - command = "KBETW, %s, %s, %s, %s, %s" % (str(kp1), str(kp2), str(kpnew), str(type), str(value)) + command = "AINA,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(na7), str(na8), str(na9)) self.RunCommand(command, **kwargs) - def Ddaspec(self, keyref="", shptyp="", mountloc="", deftyp="", amin="", - **kwargs): + def Nldiag(self, label="", key="", maxfile="", **kwargs): """ - APDL Command: DDASPEC + APDL Command: NLDIAG - Specifies the shock spectrum computation constants for DDAM analysis. + Sets nonlinear diagnostics functionality. Parameters ---------- - keyref - Key for reference catalog: + label + Diagnostic function: - 1 - The spectrum computation constants are based on NRL-1396 (default). For more - information, see Dynamic Design Analysis Method in the - Mechanical APDL Theory Reference + NRRE - Store the Newton-Raphson residuals information. - shptyp - Select the ship type: + EFLG - Identify or display elements or nodes that violate the criteria. - SUBM - Submarine + CONT - Write contact information to a single Jobname.cnd diagnostic text file during + solution. - SURF - Surface ship + key + Diagnostic function characteristics: - mountloc - Select the mounting location: + OFF or 0 - Suppresses writing of diagnostic information (default). - HULL - Hull mounting location. These structures are mounted directly to basic hull - structures like frames, structural bulkheads below the water - line, and shell plating above the water line. + ON or 1 - Writes diagnostic information to the Jobname.ndxxx, Jobname.nrxxx, or + Jobname.cnd file. (If Label = CONT, this option is the + same as the SUBS option described below.) - DECK - Deck mounting location. These structures are mounted directly to decks, non- - structural bulkheads, or to structural bulkheads above the - water line. + ITER - Writes contact diagnostic information at each iteration. Valid only when Label + = CONT. - SHEL - Shell plating mounting location. These structures are mounted directly to shell - plating below the water line without intervening - foundations. + SUBS - Writes contact diagnostic information at each substep. Valid only when Label = + CONT. - deftyp - Select the deformation type: + LSTP - Writes contact diagnostic information at each load step. Valid only when Label + = CONT. - ELAS - Elastic deformation (default) + STAT - Lists information about the diagnostic files in the current working directory. - PLAS - Elastic-plastic deformation + DEL - Deletes all diagnostic files in the current working directory. - amin - Minimum acceleration value in inch/sec2. It defaults to 2316 - inch/sec2 which equals 6g, where g is the acceleration due to - gravity (g = 386 in/sec2). + maxfile + Maximum number of diagnostic files to create. Valid values are 1 + through 999. Default = 4. Valid only when Label = NRRE or EFLG. Notes ----- - The excitation direction is required to calculate the spectrum - coefficients. Issue the SED command before issuing DDASPEC. + The NLDIAG command is a nonlinear diagnostics tool valid for nonlinear + structural analyses. It is a debugging tool for use when you must + restart after an unconverged solution. The command creates + Jobname.ndxxx, Jobname.nrxxx, or Jobname.cnd files in the working + directory to store the information you specify. - ADDAM and VDDAM may alternatively be used to calculate spectrum - coefficients. + For more information, see Performing Nonlinear Diagnostics. - This command is also valid in PREP7. + Issue the NLDIAG,NRRE,ON command to create Jobname.nrxxx diagnostic + files (for each equilibrium iteration after the first) in which to + store the relevant Newton-Raphson residual information of + forces/moments Fx, Fy, Fz, Mx, My and Mz for the last MAXFILE + equilibrium iterations. - """ - command = "DDASPEC, %s, %s, %s, %s, %s" % (str(keyref), str(shptyp), str(mountloc), str(deftyp), str(amin)) - self.RunCommand(command, **kwargs) + Issue a NLDPOST,NRRE,STAT command to list the load step, substep, time, + and equilibrium iteration corresponding to each of the Jobname.nrxxx + diagnostic files in the working directory, then issue a + PLNSOL,NRRES,,,,FileID command to point to the file from which you want + to create a contour plot of your Newton-Raphson residuals. - def Dk(self, kpoi="", lab="", value="", value2="", kexpnd="", lab2="", - lab3="", lab4="", lab5="", lab6="", **kwargs): - """ - APDL Command: DK + If you restart or issue a new SOLVE command, any Jobname.nrxxx + diagnostic files in the current (working) directory are overwritten. - Defines DOF constraints at keypoints. + Issue a NLDIAG,EFLG,ON command to create Jobname.ndxxx diagnostic + files which store IDs for elements violating the following criteria: - Parameters - ---------- - kpoi - Keypoint at which constraint is to be specified. If ALL, apply to - all selected keypoints [KSEL]. If KPOI = 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 KPOI. + Too large a distortion (HDST) - lab - Valid degree of freedom label. If ALL, use all appropriate labels - except HDSP. Structural labels: UX, UY, or UZ (displacements); - ROTX, ROTY, or ROTZ (rotations); WARP (warping); HDSP (hydrostatic - pressure). Thermal labels: TEMP, TBOT, TE2, TE3, . . ., TTOP - (temperature). Acoustic labels: PRES (pressure); UX, UY, or UZ - (displacements for FSI coupled elements). Electric labels: VOLT - (voltage). Magnetic labels: MAG (scalar magnetic potential); AX, - AY, or AZ (vector magnetic potentials). Diffusion labels: CONC - (concentration). + Elements contain nodes that have near zero pivots (PIVT) for nonlinear + analyses - value - Degree of freedom value or table name reference for tabular - boundary conditions. To specify a table, enclose the table name in - percent signs (%) (e.g., DK,NODE,TEMP,%tabname%). Use the *DIM - command to define a table. + Too large a plastic/creep (EPPL/EPCR) strain increment (CUTCONTROL) - 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. + Elements for which mixed u-P constraints are not satisfied (mixed U-P + option of 18x solid elements only) (MXUP) - kexpnd - Expansion key: + Hyperelastic element (EPHY), cohesive zone material (EPCZ), or damage + strain (EPDM) not converged - 0 - Constraint applies only to the node at this keypoint. + Radial displacement (RDSP) not converged - 1 - Flags this keypoint for constraint expansion. + MPC184 multipoint constraint elements using KEYOPT(1) = 6 through 16 + with the Lagrange multiplier option fail to satisfy constraint + conditions (184J) - lab2, lab3, lab4, . . . , lab6 - Additional degree of freedom labels. The same values are applied - to the keypoints for these labels. + For NLDIAG,EFLG,ON, all Jobname.ndxxx diagnostic files (for each + equilibrium iteration after the first) in the current (working) + directory are deleted when you issue a new SOLVE command (or restart). - Notes - ----- - A keypoint may be flagged using KEXPND to allow its constraints to be - expanded to nodes on the attached solid model entities having similarly - flagged keypoint constraints. Constraints are transferred from - keypoints to nodes with the DTRAN or SBCTRAN commands. The expansion - uses interpolation to apply constraints to the nodes on the lines - between flagged keypoints. If all keypoints of an area or volume - region are flagged and the constraints (label and values) are equal, - the constraints are applied to the interior nodes of the region. See - the D command for a description of nodal constraints. + In the solution processor (/SOLU), use the STAT option to list the + active status of this command. In the postprocessor (/POST1), issue a + NLDPOST,EFLG,STAT command to list the load step, substep, time, and + equilibrium iteration corresponding to each of the Jobname.ndxxx + diagnostic files in the working directory, then issue a + NLDPOST,EFLG,CM,FileID command to create element components that + violate the criteria. - Tabular boundary conditions (VALUE = %tabname%) are available only for - the following degree of freedom labels: Electric (VOLT), structural - (UX, UY, UZ, ROTX, ROTY, ROTZ), Acoustic (PRES, UX, UY, UZ), and - temperature (TEMP, TBOT, TE2, TE3, . . ., TTOP). + Issue the NLDIAG,CONT,ON command to create a Jobname.cnd diagnostic + file which stores contact information for all defined contact pairs at + all substeps. Alternatively, you may issue one of the following + commands to store contact information at a specific frequency: - Constraints specified by the DK command can conflict with other - specified constraints. See Resolution of Conflicting Constraint - Specifications in the Basic Analysis Guide for details. + NLDIAG,CONT,ITER to write at each iteration - This command is also valid in PREP7. + NLDIAG,CONT,SUBS to write at each substep (default) - """ - command = "DK, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(kpoi), str(lab), str(value), str(value2), str(kexpnd), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6)) - self.RunCommand(command, **kwargs) + NLDIAG,CONT,LSTP to write at each load step - def Cfclos(self, **kwargs): - """ - APDL Command: *CFCLOS + Contact diagnostic information is available for elements CONTA171 + through CONTA177; it is not available for CONTA178. - Closes the "command" file. + Diagnostic file Jobname.cnd is written during solution and lists, on a + pair-base, the following contact information: - Notes - ----- - This command is valid in any processor. + Contact pair ID[1] - """ - command = "*CFCLOS, " % () - self.RunCommand(command, **kwargs) + Number of contact elements in contact[2] - def Kgen(self, itime="", np1="", np2="", ninc="", dx="", dy="", dz="", - kinc="", noelem="", imove="", **kwargs): - """ - APDL Command: KGEN + Number of contact elements in "sticking" contact status - Generates additional keypoints from a pattern of keypoints. + Maximum chattering level - Parameters - ---------- - itime - Do this generation operation a total of ITIME times, incrementing - all keypoints in the given pattern automatically (or by KINC) each - time after the first. ITIME must be more than 1 for generation to - occur. + Maximum contact penetration/Minimum gap[3] - np1, np2, ninc - Generate keypoints from the pattern of keypoints beginning with NP1 - to NP2 (defaults to NP1) in steps of NINC (defaults to 1). If NP1 - = ALL, NP2 and NINC are ignored and the pattern is all selected - keypoints [KSEL]. If NP1 is negative, NP2 and NINC are ignored and - the last |NP1| keypoints (in sequence from the highest keypoint - number) are used as the pattern to be repeated. If NP1 = 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 NP1 (NP2 and NINC are ignored). + Maximum closed gap - dx, dy, dz - Keypoint location increments in the active coordinate system (DR, - Dθ, DZ for cylindrical, DR, Dθ, DΦ for spherical). + Maximum normal contact stiffness - kinc - Keypoint increment between generated sets. If zero, the lowest - available keypoint numbers are assigned [NUMSTR]. + Minimum normal contact stiffness - noelem - Specifies if elements and nodes are also to be generated: + Maximum resulting pinball - 0 - Generate nodes and point elements associated with the original keypoints, if - they exist. + Maximum elastic slip distance - 1 - Do not generate nodes and elements. + Maximum tangential contact stiffness - imove - Specifies whether keypoints will be moved or newly defined: + Minimum tangential contact stiffness - 0 - Generate additional keypoints as requested with the ITIME argument. + Maximum sliding distance - 1 - Move original keypoints to new position retaining the same keypoint numbers - (ITIME, KINC, and NOELEM are ignored). Valid only if the old - keypoints are no longer needed at their original positions. - Corresponding meshed items are also moved if not needed at - their original position. + Maximum contact pressure - Notes - ----- - Generates additional keypoints (and corresponding mesh) from a given - keypoint pattern. The MAT, TYPE, REAL, and ESYS attributes are based - upon the keypoints in the pattern and not upon the current settings. - Generation is done in the active coordinate system. Keypoints in the - pattern may have been defined in any coordinate system. However, solid - modeling in a toroidal coordinate system is not recommended. + Maximum friction stress - """ - command = "KGEN, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(itime), str(np1), str(np2), str(ninc), str(dx), str(dy), str(dz), str(kinc), str(noelem), str(imove)) - self.RunCommand(command, **kwargs) + Average contact depth - def Askin(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nl7="", - nl8="", nl9="", **kwargs): - """ - APDL Command: ASKIN + Maximum closed penetration - Generates an area by "skinning" a surface through guiding lines. + Number of contact points having too much penetration - Parameters - ---------- - nl1 - The first guiding line forming the skinned area. If NL1 = P, - graphical picking is enabled and all remaining arguments are - ignored (valid only in the GUI). A component name may also be - substituted for NL1. If NL1 is negative, the line beginnings and - ends will be used to direct the skinning of the remaining lines - (see "Changing the ASKIN Algorithm" below). + Contacting area - nl2, nl3, nl4, . . . , nl9 - The additional guiding lines for the skinned area (up to 9 total - lines, including NL1, if using keyboard entry). If negative (and - NL1 is negative), the line beginning and end will be temporarily - interchanged for the skinning operation (see "Changing the ASKIN - Algorithm" below). + Maximum contact damping pressure - Notes - ----- - Generates an area by "skinning" a surface through specified guiding - lines. The lines act as a set of "ribs" over which a surface is - "stretched." Two opposite edges of the area are framed by the first - (NL1) and last (NLn) guiding lines specified. The other two edges of - the area are framed by splines-fit lines which the program - automatically generates through the ends of all guiding lines. The - interior of the area is shaped by the interior guiding lines. Once the - area has been created, only the four edge lines will be attached to it. - In rare cases, it may be necessary to change the default algorithm used - by the ASKIN command (see "Changing the ASKIN Algorithm" below). + Maximum tangential contact damping stress - When skinning from one guiding line to the next, the program can create - the transition area in one of two ways: one more spiraled and one less - spiraled ("flatter"). By default, the program attempts to produce the - flatter transition, instead of the more spiraled transition. This - algorithm can be changed by inputting NL1 as a negative number, in - which case the program connects all the keypoints at the line - "beginnings" (/PSYMB,LDIR command) as one edge of the area, and all the - line "ends" as the opposite edge, irrespective of the amount of - spiraling produced in each transition area. + Maximum total sliding distance (GSLID), including near-field - To further control the geometry of the area (if NL1 is negative), the - beginning and end of any specified line (other than NL1) can be - temporarily interchanged (for the skinning operation only) by inputting - that line number as negative. See Solid Modeling in the Modeling and - Meshing Guide for an illustration. + Minimum total sliding distance (GSLID), including near-field - """ - command = "ASKIN, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nl7), str(nl8), str(nl9)) - self.RunCommand(command, **kwargs) + Maximum fluid penetration pressure on contact surface - def Cfwrite(self, command="", **kwargs): - """ - APDL Command: *CFWRITE + Maximum fluid penetration pressure on target surface - Writes an ANSYS command (or similar string) to a "command" file. + Total volume lost due to wear for the contact pair - Parameters - ---------- - command - Command or string to be written. The standard command form of a - label followed by arguments separated by commas is assumed. - Command may be a parameter assignment (e.g., *CFWRITE, A = 5). + Total strain energy due to contact constraint - Notes - ----- - Writes an ANSYS command (or similar string) to the file opened with - *CFOPEN. The Command string is not executed (except that numeric and - character parameter substitution and operations (with imbedded *, /, >, - etc. characters) are performed before writing). When used with *GET - results and parameter substitution, an ANSYS command can be created - from results and then read back into the ANSYS program (or used - elsewhere). For example, if the command *CFWRITE,BF,NNUM,TEMP,TVAL is - used in a do-loop, where TVAL is a parameter value returned from the - *GET operation and NNUM is a specified or returned parameter value, a - series of BF commands, with numerical values substituted for the two - parameters, will be written. To create a file without parameter - substitution, use *CREATE. + Total frictional dissipation energy - This command is valid in any processor. + Total contact stabilization energy - """ - command = "*CFWRITE, %s" % (str(command)) - self.RunCommand(command, **kwargs) + ANSYS Workbench contact pair ID[4] - def Pstatus(self, wn="", **kwargs): - """ - APDL Command: /PSTATUS + Contact pair ID. A positive number refers to a real constant ID for a + pair-based contact definition. A negative number refers to a section ID + of a surface in a general contact definition. - Displays the global or window display specifications. + Number of contact elements in contact. Other values are interpreted as + follows: - Parameters - ---------- - wn - Window number for status (defaults to global specifications). + A positive value indicates penetration and a negative value indicates a + gap. If the contact pair has a far-field contact status, penetration + and gap are not available and the value stored is the current pinball + radius. - Notes - ----- - Displays the current global or window display specifications. Global - display specifications are common to all windows (e.g. /SHOW, etc.). - Window display specifications are specific to one window (e.g. /VIEW, - /TYPE, etc.). + Intended primarily for internal use in the contact tracking of ANSYS + Workbench. - This command is valid in any processor. + In the solution processor (/SOLU), use the NLDIAG,CONT,STAT command to + list the active status of the contact information. If you subsequently + issue a new SOLVE command (or restart), the Jobname.cnd diagnostic file + in the current (working) directory is not deleted; information is + appended to it. Delete the existing diagnostic file (NLDIAG,CONT,DEL + command) if you do not want to retain diagnostic information from + previous solutions. """ - command = "/PSTATUS, %s" % (str(wn)) + command = "NLDIAG,%s,%s,%s" % (str(label), str(key), str(maxfile)) self.RunCommand(command, **kwargs) - def Rsprnt(self, rslab="", yname="", xout="", **kwargs): + def Nkpt(self, node="", npt="", **kwargs): """ - APDL Command: RSPRNT + APDL Command: NKPT - Print a response surface. + Defines a node at an existing keypoint location. Parameters ---------- - rslab - Response Surface set label. Identifies the response surfaces - generated by the RSFIT command. + node + Arbitrary reference number for node. If zero or blank, defaults to + the highest node number +1 [NUMSTR]. - yname - Parameter name. The parameter must have been previously defined as - a random output parameter with the PDVAR command. Identifies the - parameter for which a response surface has been generated by the - RSFIT command. + npt + Keypoint number defining global X, Y, Z location. If NPT = All, + then a node will be placed at each selected keypoint. If NPT = 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 NPT. - xout - An option if an extended print-out of more feedback about goodness- - of-fit and the details of the regression analysis of the response - surface is requested. + """ + command = "NKPT,%s,%s" % (str(node), str(npt)) + self.RunCommand(command, **kwargs) - No - Use the standard print-out (default). + def Ftsize(self, mxloc="", mxev="", mxlod="", **kwargs): + """ + APDL Command: FTSIZE - Yes - Use the extended print-out. + Defines the fatigue data storage array. + + Parameters + ---------- + mxloc + Maximum number of fatigue locations (defaults to 5). + + mxev + Maximum number of fatigue events (defaults to 10). + + mxlod + Maximum number of loadings in each event (defaults to 3). Notes ----- - Prints the results and details of a response surface analysis generated - by the RSFIT command. For the specified output parameter Yname, the - fitting details such as the individual terms of the response surface - model and their corresponding coefficients are listed. The command also - produces a comparison of the original values of Yname used for the - fitting process and the approximate values derived from the fitting, - and some goodness of fit measures. - - If Xout = Yes, then more information about the regression analysis of - the response surface will be printed. For example, the confidence - intervals on the regression coefficients and the correlation between - the regression coefficients among others. + Defines the size and erases the stress conditions for the fatigue data + storage array. A stress condition is a loading (stresses) at a + particular location (node) for a particular event. Size is defined in + terms of the maximum number of locations, events, and loadings. The + array size cannot be changed once data storage has begun (without + erasing all previously stored data). If a size change is necessary, + see the FTWRITE command. """ - command = "RSPRNT, %s, %s, %s" % (str(rslab), str(yname), str(xout)) + command = "FTSIZE,%s,%s,%s" % (str(mxloc), str(mxev), str(mxlod)) self.RunCommand(command, **kwargs) - def Edshell(self, wpan="", shnu="", shtc="", wpbt="", shpl="", itrst="", + def Lmatrix(self, symfac="", coilname="", curname="", indname="", **kwargs): """ - APDL Command: EDSHELL + APDL Command: LMATRIX - Specifies shell computation controls for an explicit dynamics analysis. + Calculates an inductance matrix and the total flux linkage for an + N-winding coil system. Parameters ---------- - wpan - Maximum shell element warpage angle in degrees. Defaults to 20. - - shnu - Hughes-Liu shell normal update option: - - -2 - Unique nodal fibers. This option is required for SHELL163 (KEYOPT(1) = 1, 6, or - 7) if the real constant NLOC = 1 or -1. - - -1 - Compute normals each cycle (default). This option is recommended. - - 1 - Compute on restarts. + symfac + Geometric symmetry factor. Inductance terms are scaled by this + factor which represents the fraction of the total device modeled. + Default is 1. - n - Compute every nth substep. + coilname + Alphanumeric prefix identifier for coil label used in defining + named element coil components. Default is 'coil.' - shtc - Shell thickness change option: + curname + Name of a predefined parameter array containing the nominal coil + currents of the system. The array must be defined (see *DIM + command) prior to calling the LMATRIX macro. Default is 'cur.' - 0 - No change. + indname + Name of the array parameter to be created by LMATRIX containing the + calculated inductance matrix and the flux linkage in each coil. A + text file of the same name with an extension .TXT is created + containing the matrix data. Default is 'lmatrix.' - 1 - Membrane straining causes thickness change. Important in sheet metal forming - (default). + Notes + ----- + LMATRIX calculates the differential inductance matrix for an N-winding + system where N is the number of coils in the system, and calculates the + total flux linkage in each coil. LMATRIX may only be executed after the + solution of a problem with nominal currents applied to the coils at a + desired “operating point.” The array Indname has N rows and N+1 + columns. The N x N block is the differential inductance matrix; the + N+1th column contains the total flux linkage, with the ith row + corresponding to the ith coil. See the Mechanical APDL Theory Reference + for more details. - wpbt - Warping stiffness option for Belytschko-Tsay shells: + To invoke the LMATRIX macro, for the classical formulations, the + elements for each coil must be grouped into a component using the CM + command. Each set of independent coil elements is assigned a component + name with the prefix Coilname followed by the coil number. For the + solenoidal formulations, you must make the exciting node with a F,AMPS + load a node component using the CM command. The classical and + solenoidal formulations cannot be mixed. - 1 - Belytschko-Wong-Chiang warping stiffness added. This option is recommended. + To invoke the LMATRIX macro, the vector array parameter Curname with + dimension N must be defined and named using the *DIM command. You must + set each vector array entry equal to the nominal current per turn in + the corresponding coil at the operating point. Zero current values + must be approximated by a negligibly small applied current. - 2 - Belytschko-Tsay warping stiffness (default). + Do not apply (or remove) inhomogeneous loads before using the LMATRIX + command. Inhomogeneous loads are those created by: - shpl - Shell plasticity option. This option is only valid for these - material models: strain rate independent plastic kinematic, strain - rate dependent plasticity, power law plasticity, and piecewise - linear plasticity. + Degree of freedom commands (D, DA, etc.) specifying nonzero degrees of + freedom values on nodes or solid model entities - 1 - Iterative plasticity with 3 secant iterations (default). + Any CE command with a nonzero constant term - 2 - Full iterative plasticity. + Do not put any loads (for example, current) on elements not contained + in the element component. - 3 - Radial return noniterative plasticity. (Use this option with caution; it may - lead to inaccurate results.) + Operating solutions must be obtained through static analysis before + calling LMATRIX. All name-strings must be enclosed in single quotes in + the LMATRIX command line. The geometric symmetry factor, Symfac, + represents the fraction of the device modeled, disregarding any current + source primitives. - itrst - Triangular shell sorting option. If sorting is on, degenerate - quadrilateral shell elements are treated as triangular shells. + LMATRIX works only with magnetic field elements: PLANE53, SOLID96, and + SOLID97, and with SOURC36 solenoidal formulations. For electromagnetic + elements PLANE233, SOLID236 and SOLID237, static linear perturbation + analysis can be used to calculate the differential inductance using the + element incremental energy record (IENE). - 1 - Full sorting (default). + For more information, see LMATRIX in the Low-Frequency Electromagnetic + Analysis Guide. - 2 - No sorting. + See the Mechanical APDL Theory Reference and Electric and Magnetic + Macros in the Low-Frequency Electromagnetic Analysis Guide for details. - Notes - ----- - This command is also valid in PREP7. + This command does not support multiframe restarts. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "EDSHELL, %s, %s, %s, %s, %s, %s" % (str(wpan), str(shnu), str(shtc), str(wpbt), str(shpl), str(itrst)) + command = "LMATRIX,%s,%s,%s,%s" % (str(symfac), str(coilname), str(curname), str(indname)) self.RunCommand(command, **kwargs) - def Pdshis(self, rlab="", name="", type="", conf="", **kwargs): + def Paput(self, parray="", popt="", **kwargs): """ - APDL Command: PDSHIS + APDL Command: PAPUT - Plots the sample history values. + Retrieves path information from an array variable. Parameters ---------- - rlab - Result set label. Identifies the result set to be used for - postprocessing. A result set label can be the solution set label - you defined in a PDEXE command, or the response surface set label - defined in an RSFIT command. - - name - Parameter name. The parameter must have been previously defined as - a random input variable or a random output parameter using the - PDVAR command. - - type - Keyword to identify which type of data is to be plotted: - - SAMP - Sampled values (default). - - MEAN - Mean values for results based on Monte Carlo simulation methods only. + parray + Name of the array variable containing the path information. - STDV - Standard deviations for results based on Monte Carlo simulation methods only. + popt + Specifies which path data to retrieve: - MIN - Minimum values for results based on Monte Carlo simulation methods only. + POINTS - Retrieve path point information (specified with the PPATH command and stored + with the PAGET,POINTS command). The path data name will + be assigned to the path points. - MAX - Maximum values for results based on Monte Carlo simulation methods only. + TABLE - Retrieve path data items (defined via the PDEF command and stored with the + PAGET,,TABLE command). - conf - Confidence level. The confidence level is used to plot confidence - bounds for the history value. The value for the confidence level - must be between 0.0 and 1.0 and it defaults to 0.95 (95%). - Confidence bound(s) plotting is suppressed for CONF 0.5. This - option is ignored for Type = SAMP (no confidence bounds are - plotted). + LABEL - Retrieve path labels stored with the PAGET,,LABEL command. Notes ----- - Plots the sample history values as a function of the number of - simulation loops. - - If Rlab is left blank, then the result set label is inherited from the - last PDEXE command (Slab), RSFIT command (RSlab), or the most recently - used PDS postprocessing command where a result set label was explicitly - specified. - - The confidence level is a probability expressing the confidence that - the value for the requested probability is in fact between the - confidence bounds. The larger the confidence level, the wider the - confidence bounds. For Type = MEAN and Type = STDV, lower and upper - confidence curves are plotted. For Type = MEAN, the mean value curve - starts at the first simulation and the confidence bounds start with - simulation number 2. For Type = MIN only the upper confidence bound is - shown (the interpretation is that by a certain probability the true - minimum value is below this curve). This probability (or confidence) is - set using CONF. Likewise, for Type = MAX, only the lower confidence - bound is shown. For all Type options, confidence curves are plotted - starting with the simulation at which enough data is available to - calculate the bounds. However, for scaling reasons, no confidence - bounds are plotted for simulation numbers 1 to 5 even if they might be - available. + When retrieving path information, restore path points (POINTS option) + first, then the path data (TABLE option), and then the path labels + (LABEL option). """ - command = "PDSHIS, %s, %s, %s, %s" % (str(rlab), str(name), str(type), str(conf)) + command = "PAPUT,%s,%s" % (str(parray), str(popt)) self.RunCommand(command, **kwargs) - def Intsrf(self, lab="", **kwargs): + def Sstate(self, action="", cm_name="", val1="", val2="", val3="", val4="", + val5="", val6="", val7="", val8="", val9="", **kwargs): """ - APDL Command: INTSRF + APDL Command: SSTATE - Integrates nodal results on an exterior surface. + Defines a steady-state analysis. Parameters ---------- - lab - Label indicating degree of freedom to be integrated: + action + Action to perform for defining or manipulating steady-state + analysis data: - PRES - Pressure. + DEFINE - Define steady-state analysis data - TAUW - Wall shear stress. + LIST - List current steady-state analysis data - FLOW - Both pressure and wall shear stress. + DELETE - Delete steady-state analysis data + + cm_name + Element component name + + val1, ..., val9 + Input values (based on the Action type) Notes ----- - Integrates nodal results on a surface. Use node selection (such as the - EXT option of the NSEL command) to indicate the surface(s) of element - faces to be used in the integration. A surface can be "created" by - unselecting elements (such as unselecting non-fluid elements that are - adjacent to fluid elements for the postprocessing of fluid flow - result). Element faces attached to the selected nodes will be - automatically determined. All nodes on a face must be selected for the - face to be used. The integration results will cancel for nodes on - common faces of adjacent selected elements. + The SSTATE command specifies steady-state analysis parameters for the + given element component. The program runs the steady-state analysis if + the corresponding element key option is enabled for that element + component. - Integration results are in the active coordinate system (see the RSYS - command). The type of results coordinate system must match the type - used in the analysis. However, you may translate and rotate forces and - moments as needed. Use the *GET command (Utility Menu> Parameters> Get - Scalar Data) to retrieve the results. + The command supports the following elements: - """ - command = "INTSRF, %s" % (str(lab)) - self.RunCommand(command, **kwargs) + SOLID185 - def Eresx(self, key="", **kwargs): - """ - APDL Command: ERESX + 3-D 8-Node Structural Solid - Specifies extrapolation of integration point results. + SOLID186 - Parameters - ---------- - key - Extrapolation key: + 3-D 20-Node Structural Solid - DEFA - If element is fully elastic (no active plasticity, creep, or swelling - nonlinearities), extrapolate the integration point results - to the nodes. If any portion of the element is plastic (or - other active material nonlinearity), copy the integration - point results to the nodes (default). + SOLID187 - YES - Extrapolate the linear portion of the integration point results to the nodes - and copy the nonlinear portion (for example, plastic - strains). + 3-D 10-Node Tetrahedral Structural Solid - NO - Copy the integration point results to the nodes. + SOLSH190 - Notes - ----- - Specifies whether the solution results at the element integration - points are extrapolated or copied to the nodes for element and nodal - postprocessing. The structural stresses, elastic and thermal strains, - field gradients, and fluxes are affected. Nonlinear data (plastic, - creep, and swelling strains) are always copied to the nodes, never - extrapolated. For shell elements, ERESX applies only to integration - point results in the in-plane directions. + 3-D 8-Node Structural Solid Shell - This command is also valid in PREP7. + Degenerated shape (prism) option not supported. - """ - command = "ERESX, %s" % (str(key)) - self.RunCommand(command, **kwargs) + SOLID285 - def Esort(self, item="", lab="", order="", kabs="", numb="", **kwargs): - """ - APDL Command: ESORT + 3-D 4-Node Tetrahedral Structural Solid with Nodal Pressures - Sorts the element table. + For information about steady-state rolling for rebar and solid + elements, see Steady State Rolling in the Mechanical APDL Theory + Reference. - Parameters - ---------- - item - Label identifying the item: + The following data types can be defined: - ETAB - (currently the only Item available) + SPIN -- Steady-state spinning motion - lab - element table label: + TRANSLATE -- Rigid body motion (velocity) that the spinning component + is undergoing - Lab - Any user-defined label from the ETABLE command (input in the Lab field of the - ETABLE command). + Define the steady-state spinning motion: - order - Order of sort operation: + SSTATE, DEFINE, CM_Name, SPIN, OMEGA, Method, Val4, Val5, Val6, Val7, + Val8, Val9 - 0 - Sort into descending order. + Spin velocity - 1 - Sort into ascending order. + Method to use for defining the spin axis: - kabs - Absolute value key: + Define the spin axis using two points: - 0 - Sort according to real value. + Val4, Val5, Val6 -- Coordinates of the first point - 1 - Sort according to absolute value. + Val7, Val8, Val9 -- Coordinates of the second point - numb - Number of elements (element table rows) to be sorted in ascending - or descending order (ORDER) before sort is stopped (remainder will - be in unsorted sequence) (defaults to all elements). + This definition method is currently the only option. - Notes - ----- - The element table rows are sorted based on the column containing the - Lab values. Use EUSORT to restore the original order. If ESORT is - specified with PowerGraphics on [/GRAPHICS,POWER], then the nodal - solution results listing [PRNSOL] will be the same as with the full - graphics mode [/GRAPHICS,FULL]. + This command defines a steady state spinning motion of 120 rad/s around + the spin axis: - """ - command = "ESORT, %s, %s, %s, %s, %s" % (str(item), str(lab), str(order), str(kabs), str(numb)) - self.RunCommand(command, **kwargs) + In this case, two points with coordinates (0,0,0) and (0,1,0) define + the spin axis in the global Y direction. - def Fllist(self, nloc1="", nloc2="", ninc="", **kwargs): - """ - APDL Command: FLLIST + Define the rigid body motion (velocity): - Lists the fatigue location parameters. + SSTATE, DEFINE, CM_Name, TRANSLATE, Val2, Val3, Val4 - Parameters - ---------- - nloc1, nloc2, ninc - List location parameters from NLOC1 (defaults to 1) to NLOC2 - (defaults to NLOC1) in steps of NINC (defaults to 1). If NLOC1 = - ALL, NLOC2 and NINC are ignored and all locations are listed. + SSTATE, LIST, CM_Name + + Lists all steady-state analysis data defined on the specified element + component. All data is listed if no component (CM_Name) is specified. + + SSTATE, DELETE, CM_Name + + Deletes all steady-state analysis data defined on the specified element + component. All data is deleted if no component (CM_Name) is specified. """ - command = "FLLIST, %s, %s, %s" % (str(nloc1), str(nloc2), str(ninc)) + command = "SSTATE,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(action), str(cm_name), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9)) self.RunCommand(command, **kwargs) - def Clog(self, ir="", ia="", name="", facta="", factb="", **kwargs): + def Mfrelax(self, lab="", value="", option="", **kwargs): """ - APDL Command: CLOG + APDL Command: MFRELAX - Forms the common log of a variable + Sets relaxation values for an ANSYS Multi-field solver analysis. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. - - ia - Reference number of the variable to be operated on. - - --, -- - Unused fields. + lab + Valid labels: - name - Thirty-two character name for identifying the variable on printouts - and displays. Embedded blanks are compressed for output. + value + Relaxation value. Defaults to 0.75 for all labels. - --, -- - Unused fields. + option + Valid options are: - facta - Scaling factor applied to variable IA (defaults to 1.0). + RELX - Uses relaxation method for load transfer (default). - factb - Scaling factor (positive or negative) applied to the operation - (defaults to 1.0). + LINT - Uses a linear interpolation for loaf transfer. Notes ----- - Forms the common log of a variable according to the operation: + MFRELAX sets relaxation values for the load transfer variables at a + surface or volume interface. Option = RELX will usually give you a more + stable and smooth load transfer and is suitable for strongly coupled + problems (such as FSI problems). Option = LINT is suitable for weakly + coupled problems because it will transfer the full load in fewer + stagger iterations. - IR = FACTB*LOG(FACTA x IA) + See the MFFR and MFITER commands for more information on relaxation in + the ANSYS Multi-field solver. + + This command is also valid in PREP7. + + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "CLOG, %s, %s, %s, %s, %s" % (str(ir), str(ia), str(name), str(facta), str(factb)) + command = "MFRELAX,%s,%s,%s" % (str(lab), str(value), str(option)) self.RunCommand(command, **kwargs) - def Sdelete(self, sfirst="", sl_ast="", sinc="", knoclean="", lchk="", - **kwargs): + def Cmedit(self, aname="", oper="", cnam1="", cnam2="", cnam3="", cnam4="", + cnam5="", cnam6="", cnam7="", **kwargs): """ - APDL Command: SDELETE + APDL Command: CMEDIT - Deletes sections from the database. + Edits an existing assembly. Parameters ---------- - sfirst - First section ID to be deleted; defaults to first available section - in the database. + aname + Name of the assembly to be edited. - slast - Last section ID to be deleted; defaults to last available section - in the database. + oper + Operation label: - sinc - Increment of the section ID; defaults to 1. + ADD - To add more components. The level of any assembly to be added must be lower + than that of the assembly Aname (see CMGRP command). - knoclean - Pretension element cleanup key (pretension sections only). + DELE - To remove components. - 0 - Perform cleanup of pretension elements (delete pretension elements and - reconnect elements split during PSMESH). - - 1 - Do not perform cleanup. - - lchk - Specifies the level of element-associativity checking: - - NOCHECK - No element-associativity check occurs. This option is the default. - - WARN - When a section, material, or real constant is associated with an element, ANSYS - issues a message warning that the necessary entity has been - deleted. - - CHECK - The command terminates, and no section, material, or real constant is deleted - if it is associated with an element. + cnam1, cnam2, cnam3, . . . , cnam7 + Names of components and assemblies to be added to or deleted from + the assembly. Notes ----- - Deletes one or more specified sections and their associated data from - the ANSYS database. + This command is valid in any processor. """ - command = "SDELETE, %s, %s, %s, %s, %s" % (str(sfirst), str(sl_ast), str(sinc), str(knoclean), str(lchk)) + command = "CMEDIT,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(aname), str(oper), str(cnam1), str(cnam2), str(cnam3), str(cnam4), str(cnam5), str(cnam6), str(cnam7)) self.RunCommand(command, **kwargs) - def Rdec(self, option ="", reduc ="", nplace ="", **kwargs): + def Map(self, kdim="", kout="", limit="", **kwargs): """ - APDL Command: RDEC + APDL Command: MAP - Defines the decimation parameters. + Maps pressures from source points to target surface elements. Parameters ---------- - option - Command options: + -- + Unused field. - DEFINE - Defines the decimation parameters (default). + kdim + Interpolation key: - STAT - Shows the status/listing. Other command options are ignored. + 0 or 2 - Interpolation is done on a surface (default). - reduc - Approximate reduction in the number of surface elements. Valid - range is from 0.0 (no decimation, the default) to 1.0. This number - is a factor applied to the initial number of element radiosity - surfaces. + 3 - Interpolation is done within a volume. This option is useful if the supplied + source data is volumetric field data rather than surface data. -- Unused field. - nplace - Node placement algorithm + kout + Key to control how pressure is applied when a target node is + outside of the source region: - OPTI - Optimal placement. An edge is collapsed by moving both nodes (I and J in the - figure below) to a new location. + 0 - Use the pressure(s) of the nearest source point for target nodes outside of the + region (default). - SUBS - Subset placement. An edge is collapsed by moving one node to another one. In - the figure below, node I is moved to node J. + 1 - Set pressures outside of the region to zero. + + limit + Number of nearby points considered for interpolation. The minimum + is 5; the default is 20. Lower values reduce processing time. + However, some distorted or irregular meshes will require a higher + LIMIT value to find the points encompassing the target node in + order to define the region for interpolation. Notes ----- - Decimation is the process of simplifying a fine surface mesh into a - coarse one. This process is accomplished by a sequence of edge - collapses. - - The maximum degree of decimation (1.0) is unreachable. The real degree - of decimation is always less than 1.0 because the decimated mesh must - always consist of at least one element. + Maps pressures from source points to target surface elements. """ - command = "RDEC, %s, %s, %s" % (str(option ), str(reduc ), str(nplace )) + command = "MAP,%s,%s,%s" % (str(kdim), str(kout), str(limit)) self.RunCommand(command, **kwargs) - def Nummrg(self, label="", toler="", gtoler="", action="", switch="", - **kwargs): + def Sudel(self, surfname="", **kwargs): """ - APDL Command: NUMMRG + APDL Command: SUDEL - Merges coincident or equivalently defined items. + Delete geometry information as well as any mapped results for specified + surface. Parameters ---------- - label - Items to be merged: + surfname + Eight character surface name. - NODE - Nodes + """ + command = "SUDEL,%s" % (str(surfname)) + self.RunCommand(command, **kwargs) - ELEM - Elements + def Gmarker(self, curve="", key="", incr="", **kwargs): + """ + APDL Command: /GMARKER - KP - Keypoints (will also merge lines, areas, and volumes) + Specifies the curve marking style. - MAT - Materials + Parameters + ---------- + curve + Curve number markers will be applied on (integer value between 1 + and 10). - TYPE - Element types + key + Marker key: - REAL - Real constants + 0 - No markers will be applied (default). - CP - Coupled sets + 1 - TRIANGLES will be applied. - CE - Constraint equations + 2 - SQUARES will be applied. - ALL - All items + 3 - DIAMONDS will be applied. - toler - Range of coincidence. For Label = NODE and KP, defaults to 1.0E-4 - (based on maximum Cartesian coordinate difference between nodes or - keypoints). For Label = MAT, REAL, and CE, defaults to 1.0E-7 - (based on difference of the values normalized by the values). Only - items within range are merged. (For keypoints attached to lines, - further restrictions apply. See the GTOLER field and Merging Solid - Model Entities below.) + 4 - CROSSES will be applied. - gtoler - Global solid model tolerance -- used only when merging keypoints - attached to lines. If specified, GTOLER will override the internal - relative solid model tolerance. See Merging Solid Model Entities - below. + incr + Determines the curve marking frequency. (a whole number value + between 1 and 255). If INCR = 1, markers are displayed at every + data point on the curve. If INCR = 2 then markers are displayed at + every second data point. If INCR = 3 then they are displayed at + every third data point. - action - Specifies whether to merge or select coincident items. + Notes + ----- + The user-specified markers will not be drawn when the area under the + curve is color-filled (/GROPT, FILL). - SELE - Select coincident items but do not merge. Action = SELE is only valid for Label - = NODE. + """ + command = "/GMARKER,%s,%s,%s" % (str(curve), str(key), str(incr)) + self.RunCommand(command, **kwargs) - (Blank) - Merge the coincident items (default). + def Append(self, lstep="", sbstep="", fact="", kimg="", time="", angle="", + nset="", **kwargs): + """ + APDL Command: APPEND - switch - Specifies whether the lowest or highest numbered coincident item is - retained after the merging operation. This option does not apply - to keypoints; i.e., for Label = KP, the lowest numbered keypoint is - retained regardless of the Switch setting. + Reads data from the results file and appends it to the database. - LOW - Retain the lowest numbered coincident item after the merging operation - (default). + Parameters + ---------- + lstep + Load step number of the data set to be read. Defaults to 1. If + FIRST, ignore SBSTEP and TIME and read the first data set. If + LAST, ignore SBSTEP and TIME and read the last data set. If NEXT, + ignore SBSTEP and TIME and read the next data set. If already at + the last data set, the next set is the first data set. If NEAR, + ignore SBSTEP and read the data set nearest to TIME. If TIME is + blank, read the first data set. If LIST, scan the results file to + produce a summary of each load step (FACT, KIMG, TIME and ANGLE + are ignored). - HIGH - Retain the highest numbered coincident item after the merging operation. + sbstep + Substep number (within LSTEP) (defaults to last substep of load + step). For the Buckling (ANTYPE,BUCKLE) or Modal (ANTYPE,MODAL) + analysis, the substep corresponds to the mode number (defaults to + first mode). If LSTEP = LIST, SBSTEP = 0 or 1 will list the basic + load step information; SBSTEP = 2 will also list the load step + title, and label the imaginary data sets if they exist. - Notes - ----- - After issuing the command, the area and volume sizes (ASUM and VSUM) - may give slightly different results. In order to obtain the same - results as before, use /FACET, /NORMAL, and ASUM / VSUM. + fact + Scale factor applied to data read from the file. If zero (or + blank), a value of 1.0 is used. Harmonic velocities or + accelerations may be calculated from the displacement results from + a modal or harmonic (ANTYPE,HARMIC) analyses. If FACT = VELO, the + harmonic velocities (v) are calculated from the displacements (d) + at a particular frequency (f) according to the relationship v = 2 + πfd. Similarly, if FACT = ACEL, the harmonic accelerations (a) are + calculated as a = (2 πf)2d. - The merge operation is useful for tying separate, but coincident, parts - of a model together. If not all items are to be checked for merging, - use the select commands (NSEL, ESEL, etc.) to select items. Only - selected items are included in the merge operation for nodes, - keypoints, and elements. + kimg + Used only with results from complex analyses: - By default, the merge operation retains the lowest numbered coincident - item. Higher numbered coincident items are deleted. Set Switch to - HIGH to retain the highest numbered coincident item after the merging - operation. Applicable related items are also checked for deleted item - numbers and if found, are replaced with the retained item number. For - example, if nodes are merged, element connectivities (except - superelements), mesh item range associativity, coupled degrees of - freedom, constraint equations, master degrees of freedom, gap - conditions, degree of freedom constraints, nodal force loads, nodal - surface loads, and nodal body force loads are checked. Merging - material numbers [NUMMRG,ALL or NUMMRG,MAT] does not update the - material number referenced: + 0 - Store real part of complex solution. - By temperature-dependent film coefficients as part of convection load - or a temperature-dependent emissivity as part of a surface-to-surface - radiation load [SF, SFE, SFL, SFA] + 1 - Store imaginary part. - By real constants for multi-material elements (such as SOLID65) + time + Time-point identifying the data set to be read. For harmonic + analyses, time corresponds to the frequency. For the buckling + analysis, time corresponds to the load factor. Used only in the + following cases: If LSTEP is NEAR, read the data set nearest to + TIME. If both LSTEP and SBSTEP are zero (or blank), read data set + at time = TIME. If TIME is between two solution time points on the + results file, a linear interpolation is done between the two data + sets. Solution items not written to the results file [OUTRES] for + either data set will result in a null item after data set + interpolation. If TIME is beyond the last time point on the file, + the last time point is used. - If a unique load is defined among merged nodes, the value is kept and - applied to the retained node. If loads are not unique (not - recommended), only the value on the lowest node (or highest if Switch = - HIGH) will be kept, except for "force" loads for which the values will - be summed if they are not defined using tabular boundary conditions. + angle + Circumferential location (0° to 360°). Defines the circumferential + location for the harmonic calculations used when reading from the + results file. The harmonic factor (based on the circumferential + angle) is applied to the harmonic elements (PLANE25, PLANE75, + PLANE78, PLANE83, and SHELL61) of the load case. See the + Mechanical APDL Theory Reference for details. Note that factored + values of applied constraints and loads will overwrite any values + existing in the database. - Note:: : The unused nodes (not recommended) in elements, couplings, - constraint equations, etc. may become active after the merge operation. + nset + Data set number of the data set to be read. If a positive value + for NSET is entered, LSTEP, SBSTEP, KIMG, and TIME are ignored. + Available set numbers can be determined by APPEND,LIST. To + determine if data sets are real or imaginary, issue APPEND,LIST,2 + which labels imaginary data sets. - The Action field provides the option of visualizing the coincident - items before the merging operation. + Notes + ----- + Reads a data set from the results file and appends it to the existing + data in the database for the selected model only. The existing + database is not cleared (or overwritten in total), allowing the + requested results data to be merged into the database. Various + operations may also be performed during the read operation. The + database must have the model geometry available (or used the RESUME + command before the APPEND command to restore the geometry from + File.DB). - Caution:: : When merging entities in a model that has already been - meshed, the order in which you issue multiple NUMMRG commands is - significant. If you want to merge two adjacent meshed regions that - have coincident nodes and keypoints, always merge nodes [NUMMRG,NODE] - before merging keypoints [NUMMRG,KP]. Merging keypoints before nodes - can result in some of the nodes becoming "orphaned"; that is, the nodes - lose their association with the solid model. Orphaned nodes can cause - certain operations (such as boundary condition transfers, surface load - transfers, and so on) to fail. However, using NUMMRG should be avoided - if at all possible, as the procedure outlined above may even cause - meshing failure, especially after multiple merging and meshing - operations. + """ + command = "APPEND,%s,%s,%s,%s,%s,%s,%s" % (str(lstep), str(sbstep), str(fact), str(kimg), str(time), str(angle), str(nset)) + self.RunCommand(command, **kwargs) - After a NUMMRG,NODE, is issued, some nodes may be attached to more than - one solid entity. As a result, subsequent attempts to transfer solid - model loads to the elements may not be successful. Issue NUMMRG,KP to - correct this problem. Do NOT issue VCLEAR before issuing NUMMRG,KP. + def Fl(self, nloc="", node="", scfx="", scfy="", scfz="", title="", + **kwargs): + """ + APDL Command: FL - For NUMMRG,ELEM, elements must be identical in all aspects, including - the direction of the element coordinate system. + Defines a set of fatigue location parameters. - For certain solid and shell elements (181, 185, 190, etc) ANSYS will - interpret coincident faces as internal and eliminate them. To prevent - this from occurring, shrink the entities by a very small factor to - delineate coincident items (/SHRINK, 0.0001) and no internal nodes, - lines, areas or elements will be eliminated. + Parameters + ---------- + nloc + Reference number for this location (within MXLOC). When defining a + new location, defaults to lowest unused location. If the specified + NODE is already associated with a location, NLOC defaults to that + existing location. - When working with solid models, you may have better success with the - gluing operations (AGLUE, LGLUE, VGLUE). Please read the following - information when attempting to merge solid model entities. + node + Node number corresponding to this location (must be unique). Used + only to associate a node with a new location or to find an existing + location (if NLOC is not input). If NODE = -1 (or redefined), + erase all parameters and fatigue stresses for this location. - Gluing Operations vs. Merging Operations + scfx, scfy, scfz + Stress concentration factors applied to the total stresses. + Factors are applied in the global X, Y, and Z directions unless the + axisymmetric option of the FSSECT is used (i.e., RHO is nonzero), + in which case the factors are applied in the section x, y, and z + (radial, axial, and hoop) directions. - Adjacent, touching regions can be joined by gluing them (AGLUE, LGLUE, - VGLUE) or by merging coincident keypoints (NUMMRG,KP, which also causes - merging of identical lines, areas, and volumes). In many situations, - either approach will work just fine. Some factors, however, may lead to - a preference for one method over the other. + title + User-defined title for this location (up to 20 characters). - Geometric Configuration + Notes + ----- + Repeat FL command to define additional sets of location parameters + (MXLOC limit), to redefine location parameters, or to delete location + stress conditions. - Gluing is possible regardless of the initial alignment or offset of the - input entities. Keypoint merging is possible only if each keypoint on - one side of the face to be joined is matched by a coincident keypoint - on the other side. This is commonly the case after a symmetry - reflection (ARSYM or VSYMM) or a copy (AGEN or VGEN), especially for a - model built entirely in ANSYS rather than imported from a CAD system. - When the geometry is extremely precise, and the configuration is - correct for keypoint merging, NUMMRG is more efficient and robust than - AGLUE or VGLUE. + One location must be defined for each node of interest and only one + node can be associated with each location. See the FTSIZE command for + the maximum locations (MXLOC) allowed. A location will be + automatically defined for a node not having a location when the FSSECT, + FSNODE, or FS command is issued. Automatically defined locations are + assigned the lowest available location number, unity stress + concentration factors, and no title. - Model Accuracy + """ + command = "FL,%s,%s,%s,%s,%s,%s" % (str(nloc), str(node), str(scfx), str(scfy), str(scfz), str(title)) + self.RunCommand(command, **kwargs) - Gluing, like all ANSYS boolean operations, requires that the input - entities meet the current boolean tolerance (BTOL). Otherwise, AGLUE - or VGLUE may fail. In such cases, relaxing the tolerance may allow the - glue to complete. An advantage of gluing is that it is unlikely to - degrade the accuracy of a geometric model. Keypoint merging can - operate on almost any combination of entities (although you may have to - override the default tolerances on NUMMRG). However, it can also - introduce or increase accuracy flaws, making later boolean operations - less likely to succeed. If the input tolerances are too large, NUMMRG - can collapse out small lines, areas, or volumes you intended to keep, - possibly rendering the model unusable. + def Cecyc(self, lowname="", highname="", nsector="", hindex="", + tolerance="", kmove="", kpairs="", **kwargs): + """ + APDL Command: CECYC - Mesh Status + Generates the constraint equations for a cyclic symmetry analysis - Gluing, like all ANSYS boolean operations, requires that the input - entities be unmeshed. Keypoint merging is effective for meshed models - under the right conditions. More information on keypoint merging - follows. + Parameters + ---------- + lowname + Name of a component for the nodes on the low angle edge of the + sector. Enclosed in single quotes. - Merging Solid Model Entities: + highname + Name of a component for the nodes on the high angle edge of the + sector. Enclosed in single quotes. - When merging solid model entities (Label = KP or ALL), keypoint - locations are used as the basis for merging. Once keypoints are - merged, any higher order solid model entities (lines, areas, and - volumes), regardless of their select status or attachment to the merged - keypoints, are considered for merging. + nsector + Number of sectors in the complete 360 degrees. - Keypoints that are attached to lines will be merged only if: + hindex + Harmonic index to be represented by this set of constraint + equations. If Hindex is -1, generate constraint equations for + static cyclic symmetry. If HIndex is -2, generate constraint + equations for static cyclic asymmetry. - ΔX, : ΔY, and: ΔZ are each less than TOLER + tolerance + A positive tolerance is an absolute tolerance (length units), and a + negative tolerance is a tolerance relative to the local element + size. - where, + kmove + 0 - and + 0 - Nodes are not moved. - is less than 1E-5 times the length of the longest line attached to - those keypoints (internal relative solid model tolerance), or is less - than GTOLER (global solid model tolerance) if specified. + 1 - HIGHNAME component nodes are moved to match LOWNAME component nodes exactly. - The TOLER field is a consideration tolerance. If a keypoint is within - TOLER of another keypoint, then those two keypoints are candidates to - be merged. If, when "moving" the higher numbered keypoint, the - distance exceeds the internal relative solid model tolerance, or the - global solid model tolerance (GTOLER) if specified, the keypoints will - not be merged. Lines, areas, and volumes are considered for merging in - a similar manner. + kpairs + 0 - The internal relative solid model tolerance should be overridden by the - global solid model tolerance (GTOLER) only when absolutely necessary. - GTOLER is an absolute tolerance; if specified, relative lengths of - lines in the model will no longer be considered in the merge operation. - If GTOLER is too large, you can "merge-out" portions of your model - accidently, effectively defeaturing the model. If GTOLER is used, it is - recommended that NUMMRG be preceded by saving the database (since - undesired merges of solid model entities could occur). + 0 - Do not print paired nodes - Note:: : Use of the NUMMRG command does not cause changes to a model's - geometry; only the topology is affected. + 1 - Print table of paired nodes + + Notes + ----- + The analysis can be either modal cyclic symmetry or static cyclic + symmetry. + + The pair of nodes for which constraint equations are written are + rotated into CSYS,1. """ - command = "NUMMRG, %s, %s, %s, %s, %s" % (str(label), str(toler), str(gtoler), str(action), str(switch)) + command = "CECYC,%s,%s,%s,%s,%s,%s,%s" % (str(lowname), str(highname), str(nsector), str(hindex), str(tolerance), str(kmove), str(kpairs)) self.RunCommand(command, **kwargs) - def Mwrite(self, parr="", fname="", ext="", label="", n1="", n2="", n3="", - **kwargs): + def Vup(self, wn="", label="", **kwargs): """ - APDL Command: *MWRITE + APDL Command: /VUP - Writes a matrix to a file in a formatted sequence. + Specifies the global Cartesian coordinate system reference orientation. Parameters ---------- - parr - The name of the array parameter. See *SET for name restrictions. - - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + wn + Window number (or ALL) to which command applies (defaults to 1). - ext - Filename extension (eight-character maximum). + label + Orientation: - -- - Unused field. + Y  - Y vertical upward, X horizontal to the right, Z out from the screen (default). - label - Can use a value of IJK, IKJ, JIK, JKI, KIJ, KJI, or blank (JIK). + -Y  - Y vertical downward, X horizontal to the left, Z out from the screen. - n1, n2, n3 - Write as (((ParR(i,j,k), k = 1,n1), i = 1, n2), j = 1, n3) for - Label = KIJ. n1, n2, and n3 default to the corresponding dimensions - of the array parameter ParR. + X  - X vertical upward, Y horizontal to the left, Z out from the screen. - Notes - ----- - Writes a matrix or vector to a specified file in a formatted sequence. - You can also use the *VWRITE command to write data to a specified file. - Both commands contain format descriptors on the line immediately - following the command. The format descriptors can be in either Fortran - or C format. + -X  - X vertical downward, Y horizontal to the right, Z out from the screen. - Fortran format descriptors are enclosed in parentheses. They must - immediately follow the *MWRITE command on a separate line of the same - input file. The word FORMAT should not be included. The format must - specify the number of fields to be written per line, the field width, - the placement of the decimal point, etc. There should be one field - descriptor for each data item written. The write operation uses the - available system FORTRAN FORMAT conventions (see your system FORTRAN - manual). Any standard FORTRAN real format (such as (4F6.0), - (E10.3,2X,D8.2), etc.) and character format (A) may be used. Integer - (I) and list-directed (*) descriptors may not be used. Text may be - included in the format as a quoted string. The FORTRAN descriptor must - be enclosed in parentheses and the format must not exceed 80 characters - (including parentheses). + Z  - Z vertical upward, Y horizontal to the right, X out from the screen. With this + choice, you should use a view other than the /VIEW default of + (0,0,1). - The “C” format descriptors are used if the first character of the - format descriptor line is not a left parenthesis. “C” format - descriptors may be up to 80 characters long, consisting of text strings - and predefined "data descriptors" between the strings where numeric or - alphanumeric character data are to be inserted. The normal descriptors - are %I for integer data, %G for double precision data, %C for - alphanumeric character data, and %/ for a line break. There must be one - data descriptor for each specified value in the order of the specified - values. The enhanced formats described in *MSG may also be used. + -Z  - Z vertical downward, Y horizontal to the left, X out from the screen. With + this choice, you should use a view other than the /VIEW + default of (0,0,1). - The starting array element number must be defined. Looping continues in - the directions indicated by the Label argument. The number of loops and - loop skipping may also be controlled with the *VLEN and *VMASK - commands, which work in the n2 direction (by row on the output file), - and by the *VCOL command, which works in the n1 direction (by column - in the output file). The vector specifications *VABS and *VFACT apply - to this command, while *VCUM does not apply to this command. See the - *VOPER command for details. If you are in the GUI, the *MWRITE command - must be contained in an externally prepared file and read into ANSYS - (i.e., *USE, /INPUT, etc.). + Notes + ----- + Specifies the global Cartesian coordinate system reference orientation. + The /VIEW and /ANGLE commands may be used to reorient the view and are + relative to this reference orientation. All coordinate systems are + right-handed. This command is valid in any processor. """ - command = "*MWRITE, %s, %s, %s, %s, %s, %s, %s" % (str(parr), str(fname), str(ext), str(label), str(n1), str(n2), str(n3)) + command = "/VUP,%s,%s" % (str(wn), str(label)) self.RunCommand(command, **kwargs) - def Rcon(self, **kwargs): + def Rmmrange(self, mode="", key="", min="", max="", nstep="", damp="", + scale="", **kwargs): """ - APDL Command: RCON + APDL Command: RMMRANGE - Specifies "Real constants" as the subsequent status topic. + Defines and edits various modal parameters for the ROM method. + + Parameters + ---------- + mode + Mode number. Must be lower or equal to the number of modes + extracted via the RMNEVEC command. + + key + Mode classification key. Valid keys are: + + DOMINANT - Dominant mode + + min + Lower bound for fit range of mode. + + max + Upper bound for fit range of mode. + + nstep + Number of equidistant steps in fit range of mode. + + damp + Modal damping factor. Defaults to 0.0. + + scale + Modal scaling factor. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + When selected manually (RMMSELECT), modes must be classified as + dominant, relevant, or unused. Dominant modes (Key = DOMINANT) are + basis functions with large amplitudes. Relevant modes (Key = RELEVANT) + are influenced by the dominant modes but do not cause interactions + among themselves due to the small amplitude. This assumption leads to + essential speed up of the sample point generator (see RMSMPLE). - If entered directly into the program, the STAT command should - immediately follow this command. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "RCON, " % () + command = "RMMRANGE,%s,%s,%s,%s,%s,%s,%s" % (str(mode), str(key), str(min), str(max), str(nstep), str(damp), str(scale)) self.RunCommand(command, **kwargs) - def Modcont(self, mlskey="", enforcedkey="", **kwargs): + def Edcpu(self, cputime="", **kwargs): """ - APDL Command: MODCONT + APDL Command: EDCPU - Specify additional modal analysis options. + Specifies CPU time limit for an explicit dynamics analysis. Parameters ---------- - mlskey - Multiple load step key: - - OFF - Perform the modal analysis (compute the eigenvalues and the load vector) for - each load step. (default) - - ON - Perform the modal analysis (compute the eigenvalues and the load vector) only - for the first load step; form the load vector for each - subsequent load step (without repeating the eigenvalue - calculations) and write all load vectors to the Jobname.MODE - file for downstream mode-superposition analyses. - - enforcedkey - Enforced motion key: - - OFF - Do not calculate enforced static modes. (default) - - ON - Calculate enforced static modes and write them to the Jobname.MODE file. + cputime + CPU time limit (in seconds) for the current phase of the analysis + (defaults to 0). If CPUTIME = 0, no CPU time limit is set. CPUTIME + values below 0 are not allowed. Notes ----- - Specifies additional modal analysis (ANTYPE,MODAL) options. - - Use the LVSCALE command to apply the desired load in a mode- - superposition transient or harmonic analysis. - - The maximum number of load vectors that can be used in the downstream - mode-superposition transient or harmonic analysis is: 240. - - Generation of multiple loads (MLSkey = ON) is supported by the Block - Lanczos, PCG Lanczos, Supernode, Subspace, Unsymmetric, and QR damped - modal methods. + This command is also valid in PREP7. - The enforced motion calculation (EnforcedKey = ON) is supported by the - Block Lanczos and Supernode mode extraction methods. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "MODCONT, %s, %s" % (str(mlskey), str(enforcedkey)) + command = "EDCPU,%s" % (str(cputime)) self.RunCommand(command, **kwargs) - def Numexp(self, num="", begrng="", endrng="", elcalc="", **kwargs): + def Cvar(self, ir="", ia="", ib="", itype="", datum="", name="", **kwargs): """ - APDL Command: NUMEXP + APDL Command: CVAR - Specifies solutions to be expanded from mode-superposition analyses or - substructure analyses. + Computes covariance between two quantities. Parameters ---------- - num - The number of solutions to expand. This value is required. + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previous + variable, the previous variable will be overwritten with this + result. - Num - Number of solutions to expand. + ia, ib + Reference numbers of the two variables to be operated on. If only + one, leave IB blank. - ALL - Expand all substeps between BEGRNG and ENDRNG (provided that ENDRNG > 0). If - BEGRNG and ENDRNG have no specified values, this option - expands all substeps of all load steps. + itype + Defines the type of response PSD to be calculated: - begrng, endrng - Beginning and ending time (or frequency) range for expanded - solutions. The default is 0 for both values. + 0,1 - Displacement (default). - elcalc - The element-calculation key: + 2 - Velocity. - YES - Calculate element results, nodal loads, and reaction loads. This value is the - default. + 3 - Acceleration. - NO - Do not calculate these items. + datum + Defines the reference with respect to which covariance is to be + calculated: + + 1 - Absolute value. + + 2 - Relative to base (default). + + name + Thirty-two character name for identifying the variable on listings + and displays. Embedded blanks are compressed upon output. Notes ----- - Specifies a range of solutions to be expanded from analyses that use - mode-superposition methods (ANTYPE,HARMIC or TRANS) or substructuring - (ANTYPE,SUBSTR). + This command computes the covariance value for the variables referenced + by the reference numbers IA and IB. If DATUM = 2, the variable + referenced by IR will contain the individual modal contributions (i.e., + the dynamic or relative values). If DATUM = 1, the variable referenced + by IR will contain the modal contributions followed by the + contributions of pseudo-static and covariance between dynamic and + pseudo-static responses. File.PSD must be available for the + calculations to occur. - For ANTYPE,TRANS, NUM, evenly spaced solutions are expanded between - time BEGRNG and time ENDRNG. + """ + command = "CVAR,%s,%s,%s,%s,%s,%s" % (str(ir), str(ia), str(ib), str(itype), str(datum), str(name)) + self.RunCommand(command, **kwargs) - For ANTYPE,HARMIC, NUM, evenly spaced solutions are expanded between - frequency BEGRNG and frequency ENDRNG. + def Psdcom(self, signif="", comode="", forcetype="", **kwargs): + """ + APDL Command: PSDCOM - The first expansion in all cases is done at the first point beyond - BEGRNG (that is, at BEGRNG + (ENDRNG - BEGRNG) / NUM)). + Specifies the power spectral density mode combination method. - The resulting results file will maintain the same load step, substep, - and time (or frequency) values as the use pass. + Parameters + ---------- + signif + Combine only those modes whose significance level exceeds theSIGNIF + threshold. For PSD response (SPOPT,PSD), the significance level is + defined as the modal covariance matrix term, divided by the maximum + modal covariance matrix term. Any term whose significance level is + less than SIGNIF is considered insignificant and is not contributed + to the mode combinations. The higher the SIGNIF threshold, the + fewer the number of terms used. SIGNIF defaults to 0.0001. If + SIGNIF is specified as 0.0, it is taken as 0.0. - For a single expansion of a solution, or for multiple expansions when - the solutions are not evenly spaced (such as in a mode-superposition - harmonic analysis with the cluster option), ANSYS, Inc. recommends - issuing one or more EXPSOL commands. + comode + First COMODE number of modes to be actually combined. COMODE must + always be less than or equal to NMODE (input quantity NMODE on the + SPOPT command). COMODE defaults to NMODE. COMODE performs a + second level of control for the first sequential COMODE number of + modes to be combined. It uses the significance level threshold + indicated by SIGNIF and operates only on the significant modes. - The NUMEXP command is invalid in these cases: + forcetype + Label identifying the forces to be combined: - In a substructing analysis (ANTYPE,SUBST) when a factorized matrix file - (the .LN22 file generated by the sparse solver) does not exist, causing - ANSYS to employ the full-resolve method. + STATIC - Combine the modal static forces (default). - If the full-resolve option is selected using the SEOPT command. + TOTAL - Combine the modal static plus inertial forces. - In both situations, use the EXPSOL command to perform a single - expansion for each solution desired. + Notes + ----- + This command is also valid for PREP7. This command is valid only for + SPOPT,PSD. - This command is also valid in PREP7. + PSDCOM is not allowed in ANSYS Professional. """ - command = "NUMEXP, %s, %s, %s, %s" % (str(num), str(begrng), str(endrng), str(elcalc)) + command = "PSDCOM,%s,%s,%s" % (str(signif), str(comode), str(forcetype)) self.RunCommand(command, **kwargs) - def Ksymm(self, ncomp="", np1="", np2="", ninc="", kinc="", noelem="", - imove="", **kwargs): + def Menu(self, key="", **kwargs): """ - APDL Command: KSYMM + APDL Command: /MENU - Generates a reflected set of keypoints. + Activates the Graphical User Interface (GUI). Parameters ---------- - ncomp - Symmetry key: + key + Activation key: - X - X (or R) symmetry (default). + ON - Activates the menu system (device dependent). - Y - Y (or θ) symmetry. + GRPH - Enters non-GUI graphics mode. - Z - Z (or Φ) symmetry. + Notes + ----- + Activates the Graphical User Interface (GUI). - np1, np2, ninc - Reflect keypoints from pattern beginning with NP1 to NP2 (defaults - to NP1) in steps of NINC (defaults to 1). If NP1 = ALL, NP2 and - NINC are ignored and pattern is all selected keypoints [KSEL]. If - Ncomp = 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 NP1 (NP2 and NINC are ignored). + Caution:: : if you include the /MENU,ON command in your start162.ans, + it should be the last command in the file. Any commands after /MENU,ON + may be ignored. (It is not necessary to include the /SHOW and /MENU,ON + commands in start162.ans if you will be using the launcher to enter the + ANSYS program.) - kinc - Keypoint increment between sets. If zero, the lowest available - keypoint numbers are assigned [NUMSTR]. + This command is valid in any processor. - noelem - Specifies whether nodes and elements are also to be generated: + """ + command = "/MENU,%s" % (str(key)) + self.RunCommand(command, **kwargs) - 0 - Generate nodes and point elements associated with the original keypoints, if - they exist. + def Slashclog(self, fname="", ext="", **kwargs): + """ + APDL Command: /CLOG - 1 - Do not generate nodes and elements. + Copies the session log file to a named file. - imove - Specifies whether keypoints will be moved or newly defined: + Parameters + ---------- + fname + File name and directory path to which the log file is to be copied + (248 characters maximum, including directory). If you do not + specify a directory path, it will default to your working directory + and you can use all 248 characters for the file name. - 0 - Generate additional keypoints. + ext + Filename extension (eight-character maximum). - 1 - Move original keypoints to new position retaining the same keypoint numbers - (KINC and NOELEM are ignored). Valid only if the old keypoints - are no longer needed at their original positions. - Corresponding meshed items are also moved if not needed at - their original position. + -- + Unused field. Notes ----- - Generates a reflected set of keypoints (and corresponding mesh) from a - given keypoint pattern by a symmetry reflection (see analogous node - symmetry command, NSYM). The MAT, TYPE, REAL, and ESYS attributes are - based upon the keypoints in the pattern and not upon the current - settings. Reflection is done in the active coordinate system by - changing a particular coordinate sign. Keypoints in the pattern may - have been generated in any coordinate system. However, solid modeling - in a toroidal coordinate system is not recommended. + This command is valid in any processor, but only during an interactive + run. """ - command = "KSYMM, %s, %s, %s, %s, %s, %s, %s" % (str(ncomp), str(np1), str(np2), str(ninc), str(kinc), str(noelem), str(imove)) + command = "/CLOG,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def L2tan(self, nl1="", nl2="", **kwargs): + def Plzz(self, rotvel="", deltarotvel="", **kwargs): """ - APDL Command: L2TAN + APDL Command: PLZZ - Generates a line tangent to two lines. + Plots the interference diagram from a cyclic modal analysis. Parameters ---------- - nl1 - Number of the first line generated line is tangent to. If - negative, assume P1 (see below) is the second keypoint of the line - instead of the first. If NL1 = P, graphical picking is enabled and - all remaining command fields are ignored (valid only in the GUI). + rotvel + Rotational speed in revolutions per minute (RPM) used to define the + speed line. If blank, use the rotational speed (from OMEGA) + specified in the prestressing step of the linear perturbation + analysis. If explicitly input as 0, or if the linear perturbation + was not used, no speed lines are plotted. - nl2 - Number of the second line generated line is tangent to. If - negative, assume P3 is the second keypoint of the line instead of - the first. + deltarotvel + Adds speed lines about the RotVel speed line corresponding to + RotVel ± DeltaRotVel. Only plotted if RotVel is known. Notes ----- - Generates a line (P2-P3) tangent at point P2 to line NL1 (P1-P2) and - tangent at point P3 to line NL2 (P3-P4). + PLZZ plots the cyclic modal frequencies as points on a frequency vs. + harmonic index (nodal diameter) graph. If rotational speed (RotVel) is + provided, the speed line is also plotted, leading to the interference + diagram (also known as the SAFE or ZZENF diagram). If DeltaRotVel is + also provided, two additional speed lines are plotted, enveloping the + safe speed line itself. + + For more information, see Postprocessing a Modal Cyclic Symmetry + Analysis in the Cyclic Symmetry Analysis Guide. """ - command = "L2TAN, %s, %s" % (str(nl1), str(nl2)) + command = "PLZZ,%s,%s" % (str(rotvel), str(deltarotvel)) self.RunCommand(command, **kwargs) - def Esel(self, type="", item="", comp="", vmin="", vmax="", vinc="", - kabs="", **kwargs): + def Edwrite(self, option="", fname="", ext="", **kwargs): """ - APDL Command: ESEL + APDL Command: EDWRITE - Selects a subset of elements. + Writes explicit dynamics input to an LS-DYNA input file. Parameters ---------- - type - Label identifying the type of select: - - S - Select a new set (default). - - R - Reselect a set from the current set. + option + Sets a flag in the LS-DYNA input file (Fname.Ext) to produce + desired output. - A - Additionally select a set and extend the current set. + ANSYS - Set a flag to write results files for the ANSYS postprocessors (default). The + files that will be written are Jobname.RST and Jobname.HIS + (see Notes below). - U - Unselect a set from the current set. + LSDYNA - Set a flag to write results files for the LS-DYNA postprocessor (LS-POST). The + files that will be written are D3PLOT, and files specified + by EDOUT and EDHIST (see Notes below). - ALL - Restore the full set. + BOTH - Set a flag to write results files for both ANSYS and LS-DYNA postprocessors. - NONE - Unselect the full set. + fname + File name and directory path (80 characters maximum, including + directory; this limit is due to an LS-DYNA program limitation). If + you do not specify a directory path, it will default to your + working directory. The file name defaults to Jobname. Previous data + on this file, if any, are overwritten. - INVE - Invert the current set (selected becomes unselected and vice versa). + ext + Filename extension (eight-character maximum). - STAT - Display the current select status. + -- + Unused field. Notes ----- - Selects elements based on values of a labeled item and component. For - example, to select a new set of elements based on element numbers 1 - through 7, use ESEL,S,ELEM,,1,7. The subset is used when the ALL label - is entered (or implied) on other commands, such as ELIST,ALL. Only - data identified by element number are selected. Selected data are - internally flagged; no actual removal of data from the database occurs. - Different element subsets cannot be used for different load steps - [SOLVE] in a /SOLU sequence. The subset used in the first load step - will be used for all subsequent load steps regardless of subsequent - ESEL specifications. - - This command is valid in any processor. - - Elements crossing the named path (see PATH command) will be selected. - This option is only available in PREP7 and POST1. If no geometry data - has been mapped to the path (i.e., via PMAP and PDEF commands), the - path will assume the default mapping option (PMAP,UNIFORM) to map the - geometry prior to selecting the elements. If an invalid path name is - given, the ESEL command is ignored (status of selected elements is - unchanged). If there are no elements crossing the path, the ESEL - command will return zero elements selected. + This command writes an LS-DYNA input file for the LS-DYNA solver. + EDWRITE is only valid if explicit dynamic elements have been specified. + This command is not necessary if the LS-DYNA solver is invoked from + within ANSYS, in which case Jobname.K (or Jobname.R) is written + automatically when the solution is initiated. (If LS-DYNA is invoked + from within ANSYS, use EDOPT to specify desired output.) - For selections based on non-integer numbers (coordinates, results, - etc.), items that are within the range VMIN -Toler and VMAX + Toler are - selected. The default tolerance Toler is based on the relative values - of VMIN and VMAX as follows: + If the analysis is a small restart (EDSTART,2), the file that is + written will have the name Jobname.R (by default) and will only contain + changes from the original analysis. - If VMIN = VMAX, Toler = 0.005 x VMIN. + If the analysis is a full restart (EDSTART,3), the file that is written + will have the name Jobname_nn.K (by default) and will contain all the + information from the database. In a full restart, the jobname is + changed to Jobname_nn (nn = 01 initially, and is incremented for each + subsequent full restart.) - If VMIN = VMAX = 0.0, Toler = 1.0E-6. + A command is included in the LS-DYNA input file to instruct the LS-DYNA + solver to write the results files indicated by Option. By default, LS- + DYNA will write the ANSYS results file Jobname.RST (see the EDRST + command). If Jobname.HIS is desired, you must also issue EDHIST. - If VMAX ≠ VMIN, Toler = 1.0E-8 x (VMAX - VMIN). + Option = LSDYNA or BOTH will cause LS-DYNA to write results files for + the LS-POST postprocessor. The D3PLOT file is always written for these + two options. If other LS-POST files are desired, you must issue the + appropriate EDHIST and EDOUT commands. - Use the SELTOL command to override this default and specify Toler - explicitly. + This command is also valid in PREP7. - Table: 133:: : ESEL - Valid Item and Component Labels + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "ESEL, %s, %s, %s, %s, %s, %s, %s" % (str(type), str(item), str(comp), str(vmin), str(vmax), str(vinc), str(kabs)) + command = "EDWRITE,%s,%s,%s" % (str(option), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Rescombine(self, numfiles="", fname="", ext="", lstep="", sbstep="", - fact="", kimg="", time="", angle="", nset="", order="", - **kwargs): + def Fslist(self, nloc1="", nloc2="", ninc="", nev="", nlod="", **kwargs): """ - APDL Command: RESCOMBINE + APDL Command: FSLIST - Reads results from local results files into the database after a - distributed memory parallel (Distributed ANSYS) solution. + Lists the stresses stored for fatigue evaluation. Parameters ---------- - numfiles - Number of local results files that are to be read into the database - from the distributed memory parallel solution. This number should - be equal to the number of processes used in the parallel solution. + nloc1, nloc2, ninc + List stresses from NLOC1 (defaults to 1) to NLOC2 (defaults to + NLOC1) in steps of NINC (defaults to 1). If NLOC1 = ALL, NLOC2 and + NINC are ignored and stresses for all locations are listed. - fname - File name (jobname) used during the distributed parallel solution. - The file name must be an alphanumeric string (up to 32 characters) - enclosed in single quotes. + nev + Event number for stress listing (defaults to ALL). - ext - File extension for the results files (for example, RST, RTH, RMG, - etc.). The file extension must be an alphanumeric string (up to 8 - characters) enclosed in single quotes. + nlod + Loading number for stress listing (defaults to ALL). - lstep - Load step number of the data set to be read (defaults to 1): + Notes + ----- + Stresses may be listed per location, per event, per loading, or per + stress condition. Use FELIST and FLLIST if only event and location + parameters (no stresses) are to be listed. - N - Read load step N. + """ + command = "FSLIST,%s,%s,%s,%s,%s" % (str(nloc1), str(nloc2), str(ninc), str(nev), str(nlod)) + self.RunCommand(command, **kwargs) - FIRST - Read the first data set (Sbstep and TIME are ignored). + def Rmmselect(self, nmode="", method="", dmin="", dmax="", **kwargs): + """ + APDL Command: RMMSELECT - LAST - Read the last data set (Sbstep and TIME are ignored). + Selects modes for the ROM method. - NEXT - Read the next data set (Sbstep and TIME are ignored). If at the last data set, - the first data set will be read as the next. + Parameters + ---------- + nmode + Total number of modes to be selected - PREVIOUS - Read the previous data set (Sbstep and TIME are ignored). If at the first data - set, the last data set will be read as the previous. + method + Method for mode selection. Valid methods are: - NEAR - Read the data set nearest to TIME (Sbstep is ignored). If TIME is blank, read - the first data set. + TMOD - Automated selection using a test load. TMOD must be enclosed in single quotes. - LIST - Scan the results files and list a summary of each load step (KIMG, TIME, ANGLE, - NSET, and ORDER are ignored.) + dmin + Lower bound for total deflection range. - sbstep - Substep number within Lstep (defaults to the last substep of the - load step). For a buckling (ANTYPE,BUCKLE) or modal (ANTYPE,MODAL) - analysis, Sbstep corresponds to the mode number (defaults to the - first mode). Specify Sbstep = LAST to store the last substep for - the specified load step. + dmax + Upper bound for total deflection range. - fact - Scale factor applied to data read from the files. If zero (or - blank), a value of 1.0 is used. A nonzero factor excludes non- - summable items. Harmonic velocities or accelerations may be - calculated from the displacement results from a modal - (ANTYPE,MODAL) or harmonic (ANTYPE,HARMIC) analysis. If Fact = - VELO, the harmonic velocities (v) are calculated from the - displacements (d) at a particular frequency (f) according to the - relationship v = 2πfd. Similarly, if Fact = ACEL, the harmonic - accelerations (a) are calculated as a = (2πf)2d. + Notes + ----- + Select pertinent modes for use in a ROM. Pertinent mode selection may + be enhanced by using the deflection state of the structure + representative of the operating nature of the device (Method = TMOD). A + static analysis with an applied Test Load may be used. The test load + displacements must be extracted at the neutral plane of the device (if + the device is stress-stiffened), or at any plane of the device (non- + stress-stiffened). A node component "NEUN" must be defined for the + plane of nodes, and the displacements extracted using the RMNDISP + command prior to issuing this command. If Method = NMOD, use the first + Nmode eigenmodes to select the pertinent modes for the ROM tool. Only + those modes are selected that act in the operating direction of the + structure [RMANL]. - kimg - Used only with complex results (harmonic and complex modal - analyses). + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - 0 or REAL - Store the real part of a complex solution (default). + jobname.evx, jobname.evy, jobname.evz, jobname.evn, jobname.evl - 1, 2 or IMAG - Store the imaginary part of a complex solution. + Test load and element load neutral plane displacement files: + jobname.tld, jobname.eld - 3 or AMPL - Store the amplitude. + """ + command = "RMMSELECT,%s,%s,%s,%s" % (str(nmode), str(method), str(dmin), str(dmax)) + self.RunCommand(command, **kwargs) - 4 or PHAS - Store the phase angle. The angle value, expressed in degrees, will be between - -180° and +180°. + def Spctemp(self, encl="", temp="", **kwargs): + """ + APDL Command: SPCTEMP - time - Time-point identifying the data set to be read. For a harmonic - analysis, time corresponds to the frequency. For a buckling - analysis, time corresponds to the load factor. Used only in the - following cases: If Lstep = NEAR, read the data set nearest to - TIME. If both Lstep and Sbstep are zero (or blank), read data set - at time = TIME. If TIME is between two solution time points on the - results file, a linear interpolation is done between the two data - sets. Solution items not written to the results file (OUTRES) for - either data set will result in a null item after data set - interpolation. If TIME is beyond the last time point on the file, - the last time point will be used. + Defines a free-space ambient temperature for radiation using the + Radiosity method. - angle - Circumferential location (0.0 to 360°). Defines the circumferential - location for the harmonic calculations used when reading from the - results file. The harmonic factor (based on the circumferential - angle) is applied to the harmonic elements (PLANE25, PLANE75, - PLANE78, PLANE83, and SHELL61) of the load case. See the Mechanical - APDL Theory Reference for details. Note that factored values of - applied constraints and loads will overwrite any values existing in - the database. + Parameters + ---------- + encl + Radiating surface enclosure number. Defaults to 1. If ENCL = STAT, + the command lists all enclosure space temperatures. If ENCL = + DELE, the command deletes all enclosure space temperatures. - nset - Data set number of the data set to be read. If a positive value for - NSET is entered, Lstep, Sbstep, KIMG, and TIME are ignored. - Available set numbers can be determined by RESCOMBINE,,,,LIST. + temp + Temperature of free-space in the reference temperature system. The + temperature will be offset by the value specified in the TOFFST + command for internal calculations. - order - Key to sort the harmonic index results. This option applies to - cyclic symmetry buckling and modal analyses only, and is valid only - when Lstep = FIRST, LAST, NEXT, PREVIOUS, NEAR or LIST. + Notes + ----- + For open systems, an enclosure may radiate to the free-space ambient + temperature (TEMP). - ORDER - Sort the harmonic index results in ascending order of eigenfrequencies or - buckling load multipliers. + Open systems may be characterized by one or more enclosures (ENCL). + Each enclosure may radiate to a different free-space ambient + temperature (TEMP). - (blank) - No sorting takes place. + For the first load step, the space temperature ramps from the uniform + temperature specified by the TUNIF command to the temperature specified + by the SPCTEMP command. For subsequent load steps, it ramps from the + previous value of the space temperature. For intermediate load steps, + use the SPCTEMP,DELETE command and specify the space temperature again + to ramp from the uniform temperature. + + If using SPCTEMP with the ANSYS Multi-field solver (MFS), you must + capture this command in the command file using MFCMMAND. This step is + necessary because at the end of each field computation, this command is + unset. + + """ + command = "SPCTEMP,%s,%s" % (str(encl), str(temp)) + self.RunCommand(command, **kwargs) + + def Lsbl(self, nl1="", nl2="", sepo="", keep1="", keep2="", **kwargs): + """ + APDL Command: LSBL + + Subtracts lines from lines. + + Parameters + ---------- + nl1 + Line (or lines, if picking is used) to be subtracted from. If ALL, + use all selected lines. Lines specified in this argument are not + available for use in the NL2 argument. If P, graphical picking is + enabled (valid only in the GUI) and all remaining fields are + ignored. A component name may also be substituted for NL1. + + nl2 + Line (or lines, if picking is used) to subtract. If ALL, use all + selected lines (except those included in the NL1 argument). A + component name may also be substituted for NL2. + + sepo + Behavior if the intersection of the NL1 lines and the NL2 lines is + a keypoint or keypoints: + + (blank) - The resulting lines will share keypoint(s) where they touch. + + SEPO - The resulting lines will have separate, but coincident keypoint(s) where they + touch. + + keep1 + Specifies whether NL1 lines are to be deleted: + + (blank) - Use the setting of KEEP on the BOPTN command. + + DELETE - Delete NL1 lines after LSBL operation (override BOPTN command settings). + + KEEP - Keep NL1 lines after LSBL operation (override BOPTN command settings). + + keep2 + Specifies whether NL2 lines are to be deleted: + + (blank) - Use the setting of KEEP on the BOPTN command. + + DELETE - Delete NL2 lines after LSBL operation (override BOPTN command settings). + + KEEP - Keep NL2 lines after LSBL operation (override BOPTN command settings). Notes ----- - RESCOMBINE is an ANSYS command macro that allows you to combine results - from a distributed memory parallel (Distributed ANSYS) solution. In a - distributed memory parallel solution, a global results file is saved by - default. However, if you issued DMPOPTION,RST,NO in the parallel - solution, no global results file is written and all local results files - will be kept. In this case, you can use the RESCOMBINE command macro in - the general postprocessor (/POST1) to read results into the database - for postprocessing. + Generates new lines by subtracting the regions common to both NL1 and + NL2 lines (the intersection) from the NL1 lines. The intersection can + be a line(s) or point(s). If the intersection is a point and SEPO is + blank, the NL1 line is divided at the point and the resulting lines + will be connected, sharing a common keypoint where they touch. If SEPO + is set to SEPO, NL1 is divided into two unconnected lines with separate + keypoints where they touch. See the Modeling and Meshing Guide for an + illustration. See the BOPTN command for an explanation of the options + available to Boolean operations. Element attributes and solid model + boundary conditions assigned to the original entities will not be + transferred to the new entities generated. LSBL,ALL,ALL will have no + effect since all the lines (in NL1) will be unavailable as NL2 lines. - In order to use the RESCOMBINE command, all local results files from - the distributed memory parallel solution must be in the current working - directory. If running on a single machine, the local results files are - saved in the working directory by default. If running on a cluster, the - local results files are kept in the working directory on each compute - node. For this latter case, you must copy the local results files to - the working directory on the primary compute node. + """ + command = "LSBL,%s,%s,%s,%s,%s" % (str(nl1), str(nl2), str(sepo), str(keep1), str(keep2)) + self.RunCommand(command, **kwargs) - Similar to the SET command, the RESCOMBINE command macro defines the - data set to be read from the results files into the database. Various - operations may also be performed during the read operation (see the SET - command for more details). The database must have the model data - available (or use the RESUME command before the RESCOMBINE command to - restore the geometry from Jobname.DB). + def Prnld(self, lab="", tol="", item="", **kwargs): + """ + APDL Command: PRNLD - After a set of data is combined into the database using RESCOMBINE, the - RESWRITE command can be used to write this set of data into a new - results file. This new results file will essentially contain the - current set of results data for the entire (i.e., global) model. + Prints the summed element nodal loads. - Upon completion of the RESCOMBINE command macro, the current file for - postprocessing (see the FILE command) is set to the last local results - file specified by RESCOMBINE. For example, if reading in four local - results files, the results file for/POST1 will be specified as - Jobname3.RST when the RESCOMBINE command macro is complete. Therefore, - be aware that some downstream postprocessing actions (such as a SET - command) may be operating on only this one local results file. + Parameters + ---------- + lab + Nodal reaction load type. If blank, use the first ten of all + available labels. Valid labels are: - The RESCOMBINE command macro is intended for use with /POST1. If you - want to postprocess distributed parallel solution results using the - time-history postprocessor (/POST26), it is recommended that you - combine your local results files into one global results file - (DMPOPTION,RST,YES). + tol + Tolerance value about zero within which loads are not printed, as + follows: - The load case commands in the general postprocessor (e.g., LCDEF, - LCFILE, LCOPER, etc.) are not supported when using RESCOMBINE. These - commands set up pointers into the results file used for postprocessing; - they cannot be used with the local results files used by RESCOMBINE. + > 0 - Relative tolerance about zero within which loads are not printed. In this case, + the tolerance is TOL * Load, where Load is the absolute + value of the maximum load on the selected nodes. - The /CYCEXPAND command used to enable cyclic expansion cannot be used - in conjunction with the RESCOMBINE command macro. This is because - /CYCEXPAND internally re-reads the results file to do the expansion, - and it cannot read multiple local results files. + 0 - Print all nodal loads. + + > 0 - Absolute tolerance about zero within which loads are not printed. + + item + Selected set of nodes. + + (blank) - Prints the summed element nodal loads for all selected nodes (default), + excluding contact elements. + + CONT - Prints the summed element nodal loads for contact nodes only. + + BOTH - Prints the summed element nodal loads for all selected nodes, including contact + nodes. + + Notes + ----- + Prints the summed element nodal loads (forces, moments, heat flows, + flux, etc.) for the selected nodes in the sorted sequence. Results are + in the global Cartesian coordinate directions unless transformed + [RSYS]. Zero values (within a tolerance range) are not printed. Loads + applied to a constrained degree of freedom are not included. The FORCE + command can be used to define which component of the nodal load is to + be used (static, damping, inertia, or total). + + By default, PRNLD excludes elements TARGE169 - CONTA177. Setting ITEM = + CONT will only account for nodal forces on selected contact elements + (CONTA171 - CONTA177). Setting ITEM = BOTH will account for nodal + forces on all selected nodes, including contact nodes. """ - command = "RESCOMBINE, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(numfiles), str(fname), str(ext), str(lstep), str(sbstep), str(fact), str(kimg), str(time), str(angle), str(nset), str(order)) + command = "PRNLD,%s,%s,%s" % (str(lab), str(tol), str(item)) self.RunCommand(command, **kwargs) - def Djlist(self, elem="", **kwargs): + def Slashexit(self, slab="", fname="", ext="", **kwargs): """ - APDL Command: DJLIST + APDL Command: /EXIT - Lists boundary conditions applied to joint elements. + Stops the run and returns control to the system. Parameters ---------- - elem - Element number or ALL (or blank). Lists joint element boundary - conditions on the specified element(s). + slab + Mode for saving the database: + + MODEL - Save the model data (solid model, finite element model, loadings, etc.) only + (default). + + SOLU - Save the model data and the solution data (nodal and element results). + + ALL - Save the model data, solution data and post data (element tables, path results, + etc.) + + NOSAVE - Do not save any data on File.DB (an existing DB file will not be overwritten). + + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. + + ext + Filename extension (eight-character maximum). + + -- + Unused field. Notes ----- - This command is valid for MPC184 joint elements. See DJ for information - on specifying boundary conditions on joint elements. + The current database information may be written on File.DB or a named + file. If File.DB already exists, a backup file (File.DBB) will also be + written whenever a new File.DB is written. + + This command is valid in any processor. Issuing this command at any + point will exit the program. """ - command = "DJLIST, %s" % (str(elem)) + command = "/EXIT,%s,%s,%s" % (str(slab), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Edpvel(self, option="", pid="", vx="", vy="", vz="", omegax="", - omegay="", omegaz="", xc="", yc="", zc="", angx="", angy="", - angz="", **kwargs): + def Edvel(self, option="", cname="", vx="", vy="", vz="", omegax="", + omegay="", omegaz="", xc="", yc="", zc="", angx="", angy="", + angz="", **kwargs): """ - APDL Command: EDPVEL + APDL Command: EDVEL - Applies initial velocities to parts or part assemblies in an explicit + Applies initial velocities to nodes or node components in an explicit dynamic analysis. Parameters @@ -22891,33 +23402,32 @@ def Edpvel(self, option="", pid="", vx="", vy="", vz="", omegax="", option Label identifying the option to be performed. - VGEN - Define initial velocities for the part or part assembly based on translational - velocities (relative to global Cartesian) and the rotational - velocity about an arbitrary axis. For this option, use the - fields VX, VY, VZ to specify the translational velocities, - and use OMEGAX, XC, YC, ZC, ANGX, ANGY, ANGZ to specify the - rotational velocity and the axis of rotation. + VGEN - Define initial velocities based on translational velocities (relative to global + Cartesian) and the rotational velocity about an arbitrary + axis. For this option, use the fields VX, VY, VZ to specify + the translational velocities, and use OMEGAX, XC, YC, ZC, + ANGX, ANGY, ANGZ to specify the rotational velocity and the + axis of rotation. - VELO - Define initial velocity for the part or part assembly based on translational - velocities and nodal rotational velocities input relative to - the global Cartesian axes. For this option, use the - following fields to define the initial velocity: VX, VY, VZ, - OMEGAX, OMEGAY, OMEGAZ. + VELO - Define initial velocity based on translational velocities and nodal rotational + velocities input relative to the global Cartesian axes. For + this option, use the following fields to define the initial + velocity: VX, VY, VZ, OMEGAX, OMEGAY, OMEGAZ. - LIST - List initial velocity for the part or part assembly specified by PID. If PID is - blank, all initial velocities defined on parts and part - assemblies are listed. Remaining fields are ignored for this + LIST - List initial velocity for the component or node specified by Cname. If Cname is + blank, all initial velocities defined on nodes and node + components are listed. Remaining fields are ignored for this option. - DELE - Delete initial velocity defined for the part or part assembly specified by PID. - If PID is blank, all initial velocities defined on parts and - part assemblies are deleted. Remaining fields are ignored - for this option. + DELE - Delete initial velocity defined for the component or node specified by Cname. + If Cname is blank, all initial velocities defined on nodes + and node components are deleted. Remaining fields are + ignored for this option. - pid - Part ID or part assembly ID to which the initial velocity is to be - applied. The part or assembly ID must be defined (EDPART or EDASMP) - before issuing this command. + cname + Name of existing component [CM] or node number to which the initial + velocity is to be applied. If a component is used, it must consist + of nodes. vx Initial velocity in X direction. Defaults to 0. @@ -22930,9 +23440,9 @@ def Edpvel(self, option="", pid="", vx="", vy="", vz="", omegax="", omegax For Option = VGEN, OMEGAX is the initial rotational velocity of the - part or part assembly about the specified rotational axis. For - Option = VELO, OMEGAX is the initial nodal rotational velocity - about the X-axis. OMEGAX defaults to 0. + component (or node) about the specified rotational axis. For Option + = VELO, OMEGAX is the initial nodal rotational velocity about the + X-axis. OMEGAX defaults to 0. omegay Initial nodal rotational velocity about the Y-axis (used only if @@ -22950,16 +23460,16 @@ def Edpvel(self, option="", pid="", vx="", vy="", vz="", omegax="", The VGEN and VELO methods differ in how the rotational velocity is defined. Use Option = VGEN to input the initial velocities of a - rotating part or part assembly. Use Option = VELO to apply the - rotations directly to the nodes' rotation degrees of freedom. Since - only shell and beam elements have rotation degrees of freedom, the - rotations input with Option = VELO are only applicable to SHELL163 and - BEAM161 elements. The rotational velocities input with Option = VELO - are ignored for nodes not having rotational degrees of freedom (such as - nodes attached to a SOLID164 or SOLID168 element). + rotating component. Use Option = VELO to apply the rotations directly + to the nodes' rotation degrees of freedom. Since only shell and beam + elements have rotation degrees of freedom, the rotations input with + Option = VELO are only applicable to SHELL163 and BEAM161 elements. The + rotational velocities input with Option = VELO are ignored for nodes + not having rotational degrees of freedom (such as nodes attached to a + SOLID164 or SOLID168 element). It is normally acceptable to mix nodes belonging to deformable bodies - and rigid bodies in the part assembly used in an initial velocity + and rigid bodies in the nodal component used in an initial velocity definition. However, when defining initial velocities in an implicit- to-explicit sequential solution, this is not an acceptable practice. In order for the initial velocities to be defined correctly in this type @@ -22967,30 +23477,31 @@ def Edpvel(self, option="", pid="", vx="", vy="", vz="", omegax="", body nodes separately from the initial velocities on the rigid body nodes. - Issuing the EDPVEL command again for the same part or part assembly - (PID) will overwrite previous initial velocities defined for that part - or part assembly. + Issuing the EDVEL command again for the same component or node (Cname) + will overwrite previous initial velocities defined for that component + or node. - To set the initial velocities to zero, issue the EDPVEL command with - only the Option (use VELO or VGEN) and PID fields specified. + To set the initial velocities to zero, issue the EDVEL command with + only the Option (use VELO or VGEN) and Cname fields specified. In a small restart analysis (EDSTART,2), you can only use the Option = VELO method to change initial velocities. When used in a small restart, - the command EDPVEL,VELO changes the velocity of the specified part or - part assembly. If you don't change the velocity of the parts and - assemblies, their velocity at the beginning of the restart will be the - same as the velocity at the end of the previous analysis. + the command EDVEL,VELO changes the velocity of the specified nodes. If + you don't change the velocity of the nodes, their velocity at the + beginning of the restart will be the same as the velocity at the end of + the previous analysis. - Except for the LIST option, the EDPVEL command is not supported in a + Except for the LIST option, the EDVEL command is not supported in a full restart analysis (EDSTART,3). You can list initial velocities - defined in the previous analysis with the command EDPVEL,LIST. However, - you cannot change initial velocities for parts that existed in the - previous analysis; their velocity at the beginning of the analysis will - be the same as the velocity at the end of the previous analysis. In - addition, you cannot define initial velocities for any parts that are - added in the full restart; the velocity of new parts will be zero. + defined in the previous analysis with the command EDVEL,LIST. However, + you cannot change initial velocities for nodes or node components that + existed in the previous analysis; their velocity at the beginning of + the analysis will be the same as the velocity at the end of the + previous analysis. In addition, you cannot define initial velocities + for any nodes that are added in the full restart; the velocity of new + nodes will be zero. - To apply initial velocities to node components or nodes, use the EDVEL + To apply initial velocities to parts or part assemblies, use the EDPVEL command. You can use EDPVEL and EDVEL in the same analysis. If a node or node @@ -23005,4409 +23516,3934 @@ def Edpvel(self, option="", pid="", vx="", vy="", vz="", omegax="", Distributed ANSYS. """ - command = "EDPVEL, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(pid), str(vx), str(vy), str(vz), str(omegax), str(omegay), str(omegaz), str(xc), str(yc), str(zc), str(angx), str(angy), str(angz)) + command = "EDVEL,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(cname), str(vx), str(vy), str(vz), str(omegax), str(omegay), str(omegaz), str(xc), str(yc), str(zc), str(angx), str(angy), str(angz)) self.RunCommand(command, **kwargs) - def Fmagsum(self, cnam1="", cnam2="", cnam3="", cnam4="", cnam5="", - cnam6="", cnam7="", cnam8="", cnam9="", **kwargs): + def Slashfdele(self, ident="", stat="", **kwargs): """ - APDL Command: FMAGSUM + APDL Command: /FDELE - Summarizes electromagnetic force calculations on element components. + Deletes a binary file after it is used. Parameters ---------- - cnam1, cnam2, cnam3, . . . , cnam9 - Names of existing element components for which Maxwell or virtual - work boundary conditions were applied in the preprocessor. Must be - enclosed in single quotes (e.g., `Cnam1') when the command is - manually typed in. + ident + ANSYS file name identifier. Valid identifiers are: EMAT, ESAV, + FULL, SUB, MODE, DSUB, USUB, OSAV, and SELD. See the Basic + Analysis Guide for file descriptions. + + stat + Keep or delete key: + + KEEP - Keep this file. + + DELE - Delete (or do not write, if not necessary) this file. Notes ----- - FMAGSUM invokes an ANSYS macro that summarizes the Maxwell and virtual - work forces. The element components must have had appropriate Maxwell - or virtual work boundary conditions established in the preprocessor - prior to solution in order to retrieve forces (see FMAGBC, SF, BF - commands). The forces are also stored on a per-element basis for the - adjacent air layer surrounding the components in the element table - [ETABLE]. Maxwell forces are stored as items FMX_X, FMX_Y, and FMX_Z, - and virtual work forces are stored as items FVW_X, FVW_Y, and FVW_Z. - Use the PLETAB and PRETAB commands to plot and list the element table - items. + Deletes as soon as possible (or prevents writing) a binary file created + by the ANSYS program to save space. - If using elements PLANE121, SOLID122, SOLID123, PLANE233, SOLID236, - and SOLID237, use EMFT to summarize electromagnetic force and torque. + Caution:: : Deleting files that are necessary for the next substep, + load step, or analysis will prevent continuation of the run. - FMAGSUM can also be used to summarize time-average forces from a 2-D - harmonic analysis. + This command is valid only at the Begin Level. """ - command = "FMAGSUM, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(cnam1), str(cnam2), str(cnam3), str(cnam4), str(cnam5), str(cnam6), str(cnam7), str(cnam8), str(cnam9)) + command = "/FDELE,%s,%s" % (str(ident), str(stat)) self.RunCommand(command, **kwargs) - def Hbmat(self, fname="", ext="", form="", matrx="", rhs="", mapping="", - **kwargs): + def Prange(self, linc="", vmin="", vmax="", xvar="", **kwargs): """ - APDL Command: HBMAT + APDL Command: PRANGE - Writes an assembled global matrix in Harwell-Boeing format. + Determines the path range. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + linc, vmin, vmax + Set the range for listing or displaying the table locations between + a minimum value (VMIN) and a maximum value (VMAX) of the path + distance with a location increment of LINC (defaults to 1). The + first location begins at VMIN. - ext - Filename extension (eight-character maximum). + xvar + Path variable item to be used as the x-axis plot variable. Any + valid path variable may be used (PDEF command). Default variable + is the path distance, S. - -- - Unused field. + Notes + ----- + Determines the path distance range for use with the PRPATH and PLPATH + commands. - form - Specifies format of output matrix file: + """ + command = "PRANGE,%s,%s,%s,%s" % (str(linc), str(vmin), str(vmax), str(xvar)) + self.RunCommand(command, **kwargs) - ASCII - Write output matrix file in ASCII form. + def Line(self, **kwargs): + """ + APDL Command: LINE - BIN - Write output matrix file in binary form. + Specifies "Lines" as the subsequent status topic. - matrx - Specify which matrix to write to the output matrix file: + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - STIFF - Write stiffness matrix to output matrix file. Valid for all types of analyses - that write a .FULL file. + If entered directly into the program, the STAT command should + immediately follow this command. - MASS - Write mass matrix to output matrix file. Valid for buckling, substructure, and - modal analyses. If .FULL file was generated in a buckling - analysis, then this label will write stress stiffening - matrix to output matrix file. + """ + command = "LINE," % () + self.RunCommand(command, **kwargs) - DAMP - Write damping matrix to output matrix file. Only valid for damped modal - analyses. + def Edge(self, wn="", key="", angle="", **kwargs): + """ + APDL Command: /EDGE - rhs - Specifies whether to write the right-hand side vector to output - matrix file: + Displays only the common lines (“edges”) of an object. - YES - Write right-hand side vector to output matrix file. + Parameters + ---------- + wn + Window number (or ALL) to which command applies. The default window + is 1. - NO - Do not write right-hand side vector to output matrix file. + key + Edge key: - mapping - Specifies whether to write the mapping file. This file is always - named Fname.MAPPING. + 0 - Display common lines between all adjacent element faces. - YES - Write the mapping file. + 1 - Display only the common lines between non-coplanar faces (that is, show only + the edges). - NO - Do not write the mapping file (default). + angle + Largest angle between two faces for which the faces are considered + to be coplanar (0° to 180°). Defaults to 45°. A smaller angle + produces more edges, a larger angle produces fewer edges. Notes ----- - This command is used to copy a matrix from the assembled global matrix - file (.FULL file) or from the superelement matrix file (.SUB file) as - specified on the FILEAUX2 command and write it in Harwell-Boeing format - to a new file, named jobname.MATRIX. The Harwell-Boeing format is - widely used by other applications that deal with matrices. + The ANGLE field is used in PowerGraphics to determine geometric + discontinuities. It is a tolerance measure for the differences between + the normals of the surfaces being considered. Values within the + tolerance are accepted as coplanar (geometrically continuous). In + postprocessing displays, results are not averaged across discontinuous + surfaces. - The assembled global matrix file is created during solution depending - on the analysis type, equation solver, and other solution options. By - default, the assembled global matrix file is never deleted at the end - of solution. For most analysis types, the Sparse direct solver and the - ICCG solver will write a .FULL file. All mode extraction methods used - for buckling and modal analyses will write a properly formatted .FULL - file to be used with the HBMAT command. However, when using Distributed - ANSYS, a majority of analyses will write a distributed (or local) form - of the .FULL file which is not currently supported by the HBMAT - command. - - When dumping the stiffness matrix for transient and harmonic analyses, - be aware that the element mass matrix values (and possibly element - damping matrix values) are incorporated into the globally assembled - stiffness matrix. Thus, the globally assembled stiffness matrix - represents more than the stiffness of the model for these analysis - types. Please refer to the Mechanical APDL Theory Reference for more - details. - - When dumping a .FULL file, the rows and columns corresponding to - specified constraints (e.g., D commands) are eliminated from the system - of equations and therefore are not written to the .MATRIX file. Also, - rows and columns corresponding to eliminated (slave) degrees of freedom - from coupling and/or constraint equations (e.g., CE, CP commands) are - also eliminated from the system of equations and are not written to the - .MATRIX file. The DOFs that are eliminated from any coupling and/or - constraint equations are determined internally by the solution code and - may not match what you specified via the CE/CP (or similar) commands. - - When dumping a .SUB file, the full nxn matrix will be written to the - .MATRIX file for either symmetric or unsymmetric matrices, regardless - of whether any of the matrix coefficients are zero-valued. When dumping - a .FULL file, only the lower triangular part of the matrix will be - written to the .MATRIX file if the matrix is symmetric; the full matrix - is written if the matrix is unsymmetric. Only matrix coefficients that - are greater than zero will be written. - - The Harwell-Boeing format is column-oriented. That is, non-zero matrix - values are stored with their corresponding row indices in a sequence of - columns. However, since the ANSYS matrix files are stored by row and - not column, when the HBMAT command is used with a non-symmetric matrix, - the transpose of the matrix is, in fact, written. + A surface can be displayed as an edge outline without interior detail. + This is useful for both geometry and postprocessing displays. Element + outlines are normally shown as solid lines for geometry and + displacement displays. Lines common to adjacent "coplanar" element + faces are removed from the display. Midside nodes of elements are + ignored. - The WRFULL command, in conjunction with the SOLVE command, can be used - to generate the assembled global matrix file and eliminate the equation - solution process and results output process. + The /SHRINK option is ignored with the edge option. - The mapping file can be used to map the matrix equation numbers found - in the .MATRIX file directly to the corresponding node numbers and - degrees of freedom. + /EDGE is not supported for PLESOL and /ESHAPE displays when in + PowerGraphics mode (/GRAPHICS,POWER). - When dumping a CMS .SUB file, the last rows/columns of the matrix are - non-physical degrees of freedom added internally by the CMS process and - cannot be mapped directly to a node number or particular degree of - freedom. + The /EDGE command is valid in any processor. """ - command = "HBMAT, %s, %s, %s, %s, %s, %s" % (str(fname), str(ext), str(form), str(matrx), str(rhs), str(mapping)) + command = "/EDGE,%s,%s,%s" % (str(wn), str(key), str(angle)) self.RunCommand(command, **kwargs) - def Anmode(self, nfram="", delay="", ncycl="", kaccel="", **kwargs): + def Imagin(self, ir="", ia="", name="", facta="", **kwargs): """ - APDL Command: ANMODE + APDL Command: IMAGIN - Produces an animated sequence of a mode shape. + Forms an imaginary variable from a complex variable. Parameters ---------- - nfram - Number of frames captures (defaults to 5). + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. - delay - Time delay during animation (defaults to 0.1 seconds). + ia + Reference number of the variable to be operated on. - ncycl - Number of animation cycles (defaults to 5). Available in non-UI - mode only. + --, -- + Unused fields. - kaccel - Acceleration type: + name + Thirty-two character name for identifying the variable on the + printout and displays. Embedded blanks are compressed upon output. - 0 - Linear acceleration. + --, -- + Unused fields. - 1 - Sinusoidal acceleration. + facta + Scaling factor (positive or negative) applied to variable IA + (defaults to 1.0). Notes ----- - ANMODE involves an ANSYS macro which produces an animation of mode - shape of the last plot action command (for example, PLDISP). The - ANMODE command operates only on graphic display platforms supporting - the /SEG command. After executing ANMODE, you can replay the animated - sequence by issuing the ANIM command. + This command forms a new variable from a complex variable by storing + the imaginary part as the real part. The imaginary part can then be + used in other operations. Used only with harmonic analyses + (ANTYPE,HARMIC). - This command functions only in the postprocessor. + Complex variables are stored in two-column arrays with the real + component stored in the first column and the imaginary component stored + in the second column. This command extracts the value stored in the + second column (i.e., imaginary component). However, with harmonic + analyses, all variables are stored in two-column arrays as complex + variables. If the variable is not complex, then the same value is + stored in both columns. This command will extract the variable in the + second column of the array, even if this variable is not the imaginary + component of a complex variable. """ - command = "ANMODE, %s, %s, %s, %s" % (str(nfram), str(delay), str(ncycl), str(kaccel)) + command = "IMAGIN,%s,%s,%s,%s" % (str(ir), str(ia), str(name), str(facta)) self.RunCommand(command, **kwargs) - def Cplgen(self, nsetf="", lab1="", lab2="", lab3="", lab4="", lab5="", - **kwargs): + def Cfwrite(self, command="", **kwargs): """ - APDL Command: CPLGEN + APDL Command: *CFWRITE - Generates sets of coupled nodes from an existing set. + Writes an ANSYS command (or similar string) to a "command" file. Parameters ---------- - nsetf - Generate sets from existing set NSETF. - - lab1, lab2, lab3, . . . , lab5 - Generate sets with these labels (see CP command for valid labels). - Sets are numbered as the highest existing set number + 1. + command + Command or string to be written. The standard command form of a + label followed by arguments separated by commas is assumed. + Command may be a parameter assignment (e.g., *CFWRITE, A = 5). Notes ----- - Generates additional sets of coupled nodes (with different labels) from - an existing set [CP, CPNGEN]. The same node numbers are included in - the generated sets. If all labels of nodes are to be coupled and the - nodes are coincident, the NUMMRG command should be used to - automatically redefine the node number (for efficiency). + Writes an ANSYS command (or similar string) to the file opened with + *CFOPEN. The Command string is not executed (except that numeric and + character parameter substitution and operations (with imbedded *, /, >, + etc. characters) are performed before writing). When used with *GET + results and parameter substitution, an ANSYS command can be created + from results and then read back into the ANSYS program (or used + elsewhere). For example, if the command *CFWRITE,BF,NNUM,TEMP,TVAL is + used in a do-loop, where TVAL is a parameter value returned from the + *GET operation and NNUM is a specified or returned parameter value, a + series of BF commands, with numerical values substituted for the two + parameters, will be written. To create a file without parameter + substitution, use *CREATE. + + This command is valid in any processor. """ - command = "CPLGEN, %s, %s, %s, %s, %s, %s" % (str(nsetf), str(lab1), str(lab2), str(lab3), str(lab4), str(lab5)) + command = "*CFWRITE,%s" % (str(command)) self.RunCommand(command, **kwargs) - def Ndist(self, nd1="", nd2="", **kwargs): + def Mpdata(self, lab="", mat="", sloc="", c1="", c2="", c3="", c4="", + c5="", c6="", **kwargs): """ - APDL Command: NDIST + APDL Command: MPDATA - Calculates and lists the distance between two nodes. + Defines property data to be associated with the temperature table. Parameters ---------- - nd1 - First node in distance calculation. If ND1 = P, graphical picking - is enabled and all remaining command fields are ignored (valid only - in the GUI). + lab + Valid property label. Applicable labels are listed under "Material + Properties" in the input table for each element type in the Element + Reference. See Linear Material Properties in the Mechanical APDL + Material Reference for more complete property label definitions: - nd2 - Second node in distance calculation. + ALPD - Mass matrix multiplier for damping. - Notes - ----- - NDIST lists the distance between nodes ND1 and ND2, as well as the - current coordinate system offsets from ND1 to ND2, where the X, Y, and - Z locations of ND1 are subtracted from the X, Y, and Z locations of ND2 - (respectively) to determine the offsets. NDIST is valid in any - coordinate system except toroidal [CSYS,3]. + ALPX - Secant coefficients of thermal expansion (also ALPY, ALPZ). (See also MPAMOD + command for adjustment to reference temperature). - NDIST returns a variable, called "_RETURN," which contains the distance - value. You can use this value for various purposes, such as the - calculation of distributed loads. In interactive mode, you can access - this command by using the Model Query Picker (Utility Menu> List> - Picked Entities), where you can also access automatic annotation - functions and display the value on your model. + BETD - Stiffness matrix multiplier for damping. - This command is valid in any processor. + BETX - Coefficient of diffusion expansion (also BETY, BETZ) - """ - command = "NDIST, %s, %s" % (str(nd1), str(nd2)) - self.RunCommand(command, **kwargs) + C - Specific heat. - def Shpp(self, lab="", value1="", value2="", **kwargs): - """ - APDL Command: SHPP + CREF - Reference concentration (may not be temperature dependent) - Controls element shape checking. + CSAT - Saturated concentration - Parameters - ---------- - lab - Shape checking option. (When Lab = WARN, STATUS, SUMMARY, or - DEFAULT, the remaining arguments are ignored.) + CTEX - Instantaneous coefficients of thermal expansion (also CTEY, CTEZ). - ON - Activates element shape checking. New elements, regardless of how they are - created, are tested against existing warning and error limits. - (The existing limits may be the default limits, or previously - modified limits.) Elements that violate error limits produce - error messages and either (a) cause a meshing failure, or (b) - for element creation or storage other than AMESH or VMESH, are - not stored. Elements that violate warning limits produce - warning messages. If shape checking was previously turned off - [SHPP,OFF] and you turn it on, existing elements are marked as - untested; use the CHECK command to retest them. With this - option, you may also specify a value for VALUE1 to turn - individual shape tests on. If you do not specify a value for - VALUE1, all shape tests are turned on. + DENS - Mass density. - WARN - Activates element shape checking; however, in contrast to SHPP,ON, elements - that violate error limits do not cause either a meshing or - element storage failure. Instead, they produce warning - messages to notify you that error limits have been violated. - This option does not alter current shape parameter limits. - Since the default shape parameter error limits are set to - allow almost any usable element, the elements this option - allows, which would otherwise be forbidden, are likely to be - very poorly shaped. + DMPR - Constant material damping coefficient. - OFF - Deactivates element shape checking. This setting does not alter current shape - parameter limits. Use of this option is risky, since poorly - shaped elements can lead to analysis results that are less - accurate than would otherwise be expected for a given mesh - density. With this option, you may also specify a value for - VALUE1 to turn individual shape tests off. If you do not - specify a value for VALUE1, all element shape tests are - turned off. + DXX - Diffusivity coefficients (also DYY, DZZ) - SILENT - Determines whether element shape checking runs in silent mode. In silent mode, - ANSYS checks elements without issuing warnings, with the - exception of the generic warnings that it issues at - solution. With this option, you must also specify a value - for VALUE1 (During the execution of certain commands, - ANSYS automatically runs element shape checking in silent - mode, then internally summarizes the shape test results - for all of the new or modified elements. ANSYS does this - when it executes any of the following commands: AGEN, - AMESH, AREFINE, ARSYM, ATRAN, CDREAD, EGEN, ENGEN, ENSYM, - EREAD, EREFINE, ESYM, ET, FVMESH, KREFINE, LREFINE, - NREFINE, TIMP, VEXT, VGEN, VIMP, VMESH, VOFFST, VROTAT, - VSWEEP, VSYMM, and VTRAN.) + EMIS - Emissivity. - STATUS - Lists the shape parameter limits currently in effect, along with status - information about element shape checking (for example, - whether any individual shape tests are off, whether any of - the shape parameter limits have been modified, and so on). + ENTH - Enthalpy. - SUMMARY - Lists a summary of element shape test results for all selected elements. + EX - Elastic moduli (also EY, EZ). - DEFAULT - Resets element shape parameter limits to their default values. Also, if any - individual tests were turned off, turns them back on. - (The SHPP,DEFAULT command may be useful if any parameter - limits were previously altered by using the MODIFY - option.) + GXY - Shear moduli (also GYZ, GXZ). - OBJECT - Determines whether element shape test results data is stored in memory. When - this option is turned on, an "object" is created for - storing test results in memory. When this option is - turned off, no object is created and no data is stored; - thus, any operation that requires shape parameters for an - existing element (such as use of the CHECK command) causes - the shape parameters to be recomputed. (Note the - distinction between storing the data in memory and storing - it in the database; regardless of whether this option is - turned on or off, no element shape test results data will - be stored in the database. The element shape parameter - object is deleted automatically before any solution.) - This setting is independent of shape checking status, with - one exception--if shape checking is turned off [SHPP,OFF], - the object is not created. Keep in mind that recomputing - shape parameters is more computationally expensive than - retrieving them from the object. With this option, you - must also specify a value for the VALUE1 argument; the - VALUE2 argument is ignored. + HF - Convection or film coefficient. - LSTET - Determines, for Jacobian ratio tests, whether sampling is done at integration - points (DesignSpace product method), or at corner nodes. - When this option is turned on, sampling is done at - integration points, and the default limits for h-element - Jacobian ratios are a warning tolerance of 10 and an error - tolerance of 40. When this option is turned off, sampling - is done at corner nodes, and the corresponding default - limits are a warning tolerance of 30 and an error tolerance - of 1000. Sampling at the integration points (option on) - results in a lower Jacobian ratio, but that ratio is also - subjected to a more restrictive error limit. Some elements - that have passed the integration point sampling criterion, - have failed the corner mode sampling criterion. Because of - this, use integration point sampling only for simple linear - analyses. For other types of analyses (e.g., nonlinear, - electromagnetic), use sampling at corner nodes, which is - the more conservative approach. With this option, you must - also specify a value for the VALUE1 argument; the VALUE2 - argument is ignored. + KXX - Thermal conductivities (also KYY, KZZ). - MODIFY - Indicates that you want to respecify a shape parameter limit. With this - option, you must also specify values for the VALUE1 and - VALUE2 arguments. + LSST - Dielectric loss tangent. - FLAT - Determines the warning and error limits used to test elements that may exhibit - nonzero/nonconstant Z coordinates. With this option, you - must also specify values for the VALUE1 and/or VALUE2 - arguments. + MGXX - Magnetic coercive forces (also MGYY, MGZZ). - value1 - Valid for the ON, OFF, SILENT, OBJECT, LSTET, MODIFY, and FLAT - options only. When Lab = ON or OFF, use VALUE1 to individually - control (that is, turn off or turn on) specific element shape - tests. Thus, VALUE1 can be ANGD (SHELL28 corner angle deviation - tests), ASPECT (aspect ratio tests), PARAL (deviation from - parallelism of opposite edges tests), MAXANG (maximum corner angle - tests), JACRAT (Jacobian ratio tests), WARP (warping factor tests), - or ALL (all tests). When Lab = SILENT, VALUE1 can be ON (to turn - silent mode on) or OFF (to turn silent mode off). When Lab = - OBJECT, VALUE1 can be either 1, YES, or ON to turn on storage of - element shape test data (the default); or it can be 0, NO, or OFF - to turn off storage of element shape test data (delete the data and - recompute as necessary). When Lab = LSTET, VALUE1 can be either 1, - YES, or ON to choose Jacobian sampling at integration points; or it - can be 0, NO, or OFF to choose Jacobian sampling at nodes (the - default). When Lab = MODIFY, VALUE1 is the numeric location (within - the shape parameter limit array) of the shape parameter limit to be - modified. Locations are identified in the element shape checking - status listing [SHPP,STATUS]. For more information, see the - examples in the Notes section. When Lab = FLAT, VALUE1 is the - warning limit for XY element constant Z sets performed at CHECK or - SOLVE. The default is 1.0e-8. + MU - Coefficient of friction. - value2 - Valid for the MODIFY and FLAT options only. When Lab = MODIFY, - specifies the new limit for the shape parameter that is in the - location indicated by the VALUE1 argument. See the examples in the - Notes section. When Lab = FLAT, VALUE2 is the error limit. The - default is 1.0e-2. + MURX - Magnetic relative permeabilities (also MURY, MURZ). - Notes - ----- - The following examples illustrate how to use the - SHPP,MODIFY,VALUE1,VALUE2 command to respecify shape parameter limits. - Assume that you issued the SHPP,STATUS command, and you received the - output below: + NUXY - Minor Poisson's ratios (also NUYZ, NUXZ). - Notice that in the sample output, the warning tolerance for aspect - ratios is set to 20. Now assume that you want to "loosen" this shape - parameter limit so that it is less restrictive. To allow elements with - aspect ratios of up to 500 without causing warning messages, you would - issue this command: + PERX - Electric relative permittivities (also PERY, PERZ). - Also notice that each shape parameter's numeric location within the - shape parameter limit array appears in the sample output within - parentheses. For example, the numeric location of the aspect ratio - shape parameter (for warning tolerance) is 1, which is why "1" is - specified for the VALUE1 argument in the example command above. + PRXY - Major Poisson's ratios (also PRYZ, PRXZ). - Now notice that the sample output indicates that any triangle element - with an internal angle that is greater than 179.9 degrees will produce - an error message. Suppose that you want to "tighten" this shape - parameter limit, so that it is more restrictive. To cause any triangle - or tetrahedron with an internal angle greater than 170 degrees to - produce an error message, you would issue this command: + QRATE - Heat generation rate. - The existence of badly shaped elements in a model may lead to certain - computational errors that can cause your system to abort during ANSYS - solution. Therefore, you run the risk of a system abort during solution - any time that you turn element shape checking off entirely, run shape - checking in warning-only mode, turn off individual shape checks, or - loosen shape parameter limits. + REFT - Reference temperature (may not be temperature dependent). - Changing any shape parameter limit marks all existing elements as - untested; use the CHECK command to retest them. + RH - Hall Coefficient. - Since the shape parameter limit array was completely reorganized at - ANSYS 5.4, you should revise any input files created prior to 5.4 that - contain limit changes so that they reflect the reorganized data - structure. + RSVX - Electrical resistivities (also RSVY, RSVZ). - For more information about element shape checking, see Meshing Your - Solid Model in the Modeling and Meshing Guide. + SBKX - Seebeck coefficients (also SBKY, SBKZ). - This command is also valid for rezoning. + SONC - Sonic velocity. - """ - command = "SHPP, %s, %s, %s" % (str(lab), str(value1), str(value2)) - self.RunCommand(command, **kwargs) + THSX - Thermal strain (also THSY, THSZ). - def Sbctran(self, **kwargs): - """ - APDL Command: SBCTRAN + VISC - Viscosity. - Transfers solid model loads and boundary conditions to the FE model. + mat + Material reference number to be associated with the elements + (defaults to 1 if you specify zero or no material number). + + sloc + Starting location in table for generating data. For example, if + SLOC = 1, data input in the C1 field is the first constant in the + table. If SLOC = 7, data input in the C1 field is the seventh + constant in the table, etc. Defaults to the last location filled + + 1. + + c1, c2, c3, . . . , c6 + Property data values assigned to six locations starting with SLOC. + If a value is already in this location, it is redefined. A blank + (or zero) value for C1 resets the previous value in SLOC to zero. + A value of zero can only be assigned by C1. Blank (or zero) values + for C2 to C6 leave the corresponding previous values unchanged. Notes ----- - Causes a manual transfer of solid model loads and boundary conditions - to the finite element model. Loads and boundary conditions on - unselected keypoints, lines, areas, and volumes are not transferred. - Boundary conditions and loads will not be transferred to unselected - nodes or elements. The SBCTRAN operation is also automatically done - upon initiation of the solution calculations [SOLVE]. + Defines a table of property data to be associated with the temperature + table. Repeat MPDATA command for additional values (100 maximum). + Temperatures must be defined first [MPTEMP]. Also stores assembled + property function table (temperature and data) in virtual space. - This command is also valid in PREP7. + This command is also valid in SOLUTION. + + Without Emag enabled, the MUR_ and MG__ properties are not allowed. In + ANSYS Professional, all structural and thermal properties are allowed + except ALPD, BETD, and MU. In ANSYS Emag, only the RSV_, PER_, MUR_, + and MG__ properties are allowed. Only products that include ANSYS Emag + can use the LSST property. The SBK_ property is only available in ANSYS + Multiphysics and ANSYS PrepPost. """ - command = "SBCTRAN, " % () + command = "MPDATA,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(lab), str(mat), str(sloc), str(c1), str(c2), str(c3), str(c4), str(c5), str(c6)) self.RunCommand(command, **kwargs) - def Dkdele(self, kpoi="", lab="", **kwargs): + def Vdot(self, labr="", labx1="", laby1="", labz1="", labx2="", laby2="", + labz2="", **kwargs): """ - APDL Command: DKDELE + APDL Command: VDOT - Deletes DOF constraints at a keypoint. + Forms an element table item from the dot product of two vectors. Parameters ---------- - kpoi - Keypoint for which constraint is to be deleted. If ALL, delete for - all selected keypoints [KSEL]. If KPOI = 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 KPOI. + labr + Label assigned to dot product result. - lab - Valid degree of freedom label. If ALL, use all appropriate labels. - 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). + labx1, laby1, labz1 + X, Y, and Z-component of first vector label. + + labx2, laby2, labz2 + X, Y, and Z-component of second vector label. Notes ----- - Deletes the degree of freedom constraints (and all corresponding finite - element constraints) at a keypoint. See the DDELE command for details. + Forms labeled result items for the selected element from the dot + product of two vectors: - This command is also valid in PREP7. + LabR = {LabX1, LabY1, LabZ1} : : {LabX2, LabY2, LabZ2} + + Data must be in a consistent coordinate system. Labels are those + associated with the ETABLE command. """ - command = "DKDELE, %s, %s" % (str(kpoi), str(lab)) + command = "VDOT,%s,%s,%s,%s,%s,%s,%s" % (str(labr), str(labx1), str(laby1), str(labz1), str(labx2), str(laby2), str(labz2)) self.RunCommand(command, **kwargs) - def Cnkmod(self, itype="", knum="", value="", **kwargs): + def Layerp26(self, num="", **kwargs): """ - APDL Command: CNKMOD + APDL Command: LAYERP26 - Modifies contact element key options. + Specifies the element layer for which data are to be stored. Parameters ---------- - itype - Contact element type number as defined on the ET command. - - knum - Number of the KEYOPT to be modified (KEYOPT(KNUM)). + num + Layer-processing mode: - value - Value to be assigned to the KEYOPT. + N - The layer number to process. The default value is 1. Notes ----- - The CNKMOD command has the same syntax as the KEYOPT command. However, - it is valid only in the SOLUTION processor. This command is intended - only for use in a linear perturbation analysis, and can only be used to - modify certain contact element KEYOPT values as described below. + Defines the element layer for which results data are to be stored for + postprocessing. Applies to stress and strain data for layered elements + BEAM161, SHELL163, SHELL181, SOLID185, SOLID186, SOLSH190, SHELL208, + SHELL209, SHELL281, REINF265, and ELBOW290. - Modifying KEYOPT(12) + The SHELL command can be used (for shell elements) to specify a + location (TOP, MID, BOT) within the layer for selection on the ESOL + command. Transverse shear stresses for MID are linearly averaged from + TOP and BOT, and do not reflect a parabolic distribution. Setting + KEYOPT(8) = 2 for SHELL181, SHELL208, SHELL209, SHELL281, and ELBOW290 + writes the mid-surface values directly to the results file and yields + more accurate values than linear averaging. - One use for this command is to modify contact interface behavior - between load steps in a linear perturbation analysis; it allows the - user to control the contact status locally per contact pair. For this - application, this command is limited to changing the contact interface - behavior key option: KEYOPT(12) of CONTA171, CONTA172, CONTA173, - CONTA174, CONTA175, CONTA176, and CONTA177; and KEYOPT(10) of CONTA178. + That this command cannot be used for energy output, as energy is a per- + element quantity. - When used for this purpose, the command adjusts the contact status from - the linear perturbation base analysis (at the point of restart) as - described in the table below. Note that CNKMOD allows you to take - points in the base analysis that are near contact (within the pinball - region) and modify them to be treated as "in contact" in the - perturbation analysis; see the "1 - near-field" row with KEYOPT(12) - values set to 4 or 5. CNKMOD also allows you to take points that are - sliding in the base analysis and treat them as sticking in the - perturbation analysis, irrespective of the MU value; see the "2 - - sliding" row with KEYOPT(12) values set to 1,3, 5, or 6. + When using the LAYERP26 command with SHELL181, SOLID185, SOLID186, + SOLSH190, SHELL208, or SHELL209, KEYOPT(8) must be set to 1 (or 2 for + SHELL181, SHELL208, SHELL209, SHELL281, and ELBOW290) in order to store + results for all layers. - Table: 128:: : Adjusted Contact Status with CNKMOD is Issued + For the ANSYS LS-DYNA product, this command works differently than + described above. For SHELL163 and BEAM161, you must first use EDINT + during the solution phase to define the integration points for which + you want output data. Be aware that the output location for SHELL163 + data is always at the integration point, so "top" and "bottom" refer to + the top or bottom integration point, not necessarily the top or bottom + surface. For more information, see the ANSYS LS-DYNA User's Guide. - (if outside of the adjusted pinball region) + In POST26, the ESOL data stored is based on the active LAYERP26 + specification at the time the data is stored. To store data at various + specifications (for example, layers 2 and 5), issue a STORE command + before each new specification. - (if inside of the adjusted pinball region) + """ + command = "LAYERP26,%s" % (str(num)) + self.RunCommand(command, **kwargs) - (if outside of the adjusted pinball region) + def Taxis(self, parmloc="", naxis="", val1="", val2="", val3="", val4="", + val5="", val6="", val7="", val8="", val9="", val10="", **kwargs): + """ + APDL Command: *TAXIS - (if inside of the adjusted pinball region) + Defines table index numbers. - If an open gap exists at the end of the previous load step and the - contact status is adjusted as sliding or sticking due to a “bonded” or - “no seperation” contact behavior definition, then the program will - treat it as near-field contact when executing CNKMOD in the subsequent - load steps. + Parameters + ---------- + parmloc + Name and starting location in the table array parameter for + indexing. Indexing occurs along the axis defined with nAxis. - In the linear perturbation analysis procedure, contact status can also - be controlled or modified by the PERTURB command. The contact status - always follows local controls defined by the CNKMOD command first, and - is then adjusted by the global sticking or bonded setting (ContKey = - STICKING or BONDED) on the PERTURB command (see the PERTURB command for - details). + naxis + Axis along which indexing occurs. Valid labels are: - Modifying KEYOPT(3) + Corresponds to Row. Default. - Corresponds to Column. - Another use for this command is to change the units of normal contact - stiffness (contact element real constant FKN) in a linear perturbation - modal analysis that is used to model brake squeal. For contact elements - CONTA171, CONTA172, CONTA173, and CONTA174, KEYOPT(3) controls the - units of normal contact stiffness. You can issue the command - CNKMOD,ITYPE,3,1 during the first phase of the linear perturbation - analysis in order to change the units of normal contact stiffness from - FORCE/LENGTH3 (in the base analysis) to FORCE/LENGTH. Note that - KEYOPT(3) = 1 is valid only when a penalty-based algorithm is used - (KEYOPT(2) = 0 or 1) and the absolute normal contact stiffness value is - explicitly specified (that is, a negative value input for real constant - FKN). + Corresponds to Plane. - Corresponds to Book. + + Corresponds to Shelf. - Lists all index numbers. Valid only if Val1 = LIST. + + val1, val2, val3, . . . , val10 + Values of the index numbers for the axis nAxis, starting from the + table array parameter location ParmLoc. You can define up to ten + values. + + Notes + ----- + *TAXIS is a convenient method to define table index values. These + values reside in the zero column, row, etc. Instead of filling values + in these zero location spots, use the *TAXIS command. For example, + + would fill index values 1.0, 2.2, 3.5, 4.7, and 5.9 in nAxis 2 (column + location), starting at location 4. + + To list index numbers, issue *TAXIS,ParmLoc, nAxis, LIST, where nAxis = + 1 through 5 or ALL. """ - command = "CNKMOD, %s, %s, %s" % (str(itype), str(knum), str(value)) + command = "*TAXIS,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(parmloc), str(naxis), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9), str(val10)) self.RunCommand(command, **kwargs) - def Ctype(self, key="", dotd="", dots="", dshp="", tlen="", **kwargs): + def Vdele(self, nv1="", nv2="", ninc="", kswp="", **kwargs): """ - APDL Command: /CTYPE + APDL Command: VDELE - Specifies the type of contour display. + Deletes unmeshed volumes. Parameters ---------- - key - Type of display: - - 0 - Standard contour display. - - 1 - Isosurface display. - - 2 - Particle gradient display. - - 3 - Gradient triad display. + nv1, nv2, ninc + Delete volumes from NV1 to NV2 (defaults to NV1) in steps of NINC + (defaults to 1). If NV1 = ALL, NV2 and NINC are ignored and all + selected volumes [VSEL] are deleted. If NV1 = 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 NV1 (NV2 + and NINC are ignored). - dotd - Maximum dot density for particle gradient display (KEY = 2). - Density is expressed as dots per screen width (defaults to 30). + kswp + Specifies whether keypoints, lines, and areas are also deleted: - dots - Dot size for particle gradient display (KEY = 2). Size is - expressed as a fraction of the screen width (defaults to 0.0 - (single dot width)). + 0 - Delete volumes only (default). - dshp - Spherical dot shape precision for particle gradient display (KEY = - 2). (3-D options are supported only on 3-D devices): + 1 - Delete volumes, as well as keypoints, lines, and areas attached to the + specified volumes but not shared by other volumes. - 0 - Flat 2-D circular dot. + """ + command = "VDELE,%s,%s,%s,%s" % (str(nv1), str(nv2), str(ninc), str(kswp)) + self.RunCommand(command, **kwargs) - 1 - Flat-sided 3-D polyhedron. + def Al(self, l1="", l2="", l3="", l4="", l5="", l6="", l7="", l8="", l9="", + l10="", **kwargs): + """ + APDL Command: AL - n - 3-D sphere with n (>1) polygon divisions per 90° of radius. + Generates an area bounded by previously defined lines. - tlen - Maximum length of triads for gradient triad display (KEY = 3). - Value is expressed as a fraction of the screen width (defaults to - 0.067). + Parameters + ---------- + l1, l2, l3, . . . , l10 + List of lines defining area. The minimum number of lines is 3. + The positive normal of the area is controlled by the direction of + L1 using the right-hand rule. A negative value of L1 reverses the + normal direction. If L1 = ALL, use all selected lines with L2 + defining the normal (L3 to L10 are ignored and L2 defaults to the + lowest numbered selected line). If L1 = P, graphical picking is + enabled and all remaining arguments are ignored (valid only in the + GUI). A component name may also be substituted for L1. Notes ----- - Use /CTYPE,STAT to display the current settings. Only the standard - contour display [/CTYPE,0) and the isosurface contour display - [/CTYPE,1] are supported by PowerGraphics [/GRAPHICS,POWER]. + Lines may be input (once each) in any order and must form a simply + connected closed curve. If the area is defined with more than four + lines, the lines must also lie in the same plane or on a constant + coordinate value in the active coordinate system (such as a plane or a + cylinder). + + Note:: : Solid modeling in a toroidal coordinate system is not + recommended. Areas may be redefined only if not yet attached to a + volume. This command is valid in any processor. """ - command = "/CTYPE, %s, %s, %s, %s, %s" % (str(key), str(dotd), str(dots), str(dshp), str(tlen)) + command = "AL,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(l1), str(l2), str(l3), str(l4), str(l5), str(l6), str(l7), str(l8), str(l9), str(l10)) self.RunCommand(command, **kwargs) - def Exprofile(self, ldtype="", load="", value="", pname="", fname="", - fext="", fdir="", **kwargs): + def Units(self, label="", lenfact="", m_assfact="", timefact="", + tempfact="", toffset="", chargefact="", forcefact="", + heatfact="", **kwargs): """ - APDL Command: EXPROFILE + APDL Command: /UNITS - Exports interface loads or loads on selected nodes to an ANSYS CFX - Profile file. + Annotates the database with the system of units used. Parameters ---------- - ldtype - Load type: - - SURF - Surface load. - - VOLU - Volumetric load. - - load - Surface loads: - - DISP - Displacement (in a static analysis) or mode shape and global parameters (in a - modal analysis). + label + Label to denote the system of units used in this job: - MODE - Normalized mode shape and global parameters (in a modal analysis only). + USER - User-defined system (default). - TEMP - Temperature. + SI - International system (m, kg, s, K). - HFLU - Heat flux. + MKS - MKS system (m, kg, s, °C). - value - If a positive integer, specifies the number of the surface or - volume interface. If 0 (zero), the selected nodes or Named - Selection are used. + uMKS - μMKS system (μm, kg, s, °C). - pname - Field name in CFX Profile file (32-character maximum). Defaults to - jobname_bcploadnumber for a surface load and jobname_subdloadnumber - for volumetric load. + CGS - CGS system (cm, g, s, °C). - fname - The CFX Profile filename (248-character maximum). Defaults to - jobname_bcploadnumber for a surface load and jobname_subdloadnumber - for a volumetric load. + MPA - MPA system (mm, Mg, s, °C). - fext - The Profile file extension (8-character maximum). Defaults to.csv. + BFT - U. S. Customary system using feet (ft, slug, s, °F). - fdir - The Profile file directory (8-character maximum). Defaults to - current directory. + BIN - U. S. Customary system using inches (in, lbf*s2/in, s, °F). Notes ----- - By default, the EXPROFILE command assumes the data it writes to the - Profile file are in SI units. For models not described in SI units, - issue the EXUNIT command as needed to write the correct unit labels on - the Profile file. - - For a modal analysis, if Load = DISP or MODE, global parameters - including mass, frequency, and maximum displacement are also written to - the ANSYS CFX Profile file. You should therefore issue the EXUNIT - command for DISP, TIME, and MASS. - - Verify that the coordinate system is set to the global Cartesian - (RSYS,0) before using this command. - - To transfer multiple loads across an interface, specify a unique file - name and extension for each load. - - Force (FORC) and heat generation (HGEN) are per-unit volume. - - For modal analysis, this command does not support the following mode- - extraction methods (MODOPT): unsymmetric matrix (UNSYM), the damped - system (DAMP), or the QR-damped system (QRDAMP). - - To write the normalized (instead of non-normalized) mode shapes from a - modal analysis to the file: + Allows the user to set a marker in the database indicating the system + of units used. The setting may be reviewed with the /STATUS command at + the Begin level. The units label and conversion factors on this + command are for user convenience only and have no effect on the + analysis or data. That is, /UNITS will not convert database items from + one system to another (e.g., from U. S. Customary to SI, etc.). The + units setting will be written to the file of IGES data [IGESOUT or + CDWRITE], which can then be read by many programs that read IGES files. + The user must still use consistent units for the results to be valid. - Use Load = MODE. + If you choose the MKS system of units, the EPZRO option for the EMUNIT + command is set to 8.85 e-12 F/m. (EPZRO specifies alternate free-space + permittivity.) - Verify that the mode shapes are normalized to the mass matrix - (MODOPT,,,,,,OFF), the default behavior. + For micro-electromechanical systems (MEMS), where dimensions are on the + order of microns, see the conversion factors in System of Units in the + Coupled-Field Analysis Guide. - Verify that the scale factor is set to 1.0 (SET,,,1.0), the default - value. + If you use the ANSYS ADAMS Interface to export model information to the + ADAMS program, the /UNITS command is required to ensure the correct + transfer of data between ANSYS and ADAMS. You may choose a predefined + unit system label (Label = SI, CGS, etc.) or you can select the user- + defined system option (Label = USER) and input the appropriate + conversion factors (LENFACT, MASSFACT, TIMEFACT, and FORCEFACT). The + conversion factors will be written to the ADAMS input file Jobname.MNF + in order to correctly generate the load. For more information, see + Export to ADAMS in the Substructuring Analysis Guide. - For loads not specified directly via commands (such as SF and BF), - loads must first be read into the database (SET or LCASE). + All differences between the base solution units used by the ANSYS and + CFX solvers will be noted in the ANSYS output file. Unit conversions + are automatically applied to all loads transferred unless Label = USER. + Unit conversions are not applied to any of the loads transferred + between the ANSYS and CFX solvers if they use a user-defined unit + system. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "EXPROFILE, %s, %s, %s, %s, %s, %s, %s" % (str(ldtype), str(load), str(value), str(pname), str(fname), str(fext), str(fdir)) + command = "/UNITS,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(label), str(lenfact), str(m_assfact), str(timefact), str(tempfact), str(toffset), str(chargefact), str(forcefact), str(heatfact)) self.RunCommand(command, **kwargs) - def Point(self, **kwargs): + def Starprint(self, matrix="", fname="", **kwargs): """ - APDL Command: POINT + APDL Command: *PRINT - Specifies "Point flow tracing settings" as the subsequent status topic. + Prints the matrix values to a file. + + Parameters + ---------- + matrix + Name of matrix or vector to print. Must be specified. + + fname + File name. If blank, matrix is written to the output file. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. - - If entered directly into the program, the STAT command should - immediately follow this command. + The matrix may be a dense matrix (*DMAT), a sparse matrix (*SMAT), or a + vector (*VEC). Only the non-zero entries of the matrix are printed. """ - command = "POINT, " % () + command = "*PRINT,%s,%s" % (str(matrix), str(fname)) self.RunCommand(command, **kwargs) - def Edgcale(self, nadv="", meth="", **kwargs): + def Hrexp(self, angle="", **kwargs): """ - APDL Command: EDGCALE + APDL Command: HREXP - Defines global ALE controls for an explicit dynamic analysis. + Specifies the phase angle for the harmonic analysis expansion pass. Parameters ---------- - nadv - Number of cycles between advection (default = 0). + angle + Phase angle (degrees) for expansion pass. If ALL (default), use + both 0.0° (real) and 90.0° (imaginary) phase angles. - meth - Advection method. + Notes + ----- + Specifies the phase angle where the expansion pass will be done for a + harmonic mode-superposition expansion pass. - 0 - Donor cell + Half Index Shift (first order accurate) (default). + For a specific angle, the following real solution is stored in the + results (*.rst) file: - 1 - Van Leer + Half Index Shift (second order accurate). + Where: - Notes - ----- - This command sets global ALE controls in an explicit dynamic analysis. - These ALE controls apply to all PLANE162 or SOLID164 elements in the - model that are flagged to use the ALE formulation (KEYOPT(5) = 1). To - activate the ALE formulation, you must specify the number of cycles - between advection on this command and at least one smoothing weight - factor on the EDALE command. See Arbitrary Lagrangian-Eulerian - Formulation in the ANSYS LS-DYNA User's Guide for more information. + i is the degree of freedom number. - To see the current EDGCALE settings, issue the command EDALE,LIST. + is the amplitude of the i th degree of freedom solution - The EDGCALE command is also valid in PREP7. + Φi is the phase shift angle of the i th degree of freedom solution - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + ϕ is the supplied phase shift angle (ANGLE) + + If ANGLE is ALL, both the real and imaginary parts of the solution are + stored in the results file. + + For more details about the solution equations, see Harmonic Analyses in + the Mechanical APDL Theory Reference. + + This command is ignored if the HROPT command has been issued with + Method = VT or Method = VTRU. + + This command is also valid in PREP7. """ - command = "EDGCALE, %s, %s" % (str(nadv), str(meth)) + command = "HREXP,%s" % (str(angle)) self.RunCommand(command, **kwargs) - def Clocal(self, kcn="", kcs="", xl="", yl="", zl="", thxy="", thyz="", - thzx="", par1="", par2="", **kwargs): + def Mpdele(self, lab="", mat1="", mat2="", inc="", lchk="", **kwargs): """ - APDL Command: CLOCAL + APDL Command: MPDELE - Defines a local coordinate system relative to the active coordinate - system. + Deletes linear material properties. Parameters ---------- - kcn - Arbitrary reference number assigned to this coordinate system. - Must be greater than 10. A coordinate system previously defined - with this number will be redefined. + lab + Material property label (see MP command for valid labels). If ALL, + delete properties for all applicable labels. - kcs - Coordinate system type: + mat1, mat2, inc + Delete materials from MAT1 to MAT2 (defaults to MAT1) in steps of + INC (defaults to 1). If MAT1 = ALL, MAT2 and INC are ignored and + the properties for all materials are deleted. - 0 or CART - Cartesian + lchk + Specifies the level of element-associativity checking: - 1 or CYLIN - Cylindrical (circular or elliptical) + NOCHECK - No element-associativity check occurs. This option is the default. - 2 or SPHE - Spherical (or spheroidal) + WARN - When a section, material, or real constant is associated with an element, ANSYS + issues a message warning that the necessary entity has been + deleted. - 3 or TORO - Toroidal + CHECK - The command terminates, and no section, material, or real constant is deleted + if it is associated with an element. - xl, yl, zl - Location (in the active coordinate system) of the origin of the new - coordinate system (R, θ, Z for cylindrical, R, θ,Φ for spherical or - toroidal). + Notes + ----- + This command is also valid in SOLUTION. - thxy - First rotation about local Z (positive X toward Y). + The LCHK argument is valid only when Lab = ALL. - thyz - Second rotation about local X (positive Y toward Z). + """ + command = "MPDELE,%s,%s,%s,%s,%s" % (str(lab), str(mat1), str(mat2), str(inc), str(lchk)) + self.RunCommand(command, **kwargs) - thzx - Third rotation about local Y (positive Z toward X). + def Linp(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nl7="", + nl8="", nl9="", **kwargs): + """ + APDL Command: LINP - par1 - Used for elliptical, spheroidal, or toroidal systems. If KCS = 1 - or 2, PAR1 is the ratio of the ellipse Y-axis radius to X-axis - radius (defaults to 1.0 (circle)). If KCS = 3, PAR1 is the major - radius of the torus. + Finds the pairwise intersection of lines. - par2 - Used for spheroidal systems. If KCS = 2, PAR2 = ratio of ellipse - Z-axis radius to X-axis radius (defaults to 1.0 (circle)). + Parameters + ---------- + nl1, nl2, nl3, . . . , nl9 + Numbers of lines to be intersected pairwise. If NL1 = ALL, find + the pairwise intersection of all selected lines and NL2 to NL9 are + ignored. If NL1 = P, graphical picking is enabled and all + remaining command fields are ignored (valid only in the GUI). A + component name may be substituted for NL1. Notes ----- - Defines and activates a local coordinate system by origin location and - orientation angles relative to the active coordinate system. This - local system becomes the active coordinate system, and is automatically - aligned with the active system (i.e., x is radial if a cylindrical - system is active, etc.). Nonzero rotation angles (degrees) are - relative to this automatic rotation. See the CS, CSKP, CSWPLA, and - LOCAL commands for alternate definitions. Local coordinate systems may - be displayed with the /PSYMB command. - - This command is valid in any processor. + Finds the pairwise intersection of lines. The pairwise intersection is + defined as any and all regions shared by at least two lines listed on + this command. New lines will be generated where the original lines + intersect pairwise. If the regions of pairwise intersection are only + points, new keypoints will be generated. See the Modeling and Meshing + Guide for an illustration. See the BOPTN command for the options + available to Boolean operations. Element attributes and solid model + boundary conditions assigned to the original entities will not be + transferred to the new entities generated. """ - command = "CLOCAL, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(kcn), str(kcs), str(xl), str(yl), str(zl), str(thxy), str(thyz), str(thzx), str(par1), str(par2)) + command = "LINP,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nl7), str(nl8), str(nl9)) self.RunCommand(command, **kwargs) - def Plmap(self, item="", nodekey="", imagkey="", **kwargs): + def Mfdtime(self, dtime="", dtmin="", dtmax="", carry="", **kwargs): """ - APDL Command: PLMAP + APDL Command: MFDTIME - Plots target and source pressures. + Sets time step sizes for an ANSYS Multi-field solver analysis. Parameters ---------- - item - Items to plot: + dtime + Multi-field time step size. If automatic time stepping is being + used [see Notes below], DTIME is the starting time step. - BOTH - Plot both target and source pressures (default). + dtmin + Minimum time step. Defaults to DTIME. - TARGET - Plot only the target pressures. + dtmax + Maximum time step. Defaults to DTIME. - SOURCE - Plot only the source pressures. + carry + Time step carryover key. - -- - Unused field. + OFF - Use DTIME as the starting time step for the next restart run (default). - nodekey - If the source data contains faces (that is, surface elements were - created upon the READ command), set NODEkey = 1 to plot only the - source nodes rather than both the nodes and the elements. + ON - Use the final time step from the previous run as the starting time step for the + next restart run. - imagkey - 1 + Notes + ----- + This command specifies time step sizes for an ANSYS Multi-field solver + analysis. If either DTMIN or DTMAX is not equal to DTIME, auto time- + stepping is turned on for the multi-field loop. ANSYS will + automatically adjust the time step size for the next multi-field step + between DTMIN and DTMAX, based on the status of the current + convergence, the number of target stagger iterations (specified by + MFITER), and the actual number of iterations needed to reach + convergence at the current time step. - 1 - Plot the real pressures (default). + If auto time-stepping is turned off, the time step size must be evenly + divisible into the end time (specified by MFTIME) minus the start time + (0 for a new analysis or a restart time specified by MFRSTART). - 0 - Plot the imaginary pressures. + You can use a smaller time step within each ANSYS field analysis. This + is called subcycling. Use the DELTIM and AUTOTS commands to subcycle a + structural, thermal, or electromagnetic analysis. - Notes - ----- - Pressures on the target faces are displayed as a color contour plot - using the command /PSF,PRES,,3. If the source data contains faces (that - is, surface elements were created upon the READ command), the source - faces are also displayed using a color contour plot by default. If - NODEkey = 1 or no source faces are available, the source pressures are - displayed as colored node symbols (/PSYMB,DOT,1 command). + This command is also valid in PREP7. + + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "PLMAP, %s, %s, %s" % (str(item), str(nodekey), str(imagkey)) + command = "MFDTIME,%s,%s,%s,%s" % (str(dtime), str(dtmin), str(dtmax), str(carry)) self.RunCommand(command, **kwargs) - def Esym(self, ninc="", iel1="", iel2="", ieinc="", **kwargs): + def Transfer(self, kcnto="", inc="", node1="", node2="", ninc="", + **kwargs): """ - APDL Command: ESYM + APDL Command: TRANSFER - Generates elements from a pattern by a symmetry reflection. + Transfers a pattern of nodes to another coordinate system. Parameters ---------- - -- - Unused field. - - ninc - Increment nodes in the given pattern by NINC. + kcnto + Reference number of coordinate system where the pattern is to be + transferred. Transfer occurs from the active coordinate system. - iel1, iel2, ieinc - Reflect elements from pattern beginning with IEL1 to IEL2 (defaults - to IEL1) in steps of IEINC (defaults to 1). If IEL1 = ALL, IEL2 and - IEINC are ignored and pattern is all selected elements [ESEL]. If - IEL1 = 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 IEL1 (IEL2 and IEINC are ignored). + inc + Increment all nodes in the given pattern by INC to form the + transferred node pattern. + + node1, node2, ninc + Transfer nodes from pattern beginning with NODE1 to NODE2 (defaults + to NODE1) in steps of NINC (defaults to 1). If NODE1 = ALL, NODE2 + and NINC are ignored and the pattern is all selected nodes [NSEL]. + If NODE1 = P, graphical picking is enabled and all remaining + command fields are ignored (valid only in the GUI). A component + may be substituted for NODE1 (NODE2 and NINC are ignored). Notes ----- - Generates additional elements from a given pattern (similar to EGEN) - except with a "symmetry" reflection. The operation generates a new - element by incrementing the nodes on the original element, and - reversing and shifting the node connectivity pattern. For example, for - a 4-node 2-D element, the nodes in positions I, J, K, and L of the - original element are placed in positions J, I, L, and K of the - reflected element. - - Similar permutations occur for all other element types. For line - elements, the nodes in positions I and J of the original element are - placed in positions J and I of the reflected element. In releases prior - to ANSYS 5.5, no node pattern reversing and shifting occurred for line - elements generated by ESYM. To achieve the same results with ANSYS 5.5 - as you did in prior releases, use the EGEN command instead. - - It is recommended that symmetry elements be displayed and graphically - reviewed. - - If the nodes are also reflected (as with the NSYM command) this pattern - is such that the orientation of the symmetry element remains similar to - the original element (i.e., clockwise elements are generated from - clockwise elements). + Transfers a pattern of nodes from one coordinate system to another. + Coordinate systems may be translated and rotated relative to each + other. Initial pattern may be generated in any coordinate system. + Coordinate values are interpreted in the active coordinate system and + are transferred directly. - For a non-reflected node pattern, the reversed orientation has the - effect of reversing the outward normal direction (clockwise elements - are generated from counterclockwise elements). + A model generated in one coordinate system may be transferred to + another coordinate system. The user may define several coordinate + systems (translated and rotated from each other), generate a model in + one coordinate system, and then repeatedly transfer the model to other + coordinate systems. The model may be generated in any type of + coordinate system (Cartesian, cylindrical, etc.) and transferred to any + other type of coordinate system. Coordinate values (X, Y, Z, or R,: θ, + Z, or etc.) of the model being transferred are interpreted in the + active coordinate system type, regardless of how they were generated. + Values are transferred directly and are interpreted according to the + type of coordinate system being transferred to. For example, + transferring from a Cartesian coordinate system to a cylindrical + coordinate system (not recommended) would cause X = 2.0 and Y = 3.0 + values to be directly interpreted as R = 2.0 and θ = 3.0 values, + respectively. - Note:: : Since nodes may be defined anywhere in the model independently - of this command, any orientation of the "symmetry" elements is - possible. See also the ENSYM command for modifying existing elements. + This command is also valid in the /MAP processor. """ - command = "ESYM, %s, %s, %s, %s" % (str(ninc), str(iel1), str(iel2), str(ieinc)) + command = "TRANSFER,%s,%s,%s,%s,%s" % (str(kcnto), str(inc), str(node1), str(node2), str(ninc)) self.RunCommand(command, **kwargs) - def Vfact(self, factr="", fact1="", fact2="", fact3="", **kwargs): + def Create(self, fname="", ext="", **kwargs): """ - APDL Command: *VFACT + APDL Command: *CREATE - Applies a scale factor to array parameters. + Opens (creates) a macro file. Parameters ---------- - factr - Scale factor applied to results (ParR) parameter. Defaults to 1.0. - - fact1 - Scale factor applied to first parameter (Par1 or ParI). Defaults - to 1.0. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - fact2 - Scale factor applied to second parameter (Par2 or ParJ). Defaults - to 1.0. + ext + Filename extension (eight-character maximum). - fact3 - Scale factor applied to third parameter (Par3 or ParK). Defaults - to 1.0. + -- + Unused field. Notes ----- - Applies a scale factor to parameters used in certain *VXX and *MXX - operations. Typical scale factor applications are of the form: - - ParR = FACTR*f(FACT1*Par1) - - or - - ParR = FACTR*((FACT1*Par1) o (FACT2*Par2)) - - The factors are applied to each input parameter value before the - operation and to the result value after the operation. The scale - factor settings are reset to the default (1.0) after each *VXX or *MXX - operation. Use *VSTAT to list settings. + See the *USE command for a discussion of macros. All commands + following the *CREATE command, up to the *END command, are written to + the specified file without being executed. An existing file of the + same name, if any, will be overwritten. Parameter values are not + substituted for parameter names in the commands when the commands are + written to the file. Use *CFWRITE to create a file if this is desired. + The resulting macro may be executed with a *USE command (which also + allows parameters to be passed into the macro) or a /INPUT command + (which does not allow parameters to be passed in). Several macros may + be stacked into a library file [*ULIB]. You cannot use *CREATE within a + DO loop. This command is valid in any processor. """ - command = "*VFACT, %s, %s, %s, %s" % (str(factr), str(fact1), str(fact2), str(fact3)) + command = "*CREATE,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Pltrac(self, analopt="", item="", comp="", trpnum="", name="", - mxloop="", toler="", option="", escl="", mscl="", **kwargs): + def Fsdele(self, nloc="", nev="", nlod="", **kwargs): """ - APDL Command: PLTRAC + APDL Command: FSDELE - Displays a particle flow or charged particle trace on an element - display. + Deletes a stress condition for a fatigue location, event, and loading. Parameters ---------- - analopt - Analysis option - - FLUID - Particle trace in fluid flow (default) - - ELEC - Particle trace in electric field - - MAGN - Particle trace in magnetic field - - EMAG - Particle trace in presence of both electric and magnetic fields - - item - Label identifying the item to be contoured. Valid item labels are - shown in Table 222: PLTRAC - Valid Item and Component Labels - below. Some items also require a component label. If Item is - blank, display only the path trajectory. - - comp - Component of the item (if required). Valid component labels are - shown in Table 222: PLTRAC - Valid Item and Component Labels below. + nloc + Delete stresses associated with location NLOC. Defaults to zero. - trpnum - Trace point number for storing trajectory data for use with PATH - logic. Defaults to 0 (no trajectory path data is stored for further - processing with PATH logic). + nev + Delete stresses associated with event NEV. Defaults to zero. - name - Name of prefix of array variable. Defaults to TRAC. NamePOIN stores - trajectory path points for trace point number TRPNum. If Analopt = - ELEC, MAGN, or EMAG, two additional array parameters, NameDATA and - NameLABL, store trajectory path data and labels for the same - TRPNum. + nlod + Delete stresses associated with loading NLOD. Defaults to zero. - mxloop - Maximum number of loops traced by a particle. Defaults to 25 for - Opt = FLUID; otherwise, defaults to 1000. + Notes + ----- + Deletes a stress condition stored for a particular fatigue location, + event, and loading. Use FE command to delete all stresses for a + particular event or FL command to delete all stresses for a particular + location. - toler - Length tolerance used for particle trajectory geometry calculation. - Valid only for Analopt = ELEC, MAGN, or EMAG. If particle trace - appears to terminate inside an element, adjusting the length - tolerance may be necessary. Defaults to 1.0 x 10-8. + """ + command = "FSDELE,%s,%s,%s" % (str(nloc), str(nev), str(nlod)) + self.RunCommand(command, **kwargs) - option - Flow trace option: + def Staopt(self, method="", **kwargs): + """ + APDL Command: STAOPT - 0 - Use the undeformed mesh for computing the flow trace. + Specifies static analysis options. - 1 - Use the deformed mesh for computing the flow trace. + Parameters + ---------- + method + Solution method for the static analysis: - escl - Electric field scale factor. Setting this scale factor affects only - the tracing, not the field solution results. A negative factor - corresponds to the opposite vector direction. Valid only for - Analopt = ELEC or EMAG. Defaults to 1. + DEFA - Standard ANSYS solve (default). - mscl - Magnetic field scale factor. Setting this scale factor affects only - the tracing, not the field solution results. A negative factor - corresponds to the opposite vector direction. Valid only for - Analopt = MAGN or EMAG. Defaults to 1. + VT - Solve with Variational Technology. Notes ----- - For a specified item, the variation of the item is displayed along the - particle trace as a color-contoured ribbon. The TRPOIN command must be - used to define a point on the trajectory path. Multiple traces may be - displayed simultaneously by defining multiple trace points. Issue the - TRPLIS command to list the current tracing points. Issue the TRPDEL - command to delete tracing points defined earlier. Use the PAPUT - command with the POIN option to retrieve the particle trajectory points - as path points. - - The model must be 3-D for the ELEC, MAGN, and EMAG analysis options. - - Three array parameters are created at the time of the particle trace: - TRACPOIN, TRACDATA and TRACLABL. These array parameters can be used to - put the particle velocity and the elapsed time into path form. The - procedure to put the arrays into a path named PATHNAME is as follows: - - Not used if Analopt = FLUID. If working in the GUI, use the "All - information" option to retrieve information from all three arrays at - once. - - If OPTION is set to 1, the deformed mesh is based on the displacement - degrees of freedom UX, UY, and UZ, which must be available in the load + Specifies the method of solution for a static analysis (ANTYPE,STATIC). + If used in SOLUTION, this command is valid only within the first load step. - Table: 222:: : PLTRAC - Valid Item and Component Labels + The VT option is valid for either thermal or structural nonlinear + analyses, where it attempts to reduce the total number of iterations. - See the Basic Analysis Guide for more information on particle flow and - charged particle traces. See Animation in the Basic Analysis Guide for - information on particle trace animation. + This command is also valid in PREP7. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Distributed ANSYS Restriction: The VT static solution method is not + supported in Distributed ANSYS. """ - command = "PLTRAC, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(analopt), str(item), str(comp), str(trpnum), str(name), str(mxloop), str(toler), str(option), str(escl), str(mscl)) + command = "STAOPT,%s" % (str(method)) self.RunCommand(command, **kwargs) - def K(self, npt="", x="", y="", z="", **kwargs): + def Sys(self, string="", **kwargs): """ - APDL Command: K + APDL Command: /SYS - Defines a keypoint. + Passes a command string to the operating system. Parameters ---------- - npt - Reference number for keypoint. If zero, the lowest available - number is assigned [NUMSTR]. - - x, y, z - Keypoint location in the active coordinate system (may be R, θ, Z - or R, θ, Φ). If X = P, graphical picking is enabled and all other - fields (including NPT) are ignored (valid only in the GUI). + string + Command string, up to 639 characters (including blanks, commas, + etc.). The specified string is passed verbatim to the operating + system, i.e., no parameter substitution is performed. Notes ----- - Defines a keypoint in the active coordinate system [CSYS] for line, - area, and volume descriptions. A previously defined keypoint of the - same number will be redefined. Keypoints may be redefined only if it - is not yet attached to a line or is not yet meshed. Solid modeling in - a toroidal system is not recommended. + Passes a command string to the operating system for execution (see the + Operations Guide). Typical strings are system commands such as list, + copy, rename, etc. Control returns to the ANSYS program after the + system procedure is completed. ANSYS may not be aware of your + specific user environment. For example, on Linux this command may not + recognize aliases, depending on the hardware platform and user + environment. + + This command is valid in any processor. """ - command = "K, %s, %s, %s, %s" % (str(npt), str(x), str(y), str(z)) + command = "/SYS,%s" % (str(string)) self.RunCommand(command, **kwargs) - def Rssims(self, rslab="", nsim="", seed="", **kwargs): + def Rock(self, cgx="", cgy="", cgz="", omx="", omy="", omz="", **kwargs): """ - APDL Command: RSSIMS + APDL Command: ROCK - Performs Monte Carlo simulations on response surface(s). + Specifies a rocking response spectrum. Parameters ---------- - rslab - Response Surface set label. Identifies the response surfaces - generated by the RSFIT command. + cgx, cgy, cgz + Global Cartesian X, Y, and Z location of center of rotation about + which rocking occurs. - nsim - Number of simulation loops on the response surfaces that will be - generated for all random output parameters. If the RSSIMS command - is issued multiple times using the same response surface set label - the NSIM Monte Carlo simulations is appended to previous ones. The - default value for NSIM is 10,000. + omx, omy, omz + Global Cartesian angular velocity components associated with the + rocking. - seed - Seed value label. Random number generators require a seed value - that is used to calculate the next random number. After each random - number generation finishes, the seed value is updated and is used - again to calculate the next random number. By default ANSYS - initializes the seed value with the system time (one time only) - when the ANSYS session started. + Notes + ----- + Specifies a rocking response spectrum effect in the spectrum + (ANTYPE,SPECTR) analysis. - CONT - Continues updating using the derived seed value (default). + The excitation direction with rocking included is not normalized to + one; rather, it scales the spectrum. For more information, see + Participation Factors and Mode Coefficients. - TIME - Initializes the seed value with the system time. You can use this if you want - the seed value set to a specific value for one analysis and - then you want to continue with a "random" seed in the next - analysis. It is not recommended to "randomize" the seed - value with the Seed = TIME option for multiple analyses. If - the Monte Carlo simulations requested with this command will - be appended to previously existing simulations, then the - Seed option is ignored and Seed = CONT is used. + This command is also valid in PREP7. - INIT - Initializes the seed value using 123457. This value is a typical recommendation - used very often in literature. This option leads to - identical random numbers for all random input variables when - the exact analysis will be repeated, making it useful for - benchmarking and validation purposes (where identical random - numbers are desired). If the Monte Carlo simulations - requested with this command will be appended to previously - existing simulations, then the Seed option is ignored and - Seed = CONT is used. + """ + command = "ROCK,%s,%s,%s,%s,%s,%s" % (str(cgx), str(cgy), str(cgz), str(omx), str(omy), str(omz)) + self.RunCommand(command, **kwargs) - Value - Uses the specified (positive) value for the initialization of the seed value. - This option has the same effect as Seed = INIT, except you - can chose an arbitrary (positive) number for the - initialization. If the Monte Carlo simulations requested - with this command will be appended to previously existing - simulations, then the Seed option is ignored and Seed = - CONT is used. + def For2d(self, **kwargs): + """ + APDL Command: FOR2D + + Calculates magnetic forces on a body. Notes ----- - Generate the Monte Carlo simulations on the response surfaces that are - included in a response surface set. Simulations are evaluated only for - the output parameters that have been fitted in a response surface set - using the RSFIT command. + FOR2D invokes an ANSYS macro which calculates magnetic forces on a body + that is completely surrounded by air (symmetry permitted). The + calculated forces are stored in the parameters FX and FY. In + interactive mode, a node plot is produced with the integration path + highlighted. A predefined closed path [PATH], passing through the air + elements surrounding the body, must be available for this calculation. + A counterclockwise ordering of nodes on the PPATH command will give the + correct sign on the forces. Forces are calculated using a Maxwell + stress tensor approach. The macro is valid for 2-D planar or + axisymmetric analysis. Path operations are used for the calculations, + and all path items are cleared upon completion. - If the RSSIMS command is issued multiple times using the same response - surface label the probabilistic design system appends the samples - generated here to the previous ones. This way you can start with a - moderate NSIM number and add more samples if the probabilistic results - are not accurate enough. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "RSSIMS, %s, %s, %s" % (str(rslab), str(nsim), str(seed)) + command = "FOR2D," % () self.RunCommand(command, **kwargs) - def Exunit(self, ldtype="", load="", untype="", name="", **kwargs): + def Oczone(self, zonetype="", zonename="", compnameint="", compnameext="", + **kwargs): """ - APDL Command: EXUNIT + APDL Command: OCZONE - Specifies the interface load unit labels to be written to the export - file for ANSYS to CFX transfer. + Specifies the type of ocean zone data to follow. Parameters ---------- - ldtype - Load type: - - SURF - Surface load. - - VOLU - Volumetric load. + zonetype + The type of ocean zone data to be input following this command: - load - Surface loads: + COMP - Define by a component. - DISP - Displacement in a static analysis. Mode shape in a modal analysis. + ZLOC - Define by Z levels. - TIME - Time. The unit for frequency is the inverse of the unit for time. + PIP - Associate an internal pipe or pipes with an external pipe. - MASS - Mass. + zonename + The ocean zone name. If no name is specified, the program assigns + one. - TEMP - Temperature. + compnameint + For Zonetype = COMP, the required name of a component. - HFLU - Heat flux. + compnameext + For Zonetype = PIP, the required name of an external pipe + component. - untype - Unit type: + Notes + ----- + The OCZONE command specifies the type of ocean zone data to follow + (component, Z-level, or internal pipes associated with an external + pipe). An ocean zone is a local space where you can override global + ocean-loading parameters. - COMM - Predefined unit + Names specified for ZoneName, CompNameInt, and CompNameExt can consist + of up to 32 alphanumeric characters. The name cannot contain + punctuation, special characters, or spaces. - USER - User-specified unit + For Zonetype = COMP, the zone is defined by a component. Only the + elements in the component are affected by the local parameters. A + partial component can be defined as the zone via the Z input on the + OCTABLE command. - name - Commonly used predefined unit name or user-specified unit name. + For Zonetype = ZLOC, the zone is defined by Z levels. Structural + elements (such as BEAM188, BEAM189, PIPE288, PIPE289, and LINK180) in + the Z levels are included in the zone. - SI - International System of units (meter-kilogram-second) (default) + For Zonetype = PIP, the zone is prepared for a special configuration of + pipes. It associates an internal pipe or pipes with an external pipe to + remove the hydrodynamic effect on the internal pipe. Only hydrostatic + pressure is applied on the internal pipe. - FT - English System of units (feet-pound-second) + This command is also valid in PREP7. - Notes - ----- - This command only specifies which unit labels are to be written to the - file when the EXPROFILE is issued. It does not perform unit - conversions. + Figure: 6:: : Ocean Zone Types (Specified via ZoneType) - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Issue this command before defining your ocean load data (OCDATA or + OCTABLE). Define components before defining a component-type or a pipe- + type zone (OCZONE,COMP or OCZONE,PIP, respectively). """ - command = "EXUNIT, %s, %s, %s, %s" % (str(ldtype), str(load), str(untype), str(name)) + command = "OCZONE,%s,%s,%s,%s" % (str(zonetype), str(zonename), str(compnameint), str(compnameext)) self.RunCommand(command, **kwargs) - def Emtgen(self, ncomp="", ecomp="", pncomp="", dof="", gap="", gapmin="", - fkn="", epzero="", **kwargs): + def Triad(self, lab="", **kwargs): """ - APDL Command: EMTGEN + APDL Command: /TRIAD - Generates a set of TRANS126 elements. + Shows the global XYZ coordinate triad on displays. Parameters ---------- - ncomp - Component name of the surface nodes of a structure which attach to - the TRANS126 elements. You must enclose name-strings in single - quotes in the EMTGEN command line. - - ecomp - Component name of the TRANS126 elements generated. You must - enclose name-strings in single quotes in the EMTGEN command line. - Defaults to EMTELM. + lab + Display triad as follows: - pncomp - Component name of the plane nodes generated by the command at an - offset (GAP) from the surface nodes. You must enclose name-strings - in single quotes in the EMTGEN command line. Defaults to EMTPNO. + ORIG - Display triad at global origin (default). - dof - Active structural degree of freedom (DOF) for TRANS126 elements - (UX, UY, or UZ) in the Cartesian coordinate system. You must - enclose the DOF in single quotes. + OFF - Turn off triad display. - gap - Initial gap distance from the surface nodes to the plane. Be sure - to use the correct sign with respect to Ncomp node location. + LBOT - Display triad in lower left screen corner. - gapmin - Minimum gap distance allowed (GAPMIN real constant) for TRANS126 - elements. Defaults to the absolute value of (GAP)*0.05. + RBOT - Display triad in lower right screen corner. - fkn - Contact stiffness factor used as a multiplier for a contact - stiffness appropriate for bulk deformation. Defaults to 0.1. + LTOP - Display triad in upper left screen corner. - epzero - Free-space permittivity. Defaults to 8.854e-6 (μMKS units). + RTOP - Display triad in upper right screen corner. Notes ----- - The EMTGEN command generates a set of TRANS126 elements between the - surface nodes of a moveable structure and a plane of nodes, typically - representing a ground plane. The plane of nodes are created by the - command at a specified offset (GAP). Each element attaches to a surface - node and to a corresponding node representing the plane. The created - elements are set to the augmented stiffness method (KEYOPT(6) = 1), - which can help convergence. The generated plane nodes should be - constrained appropriately for the analysis. - - You can use TRANS126 elements for simulating fully coupled - electrostatic structural coupling between a MEMS device and a plane, if - the gap distance between the device and the plane is small compared to - the overall surface area dimensions of the device. This assumption - allows for a point-wise closed-form solution of capacitance between the - surface nodes and the plane; i.e. CAP = EPZERO*AREA/GAP, where EPZERO - if the free-space permittivity, AREA is the area associated with the - node, and GAP is the gap between the node and the plane. The area for - each node is computed using the ARNODE function in ANSYS. See the *GET - command description for more information on the ARNODE function. + For efficiency, ANSYS 3-D graphics logic maintains a single data + structure (segment), which includes the triad as a 3-D data object. If + a 3-D device is involved (/SHOW,3D), and the ANSYS graphics are not + being displayed as multi-plots, then the triad location is determined + by the view settings for Window #1. A request for triad display + anywhere except for the origin could yield an improper display in + windows 2 through 5. The program displays the same segment in all + windows. The view settings of each window constitute the only + difference in the display in the active windows. - With a distributed set of TRANS126 elements attached directly to the - structure and a plane (such as a ground plane), you can perform a full - range of coupled electrostatic-structural simulations, including: - - Static analysis (due to a DC voltage or a mechanical load) - - Prestressed modal analysis (eigenfrequencies, including frequency-shift - effects of a DC bias voltage) - - Prestressed harmonic analysis (system response to a small-signal AC - excitation with a DC bias voltage or mechanical load) - - Large signal transient analysis (time-transient solution due to an - arbitrary time-varying voltage or mechanical excitation) - - The TRANS126 element also employs a node-to-node gap feature so you can - perform contact-type simulations where the structure contacts a plane - (such as a ground plane). The contact stiffness factor, FKN, is used to - control contact penetration once contact is initiated. A smaller value - provides for easier convergence, but with more penetration. + This command is valid in any processor. """ - command = "EMTGEN, %s, %s, %s, %s, %s, %s, %s, %s" % (str(ncomp), str(ecomp), str(pncomp), str(dof), str(gap), str(gapmin), str(fkn), str(epzero)) + command = "/TRIAD,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Asll(self, type="", arkey="", **kwargs): + def Sspd(self, d11="", d21="", d31="", d22="", d32="", d33="", t="", + **kwargs): """ - APDL Command: ASLL + APDL Command: SSPD - Selects those areas containing the selected lines. + Specifies a preintegrated bending stiffness for shell sections. Parameters ---------- - type - Label identifying the type of area select: - - S - Select a new set (default). + d11, d21, d31, d22, d32, d33 + Bending stiffness component (symmetric lower part of submatrix + [D]). - R - Reselect a set from the current set. + t + Temperature. - A - Additionally select a set and extend the current set. + Notes + ----- + The behavior of shell elements is governed by the generalized- + stress/generalized-strain relationship of the form: - U - Unselect a set from the current set. + The SSPD command, one of several preintegrated shell section commands, + specifies the bending stiffness quantity (submatrix [D] data) for a + preintegrated shell section. The section data defined is associated + with the section most recently defined (via the SECTYPE command). - arkey - Specifies whether all contained area lines must be selected [LSEL]: + Unspecified commands default to zero. - 0 - Select area if any of its lines are in the selected line set. + Related commands are SSPA, SSPB, SSPE, SSMT, SSBT, and SSPM. - 1 - Select area only if all of its lines are in the selected line set. + If you are using the SHELL181 or SHELL281 element's Membrane option + (KEYOPT(1) = 1), it is not necessary to issue this command. - Notes - ----- - This command is valid in any processor. + For complete information, see Using Preintegrated General Shell + Sections. """ - command = "ASLL, %s, %s" % (str(type), str(arkey)) + command = "SSPD,%s,%s,%s,%s,%s,%s,%s" % (str(d11), str(d21), str(d31), str(d22), str(d32), str(d33), str(t)) self.RunCommand(command, **kwargs) - def Help(self, name="", **kwargs): + def Ask(self, par="", query="", dval="", **kwargs): """ - APDL Command: HELP + APDL Command: *ASK - Displays help information on ANSYS commands and element types. + Prompts the user to input a parameter value. Parameters ---------- - name - Command name or element type. Examples are: HELP,MP or - HELP,SOLID185 (or HELP,185). For a list of elements of a - particular type, enter HELP,BEAM, HELP,SOLID, HELP,HYPER, etc. + par + An alphanumeric name used to identify the scalar parameter. See + *SET for name restrictions. + + query + Text string to be displayed on the next line as the query (32 + characters maximum). Characters having special meaning (such as $ + ! ,) should not be included. + + dval + Default value assigned to the parameter if the user issues a blank + response. May be a number or character string (up to 8 characters + enclosed in single quotes). If a default is not assigned, a blank + response will delete the parameter. Notes ----- - If Name uniquely matches a command or element name, the description for - that command or element will be displayed in the Help Window. For - command help, you must type the complete command name (including the * - or /). The help system cannot find partial matches. If * is used at - the beginning of the string, it will be interpreted as an ANSYS * - command. + Intended primarily for use in macros, the command prints the query + (after the word ENTER) on the next line and waits for a response. The + response is read from the keyboard, except in batch mode [/BATCH], when + the response(s) must be the next-read input line(s). The response may + be a number, a character string (up to 8 characters enclosed in single + quotes), a parameter (numeric or character) or an expression that + evaluates to a number. The scalar parameter is then set to the + response value. For example, *ASK,NN,PARAMETER NN will set NN to the + value entered on the next line (after the prompt ENTER PARAMETER NN). - For help on topics that are not ANSYS commands or element types (for - example, help for the word "material"), use the index or full text - search features of the ANSYS online help system. + The *ASK command is not written to File.LOG, but the responses are + written there as follows: If *ASK is contained in a macro, the + response(s) (only) is written to File.LOG on the line(s) following the + macro name. If not contained in a macro, the response is written to + File.LOG as a parameter assignment (i.e., Par = "user-response"). - The HELP command is valid only in GUI mode. To obtain help when not in - GUI mode, you can either activate the GUI by typing /MENU,ON, or you - can activate the help system directly by issuing /UI,HELP. + If used within a do-loop that is executed interactively, *ASK should be + contained in a macro. If not contained in a macro, *ASK will still + query the user as intended, but the resulting log file will not + reproduce the effects of the original run. This command is valid in any processor. """ - command = "HELP, %s" % (str(name)) + command = "*ASK,%s,%s,%s" % (str(par), str(query), str(dval)) self.RunCommand(command, **kwargs) - def Psdcom(self, signif="", comode="", forcetype="", **kwargs): + def Compress(self, **kwargs): """ - APDL Command: PSDCOM + APDL Command: COMPRESS - Specifies the power spectral density mode combination method. + Deletes all specified sets. - Parameters - ---------- - signif - Combine only those modes whose significance level exceeds theSIGNIF - threshold. For PSD response (SPOPT,PSD), the significance level is - defined as the modal covariance matrix term, divided by the maximum - modal covariance matrix term. Any term whose significance level is - less than SIGNIF is considered insignificant and is not contributed - to the mode combinations. The higher the SIGNIF threshold, the - fewer the number of terms used. SIGNIF defaults to 0.0001. If - SIGNIF is specified as 0.0, it is taken as 0.0. + Notes + ----- + Issue this command to delete all sets specified with the DELETE + command. - comode - First COMODE number of modes to be actually combined. COMODE must - always be less than or equal to NMODE (input quantity NMODE on the - SPOPT command). COMODE defaults to NMODE. COMODE performs a - second level of control for the first sequential COMODE number of - modes to be combined. It uses the significance level threshold - indicated by SIGNIF and operates only on the significant modes. + """ + command = "COMPRESS," % () + self.RunCommand(command, **kwargs) - forcetype - Label identifying the forces to be combined: + def Fmagbc(self, cnam1="", cnam2="", cnam3="", cnam4="", cnam5="", + cnam6="", cnam7="", cnam8="", cnam9="", **kwargs): + """ + APDL Command: FMAGBC - STATIC - Combine the modal static forces (default). + Applies force and torque boundary conditions to an element component. - TOTAL - Combine the modal static plus inertial forces. + Parameters + ---------- + cnam1, cnam2, cnam3, . . . , cnam9 + Names of existing element components (CM command). Must be + enclosed in single quotes (e.g., `Cnam1') when the command is + manually typed in. Notes ----- - This command is also valid for PREP7. This command is valid only for - SPOPT,PSD. + FMAGBC invokes a predefined ANSYS macro to apply Maxwell and virtual + work force and torque boundary conditions to an element component. + These boundary conditions are used for subsequent force and torque + calculations during solution. Magnetic virtual displacements (MVDI = + 1) are applied to nodes of elements in the components, and Maxwell + surface flags (MXWF) are applied to air elements adjoining the element + components. Incorrect force and torque calculations will occur for + components sharing adjacent air elements. Companion macros FMAGSUM + and TORQSUM can be used in POST1 to summarize the force and torque + calculations, respectively. Torque calculations are valid for 2-D + planar analysis only. For 2-D harmonic analysis, force and torque + represent time-average values. - PSDCOM is not allowed in ANSYS Professional. + If using elements PLANE121, SOLID122, SOLID123, PLANE233, SOLID236 and + SOLID237 (static analyses only), use EMFT to summarize electromagnetic + force and torque. If you do use FMAGSUM, you do not need to first set + either the Maxwell or the virtual work force flags via FMAGBC. """ - command = "PSDCOM, %s, %s, %s" % (str(signif), str(comode), str(forcetype)) + command = "FMAGBC,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(cnam1), str(cnam2), str(cnam3), str(cnam4), str(cnam5), str(cnam6), str(cnam7), str(cnam8), str(cnam9)) self.RunCommand(command, **kwargs) - def Vstat(self, **kwargs): + def Write(self, fname="", **kwargs): """ - APDL Command: *VSTAT + APDL Command: WRITE - Lists the current specifications for the array parameters. + Writes the radiation matrix file. + + Parameters + ---------- + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. Notes ----- - Lists the current specifications for the *VABS, *VCOL, *VCUM, *VFACT, - *VLEN, and *VMASK commands. - - This command is valid in any processor. + Writes radiation matrix file (File.SUB) for input to the substructure + thermal "use" pass. Subsequent WRITE operations to the same file + overwrite the file. """ - command = "*VSTAT, " % () + command = "WRITE,%s" % (str(fname)) self.RunCommand(command, **kwargs) - def Tbin(self, oper="", par1="", par2="", par3="", par4="", **kwargs): + def Sspm(self, dens="", t="", **kwargs): """ - APDL Command: TBIN + APDL Command: SSPM - Sets parameters used for interpolation of the material data tables. + Specifies mass density for a preintegrated shell section. Parameters ---------- - oper - Operation to perform: - - Operation to perform: - SCALE - - par1 - Independent variable, which can be any field variable specified via - the TBFIELD command. - - par2 - Index of any material parameter specified via the TBDATA command. - - par3 - Scale to be used for the independent variable. Valid options are - LINEAR (linear) or LOG (logarithmic). + dens + Mass density. - par4 - Scale to be used for the dependent variable (the material parameter - specified via Par2). Valid options are LINEAR (linear) or LOG - (logarithmic). + t + Temperature. Notes ----- - For a list of the supported material data tables (TB), see Logarithmic - Interpolation and Scaling in the Material Reference. + The SSPM command, one of several preintegrated shell section commands, + specifies the mass density (assuming a unit thickness) for a + preintegrated shell section. The value specified is associated with the + section most recently defined (via the SECTYPE command). + + Related commands are SSPA, SSPB, SSPD, SSPE, SSMT, and SSBT. + + For complete information, see Using Preintegrated General Shell + Sections. """ - command = "TBIN, %s, %s, %s, %s, %s" % (str(oper), str(par1), str(par2), str(par3), str(par4)) + command = "SSPM,%s,%s" % (str(dens), str(t)) self.RunCommand(command, **kwargs) - def Replot(self, label="", **kwargs): + def Mfouri(self, oper="", coeff="", mode="", isym="", theta="", curve="", + **kwargs): """ - APDL Command: /REPLOT + APDL Command: *MFOURI - Automatically reissues the last display command for convenience. + Calculates the coefficients for, or evaluates, a Fourier series. Parameters ---------- - label - Controls the type of replot. - - RESIZE - Issued internally when a graphics window resize occurs (Default). - - FAST - Only applicable for 3-D devices that allow a fast redisplay for changes in the - view characteristics only. + oper + Type of Fourier operation: - Notes - ----- - Reissues the last display command (NPLOT, EPLOT, KPLOT, PLNSOL, PLVAR, - etc.), along with its parameters, for convenience. The current display - specifications are used. + Calculate Fourier coefficients COEFF from MODE, ISYM, THETA, and CURVE. - Evaluate the Fourier curve CURVE from COEFF, MODE, ISYM andTHETA - When the last display command is invalid in a particular processor, the - use of the /REPLOT command is also invalid in that processor. However, - if you attempt a /REPLOT and the last display command is invalid in the - current processor, ANSYS produces an element display [EPLOT] instead, - as long as the last display command was PLNSOL, PLESOL, or PLDISP. - ANSYS performs this substitution of /REPLOT with EPLOT for your - convenience. + coeff + Name of the array parameter vector containing the Fourier + coefficients (calculated if Oper = FIT, required as input if Oper = + EVAL). See *SET for name restrictions. - For example, the PLNSOL command, which is used to display solution - results as continuous contours, is a valid command in the general - postprocessor [/POST1]. If you issue PLNSOL followed by /REPLOT while - in the general postprocessor, the /REPLOT command effectively reissues - your earlier PLNSOL command, along with its parameters. But if you - then exit the general postprocessor, enter the preprocessor [/PREP7], - and issue the /REPLOT command again, ANSYS internally issues EPLOT - instead. This occurs because PLNSOL is not a valid command in the - preprocessor. + mode + Name of the array parameter vector containing the mode numbers of + the desired Fourier terms. - When you click on one of the buttons on the Pan, Zoom, Rotate dialog - box to manipulate the view of a model, the /REPLOT command is issued - internally. Thus, the substitution of /REPLOT with EPLOT as described - above may occur not only for the PLNSOL, PLESOL, and PLDISP results - display commands, but also for operations that you perform with the - Pan, Zoom, Rotate dialog box. + isym + Name of the array parameter vector containing the symmetry key for + the corresponding Fourier terms. The vector should contain keys + for each term as follows: - /REPLOT will not show boundary conditions if they are only applied to a - solid model and the last display command (for example, EPLOT) displays - the finite element model. To show boundary conditions, the following - options are available: + Symmetric (cosine) term - Antisymmetric (sine) term. - Issue /REPLOT after you issue the SBCTRAN command to transfer solid - model boundary conditions to the finite element model. + theta, curve + Names of the array parameter vectors containing the theta vs. curve + description, respectively. Theta values should be input in + degrees. If Oper = FIT, one curve value should be supplied with + each theta value. If Oper = EVAL, one curve value will be + calculated for each theta value. - Issue /REPLOT after you issue a solid model display command (for - example, VPLOT). + Notes + ----- + Calculates the coefficients of a Fourier series for a given curve, or + evaluates the Fourier curve from the given (or previously calculated) + coefficients. The lengths of the COEFF, MODE, and ISYM vectors must be + the same--typically two times the number of modes desired, since two + terms (sine and cosine) are generally required for each mode. The + lengths of the CURVE and THETA vectors should be the same or the + smaller of the two will be used. There should be a sufficient number + of points to adequately define the curve--at least two times the number + of coefficients. A starting array element number (1) must be defined + for each array parameter vector. The vector specifications *VLEN, + *VCOL, *VABS, *VFACT, and *VCUM do not apply to this command. Array + elements should not be skipped with the *VMASK and the NINC value of + the *VLEN specifications. The vector being calculated (COEFF if Oper + is FIT, or CURVE if Oper is EVAL) must exist as a dimensioned array + [*DIM]. - This command is valid in any processor (except as noted above). + This command is valid in any processor. """ - command = "/REPLOT, %s" % (str(label)) + command = "*MFOURI,%s,%s,%s,%s,%s,%s" % (str(oper), str(coeff), str(mode), str(isym), str(theta), str(curve)) self.RunCommand(command, **kwargs) - def Bftran(self, **kwargs): + def Eof(self, **kwargs): """ - APDL Command: BFTRAN + APDL Command: /EOF - Transfers solid model body force loads to the finite element model. + Exits the file being read. Notes ----- - Body loads are transferred from selected keypoints and lines to - selected nodes and from selected areas and volumes to selected - elements. The BFTRAN operation is also done if the SBCTRAN command is - either explicitly issued or automatically issued upon initiation of the - solution calculations [SOLVE]. + Causes an end-of-file exit when encountered on a switched file (see + /INPUT, *USE, etc.). Commands are then read continuing from the file + that contained the file switching command (or from the terminal if the + switch was made from the terminal). Use the /EXIT command to terminate + an ANSYS run. This command cannot be used in a do-loop or if-then-else + construct. - This command is also valid in PREP7. + This command is valid in any processor. """ - command = "BFTRAN, " % () + command = "/EOF," % () self.RunCommand(command, **kwargs) - def Append(self, lstep="", sbstep="", fact="", kimg="", time="", angle="", - nset="", **kwargs): + def Solu(self, nvar="", item="", comp="", name="", **kwargs): """ - APDL Command: APPEND + APDL Command: SOLU - Reads data from the results file and appends it to the database. + Specifies solution summary data per substep to be stored. Parameters ---------- - lstep - Load step number of the data set to be read. Defaults to 1. If - FIRST, ignore SBSTEP and TIME and read the first data set. If - LAST, ignore SBSTEP and TIME and read the last data set. If NEXT, - ignore SBSTEP and TIME and read the next data set. If already at - the last data set, the next set is the first data set. If NEAR, - ignore SBSTEP and read the data set nearest to TIME. If TIME is - blank, read the first data set. If LIST, scan the results file to - produce a summary of each load step (FACT, KIMG, TIME and ANGLE - are ignored). - - sbstep - Substep number (within LSTEP) (defaults to last substep of load - step). For the Buckling (ANTYPE,BUCKLE) or Modal (ANTYPE,MODAL) - analysis, the substep corresponds to the mode number (defaults to - first mode). If LSTEP = LIST, SBSTEP = 0 or 1 will list the basic - load step information; SBSTEP = 2 will also list the load step - title, and label the imaginary data sets if they exist. - - fact - Scale factor applied to data read from the file. If zero (or - blank), a value of 1.0 is used. Harmonic velocities or - accelerations may be calculated from the displacement results from - a modal or harmonic (ANTYPE,HARMIC) analyses. If FACT = VELO, the - harmonic velocities (v) are calculated from the displacements (d) - at a particular frequency (f) according to the relationship v = 2 - πfd. Similarly, if FACT = ACEL, the harmonic accelerations (a) are - calculated as a = (2 πf)2d. - - kimg - Used only with results from complex analyses: - - 0 - Store real part of complex solution. - - 1 - Store imaginary part. + nvar + Arbitrary reference number assigned to this variable (2 to NV + [NUMVAR]). - time - Time-point identifying the data set to be read. For harmonic - analyses, time corresponds to the frequency. For the buckling - analysis, time corresponds to the load factor. Used only in the - following cases: If LSTEP is NEAR, read the data set nearest to - TIME. If both LSTEP and SBSTEP are zero (or blank), read data set - at time = TIME. If TIME is between two solution time points on the - results file, a linear interpolation is done between the two data - sets. Solution items not written to the results file [OUTRES] for - either data set will result in a null item after data set - interpolation. If TIME is beyond the last time point on the file, - the last time point is used. + item + Label identifying the item. Valid item labels are shown in the + table below. Some items may also require a component label. - angle - Circumferential location (0° to 360°). Defines the circumferential - location for the harmonic calculations used when reading from the - results file. The harmonic factor (based on the circumferential - angle) is applied to the harmonic elements (PLANE25, PLANE75, - PLANE78, PLANE83, and SHELL61) of the load case. See the - Mechanical APDL Theory Reference for details. Note that factored - values of applied constraints and loads will overwrite any values - existing in the database. + comp + Component of the item (if required). Valid component labels are + shown in the table below. None are currently required. - nset - Data set number of the data set to be read. If a positive value - for NSET is entered, LSTEP, SBSTEP, KIMG, and TIME are ignored. - Available set numbers can be determined by APPEND,LIST. To - determine if data sets are real or imaginary, issue APPEND,LIST,2 - which labels imaginary data sets. + name + Thirty-two character name identifying the item on printouts and + displays. Defaults to an eight character label formed by + concatenating the first four characters of the Item and Comp + labels. Notes ----- - Reads a data set from the results file and appends it to the existing - data in the database for the selected model only. The existing - database is not cleared (or overwritten in total), allowing the - requested results data to be merged into the database. Various - operations may also be performed during the read operation. The - database must have the model geometry available (or used the RESUME - command before the APPEND command to restore the geometry from - File.DB). + See also the PRITER command of POST1 to display some of these items + directly. Valid for a static or full transient analysis. All other + analyses have zeros for the data. Valid item and component labels for + solution summary values are: """ - command = "APPEND, %s, %s, %s, %s, %s, %s, %s" % (str(lstep), str(sbstep), str(fact), str(kimg), str(time), str(angle), str(nset)) + command = "SOLU,%s,%s,%s,%s" % (str(nvar), str(item), str(comp), str(name)) self.RunCommand(command, **kwargs) - def Nslv(self, type="", nkey="", **kwargs): + def Wpstyl(self, snap="", grspac="", grmin="", grmax="", wptol="", + wpctyp="", grtype="", wpvis="", snapang="", **kwargs): """ - APDL Command: NSLV + APDL Command: WPSTYL - Selects those nodes associated with the selected volumes. + Controls the display and style of the working plane. Parameters ---------- - type - Label identifying the type of node select: + snap + Snap increment for a locational pick (1E-6 minimum). If -1, turn + off snap capability. For example, a picked location of 1.2456 with + a snap of 0.1 gives 1.2, with 0.01 gives 1.25, with 0.001 gives + 1.246, and with 0.025 gives 1.250 (defaults to 0.05). - S - Select a new set (default). + grspac + Graphical spacing between grid points. For graphical + representation only and not related to snap points (defaults to + 0.1). - R - Reselect a set from the current set. + grmin, grmax + Defines the size of a square grid (if WPCTYP = 0) to be displayed + over a portion of the working plane. The opposite corners of the + grid will be located at grid points nearest the working plane + coordinates of (GRMIN,GRMIN) and (GRMAX,GRMAX). If a polar system + (WPCTYP = 1), GRMAX is the outside radius of grid and GRMIN is + ignored. If GRMIN = GRMAX, no grid will be displayed (defaults to + -1.0 and 1.0 for GRMIN and GRMAX respectively). - A - Additionally select a set and extend the current set. + wptol + The tolerance that an entity's location can deviate from the + specified working plane, while still being considered on the plane. + Used only for locational picking of vertices for polygons and + prisms (defaults to 0.003). - U - Unselect a set from the current set. + wpctyp + Working plane coordinate system type: - nkey - Specifies whether only interior volume nodes are to be selected: + 0 - Cartesian (default). If working plane tracking is on [CSYS,4], the updated + active coordinate system will also be Cartesian. - 0 - Select only nodes interior to selected volumes. + 1 - Polar. If working plane tracking is on, the updated active coordinate system + will be cylindrical. - 1 - Select all nodes (interior to volume, interior to areas, interior to lines, and - at keypoints) associated with the selected volumes. + 2 - Polar. If working plane tracking is on, the updated active coordinate system + will be spherical. - Notes - ----- - Valid only if the nodes were generated by a volume meshing operation - [VMESH] on a solid model that contains the selected volumes. + grtype + Grid type: - This command is valid in any processor. + 0 - Grid and WP triad. - """ - command = "NSLV, %s, %s" % (str(type), str(nkey)) - self.RunCommand(command, **kwargs) + 1 - Grid only. - def Fplist(self, **kwargs): - """ - APDL Command: FPLIST + 2 - WP triad only (default). - Lists the property table stored for fatigue evaluation. + wpvis + Grid visibility: - """ - command = "FPLIST, " % () - self.RunCommand(command, **kwargs) + 0 - Do not show GRTYPE entities (grid and/or triad) (default). - def Plpath(self, lab1="", lab2="", lab3="", lab4="", lab5="", lab6="", - **kwargs): - """ - APDL Command: PLPATH - - Displays path items on a graph. + 1 - Show GRTYPE entities. Cartesian working planes will be displayed with a + Cartesian grid, polar with a polar grid. - Parameters - ---------- - lab1, lab2, lab3, . . . , lab6 - Labels identifying the path items to be displayed. Up to six items - may be drawn per frame. Predefined path geometry items XG, YG, ZG, - and S [PDEF] may also be displayed. + snapang + Snap angle (0--180) in degrees. Used only if WPCTYP = 1 or 2. + Defaults to 5 degrees. Notes ----- - The path must have been defined by the PATH and PPATH commands. Path - items and their labels must have been defined with the PDEF, PVECT, - PCALC, PDOT, PCROSS, or PLNEAR commands. Path items may also be - printed with the PRPATH command. Graph scaling may be controlled with - the /XRANGE, /YRANGE, and PRANGE commands. You need to type all six - characters to issue this command. + Use WPSTYL,DEFA to reset the working plane to its default location and + style. Use WPSTYL,STAT to list the status of the working plane. Blank + fields will keep present settings. + + It is possible to specify SNAP and WPTOL values that will cause + conflicts during picking operations. Check your values carefully, and + if problems are noted, revert to the default values. + + WPSTYL with no arguments will toggle the grid on and off. The working + plane can be displayed in the non-GUI interactive mode only after + issuing a /PLOPTS,WP,1 command. See the Modeling and Meshing Guide for + more information on working plane tracking. See /PLOPTS command for + control of hidden line working plane. + + This command is valid in any processor. """ - command = "PLPATH, %s, %s, %s, %s, %s, %s" % (str(lab1), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6)) + command = "WPSTYL,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(snap), str(grspac), str(grmin), str(grmax), str(wptol), str(wpctyp), str(grtype), str(wpvis), str(snapang)) self.RunCommand(command, **kwargs) - def Modmsh(self, lab="", **kwargs): + def Nsubst(self, nsbstp="", nsbmx="", nsbmn="", carry="", **kwargs): """ - APDL Command: MODMSH + APDL Command: NSUBST - Controls the relationship of the solid model and the FE model. + Specifies the number of substeps to be taken this load step. Parameters ---------- - lab - Relationship key: + nsbstp + Number of substeps to be used for this load step (i.e., the time + step size or frequency increment). If automatic time stepping is + used (AUTOTS), NSBSTP defines the size of the first substep. - STAT - Gives status of command (default). This applies only to the CHECK option (no - status is provided for the DETACH option). + nsbmx + Maximum number of substeps to be taken (i.e., the minimum time step + size) if automatic time stepping is used. The program automatically + determines the default based on the physics of the model. - NOCHECK - Deactivates the checking of the solid model and the finite element model. - Allows elements and nodes generated with the mesh - commands to be modified directly (EMODIF, NMODIF, EDELE, - NDELE, etc.). Also deactivates solid model hierarchical - checking so that areas attached to volumes may be deleted - etc. + nsbmn + Minimum number of substeps to be taken (i.e., the maximum time step + size) if automatic time stepping is used. The program automatically + determines the default based on the physics of the model. - CHECK - Reactivates future checking of the solid model. + carry + Time step carryover key (program-determined default depending on + the problem physics): - DETACH - Releases all associativity between the current solid model and finite element - model. ANSYS deletes any element attributes that were - assigned to the affected solid model entities through - default attributes (that is, through the TYPE, REAL, MAT, - SECNUM, and ESYS command settings and a subsequent meshing - operation). However, attributes that were assigned - directly to the solid model entities (via the KATT, LATT, - AATT, and VATT commands) are not deleted. + OFF - Use NSBSTP to define time step at start of each load step. + + ON - Use final time step from previous load step as the starting time step (if + automatic time stepping is used). Notes ----- - Affects the relationship of the solid model (keypoints, lines, areas, - volumes) and the finite element model (nodes, elements, and boundary - conditions). + See DELTIM for an alternative input. It is recommended that all fields + of this command be specified for solution efficiency and robustness. - Specify Lab = NOCHECK carefully. By deactivating checking, the solid - model database can be corrupted by subsequent operations. + When the arc-length method is active (ARCLEN command), the NSBMX and + NSBMN arguments are ignored. - After specifying Lab = DETACH, it is no longer possible to select or - define finite element model items in terms of the detached solid model - or to clear the mesh. + This command is also valid in PREP7. """ - command = "MODMSH, %s" % (str(lab)) + command = "NSUBST,%s,%s,%s,%s" % (str(nsbstp), str(nsbmx), str(nsbmn), str(carry)) self.RunCommand(command, **kwargs) - def Mshpattern(self, key="", **kwargs): + def Vsla(self, type="", vlkey="", **kwargs): """ - APDL Command: MSHPATTERN + APDL Command: VSLA - Specifies pattern to be used for mapped triangle meshing. + Selects those volumes containing the selected areas. Parameters ---------- - key - Key indicating triangle pattern to be used (the figures below - illustrate the pattern that will be used for each value of KEY): + type + Label identifying the type of volume select: - 0 - Let ANSYS choose the pattern (the default). ANSYS maximizes the minimum angle - of the triangular-shaped elements that are created. + S - Select a new set (default). - 1 - Unidirectional split at node I. + R - Reselect a set from the current set. - 2 - Unidirectional split at node J. + A - Additionally select a set and extend the current set. - Notes - ----- - "Mapped triangle meshing" refers to the ANSYS program's ability to take - a map-meshable area and mesh it with triangular elements, based on the - value of MSHPATTERN,KEY. This type of meshing is particularly useful - for analyses that involve the meshing of rigid contact elements. + U - Unselect a set from the current set. - The MSHPATTERN command is valid only when you have specified that ANSYS - use triangle-shaped elements [MSHAPE,1,2D] (or you are meshing with an - element that supports only triangles), and you have also specified - mapped meshing [MSHKEY,1] to mesh an area. + vlkey + Specifies whether all contained volume areas must be selected + [ASEL]: - For details about mapped meshing with triangles, see the Modeling and - Meshing Guide. + 0 - Select volume if any of its areas are in the selected area set. + + 1 - Select volume only if all of its areas are in the selected area set. + + Notes + ----- + This command is valid in any processor. """ - command = "MSHPATTERN, %s" % (str(key)) + command = "VSLA,%s,%s" % (str(type), str(vlkey)) self.RunCommand(command, **kwargs) - def Trpdel(self, ntrp1="", ntrp2="", trpinc="", **kwargs): + def Abbres(self, lab="", fname="", ext="", **kwargs): """ - APDL Command: TRPDEL + APDL Command: ABBRES - Deletes particle flow or charged particle trace points. + Reads abbreviations from a coded file. Parameters ---------- - ntrp1, ntrp2, trpinc - Delete points from NTRP1 to NTRP2 (defaults to NTRP1) in steps of - TRPINC (defaults to 1). If NTRP1 = ALL, NTRP2 and TRPINC are - ignored and all trace points are deleted. If NTRP1 = P, graphical - picking is enabled and all remaining command fields are ignored - (valid only in the GUI). + lab + Label that specifies the read operation: + + Replace current abbreviation set with these abbreviations (default). - Extend current abbreviation set with these abbreviations, replacing any of the + same name that already exist. + + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. + + ext + Filename extension (eight-character maximum). + + -- + Unused field. Notes ----- - Deletes particle flow or charged particle trace points defined with the - TRPOIN command. + The abbreviation file may have been written with the ABBSAV command. Do + not issue ABBRES,NEW while inside an executing abbreviation. Doing so + will cause all data for the executing abbreviation to be deleted. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "TRPDEL, %s, %s, %s" % (str(ntrp1), str(ntrp2), str(trpinc)) + command = "ABBRES,%s,%s,%s" % (str(lab), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Bfl(self, line="", lab="", val1="", val2="", val3="", val4="", - **kwargs): + def Aesize(self, anum="", size="", **kwargs): """ - APDL Command: BFL + APDL Command: AESIZE - Defines a body force load on a line. + Specifies the element size to be meshed onto areas. Parameters ---------- - line - Line to which body load applies. If ALL, apply to all selected - lines [LSEL]. A component name may also be substituted for Line. - - lab - Valid body load label. Load labels are listed under "Body loads" in - the input table for each element type in the Element Reference. - - val1, val2, val3 - Value associated with the Lab item or a table name for specifying - tabular boundary conditions. Use only VAL1 for TEMP, FLUE, HGEN, - and CHRGD. For acoustics, if Lab = JS, use VAL1 for mass source in - a harmonic analysis or mass source rate in a transient analysis, - and ignoreVAL2 and VAL3. When specifying a table name, you must - enclose the table name in percent signs (%), e.g., - BFL,Line,Lab,%tabname%. Use the *DIM command to define a table. + anum + Area number of the area to which this element size specification + applies. If ANUM = ALL, size applies to all selected areas. If ANUM + = P, graphical picking is enabled. A component name may also be + substituted for ANUM. - val4 - If Lab = JS, VAL4 is the phase angle in degrees. + size + Desired element size. Notes ----- - Defines a body force load (such as temperature in a structural - analysis, heat generation rate in a thermal analysis, etc.) on a line. - Body loads may be transferred from lines to line elements (or to nodes - if line elements do not exist) with the BFTRAN or SBCTRAN commands. - - You can specify a table name only when using temperature (TEMP) and - heat generation rate (HGEN) body load labels. - - Body loads specified by the BFL command can conflict with other - specified body loads. See Resolution of Conflicting Body Load - Specifications in the Basic Analysis Guide for details. + AESIZE allows control over the element sizing inside any area or on the + face(s) of a volume. - Graphical picking is available only via the listed menu paths. + SIZE controls element size on the interior of the area. For any line on + the area not having its own size assignment and not controlled by + keypoint size assignments, it specifies the element size along the line + as well, so long as no adjacent area has a smaller size, which would + take precedence. If the AESIZE governs the boundary and SmartSizing is + on, the boundary size can be refined for curvature or proximity. - This command is also valid in PREP7. + This command is also valid for rezoning. """ - command = "BFL, %s, %s, %s, %s, %s, %s" % (str(line), str(lab), str(val1), str(val2), str(val3), str(val4)) + command = "AESIZE,%s,%s" % (str(anum), str(size)) self.RunCommand(command, **kwargs) - def Bfcum(self, lab="", oper="", fact="", tb_ase="", **kwargs): + def Trpoin(self, x="", y="", z="", vx="", vy="", vz="", chrg="", m_ass="", + **kwargs): """ - APDL Command: BFCUM + APDL Command: TRPOIN - Specifies that nodal body force loads are to be accumulated. + Defines a point through which a particle flow or charged particle trace + will travel. Parameters ---------- - lab - Valid body load label. If ALL, use all appropriate labels. - - oper - Accumulation key: - - REPL - Subsequent values replace the previous values (default). - - ADD - Subsequent values are added to the previous values. + x, y, z + Coordinate location of the trace point (in the active coordinate + system). If X = P, graphical picking is enabled and all remaining + command fields are ignored (valid only in the GUI). - IGNO - Subsequent values are ignored. + vx, vy, vz + Particle velocities in the X, Y and Z directions (in the active + coordinate system). - fact - Scale factor for the nodal body load values. Zero (or blank) - defaults to 1.0. Use a small number for a zero scale factor. The - scale factor is not applied to body load phase angles. + chrg + Particle charge. - tbase - Used (only with Lab = TEMP) to calculate the temperature used in - the add or replace operation (see Oper) as: + mass + Particle mass. Notes ----- - Allows repeated nodal body force loads to be replaced, added, or - ignored. Nodal body loads are applied with the BF command. Issue the - BFLIST command to list the nodal body loads. The operations occur when - the next body loads are defined. For example, issuing the BF command - with a temperature of 250 after a previous BF command with a - temperature of 200 causes the new value of the temperature to be 450 - with the add operation, 250 with the replace operation, or 200 with the - ignore operation. A scale factor is 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 temperature of 700. The - scale factor is applied even if no previous values exist. Issue - BFCUM,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. + Defines a point through which a particle flow or charged particle trace + [PLTRAC] will travel. Multiple points (50 maximum) may be defined + which will result in multiple flow traces. Use TRPLIS to list the + currently defined trace points and TRPDEL to delete trace points. - BFCUM does not work for tabular boundary conditions. + The VX, VY, VZ, CHRG, and MASS arguments only apply to charged + particles. - This command is also valid in PREP7. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "BFCUM, %s, %s, %s, %s" % (str(lab), str(oper), str(fact), str(tb_ase)) + command = "TRPOIN,%s,%s,%s,%s,%s,%s,%s,%s" % (str(x), str(y), str(z), str(vx), str(vy), str(vz), str(chrg), str(m_ass)) self.RunCommand(command, **kwargs) - def Mfclear(self, option="", value="", **kwargs): + def Rose(self, signif="", label="", td="", forcetype="", **kwargs): """ - APDL Command: MFCLEAR + APDL Command: ROSE - Deletes ANSYS Multi-field solver analysis settings. + Specifies the Rosenblueth mode combination method. Parameters ---------- - option - SOLU + signif + Combine only those modes whose significance level exceeds the + SIGNIF threshold. For single point, multipoint, or DDAM response + (SPOPT, SPRS, MPRS, or DDAM), the significance level of a mode is + defined as the mode coefficient of the mode, divided by the maximum + mode coefficient of all modes. Any mode whose significance level is + less than SIGNIF is considered insignificant and does not + contribute to the mode combinations. The higher the SIGNIF + threshold, the fewer the number of modes combined. SIGNIF defaults + to 0.001. If SIGNIF is specified as 0.0, it is taken as 0.0. - SOLU - Resets all ANSYS solution commands except KBC to their default states. This - option clears analysis options when setting up different - fields for an ANSYS Multi-field solver analysis. + label + Label identifying the combined mode solution output. - FIELD - Deletes all ANSYS Multi-field solver specifications for the specified field - number. + DISP - Displacement solution (default). Displacements, stresses, forces, etc., are + available. - SINT - Deletes all ANSYS Multi-field solver specifications for the specified surface - interface number. + VELO - Velocity solution. Velocities, "stress velocities," "force velocities," etc., + are available. - VINT - Deletes all ANSYS Multi-field solver specifications for the volumetric - interface number. + ACEL - Acceleration solution. Accelerations, "stress accelerations," "force + accelerations," etc. are available. - ORD - Deletes the analysis order specified by the MFORDER command. + td + Time duration for earthquake or shock spectrum. TD defaults to 10. - EXT - Deletes external fields specified by the MFEXTER command + forcetype + Label identifying the forces to be combined: - MFLC - Deletes load transfers specified by the MFLCOMM command + STATIC - Combine the modal static forces (default). - value - Use only for Option = FIELD, SINT, or VINT. + TOTAL - Combine the modal static plus inertial forces. Notes ----- - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + For more information on spectrum analysis combination methods, see + Combination of Modes + + This command is also valid in PREP7. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "MFCLEAR, %s, %s" % (str(option), str(value)) + command = "ROSE,%s,%s,%s,%s" % (str(signif), str(label), str(td), str(forcetype)) self.RunCommand(command, **kwargs) - def Keyw(self, keyword="", key="", **kwargs): + def Ssum(self, **kwargs): """ - APDL Command: KEYW - - Sets a keyword used by the GUI for context filtering (GUI). - - Parameters - ---------- - keyword - A keyword which, when set to either true or false, changes the - behavior of the GUI. - - key - Keyword switch: - - 0 - Sets the keyword to "false." + APDL Command: SSUM - 1 - Sets the keyword to "true." + Calculates and prints the sum of element table items. Notes ----- - Defines a keyword used by the GUI for context filtering. This is a - command generated by the GUI and may appear in the log file - (Jobname.LOG) if the GUI is used. This command is usually not typed in - directly in an ANSYS session. - - This command is valid in any processor. + Calculates and prints the tabular sum of each existing labeled result + item [ETABLE] for the selected elements. If absolute values are + requested [SABS,1], absolute values are used. """ - command = "KEYW, %s, %s" % (str(keyword), str(key)) + command = "SSUM," % () self.RunCommand(command, **kwargs) - def Rock(self, cgx="", cgy="", cgz="", omx="", omy="", omz="", **kwargs): + def Padele(self, delopt="", **kwargs): """ - APDL Command: ROCK + APDL Command: PADELE - Specifies a rocking response spectrum. + Deletes a defined path. Parameters ---------- - cgx, cgy, cgz - Global Cartesian X, Y, and Z location of center of rotation about - which rocking occurs. + delopt + Path delete option (one of the following): - omx, omy, omz - Global Cartesian angular velocity components associated with the - rocking. + ALL - Delete all defined paths. + + NAME - Delete a specific path from the list of path definitions. (Substitute the + actual path name for NAME.) Notes ----- - Specifies a rocking response spectrum effect in the spectrum - (ANTYPE,SPECTR) analysis. - - The excitation direction with rocking included is not normalized to - one; rather, it scales the spectrum. For more information, see - Participation Factors and Mode Coefficients. + Paths are identified by individual path names. To review the current + list of path names, issue the command PATH,STATUS. - This command is also valid in PREP7. + This command is valid in the general postprocessor. """ - command = "ROCK, %s, %s, %s, %s, %s, %s" % (str(cgx), str(cgy), str(cgz), str(omx), str(omy), str(omz)) + command = "PADELE,%s" % (str(delopt)) self.RunCommand(command, **kwargs) - def Vplot(self, nv1="", nv2="", ninc="", degen="", scale="", **kwargs): + def Trans(self, fname="", ext="", **kwargs): """ - APDL Command: VPLOT + APDL Command: TRANS - Displays the selected volumes. + Reformats File.GRPH for improved performance with plotters. Parameters ---------- - nv1, nv2, ninc - Display volumes from NV1 to NV2 (defaults to NV1) in steps of NINC - (defaults to 1). If NV1 = ALL (default), NV2 and NINC are ignored - and all selected volumes [VSEL] are displayed. - - degen - Degeneracy marker: - - (blank) - No degeneracy marker is used (default). + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - DEGE - A red star is placed on keypoints at degeneracies (see the Modeling and Meshing - Guide). Not available if /FACET,WIRE is set. + ext + Filename extension (eight-character maximum). - scale - Scale factor for the size of the degeneracy-marker star. The scale - is the size in window space (-1 to 1 in both directions) (defaults - to .075). + -- + Unused field. Notes ----- - Displays selected volumes. (Only volumes having areas within the - selected area set [ASEL] will be plotted.) With PowerGraphics on - [/GRAPHICS,POWER], VPLOT will display only the currently selected - areas. This command is also a utility command, valid anywhere. The - degree of tessellation used to plot the volumes is set through the - /FACET command. + Reformats current Fname.GRPH data (based on color) for improved + performance with pen plotters. """ - command = "VPLOT, %s, %s, %s, %s, %s" % (str(nv1), str(nv2), str(ninc), str(degen), str(scale)) + command = "TRANS,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Aux15(self, **kwargs): + def Esize(self, size="", ndiv="", **kwargs): """ - APDL Command: /AUX15 + APDL Command: ESIZE - Enters the IGES file transfer processor. + Specifies the default number of line divisions. + + Parameters + ---------- + size + Default element edge length on surface boundaries (i.e., lines). + Divisions are automatically calculated (rounded upward to next + integer) from line lengths. If SIZE is zero (or blank), use NDIV. + + ndiv + Default number of element divisions along region boundary lines. + Not used if SIZE is input. Notes ----- - Enters the IGES file transfer processor (ANSYS auxiliary processor - AUX15), used to read an IGES data file into the ANSYS program. + Specifies the default number of line divisions (elements) to be + generated along the region boundary lines. The number of divisions may + be defined directly or automatically calculated. Divisions defined + directly for any line [LESIZE, KESIZE, etc.] are retained. For adjacent + regions, the divisions assigned to the common line for one region are + also used for the adjacent region. See the MOPT command for additional + meshing options. - This command is valid only at the Begin Level. + For free meshing operations, if smart element sizing is being used + [SMRTSIZE] and ESIZE,SIZE has been specified, SIZE will be used as a + starting element size, but will be overridden (i.e., a smaller size may + be used) to accommodate curvature and small features. + + This command is also valid for rezoning. """ - command = "/AUX15, " % () + command = "ESIZE,%s,%s" % (str(size), str(ndiv)) self.RunCommand(command, **kwargs) - def Tbft(self, oper="", id="", option1="", option2="", option3="", - option4="", option5="", option6="", option7="", **kwargs): + def Rstmac(self, file1="", lstep1="", sbstep1="", file2="", lstep2="", + sbstep2="", tolern="", maclim="", cname="", keyprint="", + unvscale="", keym_ass="", **kwargs): """ - APDL Command: TBFT + APDL Command: RSTMAC - Performs material curve-fitting operations. + Calculates modal assurance criterion (MAC) and matches nodal solutions + from two results files or from one results file and one universal + format file. Parameters ---------- - oper - The specific curve-fitting operation: + file1 + File name (32 characters maximum) corresponding to the first + results file (.rst or .rstp file). If the file name does not + contain the extension, it defaults to .rst. - Define a constitutive model. - Delete a constitutive model. + lstep1 + Load step number of the results to be read in File1. - Write data related to a constitutive model to the database (same as TB command). - Initialize coefficients of a constitutive model for nonlinear curve-fitting - procedure. + N - Reads load step N. Defaults to 1. - Deletes coefficients at current reference temperature. Applicable only for temperature dependent coefficients. - Solve for coefficients. + sbstep1 + Substep number of the results to be read in File1. - Fix (hold constant) the coefficient you specify in Option4. - Add experimental data. + N - Reads substep N. - Delete experimental data. - List all data associated with the material model represented by the material ID - number. + All - Reads all substeps. This value is the default. - id - The material reference number (same as MAT argument used in the TB - command). Valid entry is any number greater than zero (default = 1) - but less than 100,000. + file2 + File name (32 characters maximum) corresponding to the second file + (.rst, .rstp, or .unv file). If the file name does not contain the + extension, it defaults to .rst. - option1 - For curve-fit function operations (Oper = FADD, FDEL, FSET, SET, - CDEL, SOLVE or FIX) this field specifies the category (HYPER). + lstep2 + Load step number of the results to be read in File2. - option2 - For curve-fit function operations (Oper = FADD, FDEL, FSET, SET, - CDEL, SOLVE, or FIX), this field specifies constitutive model type. - The valid entries are listed in Table 231: Hyperelastic Options - below. + N - Reads load step N. Defaults to 1. - option3 - For Oper = FADD, FDEL, FSET, CDEL, SET, SOLVE or FIX, some of the - cases specified in Option2 will require that the polynomial order - be specified. The applicable values for the order specification are - listed in Table 231: Hyperelastic Options. + sbstep2 + Substep number of the results to be read in File2. - option4 - When you are working on a specific coefficient (Oper = FIX), this - field specifies the index of that coefficient. Valid entries vary - from 1 to n, where n is the total number of coefficients (default = - 1). + N - Reads substep N. - option5 - When you are working on a specific coefficient (Oper = FIX), this - field specifies the index of that coefficient. Valid entries vary - from 1 to N, where N is the total number of coefficients (default = - 1) + All - Reads all substeps. This value is the default. - option6 - If Oper = SOLVE, specifies the allowed tolerance in residual change - to stop an iteration. Valid entry is 0.0 to 1.0 (default = 0.0). + tolern + Tolerance for nodes matching. If TolerN = -1, the nodes on File2 + are mapped into the selected elements of File1. If TolerN is + positive, the selected nodes of File1 are matched to the nodes of + File2. The default value is 0.01. - option7 - If Oper = SOLVE, specifies the allowed tolerance in coefficient - change to stop an iteration. Valid entry is 0 to 1 (default = 0). + maclim + Smallest acceptable MAC value. Must be 0 and 1. The default value + is 0.90. - Notes - ----- - The TBFT command provides tools for comparing experimental material - data to the program-provided calculated data for various nonlinear - material options. Based on curve-fitting comparisons and error norms, - choose the model to use during the solution phase of the analysis - according to the best fit. All of the capabilities of the TBFT command - are accessible interactively via the standard material GUI. See - Material Curve Fitting in the Structural Analysis Guide for more - information. + cname + Name of the component from the first file (File1). The component + must be based on nodes. If unspecified, all nodes are matched and + used for MAC calculations. If a component name is specified, only + nodes included in the specified component are used. Not applicable + to node mapping (TolerN=-1). - Display material model data associated with both the TB command and the - TBFT,FSET command via TBLIST,ALL,ALL. + keyprint + Printout options: - Material model data associated with the most recent TB or TBFT,FSET - command overwrites previous data. + 0 - Printout matched solutions table. This value is the default. - Display material model data associated with both the TB command and the - TBFT,FSET command via TBLIST,ALL,ALL. + 1 - Printout matched solutions table and full MAC table. - The capability to fix coefficients (Option4 = FIX) applies only to - nonlinear curve fits (as listed in Table: 5.3:: Hyperelastic Curve- - Fitting Model Types. + 2 - Printout matched solutions table, full MAC table and matched nodes table. - The uniaxial, biaxial, and shear experimental data use engineering - stress. The volumetric data uses true stress. See the Material - Reference for details about experimental data for creep and - viscoelasticity. + unvscale + Scaling of the nodal coordinates when File2 is a universal format + file (.unv). - """ - command = "TBFT, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(oper), str(id), str(option1), str(option2), str(option3), str(option4), str(option5), str(option6), str(option7)) - self.RunCommand(command, **kwargs) + Blank or 0 - No scaling (default). - def Mffname(self, fnumb="", fname="", **kwargs): - """ - APDL Command: MFFNAME + Non-zero value - Scaling factor applied to the nodal coordinates. - Specifies a file name for a field in an ANSYS Multi-field solver - analysis. + keymass + Key to include the mass matrix diagonal in the calculations. - Parameters - ---------- - fnumb - Field number specified by the MFELEM command. + ON - Include the mass matrix diagonal. This is the default. - fname - File name. Defaults to field "FNUMB". + OFF - Do not include the mass matrix diagonal. Notes ----- - All files created for the field will have this file name with the - appropriate extensions. + The RSTMAC command allows the comparison of the solutions from either: - This command is also valid in PREP7. + Two different results files - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + One result file and one universal format file - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The modal assurance criterion (MAC) is used. - """ - command = "MFFNAME, %s, %s" % (str(fnumb), str(fname)) - self.RunCommand(command, **kwargs) + The meshes read on File1 and File2 may be different. If TolerN>0, the + nodes are matched. This is the default. If TolerN = -1, the nodes are + mapped and the solutions are interpolated from File1. - def Showdisp(self, dname="", ncpl="", **kwargs): - """ - APDL Command: /SHOWDISP + Units and coordinate systems must be the same for both models. When a + universal format file is used, the nodal coordinates can be scaled + using UNVscale. - Defines the display driver name. + The corresponding database file (.db) for File1 must be resumed before + running the command only if a component (Cname) is used or if the nodes + are mapped (TolerN = -1). - Parameters - ---------- - dname - Valid driver name (see Getting Started with Graphics in the Basic - Analysis Guide for details): + Results may be real or complex; however, if results from File1 have a + different type from results in File2, only the real parts of the + solutions are taken into account in MAC calculations. The analysis type + can be arbitrary. - - Any linked terminal driver (such as X11, TEKTRONIX, etc.) + Only structural degrees of freedom are considered. Degrees of freedom + can vary between File1 and File2, but at least one common degree of + freedom must exist. - HPGL - Hewlett-Packard Graphics Language + When node mapping and solution interpolation is performed (TolerN=-1), + File1 must correspond to a model meshed in solid and/or shell elements. + Other types of elements can be present but the node mapping is not + performed for those elements. Interpolation is performed on UX, UY, and + UZ degrees of freedom. - HPGL2 - Hewlett-Packard Graphics Language with enhanced color. (See the HPGL command - for options.) Ignores the NCPL field. + The solutions read on the results files are not all written to the + database, therefore, subsequent plotting or printing of solutions is + not possible. A SET command must be issued after the RSTMAC command to + post-process each solution. - INTERLEAF - Interleaf ASCII Format, OPS Version 5.0 + RSTMAC comparison on cyclic symmetry analysis works only if the number + of sectors on File1 and File2 are the same. Also comparison cannot be + made between cyclic symmetry results and full 360 degree model results + (File1 – cyclic solution, File2 – full 360 degree model solution). + Comparing cyclic symmetry solutions written on selected set of node + (OUTRES) is not supported. - POSTSCRIPT - PostScript, Version 1.0 Minimally Conforming + The modal assurance criterion values can be retrieved as parameters + using the *GET command (Entity = RSTMAC). - DUMP - ASCII Text Dump + For more information and an example, see Comparing Nodal Solutions From + Two Models (RSTMAC) in the Basic Analysis Guide. - --, -- - Unused fields. + """ + command = "RSTMAC,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(file1), str(lstep1), str(sbstep1), str(file2), str(lstep2), str(sbstep2), str(tolern), str(maclim), str(cname), str(keyprint), str(unvscale), str(keym_ass)) + self.RunCommand(command, **kwargs) - ncpl - Number of color planes (4 to 8). Default is device-dependent. + def Helpdisp(self, commandname="", **kwargs): + """ + APDL Command: HELPDISP + + Displays help information on DISPLAY program commands. + + Parameters + ---------- + commandname + Any DISPLAY command. If blank, a list of DISPLAY commands is + produced. """ - command = "/SHOWDISP, %s, %s" % (str(dname), str(ncpl)) + command = "HELPDISP,%s" % (str(commandname)) self.RunCommand(command, **kwargs) - def Edcsc(self, key="", **kwargs): + def Edis(self, option="", pidn="", pido="", **kwargs): """ - APDL Command: EDCSC + APDL Command: EDIS - Specifies whether to use subcycling in an explicit dynamics analysis. + Specifies stress initialization in an explicit dynamic full restart + analysis. Parameters ---------- - key - Subcycling key: + option + Label identifying the option to be performed. - OFF - Do not use subcycling (default). + ADD - Define stress initialization between parts (default). - ON - Use subcycling. + pidn + New part ID or part assembly ID in the full restart analysis + (defaults to all parts in the model). + + pido + Old part ID or part assembly ID in the previous analysis, (default + to PIDN). Notes ----- - Subcycling can be used to speed up an analysis when element sizes - within a model vary significantly. Relatively small elements will - result in a small time step size. When subcycling is on, the minimum - time step size is increased for the smallest elements. + The EDIS command is only valid in an explicit dynamic full restart + analysis (EDSTART,3). (EDIS is ignored if it is not preceded by the + EDSTART,3 command.) Use EDIS to specify which parts and/or part + assemblies should undergo stress initialization in the restart based on + the stresses from the previous analysis. You can specify stress + initialization for multiple parts (or part assemblies) by issuing EDIS + multiple times. If you issue EDIS with no arguments, stress + initialization is performed for all parts in the restart analysis that + have a corresponding part (having the same part ID) in the previous + analysis. - This command is also valid in PREP7. + In a full restart analysis, the complete database is written as an LS- + DYNA input file, Jobname_nn.K. When the LS-DYNA solution begins, LS- + DYNA performs the stress initialization using file Jobname_nn.K and the + restart dump file (d3dumpnn specified on the EDSTART command) from the + previous analysis. At the end of initialization, all the parts that + were specified by the EDIS commands are initialized from the data saved + in the restart dump file. In order for the stress initialization to be + performed successfully, the new parts in the full restart analysis and + the old parts in the previous analysis must have the same number of + elements, same element order, and same element topology. (The parts may + have different identifying numbers.) If this is not the case, the + stresses cannot be initialized. If part assemblies are used, the part + assemblies must contain the same number of parts. (See A Full Restart + in the ANSYS LS-DYNA User's Guide for more details). Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "EDCSC, %s" % (str(key)) + command = "EDIS,%s,%s,%s" % (str(option), str(pidn), str(pido)) self.RunCommand(command, **kwargs) - def Edcadapt(self, freq="", tol="", opt="", maxlvl="", btime="", dtime="", - lcid="", adpsize="", adp_ass="", ireflg="", adpene="", - adpth="", maxel="", **kwargs): + def Tallow(self, temp1="", temp2="", temp3="", temp4="", temp5="", + temp6="", **kwargs): """ - APDL Command: EDCADAPT + APDL Command: TALLOW - Specifies adaptive meshing controls for an explicit dynamic analysis. + Defines the temperature table for safety factor calculations. Parameters ---------- - freq - Time interval between adaptive mesh refinements (default = 0.0). - Use FREQ = STAT to list the current adaptive meshing control - settings. - - tol - Adaptive angle tolerance (in degrees) for which adaptive meshing - will occur (default = 1e31). If the relative angle change between - elements exceeds the specified tolerance value, the elements will - be refined. - - opt - Adaptivity option: - - 1 - Angle change (in degrees) of elements is based on original mesh configuration - (default). - - 2 - Angle change (in degrees) of elements is incrementally based on previously - refined mesh. - - maxlvl - Maximum number of mesh refinement levels (default = 3). This - parameter controls the number of times an element can be remeshed. - Values of 1, 2, 3, 4, etc. allow a maximum of 1, 4, 16, 64, etc. - elements, respectively, to be created for each original element. - - btime - Birth time to begin adaptive meshing (default = 0.0). - - dtime - Death time to end adaptive meshing (default = 1e31). - - lcid - Data curve number (previously defined on the EDCURVE command) - identifying the interval of remeshing (no default). The abscissa of - the data curve is time, and the ordinate is the varied adaptive - time interval. If LCID is nonzero, the adaptive frequency (FREQ) is - replaced by this load curve. Note that a nonzero FREQ value is - still required to initiate the first adaptive loop. - - adpsize - Minimum element size to be adapted based on element edge length - (default = 0.0). + temp1, temp2, temp3, . . . , temp6 + Input up to six temperatures covering the range of nodal + temperatures. Temperatures must be input in ascending order. - adpass - One or two pass adaptivity option. + Notes + ----- + Defines the temperature table for safety factor calculations [SFACT, + SALLOW]. Use STAT command to list current temperature table. Repeat + TALLOW command to zero table and redefine points (6 maximum). - 0 - Two pass adaptivity (default). + Safety factor calculations are not supported by PowerGraphics. Both the + SALLOW and TALLOW commands must be used with the Full Model Graphics + display method active. - 1 - One pass adaptivity. + """ + command = "TALLOW,%s,%s,%s,%s,%s,%s" % (str(temp1), str(temp2), str(temp3), str(temp4), str(temp5), str(temp6)) + self.RunCommand(command, **kwargs) - ireflg - Uniform refinement level flag (no default). Values of 1, 2, 3, etc. - allow 4, 16, 64, etc. elements, respectively, to be created - uniformly for each original element. + def Bfunif(self, lab="", value="", **kwargs): + """ + APDL Command: BFUNIF - adpene - Adaptive mesh flag for starting adaptivity when approaching - (positive ADPENE value) or penetrating (negative ADPENE value) the - tooling surface (default = 0.0). + Assigns a uniform body force load to all nodes. - adpth - Absolute shell thickness level below which adaptivity should begin. - This option works only if the adaptive angle tolerance (TOL) is - nonzero. If thickness based adaptive remeshing is desired without - angle change, set TOL to a large angle. The default is ADPTH = 0.0, - which means this option is not used. + Parameters + ---------- + lab + Valid body load label. If ALL, use all appropriate labels. - maxel - Maximum number of elements at which adaptivity will be terminated - (no default). Adaptivity is stopped if this number of elements is - exceeded. + value + Uniform value associated with Lab item, or table name when + specifying tabular boundary conditions. To specify a table, + enclose the table name in percent signs (%), e.g., + BFUNIF,Lab,%tabname%. Notes ----- - The EDCADAPT command globally sets the control options for all part IDs - that are to be adaptively meshed (see the EDADAPT command). Because - FREQ defaults to zero, you must input a nonzero value in this field in - order to activate adaptive meshing. You must also specify a reasonable - value for TOL since the default adaptive angle tolerance (1e31) will - not allow adaptive meshing to occur. + In a transient or nonlinear thermal analysis, the uniform temperature + is used during the first iteration of a solution as follows: (a) as + the starting nodal temperature (except where temperatures are + explicitly specified [D, DK]), and (b) to evaluate temperature- + dependent material properties. In a structural analysis or explicit + dynamic analysis, the uniform temperature is used as the default + temperature for thermal strain calculations and material property + evaluation (except where body load temperatures are specified [BF, BFE, + BFK, LDREAD]). In other scalar field analyses, the uniform temperature + is used for material property evaluation. - The EDCADAPT command is not supported in an explicit dynamic full - restart analysis (EDSTART,3). + When the command BFUNIF,TEMP is used in an explicit dynamic analysis, + you cannot use the EDLOAD,TEMP command to apply temperature loading. + Furthermore, any temperature loading defined by BFUNIF cannot be listed + or deleted by the EDLOAD command. - This command is also valid in PREP7. + An alternate command, TUNIF, may be used to set the uniform temperature + instead of BFUNIF,TEMP. Since TUNIF (or BFUNIF,TEMP) is step-applied in + the first iteration, you should use BF, ALL, TEMP, Value to ramp on a + uniform temperature load. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + You can specify a table name only when using temperature (TEMP), heat + generation rate (HGEN), and diffusing substance generation rate (DGEN) + body load labels. When using TEMP, you can define a one-dimensional + table that varies with respect to time (TIME) only. When defining this + table, enter TIME as the primary variable. No other primary variables + are valid. Tabular boundary conditions cannot be used in an explicit + dynamic analysis. + + This command is also valid in PREP7. """ - command = "EDCADAPT, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(freq), str(tol), str(opt), str(maxlvl), str(btime), str(dtime), str(lcid), str(adpsize), str(adp_ass), str(ireflg), str(adpene), str(adpth), str(maxel)) + command = "BFUNIF,%s,%s" % (str(lab), str(value)) self.RunCommand(command, **kwargs) - def Adele(self, na1="", na2="", ninc="", kswp="", **kwargs): + def Contour(self, wn="", ncont="", vmin="", vinc="", vmax="", **kwargs): """ - APDL Command: ADELE + APDL Command: /CONTOUR - Deletes unmeshed areas. + Specifies the uniform contour values on stress displays. Parameters ---------- - na1, na2, ninc - Delete areas from NA1 to NA2 (defaults to NA1) in steps of NINC - (defaults to 1). If NA1 = ALL, NA2 and NINC are ignored and all - selected areas [ASEL] are deleted. If NA1 = P, graphical picking - is enabled and all remaining arguments are ignored (valid only in - the GUI). A component name may also be substituted for NA1 (NA2 - and NINC are ignored). + wn + Window number (or ALL) to which command applies (defaults to 1). - kswp - Specifies whether keypoints and lines are also to be deleted: + ncont + Number of contour values. NCONT defaults to 9 for X11 or WIN32 and + to 128 for X11c or WIN32C. The default graphics window display for + 3-D devices is a smooth continuous shading effect that spans the + maximum of 128 contours available. Use the /DV3D command to create + defined banding for your contour values (values of 9 and 128 are + displayed in smooth shading only). The legend, however, will + display only nine color boxes, which span the full range of colors + displayed in the graphics window. - 0 - Delete areas only (default). + vmin + Minimum contour value. If VMIN = AUTO, automatically calculate + contour values based upon NCONT uniformly spaced values over the + min-max extreme range. Or, if VMIN = USER, set contour values to + those of the last display (useful when last display automatically + calculated contours). - 1 - Delete areas, as well as keypoints and lines attached to specified areas but - not shared by other areas. + vinc + Value increment (positive) between contour values. Defaults to + (VMAX-VMIN)/NCONT. + + vmax + Maximum contour value. Ignored if both VMIN and VINC are + specified. Notes ----- - An area attached to a volume cannot be deleted unless the volume is - first deleted. + See the /CVAL command for alternate specifications. Values represent + contour lines in vector mode, and the algebraic maximum of contour + bands in raster mode. + + Note:: : No matter how many contours (NCONT) are specified by /CONTOUR, + the actual number of contours that appear on your display depends also + on the device name, whether the display is directed to the screen or to + a file, the display mode (vector or raster), and the number of color + planes. (All these items are controlled by /SHOW settings.) In any + case, regardless of whether they are smoothed or banded, only 128 + contours can be displayed. See Creating Geometric Results Displays in + the Basic Analysis Guide for more information on changing the number of + contours. + + If the current ANSYS graphics are not displayed as Multi-Plots, then + the following is true: If the current device is a 3-D device + [/SHOW,3D], the model contours in all active windows will be the same, + even if separate /CONTOUR commands are issued for each active window. + For efficiency, ANSYS 3-D graphics logic maintains a single data + structure (segment), which contains precisely one set of contours. The + program displays the same segment in all windows. The view settings of + each window constitute the only differences in the contour plots in the + active windows. + + This command is valid in any processor. """ - command = "ADELE, %s, %s, %s, %s" % (str(na1), str(na2), str(ninc), str(kswp)) + command = "/CONTOUR,%s,%s,%s,%s,%s" % (str(wn), str(ncont), str(vmin), str(vinc), str(vmax)) self.RunCommand(command, **kwargs) - def Xvar(self, n="", **kwargs): + def Plorb(self, **kwargs): """ - APDL Command: XVAR + APDL Command: PLORB - Specifies the X variable to be displayed. + Displays the orbital motion of a rotating structure - Parameters - ---------- - n - X variable number: + Notes + ----- + When a structure is rotating and the Coriolis or gyroscopic effect is + taken into account (CORIOLIS), nodes lying on the rotation axis + generally exhibit an elliptical orbital motion. The PLORB command + displays the orbit of each rotating node as well as the deformed shape + at time t = 0 (the real part of the solution). - 0 or 1 - Display PLVAR values vs. time (or frequency). + To print the characteristics of the orbital path traversed by each + node, issue the PRORB command. - n - Display PLVAR values vs. variable n (2 to NV [NUMVAR]). + The PLORB command is valid for line elements (such as BEAM188, BEAM189, + PIPE288, and PIPE289). - 1 - Interchange time and PLVAR variable numbers with time as the curve parameter. - PLVAR variable numbers are displayed uniformly spaced along - X-axis from position 1 to 10. + Your model must also involve a rotational velocity (OMEGA or CMOMEGA) + with Coriolis enabled in a stationary reference frame + (CORIOLIS,,,,RefFrame = ON). - Notes - ----- - Defines the X variable (displayed along the abscissa) against which the - Y variable(s) [PLVAR] are to be displayed. + A SET command should be issued after PLORB to ensure proper output for + subsequent postprocessing commands. + + The coordinate system for displaying nodal results must be global + Cartesian (RSYS,KCN = 0). """ - command = "XVAR, %s" % (str(n)) + command = "PLORB," % () self.RunCommand(command, **kwargs) - def Setran(self, sename="", kcnto="", inc="", file="", ext="", dx="", - dy="", dz="", norot="", **kwargs): + def Vimp(self, vol="", chgbnd="", implevel="", **kwargs): """ - APDL Command: SETRAN + APDL Command: VIMP - Creates a superelement from an existing superelement. + Improves the quality of the tetrahedral elements in the selected + volume(s). Parameters ---------- - sename - The name (case-sensitive) of the file containing the original - superelement matrix created by the generation pass (Sename.SUB). - The default is the current Jobname. If Sename is a number, it is - the element number of a previously defined superelement in the - current use pass. + vol + Number of the volume containing the tetrahedral elements to be + improved. If VOL = ALL (default), improve the tetrahedral elements + in all selected volumes. If VOL = 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 VOL. - kcnto - The reference number of the coordinate system to where the - superelement is to be transferred. The default is the global - Cartesian system. Transfer occurs from the active coordinate - system. + chgbnd + Specifies whether to allow boundary modification. Boundary + modification includes such things as changes in the connectivity of + the element faces on the boundary and the addition of boundary + nodes. (Also see "Notes" below for important usage information for + CHGBND.) - inc - The node offset. The default is zero. All new element node - numbers are offset from those on the original by INC. + 0 - Do not allow boundary modification. - file - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + 1 - Allow boundary modification (default). - ext - Filename extension (eight-character maximum). - - -- - Unused field. + implevel + Identifies the level of improvement to be performed on the + elements. (Improvement occurs primarily through the use of face + swapping and node smoothing techniques.) - dx, dy, dz - Node location increments in the global Cartesian coordinate system. - Defaults to zero. + 0 - Perform the least amount of swapping/smoothing. - norot - Node rotation key: + 1 - Perform an intermediate amount of swapping/smoothing. - 0 - The nodal coordinate systems of the transferred superelement rotate into the - KCNTO system. (That is, the nodal coordinate systems rotate - with the superelement.) The superelement matrices remain - unchanged. This value is the default. + 2 - Perform the greatest amount of swapping/smoothing. - 1 - The nodal coordinate systems do not rotate. (That is, they remain fixed in - their original global orientation.) The superelement matrices - and load vectors are modified if any rotations occur. + 3 - Perform the greatest amount of swapping/smoothing, plus additional improvement + techniques (default). Notes ----- - The SETRAN command creates a superelement from an existing superelement - and writes the new element to a file. You can then issue an SE command - to read the new element (during the use pass). - - You can create a superelement from an original by: - - Transferring the original's geometry from the active coordinate system - into another coordinate system (KCNTO) - - Offsetting its geometry in the global Cartesian coordinate system (DX, - DY, and DZ ) - - Offsetting its node numbers (INC). + VIMP is useful for further improving a volume mesh created in ANSYS + [VMESH], especially quadratic tetrahedral element meshes. - A combination of methods is valid. If you specify both the geometry - transfer and the geometry offset, the transfer occurs first. + The VIMP command enables you to improve a given tetrahedral mesh by + reducing the number of poorly-shaped tetrahedral elements (in + particular, the number of sliver tetrahedral elements)--as well as the + overall number of elements--in the mesh. It also improves the overall + quality of the mesh. - If you specify rotation of the transferred superelement's nodal - coordinate systems into the KCNTO system (NOROT = 0), the rotated nodes - cannot be coupled via the CP command; in this case, issue the CE - command instead. If you specify no rotation of the nodal coordinate - systems (NOROT = 1) for models with displacement degrees of freedom, - and KCNTO is not the active system, the superelement Sename must have - six MDOF at each node that has MDOF; therefore, only elements with all - six structural DOFs are valid in such cases. + Regardless of the value of the CHGBND argument, boundary mid-nodes can + be moved. - There is no limit to the number of copies that can be made of a - superelement, provided the copies are all generated from the same - original superelement. However, nested copies are limited to five. In - other words, the total number of different Sename usages on the SETRAN - and SESYMM commands is limited to five. + When loads or constraints have been placed on boundary nodes or mid- + nodes, and boundary mid-nodes are later moved, ANSYS issues a warning + message to let you know that it will not update the loads or + constraints. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Even when CHGBND = 1, no boundary modification is performed on areas + and lines that are not modifiable (for example, areas that are adjacent + to other volumes or that contain shell elements, or lines that are not + incident on modifiable areas, contain beam elements, or have line + divisions specified for them [LESIZE]). """ - command = "SETRAN, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(sename), str(kcnto), str(inc), str(file), str(ext), str(dx), str(dy), str(dz), str(norot)) + command = "VIMP,%s,%s,%s" % (str(vol), str(chgbnd), str(implevel)) self.RunCommand(command, **kwargs) - def Ocread(self, fname="", ext="", option="", **kwargs): + def Nlmesh(self, control="", val1="", val2="", val3="", val4="", **kwargs): """ - APDL Command: OCREAD + APDL Command: NLMESH - Reads externally defined ocean data. + Controls remeshing in nonlinear adaptivity. Parameters ---------- - fname - External ocean data file name (excluding the filename extension) - and directory path containing the file. For more information, see - the Notes section. + control + The mesh-quality control to adjust: - ext - Filename extension (limited to eight characters). + NANG - Specifies the surface facet dihedral angle threshold. Use this option to retain + source mesh geometry features. The dihedral angle is + defined by the angle between the normal vectors from two + neighboring surface facet sharing an edge. If the dihedral + angle is larger than the specified threshold, the edge is + treated as soft edge so that the new nodes are forced to + the edge. - -- - Reserved field. + VAL1 is the dihedral angle threshold (in degrees) on concave surfaces. VAL2 is the dihedral angle threshold (in degrees) on convex surfaces. - Default: VAL1 = 15 and VAL2 = 15. - option - Integer value passed to the userOceanRead subroutine (as iOption) - for user-defined waves. This value does not apply to the diffracted - wave type. + When NLMESH,EXPL is issued, the VAL1 and VAL2 become the lower bounds of dihedral angles for mesh exploration. Use VAL3 and VAL4 to define the upper bounds of dihedral angles on concave and convex surfaces (respectively) for mesh exploration. - Generally, larger VAL1 and VAL2 values lead to better quality new meshes (and + may even repair local tiny facets of poor + quality); however, larger values may also smooth + out some geometric features, leading to slightly + different results and causing possible + convergence difficulty in the substeps + immediately following remeshing. - Notes - ----- - The OCREAD command imports ocean data that has been defined externally - (for example, via the Hydrodynamic Diffraction System (AQWA)). + AEDG - Specifies the edge angle threshold (in degrees). Use this option to split patch + segments. The edge angle is the angle between adjacent + surface segment edges sharing a node. If the edge angle is + larger than the specified threshold (VAL1), the segment + splits and the node is automatically treated as a hard node + to be retained. - The command operates on the ocean load ID specified via the most - recently issued OCTYPE command. Issue a separate OCREAD command for - each ocean load that you want to read into the program. + Default: VAL1 = 10. - Generally, larger VAL1 values improve the quality of the new mesh, but may + result in fewer feature nodes. The effect is + similar to that of dihedral angles. - Fname is limited to 248 characters, including the directory path. If - Fname does not include a directory path, the program searches for the - specified file in the current working directory. An unspecified Fname - defaults to Jobname. + SRAT - Specifies the global sizing ratio for remeshing. - For the diffracted wave type (KWAVE = 8 on the OCDATA command), you - must issue an OCREAD command for the ocean wave ID in order to import - the hydrodynamic data from the hydrodynamic analysis. + Generally, set the lower value (VAL1) to >= 0.7 and the upper value (VAL2) to <= 1.5. Within this range, the model can be refined (< 1.0) or coarsened (> 1.0) up to 3x depending on the number of elements (if performing a remesh of the entire model). - Default: VAL1 = 1.0. The default value results in the new mesh having a similar + size as that of the source mesh. - For more information, see Applying Ocean Loading from a Hydrodynamic - Analysis in the Advanced Analysis Guide. + NLAY - Specifies the number of sculpting layers beginning with detected seed elements. + This option helps to detect remeshing regions from whole + model. - To learn more about creating user-defined waves, see Subroutine - userPanelHydFor (Calculating Panel Loads Caused by Ocean Loading) in - the Programmer's Reference. + Default: VAL1 = 2. - Generally, a larger VAL1 value leads to larger remeshing regions and tends to + unite isolated multiple regions. A larger value + also tends to result in better remeshing quality + (and increases mapping and solution overhead + accordingly). - This command is also valid in PREP7. + VAL1 = 0 is not valid, as the remeshing regions would contain only detected seed elements, resulting in many small cavities within remeshing regions (especially if the specified skewness threshold (NLADAPTIVE) is relatively large). - When NLMESH,EXPL is issued, VAL1 becomes the lower bound of mesh exploration. + Use VAL2 to define the upper bound for mesh + exploration. - """ - command = "OCREAD, %s, %s, %s" % (str(fname), str(ext), str(option)) - self.RunCommand(command, **kwargs) + LSRT - Specifies the local sizing ratio threshold (VAL1). If the length of adjacent + segments over that of surface short segments exceeds the + specified threshold ratio, the neighboring segments are + candidates for local sizing to improve target mesh quality. - def Mfcmmand(self, fnumb="", fname="", ext="", **kwargs): - """ - APDL Command: MFCMMAND + Use local sizing in cases where any of the following conditions exist: - Short edges significantly smaller than average - Captures field solution options in a command file. + Poor surface mesh (triangles) on top edges - Small surface patches composed of few triangles caused by small user-specified + dihedral angles. - Parameters - ---------- - fnumb - Field number specified by the MFELEM command. + Valid values are VAL1 >= 1.0. Default: VAL1 = 1.0. - When NLMESH, EXPL is issued, VAL1 becomes the lower bound of mesh exploration. + Use VAL2 to define the upper bound for mesh + exploration. - fname - Command file name specified for the field number. Defaults to field - "FNUMB". + For more information about this control, see "Notes". - EXPL - ext - Extension for Fname. Defaults to .cmd. + Specifies the nonlinear mesh-exploration behavior. Mesh exploration consists of trying various mesh controls to obtain the best quality mesh during remeshing process. - For more information about this control, see "Notes". + + LIST - Lists all defined advanced control parameters. + + val1, val2, val3, val4 + Numerical input values that vary according to the specified Control + option. Notes ----- - All relevant solution option commands for the specified field are - written to a file with the extension .cmd. Refer to the commands in the - following tables in the Command Reference: Analysis Options, Nonlinear - Options, Dynamic Options, and Load Step Options. + NLMESH is a global control command enabling mesh-quality adjustments + for remeshing in nonlinear adaptivity. The command can be used when + components are associated with mesh-quality criteria (NLADAPTIVE with + Criterion = MESH). - This command is also valid in PREP7. + Issue the NLMESH command only in cases where advanced mesh-quality + control is desirable for remeshing in nonlinear adaptivity. The + settings specified by this command apply to all components having mesh- + quality-based criteria defined. - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + Following are LSRT usage examples to help you determine a suitable + threshold value for the local sizing ratio: - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + If the value is only slightly greater than the minimum (and default) + value of 1.0, local sizing is imposed on all segments. Recommended: + VAL1 > 1.1. + + If the value is large enough such that no neighboring segments have + lengths that would cause the threshold ratio to be exceeded, all + segments are treated as though local sizing is disabled. + + For mesh exploration (NLMESH,EXPL,VAL1): + + VAL1 = 0 -- The exception to the default behavior (no mesh exploration) + occurs when remeshing fails to create a mesh for the user-specified + NLMESH input parameters. In this case, mesh exploration is performed as + though VAL1 = 1, with default NANG upper bounds of 60,60 in order to + continue the solution, and the lower bounds being user-specified. + + VAL1 = 1 -- The NANG lower and upper bounds must be input; otherwise, + the command is ignored. The upper bound can be input for NLAY also, but + the exploration still triggers remeshings with the whole model as seed + elements. + + VAL1 = 2 -- The NANG lower and upper bounds must be input; otherwise, + the command is ignored. + + VAL1 = 3 -- An optional upper bound can be specified via LSRT. By + default, the upper bound is set to be 30 percent more than the (user- + specified) lower bound. + + Mesh exploration is needed only when it is difficult to obtain a good + quality mesh via standard remeshing. It is good practice to first try + less aggressive exploration with VAL1 = 1. """ - command = "MFCMMAND, %s, %s, %s" % (str(fnumb), str(fname), str(ext)) + command = "NLMESH,%s,%s,%s,%s,%s" % (str(control), str(val1), str(val2), str(val3), str(val4)) self.RunCommand(command, **kwargs) - def Nlgeom(self, key="", **kwargs): + def Bstq(self, val1="", val2="", t="", **kwargs): """ - APDL Command: NLGEOM + APDL Command: BSTQ - Includes large-deflection effects in a static or full transient - analysis. + Specifies the cross section twist and torque relationship for beam + sections. Parameters ---------- - key - Large-deflection key: + val1 + Twist component (χ). - OFF - Ignores large-deflection effects (that is, a small-deflection analysis is - specified). This option is the default. + val2 + Torque component (τ). - ON - Includes large-deflection (large rotation) effects or large strain effects, - according to the element type. + t + Temperature. Notes ----- - Large-deflection effects are categorized as either large deflection (or - large rotation) or large strain, depending on the element type. These - are listed (if available) under Special Features in the input data - table for each element in the Element Reference. When large deflection - effects are included (NLGEOM,ON), stress stiffening effects are also - included automatically. + The behavior of beam elements is governed by the generalized- + stress/generalized-strain relationship of the form: - If used during the solution (/SOLU), this command is valid only within - the first load step. + The BSTQ command, one of several nonlinear general beam section + commands, specifies the cross section twist and torque relationship for + a beam section. The section data defined is associated with the section + most recently defined (via the SECTYPE command). - In a large-deflection analysis, pressure loads behave differently than - other load types. For more information, see Load Direction in a Large- - Deflection Analysis. + Unspecified values default to zero. - The gyroscopic matrix (that occurs due to rotational angular velocity) - does not support large-deflection effects. The theoretical formulations - for the gyroscopic matrix support small deflection (linear formulation) - only. + Related commands are BSAX, BSM1, BSM2, BSS1, BSS2, BSMD, and BSTE. - When large-deflection effects are included in a substructure or CMS - transient analysis use pass, the OUTRES command ignores DSUBres = ALL. + For complete information, see Using Nonlinear General Beam Sections. - This command is also valid in PREP7. + """ + command = "BSTQ,%s,%s,%s" % (str(val1), str(val2), str(t)) + self.RunCommand(command, **kwargs) - In ANSYS Professional NLT, large deflection effects should not be - turned on if 2-D solid (PLANEn) or 3-D solid (SOLIDn) elements are - defined. ANSYS Professional NLS supports NLGEOM,ON for plane and solid - elements. + def Smsurf(self, **kwargs): + """ + APDL Command: SMSURF + + Specifies "Surface loads on the solid model" as the subsequent status + topic. + + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "NLGEOM, %s" % (str(key)) + command = "SMSURF," % () self.RunCommand(command, **kwargs) - def Gssol(self, nvar="", item="", comp="", name="", **kwargs): + def Magsolv(self, opt="", nramp="", cnvcsg="", cnvflux="", neqit="", + biot="", cnvtol="", **kwargs): """ - APDL Command: GSSOL + APDL Command: MAGSOLV - Specifies which results to store from the results file when using - generalized plane strain. + Specifies magnetic solution options and initiates the solution. Parameters ---------- - nvar - Arbitrary reference number or name assigned to this variable. - Variable numbers can be 2 to NV (NUMVAR) while the name can be an - eight byte character string. Overwrites any existing results for - this variable. + opt + Static magnetic solution option: - item - Label identifying item to be stored. + 0 - Vector potential (MVP) or edge formulation (default). - LENGTH - Change of fiber length at the ending point. + 1 - Combined vector potential and reduced scalar potential (MVP-RSP). - ROT - Rotation of the ending plane during deformation. + 2 - Reduced scalar potential (RSP). - F - Reaction force at the ending point in the fiber direction. + 3 - Difference scalar potential (DSP). - M - Reaction moment applied on the ending plane. + 4 - General scalar potential (GSP). - comp - Component of the item, if Item = ROT or M. + nramp + Number of ramped substeps for the first load step of a nonlinear + MVP or MVP-RSP solution. Defaults to 3. If NRAMP = -1, ignore the + ramped load step entirely.NRAMP is ignored for linear + magnetostatics. - X - The rotation angle or reaction moment of the ending plane about X. + cnvcsg + Tolerance value on the program-calculated reference value for the + magnetic current-segment convergence. Used for the MVP, the MVP- + RSP, and the edge formulation solution options (OPT = 0 and 1). + Defaults to 0.001. - Y - The rotation angle or reaction moment of the ending plane about Y. + cnvflux + Tolerance value on the program-calculated reference value for the + magnetic flux convergence. Used for all scalar potential solution + options (OPT = 2, 3, 4). Defaults to 0.001. - name - Thirty-two character name identifying the item on the printout and - display. Defaults to the label formed by concatenating the first - four characters of the Item and Comp labels. + neqit + Maximum number of equilibrium iterations per load step. Defaults + to 25. - Notes - ----- - This command stores the results (new position of the ending plane after - deformation) for generalized plane strain. All 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. + biot + Option to force execution of a Biot-Savart integral solution + [BIOT,NEW] for the scalar potential options. Required if multiple + load steps are being performed with different current source + primitives (SOURC36 elements). - """ - command = "GSSOL, %s, %s, %s, %s" % (str(nvar), str(item), str(comp), str(name)) - self.RunCommand(command, **kwargs) + 0 - Do not force execution of Biot-Savart calculation (default); Biot-Savart is + automatically calculated only for the first solution. - def Window(self, wn="", xmin="", xmax="", ymin="", ymax="", ncopy="", - **kwargs): - """ - APDL Command: /WINDOW + 1 - Force execution of Biot-Savart calculation. - Defines the window size on the screen. + cnvtol + Sets the convergence tolerance for AMPS reaction. Defaults to 1e-3. - Parameters - ---------- - wn - Window reference number (1 to 5). Defaults to 1. This number, or - ALL (for all active windows), may be used on other commands. + Notes + ----- + MAGSOLV invokes an ANSYS macro which specifies magnetic solution + options and initiates the solution. The macro is applicable to any + ANSYS magnetostatic analysis using the magnetic vector potential (MVP), + reduced scalar potential (RSP), difference scalar potential (DSP), + general scalar potential (GSP), or combined MVP-RSP formulation + options. Results are only stored for the final converged solution. + (In POST1, issue *SET,LIST to identify the load step of solution + results.) The macro internally determines if a nonlinear analysis is + required based on magnetic material properties. - xmin, xmax, ymin, ymax - Screen coordinates defining window size. Screen coordinates are - measured as -1.0 to 1.67 with the origin at the screen center. For - example, (-1,1.67,-1,1) is full screen, (-1,0,-1,0) is the left - bottom quadrant. If XMIN = OFF, deactivate this previously defined - window; if ON, reactivate this previously defined window. If FULL, - LEFT, RIGH, TOP, BOT, LTOP, LBOT, RTOP, RBOT, form full, half, or - quarter window. If SQUA, form largest square window within the - current graphics area. If DELE, delete this window (cannot be - reactivated with ON). + If you use the BIOT option and issue SAVE after solution or + postprocessing, the Biot-Savart calculations are saved to the database, + but will be overwritten upon normal exit from the program. To save + this data after issuing SAVE, use the /EXIT,NOSAVE command. You can + also issue the /EXIT,SOLU command to exit ANSYS and save all solution + data, including the Biot-Savart calculations, in the database. + Otherwise, when you issue RESUME, the Biot-Savart calculation will be + lost (resulting in a zero solution). - ncopy - Copies the current specifications from window NCOPY (1 to 5) to - this window. If NCOPY = 0 (or blank), no specifications are - copied. + The MVP, MVP-RSP, and edge formulation options perform a two-load-step + solution sequence. The first load step ramps the applied loads over a + prescribed number of substeps (NRAMP), and the second load step + calculates the converged solution. For linear problems, only a single + load step solution is performed. The ramped load step can be bypassed + by setting NRAMP to -1. - Notes - ----- - Defines the window size on the screen. Windows may occupy a separate - section of the screen or they may overlap. Requested displays are - formed in all windows according to the selected window specifications. + The RSP option solves in a single load step using the adaptive descent + procedure. The DSP option uses two load steps, and the GSP solution + uses three load steps. - This command is valid in any processor. + The following analysis options and nonlinear options are controlled by + this macro: KBC, NEQIT, NSUBST, CNVTOL, NROPT, MAGOPT, and OUTRES. + + You cannot use constraint equations with OPT = 4. """ - command = "/WINDOW, %s, %s, %s, %s, %s, %s" % (str(wn), str(xmin), str(xmax), str(ymin), str(ymax), str(ncopy)) + command = "MAGSOLV,%s,%s,%s,%s,%s,%s,%s" % (str(opt), str(nramp), str(cnvcsg), str(cnvflux), str(neqit), str(biot), str(cnvtol)) self.RunCommand(command, **kwargs) - def Ltran(self, kcnto="", nl1="", nl2="", ninc="", kinc="", noelem="", - imove="", **kwargs): + def Andata(self, delay="", ncycl="", rsltdat="", min="", max="", incr="", + frclst="", autocont="", autocntr="", **kwargs): """ - APDL Command: LTRAN + APDL Command: ANDATA - Transfers a pattern of lines to another coordinate system. + Displays animated graphics data for nonlinear problems. Parameters ---------- - kcnto - Reference number of coordinate system where the pattern is to be - transferred. Transfer occurs from the active coordinate system. - The coordinate system type and parameters of KCNTO must be the same - as the active system. + delay + Time delay during animation (defaults to 0.5 seconds). - nl1, nl2, ninc - Transfer lines from pattern beginning with NL1 to NL2 (defaults to - NL1) in steps of NINC (defaults to 1). If NL1 = ALL, NL2 and NINC - are ignored and pattern is all selected lines [LSEL]. If NL1 = 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 NL1 (NL2 and NINC are ignored). + ncycl + Number of animation cycles (defaults to 5). Available in non-UI + mode only. - kinc - Keypoint increment between sets. If zero, the lowest available - keypoint numbers are assigned [NUMSTR]. + rsltdat + The type of results data to be used for the animation sequence. + This can be: - noelem - Specifies whether nodes and elements are also to be generated: + 0 - Current load step data (default). - 0 - Generate nodes and elements associated with the original lines, if they exist. + 1 - Range of load step data. - 1 - Do not generate nodes and elements. + 2 - Range of results data. - imove - Specifies whether lines will be moved or newly defined: + min + The range minimum value. If left blank or 0, defaults to the first + data point. - 0 - Generate additional lines. + max + The range maximum value. If left blank or 0, defaults to the last + data point. - 1 - Move original lines to new position retaining the same keypoint numbers (KINC - and NOELM are ignored). Valid only if the old lines are no - longer needed at their original positions. Corresponding - meshed items are also moved if not needed at their original - position. + incr + The increment between result data (defaults to 1). + + frclst + Key to force the last sub step in a selected load step to be + included in the animation (defaults to 0). + + autocont + A value of 1 enables automatic scaling of contour values based on + the overall subset range of values. The default value is 0 (no + automatic scaling). + + -- + Unused field. + + autocntr + A value of 1 disables automatic centering of displaced plots. The + default value is 0 (allow automatic centering). Notes ----- - Transfers a pattern of lines (and their corresponding keypoints and - mesh) from one coordinate system to another (see analogous node - transfer command, TRANSFER). The MAT, TYPE, REAL, and ESYS attributes - are based upon the lines in the pattern and not upon the current - settings. Coordinate systems may be translated and rotated relative to - each other. Initial pattern may be generated in any coordinate system. - However, solid modeling in a toroidal coordinate system is not - recommended. Coordinate and slope values are interpreted in the active - coordinate system and are transferred directly. Lines are generated as - described in the LGEN command. - - """ - command = "LTRAN, %s, %s, %s, %s, %s, %s, %s" % (str(kcnto), str(nl1), str(nl2), str(ninc), str(kinc), str(noelem), str(imove)) - self.RunCommand(command, **kwargs) - - def Nread(self, fname="", ext="", **kwargs): - """ - APDL Command: NREAD - - Reads nodes from a file. + Use the ANDATA command to create animations for nonlinear problems. The + command works by displaying an individual graphical image for each + result data set from the results file. For information about creating + animations for linear problems, see the ANIM command. - Parameters - ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + The command operates only on graphic display platforms supporting the + /SEG command. It uses a macro to produce an animation based on the last + plot action command (for example, PLDISP). - ext - Filename extension (eight-character maximum). + The results file must have more than one set of results. - -- - Unused field. + The command implicitly issues /DSCALE, 1 for default displacement + scaling. Large displacements may not give good results. - Notes - ----- - The read operation is not necessary in a standard ANSYS run but is - provided as a convenience to users wanting to read a coded node file, - such as from another mesh generator or from a CAD/CAM program. Data - should be formatted as produced with the NWRITE command. Only nodes - that are within the node range specified with the NRRANG command are - read from the file. Duplicate nodes already in the database will be - overwritten. The file is rewound before and after reading. Reading - continues until the end of the file. + This command functions only in the postprocessor. """ - command = "NREAD, %s, %s" % (str(fname), str(ext)) + command = "ANDATA,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(delay), str(ncycl), str(rsltdat), str(min), str(max), str(incr), str(frclst), str(autocont), str(autocntr)) self.RunCommand(command, **kwargs) - def Octable(self, val1="", val2="", val3="", val4="", val5="", val6="", - val7="", **kwargs): + def Nrotat(self, node1="", node2="", ninc="", **kwargs): """ - APDL Command: OCTABLE + APDL Command: NROTAT - Defines an ocean load using table data. + Rotates nodal coordinate systems into the active system. Parameters ---------- - val1, val2, val3, . . . , val6 - Values describing the basic ocean load, a current condition, or a - wave condition. + node1, node2, ninc + Rotate nodes from NODE1 to NODE2 (defaults to NODE1) in steps of + NINC (defaults to 1). If NODE1 = ALL, NODE2 and NINC are ignored + and all selected nodes [NSEL] are rotated. 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 ----- - The OCTABLE specifies table data that defines the ocean load. The terms - VAL1, VAL2, etc. are specialized according to the input set required - for the given ocean load. - - The program interprets the data input via the OCTABLE command within - the context of the most recently issued OCTYPE command. - - There is no limit to the number of data input. - - Input values in the order indicated. - - This command is also valid in PREP7. - - You can define the following ocean data types: - - If the current is constant, only one OCTABLE command is necessary and - Dep is not required. - - For waves, the current profile is stretched or compressed linearly up - to 10 percent. - - The first Dep value (representing the mean sea level) must be zero. The - last Dep value (representing the mud line) must be equal to the DEPTH - value input on the OCDATA command. - - The Cartesian Z values used to locate nodes, etc. decrease as one moves - from the ocean surface to the sea floor, but the Dep values increase. - See Figure: 5:: Basic Ocean Data Type Components . - - Dep is not affected by changes to Zmsl on the OCDATA command, as that - value simply relocates the origin. - - When specifying an ocean wave type, issue the OCTABLE command to input - either wave location data or wave spectrum data. - - Hints for Wave Location Input: - - The TIME command is not used, except perhaps to identify the load case. - - The phase shift (Ps) determines the wave position (that is, the - point at which the load is to be applied). - - When using the Stokes fifth-order (KWAVE = 2) or stream function (KWAVE - = 3) wave type, issue only one OCTABLE command. - - The valid range of the order of the stream function (NORDER) is 3 - through 50. If no value is specified, the program determines a value - automatically. + Rotates nodal coordinate systems into the active coordinate system. + Nodal coordinate systems may be automatically rotated into the active + (global or local) coordinate system as follows: Rotations in Cartesian + systems will have nodal x directions rotated parallel to the Cartesian + X direction. Rotations in cylindrical, spherical or toroidal systems + will have the nodal x directions rotated parallel to the R direction. + Nodes at (or near) a zero radius location should not be rotated. Nodal + coordinate directions may be displayed [/PSYMB]. Nodal forces and + constraints will also appear rotated when displayed if the nodal + coordinate system is rotated. - When using the diffracted wave type (KWAVE = 8), an OCREAD command is - also required to read in the hydrodynamic data from the hydrodynamic - analysis. + ANSYS LS-DYNA (explicit dynamics) does not support the NROTAT command. + If you have rotated nodes in the implicit phase of an implicit-to- + explicit sequential solution, you must rotate the nodes back to the + global Cartesian direction before switching from implicit to explicit + elements (ETCHG,ITE). Use the EDNROT command in the explicit run to + maintain the same displacement constraints as were used on rotated + nodes in the implicit run. - Hints for Wave Spectrum Input: + Note:: : When the nodal coordinate systems are defined, they remain + parallel to the global Cartesian system unless subsequently rotated. - When defining a Pierson-Moskowitz or JONSWAP spectrum (SPECTRUM = 0 or - 1, respectively, on the OCDATA command), issue only one OCTABLE - command. + Previously specified rotations on the specified nodes are overridden. - When defining a Pierson-Moskowitz or JONSWAP spectrum for Shell new - wave (KWAVE = 6 on the OCDATA command), HS is calculated from the - maximum wave crest amplitude (AMPMAX on the OCDATA command) if no value - is specified. For further information, see Hydrodynamic Loads in the - Mechanical APDL Theory Reference. + See the NMODIF, NANG, and NORA commands for other rotation options. - For a user-defined spectrum (SPECTRUM = 2 on the OCDATA command), issue - an OCTABLE command for each frequency data point defining the spectrum. - Specify the frequency data in ascending order. The number of wave - components (NWC) is required on the first OCTABLE command only. + """ + command = "NROTAT,%s,%s,%s" % (str(node1), str(node2), str(ninc)) + self.RunCommand(command, **kwargs) - An ocean zone is a local space where you can override global ocean- - loading parameters. + def Cecmod(self, neqn="", const="", **kwargs): + """ + APDL Command: CECMOD - Ocean zone data to provide in the value fields: + Modifies the constant term of a constraint equation during solution. - where + Parameters + ---------- + neqn + Reference number of constraint equation. - Ocean zone values specified via the OCTABLE command override global - ocean-loading parameters. + const + New value of the constant term of equation. - Arguments not specified default to the global values specified for the - basic ocean type (OCTYPE,BASIC). Therefore, the relationship between Ca - and CM values (Ca = CM + 1.0) is not applied to ocean zones. + Notes + ----- + Other terms of the constraint equation cannot be changed during the + solution phase, but must be defined or changed within PREP7 prior to + the solution. See the CE command for details. - The OCTABLE command is not valid for a pipe-type ocean zone - (OCZONE,PIP). + This command is also valid in PREP7. """ - command = "OCTABLE, %s, %s, %s, %s, %s, %s, %s" % (str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7)) + command = "CECMOD,%s,%s" % (str(neqn), str(const)) self.RunCommand(command, **kwargs) - def Partsel(self, type="", pmin="", pmax="", pinc="", **kwargs): + def Kesize(self, npt="", size="", fact1="", fact2="", **kwargs): """ - APDL Command: PARTSEL + APDL Command: KESIZE - Selects a subset of parts in an explicit dynamic analysis. + Specifies the edge lengths of the elements nearest a keypoint. Parameters ---------- - type - Label identifying type of select. Because PARTSEL is a command - macro, the label must be enclosed in single quotes. + npt + Number of the keypoint whose lines will be adjusted. If ALL, use + all selected keypoints [KSEL]. If NPT = P, graphical picking is + enabled and all remaining command fields are ignored (valid only in + the GUI). - 'S' - Select a new set (default). + size + Size of elements along lines nearest keypoint NPT (overrides any + other specified size). If SIZE is zero (or blank), use FACT1 or + FACT2. - 'R' - Reselect a set from the current set. + fact1 + Scale factor applied to a previously defined SIZE. Not used if + SIZE is input. - 'A' - Additionally select a set and extend the current set. + fact2 + Scale factor applied to the minimum element division at keypoint + NPT for any attached line. This feature is useful with adaptive + mesh refinement. Not used if SIZE or FACT1 is input. - 'U' - Unselect a set from the current set. + Notes + ----- + Affects only the line divisions adjacent to the keypoint on lines not + previously assigned divisions by other line commands [LESIZE, etc.]. + The remaining line divisions are determined from the division nearest + the keypoint at the other end of the line (specified by another KESIZE + command or the ESIZE command). Divisions are transferred to the lines + during the mesh operation. If smart element sizing is being used + [SMRTSIZE], KESIZE specifications may be overridden (i.e., a smaller + element size may be used) to accommodate curvature and small features. - 'ALL' - Select all parts. + This command is valid in any processor. The command is also valid for + rezoning. - 'NONE' - Unselect all parts. + """ + command = "KESIZE,%s,%s,%s,%s" % (str(npt), str(size), str(fact1), str(fact2)) + self.RunCommand(command, **kwargs) - 'INVE' - Invert the current selected set. + def Mmf(self, **kwargs): + """ + APDL Command: MMF + + Calculates the magnetomotive force along a path. Notes ----- - PARTSEL invokes an ANSYS macro that selects parts in an explicit - dynamic analysis. When PARTSEL is executed, an element component is - automatically created for each existing part. For example, the elements - that make up PART 1 are grouped into the element component _PART1. Each - time the PARTSEL command is executed, components for unselected parts - will be unselected. To plot selected parts, choose Utility Menu> Plot> - Parts in the GUI or issue the command PARTSEL,'PLOT'. - - After selecting parts, if you change the selected set of nodes or - elements and then plot parts, the nodes and elements associated with - the previously selected parts (from the last PARTSEL command) will - become the currently selected set. - - Note:: : A more efficient way to select and plot parts is to use the - ESEL (with ITEM = PART) and EPLOT commands. We recommend using ESEL - instead of PARTSEL since PARTSEL will be phased out in a future - release. Note that the menu path mentioned above for plotting parts - does not work with the ESEL command; use Utility Menu> Plot> Elements - instead. - - In an explicit dynamic small restart analysis (EDSTART,2), PARTSEL can - be used to unselect a part during the solution even if it is referenced - in some way (such as in a contact definition). (Note that ESEL cannot - be used for this purpose.) However, in a new analysis or a full restart - analysis (EDSTART,3), all parts that are used in some type of - definition must be selected at the time of solution. + MMF invokes an ANSYS macro which calculates the magnetomotive force + (mmf) along a predefined path [PATH]. It is valid for both 2-D and + 3-D magnetic field analyses. The calculated mmf value is stored in the + parameter MMF. - This command is valid in any processor. + A closed path [PATH], passing through the magnetic circuit for which + mmf is to be calculated, must be defined before this command is issued. + A counterclockwise ordering of points on the PPATH command will yield + the correct sign on the mmf. The mmf is based on Ampere's Law. The + macro makes use of calculated values of field intensity (H), and uses + path operations for the calculations. All path items are cleared upon + completion. The MMF macro sets the "ACCURATE" mapping method and "MAT" + discontinuity option of the PMAP command. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "PARTSEL, %s, %s, %s, %s" % (str(type), str(pmin), str(pmax), str(pinc)) + command = "MMF," % () self.RunCommand(command, **kwargs) - def Aovlap(self, na1="", na2="", na3="", na4="", na5="", na6="", na7="", - na8="", na9="", **kwargs): + def Anfile(self, lab="", fname="", ext="", **kwargs): """ - APDL Command: AOVLAP + APDL Command: /ANFILE - Overlaps areas. + Saves or resumes an animation sequence to or from a file. Parameters ---------- - na1, na2, na3, . . . , na9 - Numbers of areas to be operated on. If NA1 = ALL, use all selected - areas and ignore NA2 to NA9. If NA1 = P, graphical picking is - enabled and all remaining arguments are ignored (valid only in the - GUI). A component name may also be substituted for NA1. + lab + Label type. + + SAVE - Save the current animation to a file. + + RESUME - Resume an animation from a file. + + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. + + ext + Filename extension (eight-character maximum). + + -- + Unused field. Notes ----- - Generates new areas which encompass the geometry of all the input - areas. The new areas are defined by the regions of intersection of the - input areas, and by the complementary (non-intersecting) regions. See - Solid Modeling in the Modeling and Meshing Guide for an illustration. - This operation is only valid when the region of intersection is an - area. See the BOPTN command for an explanation of the options - available to Boolean operations. Element attributes and solid model - boundary conditions assigned to the original entities will not be - transferred to the new entities generated. + This command saves an animation to a file from local terminal segments + or resumes an animation from a file to local terminal segments. See + the /SEG command for details on segment storage. See the ANCNTR macro + for a convenient method of storing graphics frames in terminal memory + segments. This command is device dependent and is valid in any + processor. """ - command = "AOVLAP, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(na7), str(na8), str(na9)) + command = "/ANFILE,%s,%s,%s" % (str(lab), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Eintf(self, toler="", k="", tlab="", kcn="", dx="", dy="", dz="", - knonrot="", **kwargs): + def Tunif(self, temp="", **kwargs): """ - APDL Command: EINTF + APDL Command: TUNIF - Defines two-node elements between coincident or offset nodes. + Assigns a uniform temperature to all nodes. Parameters ---------- - toler - Tolerance for coincidence (based on maximum Cartesian coordinate - difference for node locations and on angle differences for node - orientations). Defaults to 0.0001. Only nodes within the tolerance - are considered to be coincident. + temp + Uniform temperature assigned to the nodes. If a TEMP value is not + specified, the uniform temperature is set to zero. - k - Only used when the type of the elements to be generated is - PRETS179. K is the pretension node that is common to the pretension - section that is being created. If K is not specified, it will be - created by ANSYS automatically and will have an ANSYS-assigned node - number. If K is specified but does not already exist, it will be - created automatically but will have the user-specified node number. - K cannot be connected to any existing element. + Notes + ----- + TUNIF is a convenient form of the more general BFUNIF command. - tlab - Nodal number ordering. Allowable values are: + In a transient or nonlinear thermal analysis, the uniform temperature + is used during the first iteration of a solution as follows: - LOW - The 2-node elements are generated from the lowest numbered node to the highest - numbered node. + as the starting nodal temperature (except where temperatures are + explicitly specified [D, DK]), - HIGH - The 2-node elements are generated from the highest numbered node to the lowest - numbered node. + to evaluate temperature-dependent material properties. - REVE - Reverses the orientation of the selected 2-node element. + In a structural analysis or an explicit dynamic analysis, the uniform + temperature is used as the default temperature for thermal strain + calculations and material property evaluation (except where body load + temperatures are specified (BF, BFE, BFK, LDREAD). In other scalar + field analyses, the uniform temperature is used for material property + evaluation. - kcn - In coordinate system KCN, elements are created between node 1 and - node 2 (= node 1 + dx dy dz). + Because TUNIF (or BFUNIF,TEMP) is step-applied in the first iteration, + issue a BF,ALL,TEMP,Value command to ramp on a uniform temperature + load. - dx, dy, dz - Node location increments that define the node offset in the active - coordinate system (DR, Dθ, DZ for cylindrical and DR, Dθ, DΦ for - spherical or toroidal). + When the TUNIF command is used in an explicit dynamic analysis, you + cannot apply temperature loading via the EDLOAD,,TEMP command. + Furthermore, temperature loading defined by TUNIF cannot be listed or + deleted by the EDLOAD command. - knonrot - When KNONROT = 0, the nodes coordinate system is not rotated. When - KNONROT = 1, the nodes belonging to the elements created are - rotated into coordinate system KCN (see NROTAT command - description). + The command default sets the uniform temperature to the reference + temperature defined via the TREF command only (and not the MP,REFT + command). - Notes - ----- - Defines 2-node elements (such as gap elements) between coincident or - offset nodes (within a tolerance). May be used, for example, to "hook" - together elements interfacing at a seam, where the seam consists of a - series of node pairs. One element is generated for each set of two - coincident nodes. For more than two coincident or offset nodes in a - cluster, an element is generated from the lowest numbered node to each - of the other nodes in the cluster. If fewer than all nodes are to be - checked for coincidence, use the NSEL command to select the nodes. - Element numbers are incremented by one from the highest previous - element number. The element type must be set [ET] to a 2-node element - before issuing this command. Use the CPINTF command to connect nodes by - coupling instead of by elements. Use the CEINTF command to connect the - nodes by constraint equations instead of by elements. + If using the command default to set the uniform temperature (to the + reference temperature set via TREF), you can convert temperature- + dependent secant coefficients of thermal expansion (SCTEs) from the + definition temperature to the uniform temperature. To do so, issue the + MPAMOD command. - For contact element CONTA178, the tolerance is based on the maximum - Cartesian coordinate difference for node locations only. The angle - differences for node orientations are not checked. + This command is also valid in PREP7. """ - command = "EINTF, %s, %s, %s, %s, %s, %s, %s, %s" % (str(toler), str(k), str(tlab), str(kcn), str(dx), str(dy), str(dz), str(knonrot)) + command = "TUNIF,%s" % (str(temp)) self.RunCommand(command, **kwargs) - def Krefine(self, np1="", np2="", ninc="", level="", depth="", post="", - retain="", **kwargs): + def Vfill(self, parr="", func="", con1="", con2="", con3="", con4="", + con5="", con6="", con7="", con8="", con9="", con10="", **kwargs): """ - APDL Command: KREFINE + APDL Command: *VFILL - Refines the mesh around specified keypoints. + Fills an array parameter. Parameters ---------- - np1, np2, ninc - Keypoints (NP1 to NP2 in increments of NINC) around which the mesh - is to be refined. NP2 defaults to NP1, and NINC defaults to 1. If - NP1 = ALL, NP2 and NINC are ignored and all selected keypoints are - used for refinement. If NP1 = 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 NP1 (NP2 and NINC are - ignored). - - level - Amount of refinement to be done. Specify the value of LEVEL as an - integer from 1 to 5, where a value of 1 provides minimal - refinement, and a value of 5 provides maximum refinement (defaults - to 1). - - depth - Depth of mesh refinement in terms of the number of elements outward - from the indicated keypoints (defaults to 1). + parr + The name of the resulting numeric array parameter vector. See *SET + for name restrictions. - post - Type of postprocessing to be done after element splitting, in order - to improve element quality: + func + Fill function: - OFF - No postprocessing will be done. + Assign specified values CON1, CON2, etc. to successive array elements. Up to 10 assignments may be made at a time. Any CON values after a blank CON value are ignored. - Assign ramp function values: CON1+((n-1)*CON2) , where n is the loop number + [*VLEN]. To specify a constant function (no + ramp), set CON2 to zero. - SMOOTH - Smoothing will be done. Node locations may change. + Assign random number values based on a uniform distribution RAND(CON1,CON2), where: - Assign random sample of Gaussian distributions GDIS(CON1,CON2) where: - CLEAN - Smoothing and cleanup will be done. Existing elements may be deleted, and node - locations may change (default). + Assigns random number values based on a triangular distribution TRIA(CON1,CON2,CON3) where: - Assigns random number values based on a beta distribution + BETA(CON1,CON2,CON3,CON4) where: - retain - Flag indicating whether quadrilateral elements must be retained in - the refinement of an all-quadrilateral mesh. (The ANSYS program - ignores the RETAIN argument when you are refining anything other - than a quadrilateral mesh.) + Assigns random number values based on a gamma distribution: GAMM(CON1,CON2,CON3) where: - Generates the rigid body modes with respect to the reference point coordinates + (CON1, CON2, CON3). The dimensions of the array + parameter ParR are (dim1,dim2) where dim1 is the + maximum node number (including internal nodes) + multiplied by the number of degrees of freedom, + and dim2 is the number of rigid body modes (which + corresponds to the number of structural degrees + of freedom). - ON - The final mesh will be composed entirely of quadrilateral elements, regardless - of the element quality (default). + Generates excitation frequencies with clustering option CLUSTER(CON1,CON2,CON3,CON4,%CON5%) where: - The dimension of the resulting array parameter ParR is less than + 2+NFR*(2*CON3+1) where NFR is the number of + natural frequencies defined in CON5. - OFF - The final mesh may include some triangular elements in order to maintain - element quality and provide transitioning. + con1, con2, con3, . . . , con10 + Constants used with above functions. Notes ----- - KREFINE performs local mesh refinement around the specified keypoints. - By default, the indicated elements are split to create new elements - with 1/2 the edge length of the original elements (LEVEL = 1). + Operates on input data and produces one output array parameter vector + according to: - KREFINE refines all area elements and tetrahedral volume elements that - are adjacent to the specified keypoints. Any volume elements that are - adjacent to the specified keypoints, but are not tetrahedra (for - example, hexahedra, wedges, and pyramids), are not refined. + ParR = f(CON1, CON2, : ...) - You cannot use mesh refinement on a solid model that contains initial - conditions at nodes [IC], coupled nodes [CP family of commands], - constraint equations [CE family of commands], or boundary conditions or - loads applied directly to any of its nodes or elements. This applies - to nodes and elements anywhere in the model, not just in the region - where you want to request mesh refinement. See Revising Your Model in - the Modeling and Meshing Guide for additional restrictions on mesh - refinement. + where the functions (f) are described above. Operations use successive + array elements [*VLEN, *VMASK] with the default being all successive + elements. For example, *VFILL,A,RAMP,1,10 assigns A(1) = 1.0, A(2) = + 11.0, A(3) = 21.0, etc. *VFILL,B(5,1),DATA,1.5,3.0 assigns B(5,1) = + 1.5 and B(6,1) = 3.0. Absolute values and scale factors may be applied + to the result parameter [*VABS, *VFACT]. Results may be cumulative + [*VCUM]. See the *VOPER command for details. - This command is also valid for rezoning. + This command is valid in any processor. """ - command = "KREFINE, %s, %s, %s, %s, %s, %s, %s" % (str(np1), str(np2), str(ninc), str(level), str(depth), str(post), str(retain)) + command = "*VFILL,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(parr), str(func), str(con1), str(con2), str(con3), str(con4), str(con5), str(con6), str(con7), str(con8), str(con9), str(con10)) self.RunCommand(command, **kwargs) - def Bfescal(self, lab="", fact="", tb_ase="", **kwargs): + def Avres(self, key="", opt="", **kwargs): """ - APDL Command: BFESCAL + APDL Command: AVRES - Scales element body force loads. + Specifies how results data will be averaged when PowerGraphics is + enabled. Parameters ---------- - lab - Valid body load label. If ALL, use all appropriate labels. + key + Averaging key. - fact - Scale factor for the element body load values. Zero (or blank) - defaults to 1.0. Use a small number for a "zero" scale factor. - The scale factor is not applied to body load phase angles. + 1 - Average results at all common subgrid locations. - tbase - Base temperature for temperature difference. Used only with Lab = - TEMP. Scale factor is applied to the temperature difference (T - - TBASE) and then added to TBASE. T is the current temperature. + 2 - Average results at all common subgrid locations except where material type + [MAT] discontinuities exist. This option is the default. + + 3 - Average results at all common subgrid locations except where real constant + [REAL] discontinuities exist. + + 4 - Average results at all common subgrid locations except where material type + [MAT] or real constant [REAL] discontinuities exist. + + opt + Option to determine how results data are averaged. + + (blank) - Average surface results data using only the exterior element faces (default). + + FULL - Average surface results data using the exterior face and interior element data. Notes ----- - Scales element body force loads on the selected elements in the - database. Issue the BFELIST command to list the element body loads. - Solid model boundary conditions are not scaled by this command, but - boundary conditions on the FE model are scaled. (Note that such scaled - FE boundary conditions may still be overwritten by unscaled solid model - boundary conditions if a subsequent boundary condition transfer - occurs.) + The AVRES command specifies how results data will be averaged at + subgrid locations that are common to 2 or more elements. The command + is valid only when PowerGraphics is enabled (via the /GRAPHICS,POWER + command). - BFESCAL does not work for tabular boundary conditions. + With PowerGraphics active (/GRAPHICS,POWER), the averaging scheme for + surface data with interior element data included (AVRES,,FULL) and + multiple facets per edge (/EFACET,2 or /EFACET,4) will yield differing + minimum and maximum contour values depending on the Z-Buffering + options (/TYPE,,6 or /TYPE,,7). When the Section data is not included + in the averaging schemes (/TYPE,,7), the resulting absolute value for + the midside node is significantly smaller. - This command is also valid in PREP7. + PowerGraphics does not average your stresses across discontinuous + surfaces. The normals for various planes and facets are compared to a + tolerance to determine continuity. The ANGLE value you specify in the + /EDGE command is the tolerance for classifying surfaces as continuous + or “coplanar.” + + The command affects nodal solution contour plots (PLNSOL), nodal + solution printout (PRNSOL), and subgrid solution results accessed + through the Query Results function (under General Postprocessing) in + the GUI. + + The command has no effect on the nodal degree of freedom solution + values (UX, UY, UZ, TEMP, etc.). + + For cyclic symmetry mode-superposition harmonic solutions, AVRES,,FULL + is not supported. Additionally, averaging does not occur across + discontinuous surfaces, and the ANGLE value on the /EDGE command has no + effect. + + The command is also available in /SOLU. """ - command = "BFESCAL, %s, %s, %s" % (str(lab), str(fact), str(tb_ase)) + command = "AVRES,%s,%s" % (str(key), str(opt)) self.RunCommand(command, **kwargs) - def Psearch(self, pname="", **kwargs): + def Sfllist(self, line="", lab="", **kwargs): """ - APDL Command: /PSEARCH + APDL Command: SFLLIST - Specifies a directory to be searched for "unknown command" macro files. + Lists the surface loads for lines. Parameters ---------- - pname - Path name (64 characters maximum, and must include the final - delimiter) of the middle directory to be searched. Defaults to the - user home directory. If Pname = OFF, search only the ANSYS and - current working directories. If Pname = STAT, list the current - middle directory and show the ANSYS_MACROLIB setting. + line + Line at which surface load is to be listed. If ALL (or blank), + list for all selected lines [LSEL]. If LINE = P, graphical picking + is enabled and all remaining command fields are ignored (valid only + in the GUI). A component name may be substituted for LINE. + + lab + Valid surface load label. If ALL (or blank), use all appropriate + labels. See the SFL command for labels. Notes ----- - Specifies the pathname of a directory for file searches when reading - "unknown command" macro files. The search for the files is typically - from the ANSYS directory, then from the user home directory, and then - from the current working directory. This command allows the middle - directory searched to be other than the user home directory. + Lists the surface loads for the specified line. - This command is valid only at the Begin Level. + This command is valid in any processor. """ - command = "/PSEARCH, %s" % (str(pname)) + command = "SFLLIST,%s,%s" % (str(line), str(lab)) self.RunCommand(command, **kwargs) - def Ulib(self, fname="", ext="", **kwargs): + def Gfile(self, size="", **kwargs): """ - APDL Command: *ULIB + APDL Command: /GFILE - Identifies a macro library file. + Specifies the pixel resolution on Z-buffered graphics files. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. - - ext - Filename extension (eight-character maximum). - - -- - Unused field. + size + Pixel resolution. Defaults to a pixel resolution of 800. Valid + values are from 256 to 2400. Notes ----- - Identifies a macro library file for the *USE command. A library of - macros allows blocks of often used ANSYS commands to be stacked and - executed from a single file. The macro blocks must be enclosed within - block identifier and terminator lines as shown in the example below. - If you want to add comment lines to a macro block, you may place them - anywhere within the macro block. (This includes placing them directly - on the lines where the macro block identifier and the macro block - terminator appear, as shown in the example.) Do not place comment - lines (or any other lines) outside of a macro block. - - The name of the macro library file is identified for reading on the - *ULIB command. The name of the macro block is identified on the *USE - command. The commands within the macro block are copied to a temporary - file (of the macro block name) during the *USE operation and executed - as if a macro file of that name had been created by the user. The - temporary file is deleted after it has been used. Macro block names - should be acceptable filenames (system dependent) and should not match - user created macro file names, since the user macro file will be used - first (if it exists) before the library file is searched. Macro blocks - may be stacked in any order. Branching [*GO or *IF] external to the - macro block is not allowed. + Defines the pixel resolution on subsequently written graphics files + (Jobname.GRPH) for software Z-buffered displays [/TYPE]. Lowering the + pixel resolution produces a "fuzzier" image; increasing the resolution + produces a "sharper" image but takes a little longer. This command is valid in any processor. """ - command = "*ULIB, %s, %s" % (str(fname), str(ext)) + command = "/GFILE,%s" % (str(size)) self.RunCommand(command, **kwargs) - def Imesh(self, laky="", nsla="", ntla="", kcn="", dx="", dy="", dz="", - tol="", **kwargs): + def Rdele(self, nset1="", nset2="", ninc="", lchk="", **kwargs): """ - APDL Command: IMESH + APDL Command: RDELE - Generates nodes and interface elements along lines or areas. + Deletes real constant sets. Parameters ---------- - laky - Copies mesh according to the following: - - LINE or 1 - Copies line mesh (default). - - AREA or 2 - Copies area mesh. - - nsla - Number that identifies the source line or area. This is the line or - area whose mesh will provide the pattern for the interface - elements. ANSYS copies the pattern of the line or area elements - through the area or volume to create the mesh of area or volume - interface elements. + nset1, nset2, ninc + Delete real constant sets from NSET1 to NSET2 (defaults to NSET1) + in steps of NINC (defaults to 1). If NSET1 = ALL, ignore NSET2 and + NINC and all real constant sets are deleted. - ntla - Number that identifies the target line or area. This is the line or - area that is opposite the source line or area specified by NSLA. - Add NTLA to obtain the copied mesh from the source line or area. + lchk + Specifies the level of element-associativity checking: - kcn - Number that identifies the particular ANSYS coordinate system. + NOCHECK - No element-associativity check occurs. This option is the default. - dx, dy, dz - Incremental translation of node coordinates in the active - coordinate system (DR, Dθ, DZ for cylindrical, and DR, Dθ, DΦ for - spherical or toroidal). The source line or area coordinates + DX, - DY, DZ = the target line or area coordinates. If left blank, ANSYS - automatically estimates the incremental translation. + WARN - When a section, material, or real constant is associated with an element, ANSYS + issues a message warning that the necessary entity has been + deleted. - tol - Tolerance for verifying topology and geometry. By default, ANSYS - automatically calculates the tolerance based on associated - geometries. + CHECK - The command terminates, and no section, material, or real constant is deleted + if it is associated with an element. Notes ----- - Generates nodes and interface elements along lines or areas. The IMESH - command requires that the target line or area exactly match the source - line or area. Also, both target and source lines or areas must be in - the same area or volume. The area or volume containing the source line - or area must be meshed before executing IMESH, while the area or volume - containing the target line or area must be meshed after executing - IMESH. + Deletes real constant sets defined with the R command. - For three dimensional problems where LAKY = AREA, ANSYS fills the - interface layer according to the following table: + This command is also valid in SOLUTION. """ - command = "IMESH, %s, %s, %s, %s, %s, %s, %s, %s" % (str(laky), str(nsla), str(ntla), str(kcn), str(dx), str(dy), str(dz), str(tol)) + command = "RDELE,%s,%s,%s,%s" % (str(nset1), str(nset2), str(ninc), str(lchk)) self.RunCommand(command, **kwargs) - def Cesgen(self, itime="", inc="", nset1="", nset2="", ninc="", **kwargs): + def Tbeo(self, par="", value="", **kwargs): """ - APDL Command: CESGEN + APDL Command: TBEO - Generates a set of constraint equations from existing sets. + Sets special options or parameters for material data tables. Parameters ---------- - itime, inc - Do this generation operation a total of ITIMEs, incrementing all - nodes in the existing sets by INC each time after the first. ITIME - must be >1 for generation to occur. + par + Parameter name: - nset1, nset2, ninc - Generate sets from sets beginning with NSET1 to NSET2 (defaults to - NSET1) in steps of NINC (defaults to 1). If NSET1 is negative, - NSET2 and NINC are ignored and the last |NSET1| sets (in sequence - from maximum set number) are used as the sets to be repeated. + CAPCREEPREG - Available for the viscoplasticity/creep model (TB,CREEP), allows two creep + models to be specified via the same material ID when + used with the Extended Drucker-Prager model (TB,EDP). + + value + Parameter value: + + SHEA - Use the shear stress-state creep model with the Extended Drucker-Prager model. + Valid only when Par = CAPCREEPREG. + + COMP - Use the compaction stress-state creep model with the Extended Drucker-Prager + model. Valid only when Par = CAPCREEPREG. Notes ----- - Generates additional sets of constraint equations (with same labels) - from existing sets. Node numbers between sets may be uniformly - incremented. + Issue the TBEO command after activating the data table (TB) but before + defining data for the table (TBDATA) or a point on a nonlinear data + curve (TBPT). """ - command = "CESGEN, %s, %s, %s, %s, %s" % (str(itime), str(inc), str(nset1), str(nset2), str(ninc)) + command = "TBEO,%s,%s" % (str(par), str(value)) self.RunCommand(command, **kwargs) - def Smult(self, labr="", lab1="", lab2="", fact1="", fact2="", **kwargs): + def Pdpinv(self, rlab="", name="", prob="", conf="", **kwargs): """ - APDL Command: SMULT + APDL Command: PDPINV - Forms an element table item by multiplying two other items. + Prints the result of the inversion of a probability. Parameters ---------- - labr - Label assigned to results. If same as existing label, the existing - values will be overwritten by these results. + rlab + Result set label. Identifies the result set to be used for + postprocessing. A result set label can be the solution set label + you defined in a PDEXE command (if you are directly postprocessing + Monte Carlo Simulation results), or the response surface set label + defined in an RSFIT command (for Response Surface Analyses). - lab1 - First labeled result item in operation. + name + Parameter name. The parameter must have been previously defined as + a random input variable or a random output parameter with the PDVAR + command. - lab2 - Second labeled result item in operation (may be blank). + prob + Target probability for which the random parameter value should be + determined. - fact1 - Scale factor applied to Lab1. A (blank) or '0' entry defaults to - 1.0. + -- + Unused field. - fact2 - Scale factor applied to Lab2. A (blank) or '0' entry defaults to - 1.0. + conf + Confidence level. The confidence level is used to print the + confidence bounds on the random parameter value. The value for the + confidence level must be between 0.0 and 1.0 and it defaults to + 0.95 (95%). Printing of confidence bound is suppressed for CONF + 0.5. This parameter is ignored for response surface methods results + postprocessing. Notes ----- - Forms a labeled result item (see ETABLE command) for the selected - elements by multiplying two existing labeled result items according to - the operation: + Prints the value for the random parameter Name at which the probability + that there are simulation values lower than that value is equal to + PROB. This corresponds to an inversion of the cumulative distribution + function (see PDCDF command) at a given probability. In this sense the + PDPINV is doing the opposite of the PDPROB command. The PDPROB command + evaluates a probability for a given random parameter value and the + PDPINV command evaluates the random parameter value that corresponds to + a given probability. - LabR = (FACT1 x Lab1) x (FACT2 x Lab2) + If Rlab is left blank, then the result set label is inherited from the + last PDEXE command (Slab), RSFIT command (RSlab), or the most recently + used PDS postprocessing command where a result set label was explicitly + specified. - May also be used to scale results for a single labeled result item. If - absolute values are requested [SABS,1], the absolute values of Lab1 and - Lab2 are used. + The confidence level is a probability expressing the confidence that + the value for the requested result is in fact between the confidence + bounds. The larger the confidence level, the wider the confidence + bounds. Printing the confidence bounds only makes sense for + postprocessing Monte Carlo simulation results, where the confidence + bounds represent the accuracy of the results. With increasing sample + sizes, the width of the confidence bounds gets smaller for the same + confidence level. For response surface analysis methods, the number of + simulations done on the response surface is usually very large; + therefore, the accuracy of the results is determined by the response + surface fit and not by the confidence level. + + The PDPINV command cannot be used to postprocess the results in a + solution set that is based on Response Surface Methods, only Monte + Carlo Simulations. """ - command = "SMULT, %s, %s, %s, %s, %s" % (str(labr), str(lab1), str(lab2), str(fact1), str(fact2)) + command = "PDPINV,%s,%s,%s,%s" % (str(rlab), str(name), str(prob), str(conf)) self.RunCommand(command, **kwargs) - def Dot(self, vector1="", vector2="", par_real="", par_imag="", **kwargs): + def Vscale(self, wn="", vratio="", key="", **kwargs): """ - APDL Command: *DOT + APDL Command: /VSCALE - Computes the dot (or inner) product of two vectors. + Scales the length of displayed vectors. Parameters ---------- - vector1 - Name of first vector; must have been previously specified by a *VEC - command. + wn + Window number (or ALL) to which command applies (defaults to 1). - vector2 - Name of second vector; must have been previously specified by a - *VEC command. + vratio + Ratio value applied to the automatically calculated scale factor + (defaults to 1.0, i.e., use scale factor as automatically + calculated). - par_real - Parameter name that contains the result. + key + Relative scaling key: - par_imag - Parameter name that contains the imaginary part of the result (used - only for complex vectors). + 0 - Use relative length scaling among vectors based on magnitudes. + + 1 - Use uniform length scaling for all vector lengths. Notes ----- - If Vector1 and Vector2 are complex, the complex conjugate of Vector1 is - used to compute the result (Par_Real, Par_Imag). + Allows scaling of the vector length displayed with the PLVECT command + of POST1 and the /PBC and /PSF commands. Also allows the scaling of + the element (i.e., /PSYMB,ESYS) and the nodal (i.e., /PSYMB,NDIR) + coordinate system symbols. + + This command is valid in any processor. """ - command = "*DOT, %s, %s, %s, %s" % (str(vector1), str(vector2), str(par_real), str(par_imag)) + command = "/VSCALE,%s,%s,%s" % (str(wn), str(vratio), str(key)) self.RunCommand(command, **kwargs) - def Lnsrch(self, key="", **kwargs): + def Wmore(self, node1="", node2="", ninc="", itime="", inc="", **kwargs): """ - APDL Command: LNSRCH + APDL Command: WMORE - Activates a line search to be used with Newton-Raphson. + Adds more nodes to the starting wave list. Parameters ---------- - key - Line search key: - - OFF - Do not use a line search. - - ON - Use a line search. Note, adaptive descent is suppressed when LNSRCH is on - unless explicitly requested on the NROPT command. Having - line search on and adaptive descent on at the same time is not - recommended. + node1, node2, ninc + Add another node set to the previous starting wave list. Set is + NODE1 to NODE2 (defaults to NODE1) in steps of NINC (defaults to + 1). If NODE1 is negative, delete (instead of add) this node set + from previous starting wave list. - AUTO - The program automatically switches line searching ON and OFF between substeps - of a load step as needed. This option is recommended. + itime, inc + Add other node sets to the same starting wave list by repeating the + previous node set with NODE1 and NODE2 incremented by INC (defaults + to 1) each time after the first. ITIME is the total number of sets + (defaults to 1) defined with this command. Notes ----- - Activates a line search to be used with the Newton-Raphson method - [NROPT]. Line search is an alternative to adaptive descent (see Line - Search in the Mechanical APDL Theory Reference). - - LNSRCH,AUTO can be very efficient for problems in which LNSRCH is - needed at only certain substeps. - - You cannot use line search [LNSRCH], automatic time stepping [AUTOTS], - or the DOF solution predictor [PRED] with the arc-length method - [ARCLEN, ARCTRM]. If you activate the arc-length method after you set - LNSRCH, AUTOTS, or PRED, a warning message appears. If you choose to - proceed with the arc-length method, the program disables your line - search, automatic time stepping, and DOF predictor settings, and the - time step size is controlled by the arc-length method internally. + Adds more nodes to (or modifies) the previous starting wave list (if + any) [WSTART]. Repeat WMORE command to add more nodes to the previous + starting wave list. Up to 10,000 nodes may be defined (total, for all + starting waves). - This command is also valid in PREP7. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "LNSRCH, %s" % (str(key)) + command = "WMORE,%s,%s,%s,%s,%s" % (str(node1), str(node2), str(ninc), str(itime), str(inc)) self.RunCommand(command, **kwargs) - def Real(self, nset="", **kwargs): + def Sfcalc(self, labr="", labs="", labt="", type="", **kwargs): """ - APDL Command: REAL + APDL Command: SFCALC - Sets the element real constant set attribute pointer. + Calculates the safety factor or margin of safety. Parameters ---------- - nset - Assign this real constant set number to subsequently defined - elements (defaults to 1). + labr + Label assigned to results. If same as existing label, the existing + values will be overwritten by these results. + + labs + Labeled result item corresponding to the element stress. + + labt + Labeled result item corresponding to the element temperature. + + type + Type of calculation: + + 0 or 1 - Use safety factor (SF) calculation. + + 2 - Use margin of safety (MS) calculation. + + 3 - Use 1/SF calculation. Notes ----- - Identifies the real constant set number to be assigned to subsequently - defined elements. This number refers to the real constant set number - (NSET) defined with the real constant sets [R]. Real constant set - numbers may be displayed [/PNUM]. If the element type requires no real - constants, this entry is ignored. Elements of different type should - not refer to the same real constant set. + Calculates safety factor (SF) or margin of safety (MS) as described for + the SFACT command for any labeled result item (see ETABLE command) for + the selected elements. Use the PRETAB or PLETAB command to display + results. Allowable element stress is determined from the SALLOW-TALLOW + table [SALLOW, TALLOW]. """ - command = "REAL, %s" % (str(nset)) + command = "SFCALC,%s,%s,%s,%s" % (str(labr), str(labs), str(labt), str(type)) self.RunCommand(command, **kwargs) - def Pdcmat(self, rlab="", matrix="", name1="", name2="", corr="", - slevel="", popt="", **kwargs): + def Deriv(self, ir="", iy="", ix="", name="", facta="", **kwargs): """ - APDL Command: PDCMAT + APDL Command: DERIV - Prints the correlation coefficient matrix. + Differentiates a variable. Parameters ---------- - rlab - Result set label. Identifies the result set to be used for - postprocessing. A result set label can be the solution set label - you defined in a PDEXE command (if you are directly postprocessing - Monte Carlo Simulation results), or the response surface set label - defined in an RSFIT command (for Response Surface Analyses). + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. - matrix - Keyword for the type of correlation coefficient matrix. + iy, ix + Reference numbers of variables to be operated on. IY is + differentiated with respect to IX. - IO - Matrix of correlation coefficients between random input variables and output - parameters. + -- + Unused field. - II - Matrix of correlation coefficients between random input variables and other - random input variables + name + Thirty-two character name for identifying the variable on printouts + and displays. Embedded blanks are compressed for output. - OO - Matrix of correlation coefficients between random output parameters and other - random output parameters. + --, -- + Unused fields. - S - Correlation coefficient between a single random parameter (input or output) and - another random parameter (input or output). The probabilistic - design parameters must be specified in Name1 and Name2 for this - option. + facta + Scaling factor (positive or negative) applied as shown below + (defaults to 1.0). - name1, name2 - Parameter names. The parameters must have been previously defined - as a random input variable or a random output parameter with the - PDVAR command. These parameters are used for Matrix = S only and - are ignored for the other Matrix keywords. + Notes + ----- + Differentiates variables according to the operation: - corr - Keyword for the type of correlation coefficients to be used for the - output. + IR = FACTA x d(IY)/d(IX) - RANK - Spearman rank-order correlation coefficient (default). + """ + command = "DERIV,%s,%s,%s,%s,%s" % (str(ir), str(iy), str(ix), str(name), str(facta)) + self.RunCommand(command, **kwargs) - LIN - Pearson linear correlation coefficient. + def Dfswave(self, kcn="", radius="", psdref="", dens="", sonic="", + incang="", npara="", sampopt="", **kwargs): + """ + APDL Command: DFSWAVE - slevel - Significance level. The value for the significance level must be - between 0.0 and 1.0. The default value is 0.025 (2.5%). + Specifies the incident planar waves with random phases for a diffuse + sound field. - popt - Specifies whether the probabilities should be printed with the - correlation coefficients. + Parameters + ---------- + kcn + Local coordinate system: - 0 - Print only the correlation coefficients. + N - Coordinate system number. Default = 0. - 1 - Print both the correlation coefficients and the probabilities (default). + DELETE - Delete defined incident diffused planar waves. - Notes - ----- - Prints the correlation coefficient matrix. + radius + Radius of the reference sphere on which the incident planar waves + are distributed with equal energy. Defaults to 50 x the half- + maximum dimension of the structural panel. - If Rlab is left blank, then the result set label is inherited from the - last PDEXE command (Slab), RSFIT command (RSlab), or the most recently - used PDS postprocessing command where a result set label was explicitly - specified. - - For all correlation coefficients the probabilistic design tool - evaluates the probability that the correlation coefficient can be - neglected. The evaluation of this probability is based on statistical - test theory. The larger this probability is the likelier it is that the - correlation coefficient does not really reflect an observable - statistical interdependence between the parameters involved. If this - probability exceeds the significance level as specified by the SLEVEL - parameter, the correlation coefficient should be regarded as negligible - or insignificant. The higher the significance level SLEVEL, the more - correlation coefficients are considered significant. Using the Popt - parameter you can also get a list of the probabilities and review them - as to how far they exceed the significance level or how far they stay - below it. - - The PDCMAT command cannot be used to postprocess the results in a - solution set that is based on Response Surface Methods, only Monte - Carlo Simulations. - - """ - command = "PDCMAT, %s, %s, %s, %s, %s, %s, %s" % (str(rlab), str(matrix), str(name1), str(name2), str(corr), str(slevel), str(popt)) - self.RunCommand(command, **kwargs) - - def Psdunit(self, tblno="", type="", gvalue="", **kwargs): - """ - APDL Command: PSDUNIT - - Defines the type of input PSD. - - Parameters - ---------- - tblno - Input table number. + psdref + Reference power spectral density. Default = 1. - type - Label identifying the type of spectrum: + dens + Mass density of incident planar wave media. Default = 2041 kg/m3. - DISP - Displacement spectrum (in terms of displacement2/Hz ). + sonic + Sound speed in incident planar wave media. Default = 343.24 m/s) - VELO - Velocity spectrum (in terms of velocity2/Hz ). + incang + Maximum incident angle (0o <= degree <= 180o) against the positive + z axis in the local coordinate system KCN. Default = 0o. - ACEL - Acceleration spectrum (in terms of acceleration2/Hz ). + npara + Number of divisions on the reference sphere with cutting planes + parallel to the x-y coordinate plane of the local coordinate + system. Default = 20. - ACCG - Acceleration spectrum (in terms of g2/Hz ). + sampopt + Random sampling option: - FORC - Force spectrum (in terms of force2/Hz ). + ALL - Initializes the random generator of incident planar wave phases and samples the + phases at each solving frequency. - PRES - Pressure spectrum (in terms of pressure2/Hz ). + MULT - Initializes the random generator of incident planar wave phases at the first + frequency and samples the phases at each solving frequency. - gvalue - Value of acceleration due to gravity in any arbitrary units for - Type=ACCG. Default is 386.4 in/sec2. + MONO - Initializes the random generator of incident planar wave phases and samples the + phases only once at first solving frequency so that the same + phases are used over the whole frequency range for each + incident planar wave. Notes ----- - Defines the type of PSD defined by the PSDVAL, COVAL, and QDVAL - commands. + Issue the DFSWAVE command to activate a diffuse sound field. (The AWAVE + command does not activate a diffuse sound field.) - Force (FORC) and pressure (PRES) type spectra can be used only as a - nodal excitation. + The SURF154 surface element must be defined on the surface of the + structural solid element for the excitation. - GVALUE is valid only when type ACCG is specified. A zero or negative - value cannot be used. A parameter substitution can also be performed. + The acoustic elements and the absorbing boundary condition must be + defined in the open acoustic domain. Do not define the acoustic domain + on the excitation side. - This command is also valid in PREP7. + The PLST command calculates the average transmission loss for multiple + sampling phases at each frequency over the frequency range. + + The symmetry of a panel structure cannot be used to reduce the + simulation size, as the incident plane waves have varying random phase + angles. The z axis of the Cartesian coordinate system (KCN) must be + consistent with the panel’s outward normal unit vector at the center of + the panel’s sending side. """ - command = "PSDUNIT, %s, %s, %s" % (str(tblno), str(type), str(gvalue)) + command = "DFSWAVE,%s,%s,%s,%s,%s,%s,%s,%s" % (str(kcn), str(radius), str(psdref), str(dens), str(sonic), str(incang), str(npara), str(sampopt)) self.RunCommand(command, **kwargs) - def Mapvar(self, option="", matid="", istrtstress="", ntenstress="", - istrtstrain="", ntenstrain="", istrtvect="", nvect="", - **kwargs): + def Move(self, node="", kc1="", x1="", y1="", z1="", kc2="", x2="", y2="", + z2="", **kwargs): """ - APDL Command: MAPVAR + APDL Command: MOVE - Defines tensors and vectors in user-defined state variables for - rezoning and in 2-D to 3-D analyses. + Calculates and moves a node to an intersection. Parameters ---------- - option - DEFINE - - DEFINE - Define variables for the specified MatId material ID (default). - - LIST - List the defined variables for the specified MatId material ID. - - matid - The material ID for the state variables which you are defining - (Option = DEFINE) or listing (Option = LIST). - - istrtstress - The start position of stress-like tensors in the state variables. - This value must be either a positive integer or 0 (meaning no - stress-like tensors). - - ntenstress - The number of stress-like tensors in the state variables. This - value must be either a positive integer (or 0), and all stress-like - tensors must be contiguous. + node + Move this node. 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. - istrtstrain - The start position of strain-like tensors in the state variables. - This value must be either a positive integer or 0 (meaning no - strain-like tensors). + kc1 + First coordinate system number. Defaults to 0 (global Cartesian). - ntenstrain - The number of strain-like tensors in the state variables. This - value must be either a positive integer (or 0), and all strain-like - tensors must be contiguous. + x1, y1, z1 + Input one or two values defining the location of the node in this + coordinate system. Input "U" for unknown value(s) to be calculated + and input "E" to use an existing coordinate value. Fields are R1, + θ1, Z1 for cylindrical, or R1, θ1, Φ1 for spherical or toroidal. - istrtvect - The start position of vectors in the state variables. This value - must be either a positive integer or 0 (meaning no vectors). + kc2 + Second coordinate system number. - nvect - The number of vectors in the state variables. This value must be - either a positive integer (or 0), and all vectors must be - contiguous. + x2, y2, z2 + Input two or one value(s) defining the location of the node in this + coordinate system. Input "U" for unknown value(s) to be calculated + and input "E" to use an existing coordinate value. Fields are R2, + θ2, Z2 for cylindrical, or R2,  θ2, Φ2 for spherical or toroidal. Notes ----- - The MAPVAR command identifies the tensors and vectors in user-defined - state variables (TB,STATE) for user-defined materials (TB,USER and - UserMat or UserMatTh) or user-defined creep laws (TB,CREEP,,,,100 and - UserCreep). - - The command ensures that user-defined state variables are mapped - correctly during rezoning and in 2-D to 3-D analyses. - - In a rezoning operation, MAPVAR must be issued after remeshing - (REMESH,FINISH) but before mapping (MAPSOLVE). - - """ - command = "MAPVAR, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(matid), str(istrtstress), str(ntenstress), str(istrtstrain), str(ntenstrain), str(istrtvect), str(nvect)) - self.RunCommand(command, **kwargs) - - def Add(self, ir="", ia="", ib="", ic="", name="", facta="", factb="", - factc="", **kwargs): - """ - APDL Command: ADD - - Adds (sums) variables. - - Parameters - ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. - - ia, ib, ic - Reference numbers of the three variables to be operated on. If - only two variables, leave IC blank. If only one, leave IB and IC - blank. - - name - Thirty-two character name for identifying the variable on the - printout and displays. Embedded blanks are compressed upon output. - - --, -- - Unused fields. + Calculates and moves a node to an intersection location. The node may + have been previously defined (at an approximate location) or left + undefined (in which case it is internally defined at the SOURCE + location). The actual location is calculated from the intersection of + three surfaces (implied from three coordinate constants in two + different coordinate systems). The three (of six) constants easiest to + define should be used. The program will calculate the remaining three + coordinate constants. All arguments, except KC1, must be input. Use + the repeat command [*REPEAT] after the MOVE command to define a line of + intersection by repeating the move operation on all nodes of the line. - facta, factb, factc - Scaling factors (positive or negative) applied to the corresponding - variables (default to 1.0). + Surfaces of constant value are implied by some commands by specifying a + single coordinate value. Implied surfaces are used with various + commands [MOVE, KMOVE, NSEL, etc.]. Three surfaces are available with + each of the four coordinate system types. Values or X, Y, or Z may be + constant for the Cartesian coordinate system; values of R,: θ, or Z for + the cylindrical system; and values of R, θ,: Φ for the spherical and + toroidal systems. For example, an X value of 3 represents the Y-Z + plane (or surface) at X=3. In addition, the parameters for the + cylindrical and spherical coordinate systems may be adjusted [CS, + LOCAL] to form elliptical surfaces. For surfaces in elliptical + coordinate systems, a surface of "constant" radius is defined by the + radius value at the X-axis. Surfaces of constant value may be located + in local coordinate systems [LOCAL, CLOCAL, CS, or CSKP] to allow for + any orientation. - Notes - ----- - Adds variables (up to three at once) according to the operation: + The intersection calculation is based on an iterative procedure (250 + iterations maximum) and a tolerance of 1.0E-4. The approximate + location of a node should be sufficient to determine a unique + intersection if more than one intersection point is possible. Tangent + "intersections" should be avoided. If an intersection is not found, + the node is placed at the last iteration location. - IR = (FACTA x IA) + (FACTB x IB) + (FACTC x IC) + This command is also valid in the /MAP processor. """ - command = "ADD, %s, %s, %s, %s, %s, %s, %s, %s" % (str(ir), str(ia), str(ib), str(ic), str(name), str(facta), str(factb), str(factc)) + command = "MOVE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(node), str(kc1), str(x1), str(y1), str(z1), str(kc2), str(x2), str(y2), str(z2)) self.RunCommand(command, **kwargs) - def Vabs(self, kabsr="", kabs1="", kabs2="", kabs3="", **kwargs): + def Angle(self, wn="", theta="", axis="", kincr="", **kwargs): """ - APDL Command: *VABS + APDL Command: /ANGLE - Applies the absolute value function to array parameters. + Rotates the display about an axis. Parameters ---------- - kabsr - Absolute value of results parameter: - - Do not take absolute value of results parameter (ParR). - Take absolute value. - - kabs1 - Absolute value of first parameter: + wn + Window number (or ALL) to which command applies (defaults to 1). - Do not take absolute value of first parameter (Par1 or ParI). - Take absolute value. + theta + Angle (degrees) for changing display orientation (positive, + counterclockwise about specified axis). - kabs2 - Absolute value of second parameter: + axis + Rotation axis: XS, YS, or ZS (default) for the screen axes; XM, + YM, or ZM for the global Cartesian model axes. ZS is normal to the + screen; all axes pass through the focus point. - Do not take absolute value of second parameter (Par2 or ParJ). - Take absolute value. + kincr + Cumulative rotation key: - kabs3 - Absolute value of third parameter: + 0 - Do not use cumulative successive rotations. - Do not take absolute value of third parameter (Par3 or ParK). - Take absolute value. + 1 - Use cumulative rotations. Rotations are relative to the previous rotation. + View settings (/VIEW) are recalculated. Notes ----- - Applies an absolute value to parameters used in certain *VXX and *MXX - operations. Typical absolute value applications are of the form: - - ParR = |f(|Par1|)| - - or - - ParR = |(|Par1| o |Par2|)| - - The absolute values are applied to each input parameter value before - the operation and to the result value after the operation. Absolute - values are applied before the scale factors so that negative scale - factors may be used. The absolute value settings are reset to the - default (no absolute value) after each *VXX or *MXX operation. Use - *VSTAT to list settings. + Default orientation is YS vertical. When the /XFRM command is set for + rotation about two points, or for entities, the /ANGLE command is + functional only for Axis = ZS or ZM and KINCR = 1. This command is valid in any processor. """ - command = "*VABS, %s, %s, %s, %s" % (str(kabsr), str(kabs1), str(kabs2), str(kabs3)) + command = "/ANGLE,%s,%s,%s,%s" % (str(wn), str(theta), str(axis), str(kincr)) self.RunCommand(command, **kwargs) - def Lmesh(self, nl1="", nl2="", ninc="", **kwargs): + def Sfscale(self, lab="", fact="", fact2="", **kwargs): """ - APDL Command: LMESH + APDL Command: SFSCALE - Generates nodes and line elements along lines. + Scales surface loads on elements. Parameters ---------- - nl1, nl2, ninc - Mesh lines from NL1 to NL2 (defaults to NL1) in steps of NINC - (defaults to 1). If NL1 = ALL, NL2 and NINC are ignored and all - selected lines [LSEL] are meshed. If NL1 = 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 NL1 (NL2 - and NINC are ignored). - - Notes - ----- - Generates nodes and line elements along lines. Missing nodes required - for the generated elements are created and assigned the lowest - available numbers. - - """ - command = "LMESH, %s, %s, %s" % (str(nl1), str(nl2), str(ninc)) - self.RunCommand(command, **kwargs) + lab + Valid surface load label. If ALL, use all appropriate labels. - def Fefor(self, **kwargs): - """ - APDL Command: FEFOR + fact + Scale factor for the first surface load value. Zero (or blank) + defaults to 1.0. Use a small number for a zero scale factor. - Specifies "Forces on nodes" as the subsequent status topic. + fact2 + Scale factor for the second surface load value. Zero (or blank) + defaults to 1.0. Use a small number for a zero scale factor. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Scales surface loads (pressure, convection, etc.) in the database on + the selected elements. Surface loads are applied with the SF, SFE, or + SFBEAM commands. Issue the SFELIST command to list the surface loads. + Solid model boundary conditions are not scaled by this command, but + boundary conditions on the FE model are scaled. - If entered directly into the program, the STAT command should - immediately follow this command. + Note:: : Such scaled FE boundary conditions may still be overwritten by + unscaled solid model boundary conditions if a subsequent boundary + condition transfer occurs. + + SFSCALE does not work for tabular boundary conditions. + + This command is also valid in PREP7 and in the /MAP processor. """ - command = "FEFOR, " % () + command = "SFSCALE,%s,%s,%s" % (str(lab), str(fact), str(fact2)) self.RunCommand(command, **kwargs) - def Assign(self, ident="", fname="", ext="", lgkey="", **kwargs): + def Pddmcs(self, nsim="", _astop="", accmean="", accstdev="", check="", + seed="", **kwargs): """ - APDL Command: /ASSIGN + APDL Command: PDDMCS - Reassigns a file name to an ANSYS file identifier. + Specifies options for Monte Carlo Simulations using direct sampling. Parameters ---------- - ident - ANSYS file name identifier. Valid identifiers are: CMS, EMAT, - EROT, ESAV, FULL, LN07, LN09, LN11, LN20, LN21, LN22, LN25, LN31, - LN32, MODE, OSAV, RDSP, RFRQ, RMG, RST, RSTP, RTH, SELD, and SSCR. - See File Management and Files for file descriptions. If blank, - list currently reassigned files. - - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. - - ext - Filename extension (eight-character maximum). + nsim + Number of simulation loops of the analysis. -- Unused field. - lgkey - Key to specify local or global file name control for the specified - file identifier in a distributed-memory parallel processing - (Distributed ANSYS) run. For more information on local and global - files, see File Handling Conventions in the Parallel Processing - Guide. + astop + Autostop option label. - BOTH - Reassign the file name for both the local and global files (default). + AUTO - Enable Autostop. When Autostop is used, the PDS feature continues the + simulation loops until the convergence criteria for the mean + value and the standard deviation have been met or until the + number of simulations NSIM are complete, whichever comes + first. The convergence criteria (mean value and standard + deviations of all random output parameters) are specified by + the ACCMEAN and ACCSTDEV parameters. The criteria are met if + the mean value and the standard deviations converge within + the accuracy specified in the ACCMEAN and ACCSTDEV options. + The convergence check is done every i-th loop, where i is + specified in the CHECK parameter. - LOCAL - Reassign the file name for only the local files. + ALL - Disable Autostop option. All Monte Carlo Simulations as specified by NSIM are + performed (default). - GLOBAL - Reassign the file name for only the global file. + accmean + Accuracy of the mean values of all random output parameters that + must be met for the Autostop option. Default is 0.01 (1%). ACCMEAN + is ignored for Astop = ALL. The convergence of the mean values is + met if for all random output parameters y the equation holds: - Notes - ----- - The reassignment of file names is valid only if it is done before the - file is used. All file reassignments are retained (not cleared) even - if the database is cleared [/CLEAR] or the Jobname is changed - [/FILNAME]. Assigned files may be overwritten. If file name arguments - (Fname, Ext, --) are blank, the default ANSYS assignment is restored. - Use SEOPT for SUB files and SEEXP for DSUB files. + accstdev + Accuracy of the standard deviations of all random output parameters + that must be met for the Autostop option. The default is 0.02 (2%). + ACCSTDEV is ignored for Astop = ALL. The convergence for the + standard deviations is met if for all random output parameters y + the equation holds: - This command is valid only at the Begin Level. + check + Sets how often conditions for convergence are checked for Autostop. + The PDS checks if the convergence criteria are met every i-th loop, + where i is given by the CHECK parameter. The default value is 10. + It is not recommended to use CHECK = 1, because it could cause + Autostop to terminate the simulations prematurely. The mean values + and standard deviation might not show large differences between + consecutive simulation loops but might still have a visible + "global" trend if viewed over several simulations. This behavior + indicates that convergence has not really been achieved. If you set + CHECK = 1 (or another small number), then Autostop is not able to + detect such a global trend. CHECK is ignored for Astop = ALL. - This command also checks to ensure that the path/file is valid and can - be written by the user. If it is not valid, an error message will be - returned. Ensure that the directory exists prior to using /ASSIGN - command. + seed + Seed value label. Random number generators require a seed value + that is used to calculate the next random number. After each random + number generation finishes, the seed value is updated and is used + again to calculate the next random number. ANSYS initializes the + seed value with the system time when the ANSYS session started. - """ - command = "/ASSIGN, %s, %s, %s, %s" % (str(ident), str(fname), str(ext), str(lgkey)) - self.RunCommand(command, **kwargs) + CONT - Continues updating using the derived seed value (default). - def Torq2d(self, **kwargs): - """ - APDL Command: TORQ2D + TIME - Initializes the seed value with the system time. You can use this if you want + the seed value set to a specific value for one analysis and + then you want to continue with a "random" seed in the next + analysis. It is not recommended to "randomize" the seed + value with the Seed = TIME option for multiple analyses. If + the Monte Carlo simulations requested with this command will + be appended to previously existing simulations, then the + Seed option is ignored and Seed = CONT is used. - Calculates torque on a body in a magnetic field. + INIT - Initializes the seed value using 123457 (a typical recommendation). This option + leads to identical random numbers for all random input + variables when the exact analysis will be repeated, making + it useful for benchmarking and validation purposes (where + identical random numbers are desired). If the Monte Carlo + simulations requested with this command will be appended to + previously existing simulations, then the Seed option is + ignored and Seed = CONT is used. + + Value - Uses the specified (positive) value for the initialization of the seed value. + This option has the same effect as Seed = INIT, except you + can chose an arbitrary (positive) number for the + initialization. If the Monte Carlo simulations requested + with this command will be appended to previously existing + simulations, then the Seed option is ignored and Seed = + CONT is used. Notes ----- - TORQ2D invokes an ANSYS macro which calculates mechanical torque on a - body in a magnetic field. The body must be completely surrounded by - air (symmetry permitted), and a closed path [PATH] passing through the - air elements surrounding the body must be available. A - counterclockwise ordering of nodes on the PPATH command will give the - correct sign on the torque result. The macro is valid for 2-D planar - analysis. - - The calculated torque is stored in the parameter TORQUE. A node plot - showing the path is produced in interactive mode. The torque is - calculated using a Maxwell stress tensor approach. Path operations are - used for the calculation, and all path items are cleared upon - completion. See the TORQC2D command for torque calculation based on a - circular path. + Defines the number of simulations, the specification of the Autostop + option, how frequently the Autostop option is checked and the seed + value for random number generation. If the Autostop option is enabled, + then the number of simulations given for NSIM can be regarded as the + maximum number of simulations to be performed. The Autostop option may + terminate the simulations before NSIM simulations are done if the + convergence criteria are met. """ - command = "TORQ2D, " % () + command = "PDDMCS,%s,%s,%s,%s,%s,%s" % (str(nsim), str(_astop), str(accmean), str(accstdev), str(check), str(seed)) self.RunCommand(command, **kwargs) - def F(self, node="", lab="", value="", value2="", nend="", ninc="", - **kwargs): + def Use(self, name="", arg1="", arg2="", arg3="", arg4="", arg5="", + arg6="", arg7="", arg8="", arg9="", ar10="", ar11="", ar12="", + ar13="", ar14="", ag15="", ar16="", ar17="", ar18="", **kwargs): """ - APDL Command: F + APDL Command: *USE - Specifies force loads at nodes. + Executes a macro file. Parameters ---------- - node - Node at which force is to be specified. If ALL, NEND and NINC are - ignored and forces 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. + name + Name (32 characters maximum, beginning with a letter) identifying + the macro file or a macro block on a macro library file. - lab - Valid force label. Structural labels: FX, FY, or FZ (forces); MX, - MY, or MZ (moments). Thermal labels: HEAT, HBOT, HE2, HE3, . . ., - HTOP (heat flow). Fluid labels: FLOW (fluid flow). Electric - labels: AMPS (current flow), CHRG (electric charge). Magnetic - labels: FLUX (magnetic flux); CSGX, CSGY, or CSGZ (magnetic - current segments). Diffusion labels: RATE (diffusion flow rate). - - value - Force value or table name reference for specifying tabular boundary - conditions. To specify a table, enclose the table name in percent - signs (%), e.g., F, NODE,HEAT,%tabname%). Use the *DIM command to - define a table. - - value2 - Second force value (if any). If the analysis type and the force - allow a complex input, VALUE (above) is the real component and - VALUE2 is the imaginary component. - - nend, ninc - Specifies the same values of force at the nodes ranging from NODE - to NEND (defaults to NODE), in steps of NINC (defaults to 1). - - Notes - ----- - The available force loads per node correspond to the degrees of freedom - listed under "Degrees of Freedom" in the input table for each element - type in the Element Reference. If both a force and a constrained - degree of freedom [D] are specified at the same node, the constraint - takes precedence. Forces are defined in the nodal coordinate system. - The positive directions of structural forces and moments are along and - about the positive nodal axis directions. The node and the degree of - freedom label corresponding to the force must be selected [NSEL, - DOFSEL]. - - For hydrostatic fluid elements (HSFLD241 and HSFLD242), DVOL is used to - specify fluid mass flow rate (with units of mass/time) at the pressure - node. This allows fluid to be added or taken out of the fluid elements - sharing the pressure node. A fluid density must also be specified (via - the MP command or TB command) to apply a volume change corresponding to - the prescribed fluid mass flow rate. - - Tabular boundary conditions (VALUE = %tabname%) are available only for - the following labels: Fluid (FLOW), Electric (AMPS), Structural force - (FX, FY, FZ, MX, MY, MZ), and Thermal (HEAT, HBOT, HE2, HE3, . . ., - HTOP). Tabular boundary conditions are valid only in static - (ANTYPE,STATIC), full transient (ANTYPE,TRANS), full harmonic (ANTYPE, - HARMIC), modal superposition harmonic and modal superposition transient - analyses. - - This command is also valid in PREP7. - - """ - command = "F, %s, %s, %s, %s, %s, %s" % (str(node), str(lab), str(value), str(value2), str(nend), str(ninc)) - self.RunCommand(command, **kwargs) - - def Cmatrix(self, symfac="", condname="", numcond="", grndkey="", - capname="", **kwargs): - """ - APDL Command: CMATRIX - - Performs electrostatic field solutions and calculates the self and - mutual capacitances between multiple conductors. - - Parameters - ---------- - symfac - Geometric symmetry factor. Capacitance values are scaled by this - factor which represents the fraction of the total device modeled. - Defaults to 1. - - condname - Alpha-numeric prefix identifier used in defining named conductor - components. - - numcond - Total Number of Components. If a ground is modeled, it is to be - included as a component. If a ground is not modeled, but infinite - elements are used to model the far-field ground, a named component - for the far-field ground is not required. - - grndkey - Ground key: - - 0 - Ground is one of the components, which is not at infinity. - - 1 - Ground is at infinity (modeled by infinite elements). - - capname - Array name for computed capacitance matrix. Defaults to CMATRIX. + arg1, arg2, arg3, . . . , ar18 + Values passed into the file or block where the parameters ARG1 + through ARG9 and AR10 through AR18 are referenced. Values may be + numbers, alphanumeric character strings (up to 32 characters + enclosed in single quotes), parameters (numeric or character) or + parametric expressions. See below for additional details. Notes ----- - To invoke the CMATRIX macro, the exterior nodes of each conductor must - be grouped into individual components using the CM command. Each set - of independent components is assigned a component name with a common - prefix followed by the conductor number. A conductor system with a - ground must also include the ground nodes as a component. The ground - component is numbered last in the component name sequence. - - A ground capacitance matrix relates charge to a voltage vector. A - ground matrix cannot be applied to a circuit modeler. The lumped - capacitance matrix is a combination of lumped "arrangements" of - voltage differences between conductors. Use the lumped capacitance - terms in a circuit modeler to represent capacitances between - conductors. - - Enclose all name-strings in single quotes in the CMATRIX command line. - - See the Mechanical APDL Theory Reference and HMAGSOLV in the Low- - Frequency Electromagnetic Analysis Guide for details. - - This command does not support multiframe restarts. + Causes execution of a macro file called Name, or, if not found, a macro + block "Name" on the macro library file [*ULIB]. Argument values + (numeric or character) are passed into the file or block and + substituted for local parameters ARG1, ARG2, ..., AR18. The file Name + may also be executed as an "unknown command" (i.e., without the *USE + command name) as described below. - """ - command = "CMATRIX, %s, %s, %s, %s, %s" % (str(symfac), str(condname), str(numcond), str(grndkey), str(capname)) - self.RunCommand(command, **kwargs) + A macro is a sequence of ANSYS commands (as many as needed) recorded in + a file or in a macro block in a library file (specified with the *ULIB + command). The file or block is typically executed with the *USE + command. In addition to command, numerical and alphanumeric data, the + macro may include parameters which will be assigned numerical or + alphanumerical character values when the macro is used. Use of the + macro may be repeated (within a do-loop, for example) with the + parameters incremented. A macro is defined within a run by "enclosing" + a sequence of data input commands between a *CREATE and a *END + command. The data input commands are passive (not executed) while + being written to the macro file. The macro file (without *CREATE and + *END ) can also be created external to ANSYS. - def Vedit(self, par="", **kwargs): - """ - APDL Command: *VEDIT + Up to 99 specially named scalar parameters called ARG1 to AR99 are + locally available to each macro. Note that the prefix for the first 9 + parameters is "ARG," while the prefix for the last 90 is "AR." A local + parameter is one which is not affected by, nor does it affect, other + parameters, even those of the same name, which are used outside of the + macro. The only way a local parameter can affect, or be affected by, + parameters outside the macro is if values are passed out of, or into, + the macro by an argument list. Parameters ARG1 through AR18 can have + their values (numeric or character) passed via the argument list on the + *USE command (ARG1 through AR19 can be passed as arguments on the + "unknown command" macro). Parameters AR19 through AR99 (AR20 through + AR99 in the "unknown command" macro) are available solely for use + within the macro; they cannot be passed via an argument list. Local + parameters are available to do-loops and to /INPUT files processed + within the macro. In addition to an ARG1--AR99 set for each macro, + another ARG1--AR99 set is available external to all macros, local to + "non-macro" space. - Allows numerical array parameters to be graphically edited. + A macro is exited after its last line is executed. Macros may be + nested (such as a *USE or an "unknown command" within a macro). Each + nested macro has its own set of 99 local parameters. Only one set of + local parameters can be active at a time and that is the set + corresponding to the macro currently being executed or to the set + external to all macros (if any). When a nested macro completes + execution, the previous set of local parameters once again becomes + available. Use *STATUS,ARGX to view current macro parameter values. - Parameters - ---------- - par - Name of the array parameter to be edited. + An alternate way of executing a macro file is via the "unknown command" + route. If a command unknown to the ANSYS program is entered, a search + for a file of that name (plus a .MAC suffix) is made. If the file + exists, it is executed, if not, the "unknown command" message is + output. Thus, users can write their own commands in terms of other + ANSYS commands. The procedure is similar to issuing the *USE command + with the unknown command in the Name field. For example, the command + CMD,10,20,30 is internally similar to *USE,CMD,10,20,30. The macro + file named CMD.MAC will be executed with the three parameters. The + *USE macro description also applies to the "unknown command" macro, + except that various directories are searched and a suffix (.MAC) is + assumed. Also, a macro library file is not searched. - Notes - ----- - Invokes a graphical editing system that displays array parameter values - in matrix form, and allows the use of the mouse to edit individual - values. The starting array subscripts must be defined, such as - *VEDIT,A(4,6,1), to indicate the section of the array to be edited. - The array section starts at the specified array element and continues - to the maximum extent of the array parameter. Row and column index - values may be set or changed in any plane, and those values will be - applied to all planes. The menu system must be on [/MENU] when this - command is issued. Graphical editing is not available for character - array parameters. The *VEDIT command can not be used in a macro or - other secondary input file. + A three-level directory search for the "unknown command" macro file may + be available (see the Operations Guide). The search order may be: 1) a + high-level system directory, 2) the login directory, and 3) the local + (working) directory. Use the /PSEARCH command to change the directory + search path. For an "unknown command" CMD, the first file named + CMD.MAC found to exist in the search order will be executed. The + command may be input as upper or lower case, however, it is converted + to upper case before the file name search occurs. On systems that + uniquely support both upper and lower case file names, the file with + the matching lower case name will be used if it exists, otherwise, the + file with the matching upper case name will be used. All macro files + placed in the apdl directory must be upper case. - This command is not applicable to 4- or 5-D arrays. + Note, since undocumented commands exist in the ANSYS program, the user + should issue the command intended for the macro file name to be sure + the "unknown command" message is output in the processor where it's to + be used. If the macro is to be used in other processors, the other + processors must also be checked. This command is valid in any processor. """ - command = "*VEDIT, %s" % (str(par)) - self.RunCommand(command, **kwargs) - - def Lsbv(self, nl="", nv="", sepo="", keepl="", keepv="", **kwargs): - """ - APDL Command: LSBV - - Subtracts volumes from lines. - - Parameters - ---------- - nl - Line (or lines, if picking is used) to be subtracted from. If ALL, - use all selected lines. If NL = 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 NL. - - nv - Volume (or volumes, if picking is used) to be subtracted. If ALL, - use all selected volumes. A component name may also be substituted - for NV. - - sepo - Behavior if the intersection of the NL lines and the NV volumes is - a keypoint or keypoints: - - (blank) - The resulting lines will share keypoint(s) where they touch. - - SEPO - The resulting lines will have separate, but coincident keypoint(s) where they - touch. - - keepl - Specifies whether NL lines are to be deleted: - - (blank) - Use the setting of KEEP on the BOPTN command. - - DELETE - Delete NL lines after LSBV operation (override BOPTN command settings). - - KEEP - Keep NL lines after LSBV operation (override BOPTN command settings). - - keepv - Specifies whether NV volumes are to be deleted: - - (blank) - Use the setting of KEEP on the BOPTN command. - - DELETE - Delete NV volumes after LSBV operation (override BOPTN command settings). - - KEEP - Keep NV volumes after LSBV operation (override BOPTN command settings). - - Notes - ----- - Generates new lines by subtracting the regions common to both NL lines - and NV volumes (the intersection) from the NL lines. The intersection - can be a line(s) or point(s). If the intersection is a point and SEPO - is blank, the NL1 line is divided at the point and the resulting lines - will be connected, sharing a common keypoint where they touch. If SEPO - is set to SEPO, NL1 is divided into two unconnected lines with separate - keypoints where they touch. See the Modeling and Meshing Guide for an - illustration. See the BOPTN command for an explanation of the options - available to Boolean operations. Element attributes and solid model - boundary conditions assigned to the original entities will not be - transferred to the new entities generated. LSBL,ALL,ALL will have no - effect since all the lines (in NL1) will be unavailable as NL2 lines. - - """ - command = "LSBV, %s, %s, %s, %s, %s" % (str(nl), str(nv), str(sepo), str(keepl), str(keepv)) - self.RunCommand(command, **kwargs) - - def Bfscale(self, lab="", fact="", tb_ase="", **kwargs): - """ - APDL Command: BFSCALE - - Scales body force loads at nodes. - - Parameters - ---------- - lab - Valid body load label. If ALL, use all appropriate labels. - - fact - Scale factor for the nodal body load values. Zero (or blank) - defaults to 1.0. Use a small number for a zero scale factor. The - scale factor is not applied to body load phase angles. - - tbase - Base temperature for temperature difference. Used only with Lab = - TEMP. Scale factor is applied to the temperature difference (T - - TBASE) and then added to TBASE. T is the current temperature. - - Notes - ----- - Scales body force loads in the database on the selected nodes. Issue - the BFLIST command to list the nodal body loads. 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. - - BFSCALE does not work for tabular boundary conditions. - - This command is also valid in PREP7. - - """ - command = "BFSCALE, %s, %s, %s" % (str(lab), str(fact), str(tb_ase)) + command = "*USE,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(name), str(arg1), str(arg2), str(arg3), str(arg4), str(arg5), str(arg6), str(arg7), str(arg8), str(arg9), str(ar10), str(ar11), str(ar12), str(ar13), str(ar14), str(ag15), str(ar16), str(ar17), str(ar18)) self.RunCommand(command, **kwargs) def Stabilize(self, key="", method="", value="", substpopt="", @@ -27500,1672 +27536,1750 @@ def Stabilize(self, key="", method="", value="", substpopt="", in the Structural Analysis Guide. """ - command = "STABILIZE, %s, %s, %s, %s, %s" % (str(key), str(method), str(value), str(substpopt), str(forcelimit)) + command = "STABILIZE,%s,%s,%s,%s,%s" % (str(key), str(method), str(value), str(substpopt), str(forcelimit)) self.RunCommand(command, **kwargs) - def Linl(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nl7="", - nl8="", nl9="", **kwargs): + def Nrefine(self, nn1="", nn2="", ninc="", level="", depth="", post="", + retain="", **kwargs): """ - APDL Command: LINL + APDL Command: NREFINE - Finds the common intersection of lines. + Refines the mesh around specified nodes. Parameters ---------- - nl1, nl2, nl3, . . . , nl9 - Numbers of lines to be intersected. If NL1 = ALL, find the - intersection of all selected lines and NL2 to NL9 are ignored. If - NL1 = 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 NL1. - - Notes - ----- - Finds the common (not pairwise) intersection of lines. The common - intersection is defined as the regions shared (in common) by all lines - listed on this command. New lines will be generated where the original - lines intersect. If the regions of intersection are only points, new - keypoints will be generated instead. See the Modeling and Meshing - Guide for an illustration. See the BOPTN command for the options - available to Boolean operations. Element attributes and solid model - boundary conditions assigned to the original entities will not be - transferred to the new entities generated. - - """ - command = "LINL, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nl7), str(nl8), str(nl9)) - self.RunCommand(command, **kwargs) + nn1, nn2, ninc + Nodes (NN1 to NN2 in increments of NINC) around which the mesh is + to be refined. NN2 defaults to NN1, and NINC defaults to 1. If + NN1 = ALL, NN2 and NINC are ignored and all selected nodes are used + for refinement. If NN1 = 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 NN1 (NN2 and NINC are + ignored). - def Plesol(self, item="", comp="", kund="", fact="", **kwargs): - """ - APDL Command: PLESOL + level + Amount of refinement to be done. Specify the value of LEVEL as an + integer from 1 to 5, where a value of 1 provides minimal + refinement, and a value of 5 provides maximum refinement (defaults + to 1). - Displays the solution results as discontinuous element contours. + depth + Depth of mesh refinement in terms of number of elements outward + from the indicated nodes (defaults to 1). - Parameters - ---------- - item - Label identifying the item. Valid item labels are shown in Table - 219: PLESOL - Valid Item and Component Labels for Element Results - below. Some items also require a component label. + post + Type of postprocessing to be done after element splitting, in order + to improve element quality: - comp - Component of the item (if required). Valid component labels are - shown in Table 219: PLESOL - Valid Item and Component Labels for - Element Results below. + OFF - No postprocessing will be done. - kund - Undisplaced shape key: + SMOOTH - Smoothing will be done. Node locations may change. - 0 - Do not overlay undeformed structure display + CLEAN - Smoothing and cleanup will be done. Existing elements may be deleted, and node + locations may change (default). - 1 - Overlay displaced contour plot with undeformed display (appearance is system- - dependent) + retain + Flag indicating whether quadrilateral elements must be retained in + the refinement of an all-quadrilateral mesh. (The ANSYS program + ignores the RETAIN argument when you are refining anything other + than a quadrilateral mesh.) - 2 - Overlay displaced contour plot with undeformed edge display (appearance is - system-dependent) + ON - The final mesh will be composed entirely of quadrilateral elements, regardless + of the element quality (default). - fact - Scale factor for 2-D display of contact items (defaults to 1). A - negative scaling factor may be used to invert the display. + OFF - The final mesh may include some triangular elements in order to maintain + element quality and provide transitioning. Notes ----- - Displays the solution results as element contours discontinuous across - element boundaries for the selected elements. For example, PLESOL,S,X - displays the X component of stress S (that is, the SX stress - component). Various element results depend on the calculation method - and the selected results location (AVPRIN, RSYS, and ESEL). Contours - are determined by linear interpolation within each element, unaffected - by the surrounding elements (i.e., no nodal averaging is performed). - The discontinuity between contours of adjacent elements is an - indication of the gradient across elements. Component results are - displayed in the active results coordinate system [RSYS] (default is - the global Cartesian). See the ETABLE and PLETAB commands for - displaying items not available through this command (such as line - element results). - - For PowerGraphics displays [/GRAPHICS,POWER], results are plotted only - for the model exterior surface. The items marked with [1] in Table: - 219:: PLESOL - Valid Item and Component Labels for Element Results are - not supported by PowerGraphics. - - Table: 219:: : PLESOL - Valid Item and Component Labels for Element - Results - - Not supported by PowerGraphics - - For MPC-based contact definitions, the value of STAT can be negative. - This indicates that one or more contact constraints were intentionally - removed to prevent overconstraint. STAT = -3 is used for MPC bonded - contact; STAT = -2 is used for MPC no-separation contact. - - Works only if failure criteria information is provided. (For more - information, see the documentation for the FC and TB commands.) - - Works only if user-defined failure criteria routine is provided. - - Must be added via the FCTYP command first. - - Some element- and material-type limitations apply. (For more - information, see the documentation for the PRERR command.) + NREFINE performs local mesh refinement around the specified nodes. By + default, the indicated elements are split to create new elements with + 1/2 the edge length of the original elements (LEVEL = 1). - Do not use the PLESOL command to obtain contact forces for contact - elements. The force values reported by this command may not be accurate - for these elements. Instead, use the ETABLE command to obtain contact - force values. + NREFINE refines all area elements and tetrahedral volume elements that + are adjacent to the specified nodes. Any volume elements that are + adjacent to the specified nodes, but are not tetrahedra (for example, + hexahedra, wedges, and pyramids), are not refined. - Total mechanical, thermal, and diffusion strain (EPEL + EPPL + EPCR + - EPTH + EPDI) in coupled-diffusion analyses. + You cannot use mesh refinement on a solid model that contains initial + conditions at nodes [IC], coupled nodes [CP family of commands], + constraint equations [CE family of commands], or boundary conditions or + loads applied directly to any of its nodes or elements. This applies + to nodes and elements anywhere in the model, not just in the region + where you want to request mesh refinement. For additional restrictions + on mesh refinement, see Revising Your Model in the Modeling and Meshing + Guide. - Failure criteria are based on the effective stresses in the damaged - material. + This command is also valid for rezoning. """ - command = "PLESOL, %s, %s, %s, %s" % (str(item), str(comp), str(kund), str(fact)) + command = "NREFINE,%s,%s,%s,%s,%s,%s,%s" % (str(nn1), str(nn2), str(ninc), str(level), str(depth), str(post), str(retain)) self.RunCommand(command, **kwargs) - def Mapsolve(self, maxsbstep="", **kwargs): + def Ndist(self, nd1="", nd2="", **kwargs): """ - APDL Command: MAPSOLVE + APDL Command: NDIST - Maps solved node and element solutions from an original mesh to a new - mesh. + Calculates and lists the distance between two nodes. Parameters ---------- - maxsbstep - The maximum number of substeps for rebalancing the residuals. The - default value is 5. + nd1 + First node in distance calculation. If ND1 = P, graphical picking + is enabled and all remaining command fields are ignored (valid only + in the GUI). + + nd2 + Second node in distance calculation. Notes ----- - Used during the rezoning process, the MAPSOLVE command maps solved node - and element solutions from the original mesh to the new mesh and - achieves equilibrium based on the new mesh. - - Additional substeps are necessary to reduce the residuals to zero. - - During the rebalancing stage, the external loads and time remain - unchanged. + NDIST lists the distance between nodes ND1 and ND2, as well as the + current coordinate system offsets from ND1 to ND2, where the X, Y, and + Z locations of ND1 are subtracted from the X, Y, and Z locations of ND2 + (respectively) to determine the offsets. NDIST is valid in any + coordinate system except toroidal [CSYS,3]. - The MAPSOLVE command is valid only for rezoning (REZONE). + NDIST returns a variable, called "_RETURN," which contains the distance + value. You can use this value for various purposes, such as the + calculation of distributed loads. In interactive mode, you can access + this command by using the Model Query Picker (Utility Menu> List> + Picked Entities), where you can also access automatic annotation + functions and display the value on your model. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "MAPSOLVE, %s" % (str(maxsbstep)) + command = "NDIST,%s,%s" % (str(nd1), str(nd2)) self.RunCommand(command, **kwargs) - def Irlf(self, key="", **kwargs): + def Pngr(self, kywrd="", opt="", val="", **kwargs): """ - APDL Command: IRLF + APDL Command: PNGR - Specifies that inertia relief calculations are to be performed. + Provides PNG file export for ANSYS displays. Parameters ---------- - key - Calculation key: + kywrd + Specifies various PNG file export options. -  0  - No inertia relief calculations. + COMP - If Kywrd = COMP, then OPT is either ON or OFF (blank is interpreted as OFF). + This option allows you to turn PNG file compression ON or + OFF. If OPT = ON, then The VAL field is read to determine + the degree of compression. See the VALUE argument for + acceptable compression values. -  1  - Counterbalance loads with inertia relief forces. + ORIENT - If Kywrd = ORIENT, then OPT will determine the orientation of the entire plot. + OPT can be either Horizontal (default) or Vertical. - -1  - Precalculate masses for summary printout only (no inertia relief). + COLOR - If Kywrd = COLOR, then OPT will determine the color depth of the saved file. + OPT can be 0, 1, or 2, corresponding to Black and White, + Grayscale, and Color (default), respectively. - Notes - ----- - The IRLF command specifies that the program is to calculate - accelerations to counterbalance the applied loads (inertia relief). - Displacement constraints on the structure should be only those - necessary to prevent rigid-body motions (3 are needed for a 2-D - structure and 6 for a 3-D structure). The sum of the reaction forces - at the constraint points will be zero. Accelerations are calculated - from the element mass matrices and the applied forces. Data needed to - calculate the mass (such as density) must be input. Both translational - and rotational accelerations may be calculated. + TMOD - If Kywrd = TMOD, then OPT will determine the text method. OPT can be either 1 + or 0, corresponding to bitmap text (default) or line stroke + text, respectively. - This option applies only to the static (ANTYPE,STATIC) analysis. - Nonlinearities, elements that operate in the nodal coordinate system, - and axisymmetric or generalized plane strain elements are not allowed. - Symmetry models are not valid for inertia relief analysis. Models with - both 2-D and 3-D element types are not recommended. + DEFAULT - If Kywrd = DEFAULT, then all of the default values, for all of the Kywrd + parameters listed above, are active. - Loads may be input as usual. Displacements and stresses are calculated - as usual. + STAT - Shows the current status of PNG file export. - Use IRLIST to print inertia relief calculation results. The mass and - moment of inertia summary printed before the solution is accurate - (because of the additional pre-calculations required for inertia - relief). See Inertia Relief in the Mechanical APDL Theory Reference - for calculation details. See also the Structural Analysis Guide for - procedural details. + opt + OPT can have the following names or values, depending on the value + for Kywrd (see above). - If the inertia relief calculation is to be performed in the second or - later load step, you must specify EMATWRITE,YES in the initial load - step for the element matrices needed to perform the calculations to be - available. + ON, OFF - If Kywrd = COMP, the values On and Off control the use of compression. The + degree of compression is determined by VAL - When a superelement (MATRIX50) is present in the model, any DOF - constraints that you need to apply (D) on a degree of freedom (DOF) - belonging to the superelement must be applied in the use pass of the - MATRIX50 element (not in the generation pass). The command has no - effect in the generation pass of a substructure. In the expansion pass, - precalculation of masses for summary printout (IRLF,-1) occurs only on - elements that are part of the substructure. + Horizontal, Vertical - If Kywrd = ORIENT, the terms Horizontal or Vertical determine the orientation + of the plot. - This command is also valid in PREP7. + 0, 1, 2 - If Kywrd = COLOR, the numbers 0, 1, and 2 correspond to Black and White, + Grayscale and Color, respectively. + + 1, 0 - If Kywrd = TMOD, the values 1 and 0 determine whether bitmap (1) or stroke text + (0) fonts will be used + + val + VAL is active only when Kywrd = COMP, and determines the degree of + compression applied to the exported file (see above). + + 1  - Apply the default, optimum value for compression. This value represents the + best combination of speed and compression. It varies according + to the release level of the ZLIB compression package. + + 1-9  - Use this value to specify a specific compression level. 1 is the lowest + compression level (fastest) and 9 is the highest compression + level (slowest). """ - command = "IRLF, %s" % (str(key)) + command = "PNGR,%s,%s,%s" % (str(kywrd), str(opt), str(val)) self.RunCommand(command, **kwargs) - def Export(self, matrix="", format="", fname="", val1="", val2="", val3="", - **kwargs): + def Gplot(self, **kwargs): """ - APDL Command: *EXPORT - - Exports a matrix to a file in the specified format. - - Parameters - ---------- - matrix - Name of the matrix to export (must be a matrix previously created - with *DMAT or *SMAT, or a vector previously created with *VEC). + APDL Command: GPLOT - format - Format of the output file: + Controls general plotting. - Export the matrix in the Matrix Market Format. - Export the matrix in the SUB file format. + Notes + ----- + This command displays all entity types as specified via the /GTYPE + command. Only selected entities (NSEL, ESEL, KSEL, LSEL, ASEL, VSEL) + will be displayed. See the descriptions of the /GTYPE and /GCMD + commands for methods of setting the entity types displayed. - Export the matrix in the Harwell-Boeing file format. - Export the matrix in a native format, to be re-imported using the *DMAT or - *SMAT command. + This command is valid in any processor. - Export the matrix to an existing EMAT file. - Export the matrix to an APDL array parameter. + """ + command = "GPLOT," % () + self.RunCommand(command, **kwargs) - Export the matrix profile to a Postscript file. - Export the matrix in the DMIG file format. + def Bsmd(self, dens="", **kwargs): + """ + APDL Command: BSMD - fname - Name of the file, or name of the array parameter if Format = APDL. + Specifies mass per unit length for a nonlinear general beam section. - val1, val2, val3 - Additional input. The meaning of Val1 through Val3 will vary - depending on the specified Format. See table below for details. + Parameters + ---------- + dens + Mass density. Notes ----- - Only sparse matrices can be exported to Postscript files. This option - plots the matrix profile as a series of dots. - - If you want to create a .SUB file from several matrices, you need to - set Val3 = WAIT for all matrices but the last, and Val3 = DONE for the - last one. The export will be effective at the last *EXPORT command. + The BSMD command, one of several nonlinear general beam section + commands, specifies the mass density (assuming a unit area) for a beam + section. The value specified is associated with the section most + recently defined (via the SECTYPE command). - To create a .SUB file or .DMIG file from scratch, you must supply the - row information array. (Specify this array in the Val2 field for .SUB - or in the Val1 field for .DMIG.) This must be an m x 2 array, where m - is the size of the matrix. The first column is the node number and the - second column is the DOF number corresponding to each row of the - matrix. + Related commands are BSAX, BSM1, BSM2, BSTQ, BSS1, BSS2, and BSTE. - The *EXPORT command is not applicable to sparse matrices initialized - from .FULL files by means of the NOD2BCS option on the *SMAT command - (i.e., *SMAT,,,IMPORT,FULL,,NOD2BCS). + For complete information, see Using Nonlinear General Beam Sections. """ - command = "*EXPORT, %s, %s, %s, %s, %s, %s" % (str(matrix), str(format), str(fname), str(val1), str(val2), str(val3)) + command = "BSMD,%s" % (str(dens)) self.RunCommand(command, **kwargs) - def Realvar(self, ir="", ia="", name="", facta="", **kwargs): + def Adrag(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nlp1="", + nlp2="", nlp3="", nlp4="", nlp5="", nlp6="", **kwargs): """ - APDL Command: REALVAR + APDL Command: ADRAG - Forms a variable using only the real part of a complex variable. + Generates areas by dragging a line pattern along a path. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. - - ia - Reference number of the variable to be operated on. - - --, -- - Unused fields. - - name - Thirty-two character name identifying the variable on printouts and - displays. Embedded blanks are compressed for output. - - --, -- - Unused fields. + nl1, nl2, nl3, . . . , nl6 + List of lines in the pattern to be dragged (6 maximum if using + keyboard entry). Lines should form a continuous pattern (no more + than two lines connected to any one keypoint. If NL1 = P, + graphical picking is enabled and all remaining arguments are + ignored (valid only in the GUI). If NL1 = ALL, all selected lines + (except those that define the drag path) will be swept along the + path. A component name may also be substituted for NL1. - facta - Scaling factor (positive or negative) applied to variable IA - (defaults to 1.0). + nlp1, nlp2, nlp3, . . . , nlp6 + List of lines defining the path along which the pattern is to be + dragged (6 maximum if using keyboard entry). Must be a continuous + set of lines. Notes ----- - Forms a variable using only the real part of a variable. Used only - with harmonic analyses (ANTYPE,HARMIC). + Generates areas (and their corresponding keypoints and lines) by + sweeping a given line pattern along a characteristic drag path. If the + drag path consists of multiple lines, the drag direction is determined + by the sequence in which the path lines are input (NLP1, NLP2, etc.). + If the drag path is a single line (NLP1), the drag direction is from + the keypoint on the drag line that is closest to the first keypoint of + the given line pattern to the other end of the drag line. - Complex variables are stored in two-column arrays with the real - component stored in the first column and the imaginary component stored - in the second column. This command extracts the value stored in the - first column (i.e., real component). However with harmonic analyses, - all variables are stored in two-column arrays as complex variables. If - the variable is not complex, then the same value is stored in both - columns. This command will extract the variable in the first column of - the array, even if this variable is not the real component of a complex - variable. + The magnitude of the vector between the keypoints of the given pattern + and the first path keypoint remains constant for all generated keypoint + patterns and the path keypoints. The direction of the vector relative + to the path slope also remains constant so that patterns may be swept + around curves. + + Keypoint, line, and area numbers are automatically assigned (beginning + with the lowest available values [NUMSTR]). Adjacent lines use a + common keypoint. Adjacent areas use a common line. For best results, + the entities to be dragged should be orthogonal to the start of the + drag path. Drag operations that produce an error message may create + some of the desired entities prior to terminating. """ - command = "REALVAR, %s, %s, %s, %s" % (str(ir), str(ia), str(name), str(facta)) + command = "ADRAG,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nlp1), str(nlp2), str(nlp3), str(nlp4), str(nlp5), str(nlp6)) self.RunCommand(command, **kwargs) - def Cmsel(self, type="", name="", entity="", **kwargs): + def Ancut(self, nfram="", delay="", ncycl="", qoff="", ktop="", topoff="", + node1="", node2="", node3="", **kwargs): """ - APDL Command: CMSEL + APDL Command: ANCUT - Selects a subset of components and assemblies. + Produces an animated sequence of Q-slices. Parameters ---------- - type - Label identifying the type of select: + nfram + Number of frames captures (defaults to 5). - S - Select a new set (default). + delay + Time delay during animation (defaults to 0.1 seconds). - R - Reselect a set from the current set. + ncycl + Number of animation cycles (defaults to 5). Available in non-UI + mode only. - A - Additionally select a set and extend the current set. + qoff + Q-slice working plane increment (defaults to .1 half screens). - U - Unselect a set from the current set. + ktop + Topological effect on or off (YES or NO; default is NO). - ALL - Also select all components. + topoff + Topological offset (default is .1 half screens). - NONE - Unselect all components. + node1 + Node 1 for start of the Q-slice. - name - Name of component or assembly whose items are to be selected (valid - only if Type = S, R, A, or U). + node2 + Node 2 for direction of the Q-slice. - entity - If Name is blank, then the following entity types can be specified: + node3 + Node 3 for plane of the Q-slice. - VOLU - Select the volume components only. + Notes + ----- + ANCUT involves an ANSYS macro which produces an animation of Q-slices + of the last plot action command. This command operates only on graphic + display platforms supporting the /SEG command. After executing ANCUT, + you can replay the animated sequence by issuing the ANIM command. - AREA - Select the area components only. + The command functions only in the postprocessor. - LINE - Select the line components only. + """ + command = "ANCUT,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nfram), str(delay), str(ncycl), str(qoff), str(ktop), str(topoff), str(node1), str(node2), str(node3)) + self.RunCommand(command, **kwargs) - KP - Select the keypoint components only. + def Lcase(self, lcno="", **kwargs): + """ + APDL Command: LCASE - ELEM - Select the element components only. + Reads a load case into the database. - NODE - Select the node components only. + Parameters + ---------- + lcno + Load case pointer number [LCDEF,STAT]. Defaults to 1. Notes ----- - Selecting by component is a convenient adjunct to individual item - selection (e.g., VSEL, ESEL, etc.). CMSEL, ALL allows you to select - components in addition to other items you have already selected. - - If Type = R for an assembly selection [CMSEL,R,], the - reselect operation is performed on each component in the assembly in - the order in which the components make up the assembly. Thus, if one - reselect operation results in an empty set, subsequent operations will - also result in empty sets. For example, if the first reselect - operation tries to reselect node 1 from the selected set of nodes 3, 4, - and 5, the operation results in an empty set (that is, no nodes are - selected). Since the current set is now an empty set, if the second - reselect operation tries to reselect any nodes, the second operation - also results in an empty set, and so on. This is equivalent to - repeating the command CMSEL,R, once for each component - making up the assembly. - - This command is valid in any processor. + Reads a load case into the database. Load cases are created as + described on the LCDEF or LCWRITE commands. The results portion of the + database and the applied forces and displacements are cleared before + reading the data in. Absolute values [LCABS] and scale factors + [LCFACT] can be applied during the read operation. """ - command = "CMSEL, %s, %s, %s" % (str(type), str(name), str(entity)) + command = "LCASE,%s" % (str(lcno)) self.RunCommand(command, **kwargs) - def Demorph(self, elem="", dimn="", rmshky="", **kwargs): + def Fileaux2(self, fname="", ident="", **kwargs): """ - APDL Command: DEMORPH + APDL Command: FILEAUX2 - Move nodes in selected elements to conform to structural displacements. + Specifies the binary file to be dumped. Parameters ---------- - elem - Non-structural elements to which mesh movement (morph) applies. - If ALL, apply morphing to all selected elements [ESEL]. If ELEM = - P, graphical picking is enabled. A component may be substituted - for ELEM. - - dimn - Problem dimensionality. Use "2" for a 2-D problem and "3" for a - 3-D problem (no default). - - rmshky - Remesh flag option: - - 0 - Remesh the selected non-structural regions only if mesh morphing fails. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - 1 - Remesh the selected non-structural regions and bypass mesh morphing. + ident + ANSYS filename identifier. See the Basic Analysis Guide for file + descriptions and identifiers. If not an ANSYS identifier, Ident + will be used as the filename extension. - 2 - Perform mesh morphing only and do not remesh. + -- + Unused field. Notes ----- - The selected elements should include only non-structural regions - adjacent to structural regions. The exterior nodes of the selected - elements will usually be on the boundary of the region which will have - node positions displaced. For DIMN = 2, elements must lie on a flat - plane. The DEMORPH command requires a single domain grouping of - elements be provided (multiple domains of elements are not permitted). - Exterior nodes will be assumed fixed (no nodes will be morphed) unless - they coincide with structural nodes having nonzero displacements. - - Nodes in the structural regions move in accordance with computed - displacements. Displacements from a structural analysis must be in the - database prior to issuing DEMORPH. - - By default (RMSHKY = 0), DEMORPH will remesh the selected non- - structural regions entirely if a satisfactory morphed mesh cannot be - provided. - - If boundary conditions and loads are applied directly to nodes and - elements, the DEMORPH command requires that these be removed before - remeshing can take place. - - Exercise care with initial conditions defined by the IC command. Before - a structural analysis is performed for a sequentially coupled analysis, - the DEMORPH command requires that initial conditions be removed from - all null element type nodes in the non-structural regions. Use ICDELE - to delete the initial conditions. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Specifies the binary file to be dumped with the DUMP command. """ - command = "DEMORPH, %s, %s, %s" % (str(elem), str(dimn), str(rmshky)) + command = "FILEAUX2,%s,%s" % (str(fname), str(ident)) self.RunCommand(command, **kwargs) - def Nsol(self, nvar="", node="", item="", comp="", name="", sector="", - **kwargs): + def Cmatrix(self, symfac="", condname="", numcond="", grndkey="", + capname="", **kwargs): """ - APDL Command: NSOL + APDL Command: CMATRIX - Specifies nodal data to be stored from the results file. + Performs electrostatic field solutions and calculates the self and + mutual capacitances between multiple conductors. Parameters ---------- - nvar - Arbitrary reference number or name assigned to this variable. - Variable numbers can be 2 to NV (NUMVAR) while the name can be an - eight byte character string. Overwrites any existing results for - this variable. + symfac + Geometric symmetry factor. Capacitance values are scaled by this + factor which represents the fraction of the total device modeled. + Defaults to 1. - node - Node for which data are to be stored. + condname + Alpha-numeric prefix identifier used in defining named conductor + components. - item - Label identifying the item. Valid item labels are shown in the - table below. Some items also require a component label. + numcond + Total Number of Components. If a ground is modeled, it is to be + included as a component. If a ground is not modeled, but infinite + elements are used to model the far-field ground, a named component + for the far-field ground is not required. - comp - Component of the item (if required). Valid component labels are - shown in the table below. + grndkey + Ground key: - name - Thirty-two character name identifying the item on printouts and - displays. Defaults to a label formed by concatenating the first - four characters of the Item and Comp labels. + 0 - Ground is one of the components, which is not at infinity. - sector - For a full harmonic cyclic symmetry solution, the sector number for - which the results from NODE are to be stored. + 1 - Ground is at infinity (modeled by infinite elements). + + capname + Array name for computed capacitance matrix. Defaults to CMATRIX. Notes ----- - Stores nodal degree of freedom and solution results in a variable. For - more information, see Data Interpreted in the Nodal Coordinate System - in the Modeling and Meshing Guide. + To invoke the CMATRIX macro, the exterior nodes of each conductor must + be grouped into individual components using the CM command. Each set + of independent components is assigned a component name with a common + prefix followed by the conductor number. A conductor system with a + ground must also include the ground nodes as a component. The ground + component is numbered last in the component name sequence. - For SECTOR>1, the result is in the nodal coordinate system of the base - sector, and it is rotated to the expanded sector’s location. Refer to - Using the /CYCEXPAND Command in the Cyclic Symmetry Analysis Guide for - more information. + A ground capacitance matrix relates charge to a voltage vector. A + ground matrix cannot be applied to a circuit modeler. The lumped + capacitance matrix is a combination of lumped "arrangements" of + voltage differences between conductors. Use the lumped capacitance + terms in a circuit modeler to represent capacitances between + conductors. - Table: 211:: : NSOL - Valid Item and Component Labels + Enclose all name-strings in single quotes in the CMATRIX command line. - Table: 212:: : NSOL - Valid Item and Component Labels for ANSYS LS-DYNA - Nodal Results + See the Mechanical APDL Theory Reference and HMAGSOLV in the Low- + Frequency Electromagnetic Analysis Guide for details. - For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the - labels TBOT, TE2, TE3, . . ., TTOP instead of TEMP. + This command does not support multiframe restarts. """ - command = "NSOL, %s, %s, %s, %s, %s, %s" % (str(nvar), str(node), str(item), str(comp), str(name), str(sector)) + command = "CMATRIX,%s,%s,%s,%s,%s" % (str(symfac), str(condname), str(numcond), str(grndkey), str(capname)) self.RunCommand(command, **kwargs) - def Esol(self, nvar="", elem="", node="", item="", comp="", name="", - **kwargs): + def Iclwid(self, factor="", **kwargs): """ - APDL Command: ESOL + APDL Command: /ICLWID - Specifies element data to be stored from the results file. + Scales the line width of circuit builder icons. Parameters ---------- - nvar - Arbitrary reference number assigned to this variable (2 to NV - [NUMVAR]). Overwrites any existing results for this variable. - - elem - Element for which data are to be stored. If ELEM = P, graphical - picking is enabled (valid only in the GUI). + factor + Multiplication factor applied to the default line width (defaults + to 1). The minimum is 1 and the maximum is 6. - node - Node number on this element for which data are to be stored. If - blank, store the average element value (except for FMAG values, - which are summed instead of averaged). If NODE = P, graphical - picking is enabled (valid only in the GUI). + Notes + ----- + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - item - Label identifying the item. General item labels are shown in Table - 134: ESOL - General Item and Component Labels below. Some items - also require a component label. + """ + command = "/ICLWID,%s" % (str(factor)) + self.RunCommand(command, **kwargs) - comp - Component of the item (if required). General component labels are - shown in Table 134: ESOL - General Item and Component Labels below. - If Comp is a sequence number (n), the NODE field will be ignored. + def Ceqn(self, **kwargs): + """ + APDL Command: CEQN - name - Thirty-two character name for identifying the item on the printout - and displays. Defaults to a label formed by concatenating the - first four characters of the Item and Comp labels. + Specifies "Constraint equations" as the subsequent status topic. Notes ----- - See Table: 134:: ESOL - General Item and Component Labels for a list of - valid item and component labels for element (except line element) - results. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - The ESOL command defines element results data to be stored from a - results file (FILE). Not all items are valid for all elements. To see - the available items for a given element, refer to the input and output - summary tables in the documentation for that element. + If entered directly into the program, the STAT command should + immediately follow this command. - Two methods of data access are available via the ESOL command. You can - access some simply by using a generic label (component name method), - while others require a label and number (sequence number method). + """ + command = "CEQN," % () + self.RunCommand(command, **kwargs) - Use the component name method to access general element data (that is, - element data generally available to most element types or groups of - element types). + def Spval(self, tblno="", curvno="", sv1="", sv2="", sv3="", sv4="", + sv5="", sv6="", sv7="", **kwargs): + """ + APDL Command: SPVAL - The sequence number method is required for data that is not averaged - (such as pressures at nodes and temperatures at integration points), or - data that is not easily described in a generic fashion (such as all - derived data for structural line elements and contact elements, all - derived data for thermal line elements, and layer data for layered - elements). + Defines multi-point response spectrum values. - Element results are in the element coordinate system, except for - layered elements where results are in the layer coordinate system. - Element forces and moments are in the nodal coordinate system. Results - are obtainable for an element at a specified node. Further location - specifications can be made for some elements via the SHELL, LAYERP26, - and FORCE commands. + Parameters + ---------- + tblno + Input table number. It corresponds to TBLNO on the SPFREQ command. - Table: 134:: : ESOL - General Item and Component Labels + curvno + Input curve number. It corresponds to CURVNO on the SPDAMP command + (optional). - For more information on the meaning of contact status and its possible - values, see Reviewing Results in POST1 in the Contact Technology Guide. - - For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the - labels HBOT, HE2, HE3, . . ., HTOP instead of HEAT. + sv1, sv2, sv3, , , . . . , sv7 + Spectral values corresponding to the frequency points (SPFREQ) and + damping ratio (SPDAMP). Values are interpreted as defined with the + SPUNIT command. - """ - command = "ESOL, %s, %s, %s, %s, %s, %s" % (str(nvar), str(elem), str(node), str(item), str(comp), str(name)) - self.RunCommand(command, **kwargs) + Notes + ----- + Defines multi-point response spectrum values to be associated with the + previously defined frequency points (SPFREQ). It can also be associated + with the previously defined damping value (SPDAMP). If CURVNO is not + specified, the input spectrum is not associated with a damping value. - def Shade(self, wn="", type="", **kwargs): - """ - APDL Command: /SHADE + Repeat SPVAL command for additional values, up to the number of + frequency points (SPFREQ). Values are added after the last nonzero + value. - Defines the type of surface shading used with Z-buffering. + The interpolation method between response spectrum points and curves is + specified using KeyInterp on the SPUNIT command. It is logarithmic by + default. - Parameters - ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). + Use the SPTOPT and STAT commands to list current spectrum curve values. - type - Shading type: + This command is also valid in PREP7. - FACET or 0 - Facet shading (one color per area face) (default). + """ + command = "SPVAL,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(tblno), str(curvno), str(sv1), str(sv2), str(sv3), str(sv4), str(sv5), str(sv6), str(sv7)) + self.RunCommand(command, **kwargs) - GOURAUD or 1 - Gouraud smooth shading (smooth variation of color based on interpolated vertex - colors). + def Print(self, **kwargs): + """ + APDL Command: PRINT - PHONG or 2 - Phong smooth shading (smooth variation of color based on interpolated vertex - normals). + Specifies "Print settings" as the subsequent status topic. Notes ----- - Defines the type of surface shading used on area, volume, and - PowerGraphics [/GRAPHICS,POWER] displays when software Z-buffering is - enabled [/TYPE]. This command is only functional for 2-D display - devices. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - This command is valid in any processor. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "/SHADE, %s, %s" % (str(wn), str(type)) + command = "PRINT," % () self.RunCommand(command, **kwargs) - def Ic(self, node="", lab="", value="", value2="", nend="", ninc="", - **kwargs): + def Dnsol(self, node="", item="", comp="", v1="", v2="", v3="", v4="", + v5="", v6="", **kwargs): """ - APDL Command: IC + APDL Command: DNSOL - Specifies initial conditions at nodes. + Defines or modifies solution results at a node. Parameters ---------- node - Node at which initial condition is to be specified. If ALL, apply - 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 be substituted for NODE. - - lab - Degree-of-freedom label for which the initial condition is to be - specified. If ALL, use all appropriate labels. + Node for which results are specified. If ALL, apply 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. - value - Initial value of the degree of freedom (first-order value). - Defaults to the program default for that degree of freedom (0.0 for - structural analysis, TUNIF for thermal analysis, etc.). Values are - in the nodal coordinate system and in radians for rotational - degrees of freedom. + item + Label identifying results, see Table 131: DNSOL - Valid Item and + Component Labels. Items also require a component label. - value2 - Second-order degree of freedom value, mainly used to specify - initial structural velocity. Defaults to the program default for - that degree of freedom (0.0 for structural analysis). Values are - in the nodal coordinate system and in radians/time for rotational - degrees of freedom. + comp + Component of the item. Valid component labels are shown Table + 131: DNSOL - Valid Item and Component Labels below. - nend, ninc - Specifies the same initial condition values at the range of nodes - from NODE to NEND (defaults to NODE), in steps of NINC (defaults to - 1). + v1, v2, v3, . . . , v6 + Value assigned to result. If zero, a zero value will be assigned. + If blank, the value remains unchanged. Additional values (if any) + assigned to the remaining components (in the order corresponding to + the Comp list shown below for the specified Item (starting from the + specified Comp label and proceeding to the right). Notes ----- - The IC command specifies initial conditions, which are the initial - values of the specified degrees of freedom. It is valid only for a - static analysis and full method transient analysis (TIMINT,ON and - TRNOPT,FULL). For the transient, the initial value is specified at the - beginning of the first load step, that is, at time = 0.0. - - Initial conditions should always be step applied (KBC,1) and not - ramped. - - If constraints (D, DSYM, etc.) and initial conditions are applied at - the same node, the constraint specification overrides. Exercise caution - when specifying constraints. The degree-of-freedom values start from - zero, or the first value given in the table when table name is - specified. To match the nonzero initial condition value with the - initial value for degree-of-freedom constraint, use a table for the - degree-of-freedom constraint. + DNSOL can be used only with FULL graphics activated (/GRAPHICS,FULL); + it will not work correctly with PowerGraphics activated. - For thermal analyses, any TUNIF specification should be applied before - the IC command; otherwise, the TUNIF specification is ignored. If the - IC command is input before any TUNIF specification, use the ICDELE - command and then reissue any TUNIF specification and then follow with - the IC command. + DNSOL defines or modifies solution results in the database at a node. + For example, DNSOL,35,U,X,.001,.002,.001 assigns values 0.001, 0.002, + and 0.001 to UX, UY, and UZ (respectively) for node 35. All results + that are changed in the database, including the nodal degree of freedom + results, are available for all subsequent operations. All data is + stored in the solution coordinate system, but will be displayed in the + results coordinate system [RSYS]. Use the PRNSOL command to list the + current results. - When issuing the IC command for elements SOLID278 Layered Thermal Solid - and SOLID279 Layered Thermal Solid with through-the-thickness degrees - of freedom (KEYOPT(3) = 2), layers are always interpolated linearly - based on the location of the degrees of freedom. + Data input by DNSOL is stored in temporary space and does not replace + information in the database. Therefore, data input by this command may + be overwritten if a change is made to the selected set of nodes. - Define consistent initial conditions. For example, if you define an - initial velocity at a single degree of freedom, the initial velocity at - every other degree of freedom will be 0.0, potentially leading to - conflicting initial conditions. In most cases, you should define - initial conditions at every unconstrained degree of freedom in your - model. If you define an initial condition for any degree of freedom at - the pilot node of a rigid body (see Modeling Rigid Bodies in the - Contact Technology Guide for the definition of rigid body), then the - same initial condition must also be defined for the same degree of - freedom on all other nodes of the rigid body. + Issuing the DNSOL command or its GUI equivalent requires you to place + the data type (stress/strain) in the element nodal records. To get + around this requirement, use the DESOL command or equivalent path to + add a "dummy" element stress/strain record. - After a solution has been performed, the specified initial conditions - are overwritten by the actual solution and are no longer available. You - must respecify them if you want to perform a subsequent analysis. You - may want to keep a database file saved prior to the first solution for - subsequent reuse. + Result items are available depending on element type; check the + individual element for availability. Valid item and component labels + for element results are: - If you use the CDWRITE command to archive your model, first-order - values (initial displacements, temperatures, etc.) specified via the IC - command are not written to the archive file; however, second-order - (structural velocity) terms are written. + Table: 131:: : DNSOL - Valid Item and Component Labels - This command is also valid in PREP7. + For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the + labels TBOT, TE2, TE3, ..., TTOP instead of TEMP. """ - command = "IC, %s, %s, %s, %s, %s, %s" % (str(node), str(lab), str(value), str(value2), str(nend), str(ninc)) + command = "DNSOL,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(node), str(item), str(comp), str(v1), str(v2), str(v3), str(v4), str(v5), str(v6)) self.RunCommand(command, **kwargs) - def Asbw(self, na="", sepo="", keep="", **kwargs): + def Pltrac(self, analopt="", item="", comp="", trpnum="", name="", + mxloop="", toler="", option="", escl="", mscl="", **kwargs): """ - APDL Command: ASBW + APDL Command: PLTRAC - Subtracts the intersection of the working plane from areas (divides - areas). + Displays a particle flow or charged particle trace on an element + display. Parameters ---------- - na - Area (or areas, if picking is used) to be subtracted from. If NA = - ALL, use all selected areas. If NA = P, graphical picking is - enabled (valid only in the GUI). A component name may also be - input for NA. + analopt + Analysis option - sepo - Behavior of the created boundary. + FLUID - Particle trace in fluid flow (default) - (blank) - The resulting areas will share line(s) where they touch. + ELEC - Particle trace in electric field - SEPO - The resulting areas will have separate, but coincident line(s). + MAGN - Particle trace in magnetic field - keep - Specifies whether NA areas are to be deleted. + EMAG - Particle trace in presence of both electric and magnetic fields - (blank) - Use the setting of KEEP on the BOPTN command. + item + Label identifying the item to be contoured. Valid item labels are + shown in Table 222: PLTRAC - Valid Item and Component Labels + below. Some items also require a component label. If Item is + blank, display only the path trajectory. - DELETE - Delete NA areas after ASBW operation (override BOPTN command settings). + comp + Component of the item (if required). Valid component labels are + shown in Table 222: PLTRAC - Valid Item and Component Labels below. - KEEP - Keep NA areas after ASBW operation (override BOPTN command settings). + trpnum + Trace point number for storing trajectory data for use with PATH + logic. Defaults to 0 (no trajectory path data is stored for further + processing with PATH logic). - Notes - ----- - Generates new areas by subtracting the intersection of the working - plane from the NA areas. The intersection will be a line(s). The - working plane must not be in the same plane as the NA areas(s). If - SEPO is blank, the NA area is divided at the line and the resulting - areas will be connected, sharing a common line where they touch. If - SEPO is set to SEPO, NA is divided into two unconnected areas with - separate lines. The SEPO option may cause unintended consequences if - any keypoints exist along the cut plane. See Solid Modeling in the - Modeling and Meshing Guide for an illustration. See the BOPTN command - for an explanation of the options available to Boolean operations. - Element attributes and solid model boundary conditions assigned to the - original entities will not be transferred to the new entities - generated. + name + Name of prefix of array variable. Defaults to TRAC. NamePOIN stores + trajectory path points for trace point number TRPNum. If Analopt = + ELEC, MAGN, or EMAG, two additional array parameters, NameDATA and + NameLABL, store trajectory path data and labels for the same + TRPNum. - Issuing the ASBW command under certain conditions may generate a - topological degeneracy error. Do not issue the command if: + mxloop + Maximum number of loops traced by a particle. Defaults to 25 for + Opt = FLUID; otherwise, defaults to 1000. - A sphere or cylinder has been scaled. (A cylinder must be scaled - unevenly in the XY plane.) + toler + Length tolerance used for particle trajectory geometry calculation. + Valid only for Analopt = ELEC, MAGN, or EMAG. If particle trace + appears to terminate inside an element, adjusting the length + tolerance may be necessary. Defaults to 1.0 x 10-8. - A sphere or cylinder has not been scaled but the work plane has been - rotated. + option + Flow trace option: - """ - command = "ASBW, %s, %s, %s" % (str(na), str(sepo), str(keep)) - self.RunCommand(command, **kwargs) + 0 - Use the undeformed mesh for computing the flow trace. - def Curr2d(self, **kwargs): - """ - APDL Command: CURR2D + 1 - Use the deformed mesh for computing the flow trace. - Calculates current flow in a 2-D conductor. + escl + Electric field scale factor. Setting this scale factor affects only + the tracing, not the field solution results. A negative factor + corresponds to the opposite vector direction. Valid only for + Analopt = ELEC or EMAG. Defaults to 1. + + mscl + Magnetic field scale factor. Setting this scale factor affects only + the tracing, not the field solution results. A negative factor + corresponds to the opposite vector direction. Valid only for + Analopt = MAGN or EMAG. Defaults to 1. Notes ----- - CURR2D invokes an ANSYS macro which calculates the total current - flowing in a conducting body for a 2-D planar or axisymmetric magnetic - field analysis. The currents may be applied source currents or induced - currents (eddy currents). The elements of the conducting region must - be selected before this command is issued. The total current - calculated by the macro is stored in the parameter TCURR. Also, the - total current and total current density are stored on a per-element - basis in the element table [ETABLE] with the labels TCURR and JT, - respectively. Use the PLETAB and PRETAB commands to plot and list the - element table items. + For a specified item, the variation of the item is displayed along the + particle trace as a color-contoured ribbon. The TRPOIN command must be + used to define a point on the trajectory path. Multiple traces may be + displayed simultaneously by defining multiple trace points. Issue the + TRPLIS command to list the current tracing points. Issue the TRPDEL + command to delete tracing points defined earlier. Use the PAPUT + command with the POIN option to retrieve the particle trajectory points + as path points. + + The model must be 3-D for the ELEC, MAGN, and EMAG analysis options. + + Three array parameters are created at the time of the particle trace: + TRACPOIN, TRACDATA and TRACLABL. These array parameters can be used to + put the particle velocity and the elapsed time into path form. The + procedure to put the arrays into a path named PATHNAME is as follows: + + Not used if Analopt = FLUID. If working in the GUI, use the "All + information" option to retrieve information from all three arrays at + once. + + If OPTION is set to 1, the deformed mesh is based on the displacement + degrees of freedom UX, UY, and UZ, which must be available in the load + step. + + Table: 222:: : PLTRAC - Valid Item and Component Labels + + See the Basic Analysis Guide for more information on particle flow and + charged particle traces. See Animation in the Basic Analysis Guide for + information on particle trace animation. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "CURR2D, " % () + command = "PLTRAC,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(analopt), str(item), str(comp), str(trpnum), str(name), str(mxloop), str(toler), str(option), str(escl), str(mscl)) self.RunCommand(command, **kwargs) - def Color(self, lab="", clab="", n1="", n2="", ninc="", **kwargs): + def Crplim(self, crcr="", option="", **kwargs): """ - APDL Command: /COLOR + APDL Command: CRPLIM - Specifies the color mapping for various items. + Specifies the creep criterion for automatic time stepping. Parameters ---------- - lab - Apply color to the items specified by the following labels: + crcr + Value of creep criteria for the creep limit ratio control. - AXES - Determines the color (specified in next argument, Clab) that the axes of a - graph will be plotted in. + option + Type of creep analysis for which the creep limit ratio is + specified: - AXNUM - Determines the color (specified in next argument, Clab) that the numbering on - the axes of a graph will be plotted in. + 1 (or ON) - Implicit creep analysis. - NUM - Discretely numbered items (such as element types, element materials, etc., as - shown on the /PNUM command). Also specify number (1 to 11) - in the N1 field. For example, /COLOR,NUM,RED,3 will assign - the color red to all items having the discrete number 3 - (material displays would show elements having material 3 as - red). + 0 (or OFF) - Explicit creep analysis. - OUTL - Outline of elements, areas, and volumes. Ex: /COLOR,OUTL,BLUE. + Notes + ----- + The CUTCONTROL command can also be used to set the creep criterion and + is preferred over this command for setting automatic time step + controls. - ELEM - Elements. Use N1, N2, NINC fields for element numbers. + The creep ratio control can be used at the same time for implicit creep + and explicit creep analyses. For implicit creep (Option = 1), the + default value of CRCR is zero (i.e., no creep limit control), and you + can specify any value. For explicit creep (Option = 0), the default + value of CRCR is 0.1, and the maximum value allowed is 0.25. - LINE - Solid model lines. Use N1, N2, NINC fields for line numbers. + This command is also valid in PREP7. - AREA - Solid model areas. Use N1, N2, NINC fields for area numbers. + """ + command = "CRPLIM,%s,%s" % (str(crcr), str(option)) + self.RunCommand(command, **kwargs) - VOLU - Solid model volumes. Use N1, N2, NINC fields for volume numbers. + def Polygon(self, nvert="", x1="", y1="", x2="", y2="", x3="", y3="", + x4="", y4="", **kwargs): + """ + APDL Command: /POLYGON - ISURF - Isosurfaces (surfaces of constant stress, etc.). This option is particularly - useful when capturing frames for animating a single - isosurface value. + Creates annotation polygons (GUI). - WBAK - Window background. Use N1, N2, NINC fields for window numbers. The options - that you select using Lab = PBAK will supersede those - applied using Lab = WBAK. + Parameters + ---------- + nvert + Number of vertices of polygon (3  NVERT   8). Use /PMORE for + polygons with more than 4 vertices. - b.c.label - Boundary condition label. Enter U, ROT, TEMP, PRES, V, VOLT, MAG, A, EMF, - CURR, F, M, HEAT, FLOW, VF, AMPS, FLUX, CSG, CURT, - VLTG, MAST, CP, CE, NFOR, NMOM, RFOR, RMOM, PATH. See - the /PBC command for boundary condition label - definitions. + x1 + X location for vertex 1 of polygon (-1.0 < X < 2.0). - GRBAK - Graph background. + y1 + Y location for vertex 1 of polygon (-1.0 < Y < 1.0). - GRID - Graph grid lines. + x2 + X location for vertex 2 of polygon (-1.0 < X < 2.0). - AXLAB - Graph X and Y axis labels. + y2 + Y location for vertex 2 of polygon (-1.0 < Y < 1.0). - CURVE - Graph curves (identify curve numbers (1-10) in N1, N2, NINC fields). + x3 + X location for vertex 3 of polygon (-1.0 < X < 2.0). - CM - Component group. Use N1 field for component name, ignore N2 and NINC. + y3 + Y location for vertex 3 of polygon (-1.0 < Y < 1.0). - CNTR - ANSYS contour stress colors. The maximum number of contours available is 128. - The number of colors that can be specified interactively - (GUI) is 9. (/CONTOUR, , 9). Any other setting will yield - inconsistent results. + x4 + X location for vertex 4 of polygon (-1.0 < X < 2.0). - SMAX - Specifies that all stress values above the maximum value entered in /CONTOUR - will be displayed in the color designated in the Clab field. - Defaults to dark grey. + y4 + Y location for vertex 4 of polygon (-1.0 < Y < 1.0). - SMIN - Specifies that all stress values below the minimum value entered in /CONTOUR - will be displayed in the color designated in the Clab field. - Defaults to dark grey. + Notes + ----- + Creates annotation polygons to be written directly onto the display at + a specified location. This is a command generated by the Graphical + User Interface (GUI) and will appear in the log file (Jobname.LOG) if + annotation is used. This command is not intended to be typed in + directly in an ANSYS session (although it can be included in an input + file for batch input or for use with the /INPUT command). - PBAK - Activates background shading options (see command syntax at end of argument - descriptions below). The options that you select using Lab = - PBAK will supersede those applied using Lab = WBAK. + All polygons are shown on subsequent displays unless the annotation is + turned off or deleted. Use the /LSPEC and the /PSPEC command to set + the attributes of the polygon. Use the /PMORE command to define the + 5th through 8th vertices of the polygon. - clab - Valid color labels are: + This command is valid in any processor. - BLAC (0) - Black + """ + command = "/POLYGON,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nvert), str(x1), str(y1), str(x2), str(y2), str(x3), str(y3), str(x4), str(y4)) + self.RunCommand(command, **kwargs) - MRED (1) - Magenta-Red + def Plcfreq(self, spec="", sectbeg="", sectend="", **kwargs): + """ + APDL Command: PLCFREQ - MAGE (2) - Magenta + Plots the frequency response for the given CYCSPEC specification. - BMAG (3) - Blue-Magenta + Parameters + ---------- + spec + CYCSPEC specification number (ordered 1 to N in the order input; + use CYCSPEC,LIST to view the current list order). Defaults to 1. - BLUE (4) - Blue + sectbeg + Beginning sector number to plot. Defaults to 1. - CBLU (5) - Cyan-Blue + sectend + Ending sector number to plot. Defaults to the total number of + sectors expanded (/CYCEXPAND). - CYAN (6) - Cyan + Notes + ----- + Following a cyclic mode-superposition harmonic analysis, this command + plots the result item given by a CYCSPEC specification versus the + harmonic frequency, one curve for each of the specified sectors. A + CYCCALC command must have been issued prior to this command. - GCYA ((7) - Green-Cyan + """ + command = "PLCFREQ,%s,%s,%s" % (str(spec), str(sectbeg), str(sectend)) + self.RunCommand(command, **kwargs) - GREE (8) - Green + def Perturb(self, type="", matkey="", contkey="", loadcontrol="", + **kwargs): + """ + APDL Command: PERTURB - YGRE (9) - Yellow-Green + Sets linear perturbation analysis options. - YELL (10) - Yellow + Parameters + ---------- + type + Type of linear perturbation analysis to be performed: - ORAN (11) - Orange + STATIC - Perform a linear perturbation static analysis. - RED (12) - Red + MODAL - Perform a linear perturbation modal analysis. - DGRA (13) - Dark Gray + BUCKLE - Perform a linear perturbation eigenvalue buckling analysis. - LGRA (14) - Light Gray + HARMONIC - Perform a linear perturbation full harmonic analysis. - WHIT (15) - White + SUBSTR - Perform a linear perturbation substructure generation pass. - n1, n2, ninc - Apply color to Lab items numbered N1 to N2 (defaults to N1) in - steps of NINC (defaults to 1). If N1 is blank, apply color to - entire selected range. If Lab is CM, use component name for N1 and - ignore N2 and NINC. If N1 = P, graphical picking of elements, - lines, areas and volumes is enabled; your can assign colors to the - entities via the picker. When picking is enabled, the Lab and Clab - fields are ignored. + OFF - Do not perform a linear perturbation analysis (default). - Notes - ----- - Issue /COLOR,STAT to display the current color mapping. Issue - /COLOR,DEFA to reset the default color mapping. + matkey + Key for specifying how the linear perturbation analysis uses + material properties, valid for all structural elements except + contact elements. For more information, see Linear Perturbation + Analysis in the Mechanical APDL Theory Reference. - Note:: : Color labels may also be reassigned any "color" with the /CMAP - command. + AUTO - The program selects the material properties for the linear perturbation + analysis automatically (default). The materials are handled + in the following way: - This command is valid anywhere. + For pure linear elastic materials used in the base analysis, the same properties are used in the linear perturbation analysis. - For hyperelastic materials used in the base analysis, the material properties + are assumed to be linear elastic in the linear + perturbation analysis. The material property data + (or material Jacobian) is obtained based on the + tangent of the hyperelastic material's + constitutive law at the point where restart + occurs. - """ - command = "/COLOR, %s, %s, %s, %s, %s" % (str(lab), str(clab), str(n1), str(n2), str(ninc)) - self.RunCommand(command, **kwargs) + For any nonlinear materials other than hyperelastic materials used in the base analysis, the material properties are assumed to be linear elastic in the linear perturbation analysis. The material data is the same as the linear portion of the nonlinear materials (that is, the parts defined by MP commands). - For COMBIN39, the stiffness is that of the first segment of the force- + deflection curve. - def Nlmesh(self, control="", val1="", val2="", val3="", val4="", **kwargs): - """ - APDL Command: NLMESH + TANGENT - Use the tangent (material Jacobian) on the material constitutive curve as the + material property. The material property remains linear + in the linear perturbation analysis and is obtained at + the point of the base analysis where restart occurs. The + materials are handled in the following way: - Controls remeshing in nonlinear adaptivity. + For pure linear elastic materials used in the base analysis, the same properties are used in the linear perturbation analysis. Because the material constitutive curve is linear, the tangent is the same as the base analysis. - For hyperelastic materials used in the base analysis, the program uses the same + tangent as that used for MatKey = AUTO, and the + results are therefore identical. - Parameters - ---------- - control - The mesh-quality control to adjust: + For any nonlinear materials other than hyperelastic materials used in the base analysis, the material properties are obtained via the material tangent on the material constitutive curve at the restart point of the base analysis. - The materials and properties typically differ from Matkey = AUTO, but it is + possible the results could be identical or very + similar if a.) the material is elasto-plastic + rate-independent and is unloading (or has neutral + loading) at the restart point, or b.) the + material is rate-dependent, depending on the + material properties and loading conditions. - NANG - Specifies the surface facet dihedral angle threshold. Use this option to retain - source mesh geometry features. The dihedral angle is - defined by the angle between the normal vectors from two - neighboring surface facet sharing an edge. If the dihedral - angle is larger than the specified threshold, the edge is - treated as soft edge so that the new nodes are forced to - the edge. + For COMBIN39, the stiffness is equal to the tangent of the current segment of the force-deflection curve. - In a modal restart solution that follows a linear perturbation modal analysis, + the TANGENT option is overridden by the AUTO + option and linear material properties are used + for stress calculations in the modal restart. See + the discussion in the Notes for more information. - VAL1 is the dihedral angle threshold (in degrees) on concave surfaces. VAL2 is the dihedral angle threshold (in degrees) on convex surfaces. - Default: VAL1 = 15 and VAL2 = 15. + contkey + Key that controls contact status for the linear perturbation + analysis. This key controls all contact elements (TARGE169, + TARGE170, and CONTA171 through CONTA178) globally for all contact + pairs. Alternatively, contact status can be controlled locally per + contact pair by using the CNKMOD command. Note that the contact + status from the base analysis solution is always adjusted by the + local contact controls specified by CNKMOD first and then modified + by the global sticking or bonded control (ContKey = STICKING or + BONDED). The tables in the Notes section show how the contact + status is adjusted by CNKMOD and/or the ContKey setting. - When NLMESH,EXPL is issued, the VAL1 and VAL2 become the lower bounds of dihedral angles for mesh exploration. Use VAL3 and VAL4 to define the upper bounds of dihedral angles on concave and convex surfaces (respectively) for mesh exploration. - Generally, larger VAL1 and VAL2 values lead to better quality new meshes (and - may even repair local tiny facets of poor - quality); however, larger values may also smooth - out some geometric features, leading to slightly - different results and causing possible - convergence difficulty in the substeps - immediately following remeshing. + CURRENT - Use the current contact status from the restart snapshot (default). If the + previous run is nonlinear, then the nonlinear contact + status at the point of restart is frozen and used + throughout the linear perturbation analysis. - AEDG - Specifies the edge angle threshold (in degrees). Use this option to split patch - segments. The edge angle is the angle between adjacent - surface segment edges sharing a node. If the edge angle is - larger than the specified threshold (VAL1), the segment - splits and the node is automatically treated as a hard node - to be retained. + STICKING - For frictional contact pairs (MU > 0), use sticking contact (e.g., MU*KN for + tangential contact stiffness) everywhere the contact + state is closed (i.e., status is sticking or sliding). + This option only applies to contact pairs that are in + contact and have a frictional coefficient MU greater + than zero. Contact pairs without friction (MU = 0) and + in a sliding state remain free to slide in the linear + perturbation analysis. - Default: VAL1 = 10. - Generally, larger VAL1 values improve the quality of the new mesh, but may - result in fewer feature nodes. The effect is - similar to that of dihedral angles. + BONDED - Any contact pairs that are in the closed (sticking or sliding) state are moved + to bonded (for example, KN for both normal and tangential + contact stiffness). Contact pairs that have a status of + far-field or near-field remain open. - SRAT - Specifies the global sizing ratio for remeshing. + loadcontrol + Key that controls how the load vector of {Fperturbed} is + calculated. This control is provided for convenience of load + generation for linear perturbation analysis. In general, a new set + of loads is required for a linear perturbation analysis. This key + controls all mechanical loads; it does not affect non-mechanical + loads. Non-mechanical loads (including thermal loads) are always + kept (i.e., not deleted). - Generally, set the lower value (VAL1) to >= 0.7 and the upper value (VAL2) to <= 1.5. Within this range, the model can be refined (< 1.0) or coarsened (> 1.0) up to 3x depending on the number of elements (if performing a remesh of the entire model). - Default: VAL1 = 1.0. The default value results in the new mesh having a similar - size as that of the source mesh. + ALLKEEP - Keep all the boundary conditions (loads and constraints) from the end of the + load step of the current restart point. This option is + convenient for further load application and is useful for + a linear perturbation analysis restarted from a previous + linear analysis. For this option, {Fend} is the total + load vector at the end of the load step at the restart + point. - NLAY - Specifies the number of sculpting layers beginning with detected seed elements. - This option helps to detect remeshing regions from whole - model. + INERKEEP - Delete all loads and constraints from the restart step, except for displacement + constraints and inertia loads (default). All + displacement constraints and inertia loads are kept for + convenience when performing the linear perturbation + analysis. Note that nonzero and tabular displacement + constraints can be considered as external loads; + however, they are not deleted when using this option. - Default: VAL1 = 2. - Generally, a larger VAL1 value leads to larger remeshing regions and tends to - unite isolated multiple regions. A larger value - also tends to result in better remeshing quality - (and increases mapping and solution overhead - accordingly). + PARKEEP - Delete all loads and constraints from the restart step, except for displacement + constraints. All displacement constraints are kept for + convenience when performing the linear perturbation + analysis. Note that nonzero and tabular displacement + constraints can be considered as external loads; however, + they are not deleted when using this option. - VAL1 = 0 is not valid, as the remeshing regions would contain only detected seed elements, resulting in many small cavities within remeshing regions (especially if the specified skewness threshold (NLADAPTIVE) is relatively large). - When NLMESH,EXPL is issued, VAL1 becomes the lower bound of mesh exploration. - Use VAL2 to define the upper bound for mesh - exploration. + DZEROKEEP - Behaves the same as the PARKEEP option, except that all nonzero displacement + constraints are set to zero upon the onset of linear + perturbation. - LSRT - Specifies the local sizing ratio threshold (VAL1). If the length of adjacent - segments over that of surface short segments exceeds the - specified threshold ratio, the neighboring segments are - candidates for local sizing to improve target mesh quality. + NOKEEP - Delete all the loads and constraints, including all displacement constraints. + For this option, {Fend} is zero unless non-mechanical + loads (e.g., thermal loads) are present. - Use local sizing in cases where any of the following conditions exist: - Short edges significantly smaller than average + Notes + ----- + This command controls options relating to linear perturbation analyses. + It must be issued in the first phase of a linear perturbation analysis. - Poor surface mesh (triangles) on top edges - Small surface patches composed of few triangles caused by small user-specified - dihedral angles. + This command is also valid in PREP7. - Valid values are VAL1 >= 1.0. Default: VAL1 = 1.0. - When NLMESH, EXPL is issued, VAL1 becomes the lower bound of mesh exploration. - Use VAL2 to define the upper bound for mesh - exploration. + A linear perturbation analysis consists of two phases (two SOLVE + commands). The first phase is a restart from a base analysis. This base + analysis must be a linear or nonlinear static analysis or full + transient analysis. The first phase starts with the + ANTYPE,,RESTART,,,PERTURB command and ends with the SOLVE,ELFORM + command. The purpose of the first phase is to re-establish a snapshot + of the stiffness matrices at the specified restart point. The second + phase, ending with the second SOLVE command, is for the actual linear + perturbation analysis. - For more information about this control, see "Notes". - EXPL + The total perturbed loads are calculated as follows: - Specifies the nonlinear mesh-exploration behavior. Mesh exploration consists of trying various mesh controls to obtain the best quality mesh during remeshing process. - For more information about this control, see "Notes". + {Fperturbed} = {Fend} + {Fadd} - LIST - Lists all defined advanced control parameters. + where: - val1, val2, val3, val4 - Numerical input values that vary according to the specified Control - option. + In the first phase of a linear perturbation analysis, the + ANTYPE,,RESTART command resumes the Jobname.RDB database and reads in + the .LDHI file to establish the {Fend} load. New load application + (adding to {Fadd}) or load removal (changing {Fend}) can be done only + in the second phase of the linear perturbation analysis (after the + first SOLVE command), allowing flexibility in controlling the final + {Fperturbed} to be used. - Notes - ----- - NLMESH is a global control command enabling mesh-quality adjustments - for remeshing in nonlinear adaptivity. The command can be used when - components are associated with mesh-quality criteria (NLADAPTIVE with - Criterion = MESH). + For Type = STATIC, {Fperturbed} is the actual external load for the + static analysis. - Issue the NLMESH command only in cases where advanced mesh-quality - control is desirable for remeshing in nonlinear adaptivity. The - settings specified by this command apply to all components having mesh- - quality-based criteria defined. + For Type = MODAL, {Fperturbed} is calculated and stored in the .FULL + and .MODE files for a subsequent mode-superposition, PSD, or other type + of modal-based linear dynamic analysis. Linear dynamic options such as + multiple load generations (MODCONT,ON), enforced motion (MODCONT, ,ON), + and residual vector methods (RESVEC,ON) can be used in a linear + perturbation analysis. For these methods, the MODCONT or RESVEC command + must be invoked in the second phase (after the first SOLVE) of the + linear perturbation procedure. For the enforced motion method, the base + identification number should be specified (D command) in the second + phase of the linear perturbation analysis. This base identification + number is used later in the downstream mode-superposition or other + mode-superposition based analysis. - Following are LSRT usage examples to help you determine a suitable - threshold value for the local sizing ratio: + For Type = BUCKLE, {Fperturbed} is the actual linear buckling load + which is used to generate the linear stress stiffening matrix for the + buckling analysis. - If the value is only slightly greater than the minimum (and default) - value of 1.0, local sizing is imposed on all segments. Recommended: - VAL1 > 1.1. + For Type = HARMONIC, {Fperturbed} is the actual external load for the + full harmonic analysis. In this case, {Fperturbed} can be frequency + dependent and can use complex input. - If the value is large enough such that no neighboring segments have - lengths that would cause the threshold ratio to be exceeded, all - segments are treated as though local sizing is disabled. + For Type = SUBSTR, {Fperturbed} is used to generate the first reduced + external load vector of the substructure. - For mesh exploration (NLMESH,EXPL,VAL1): + In most cases involving linear perturbation analysis, Matkey = AUTO is + the best option for controlling material behavior. Matkey = TANGENT is + often the better option, however, in special cases such as the + following: - VAL1 = 0 -- The exception to the default behavior (no mesh exploration) - occurs when remeshing fails to create a mesh for the user-specified - NLMESH input parameters. In this case, mesh exploration is performed as - though VAL1 = 1, with default NANG upper bounds of 60,60 in order to - continue the solution, and the lower bounds being user-specified. + A linear perturbation buckling analysis, to introduce preferred + buckling modes into a subsequent post-buckling nonlinear analysis. - VAL1 = 1 -- The NANG lower and upper bounds must be input; otherwise, - the command is ignored. The upper bound can be input for NLAY also, but - the exploration still triggers remeshings with the whole model as seed - elements. + A linear perturbation modal analysis, to introduce preferred modes into + a subsequent bifurcation analysis. - VAL1 = 2 -- The NANG lower and upper bounds must be input; otherwise, - the command is ignored. + If the TANGENT option is used in conjunction with a modal restart + solution that follows a linear perturbation modal analysis, then the + AUTO option is assumed and linear material properties are used for + stress calculations in the modal restart solution. This occurs because + the TANGENT material properties are not available during the modal + restart phase due to a data architecture limitation. Furthermore, + linear material properties are used for the stress calculation in any + downstream analysis that uses the modal restart solution. - VAL1 = 3 -- An optional upper bound can be specified via LSRT. By - default, the upper bound is set to be 30 percent more than the (user- - specified) lower bound. + For more information about the automatic and tangent options, see + Specifying Material Behavior in Linear Perturbation in the Element + Reference. - Mesh exploration is needed only when it is difficult to obtain a good - quality mesh via standard remeshing. It is good practice to first try - less aggressive exploration with VAL1 = 1. + You can control the contact status for the linear perturbation analysis + by using the ContKey field on this command and/or the CNKMOD command. + The first table shows the effects of using only the ContKey setting on + the PERTURB command. The second table shows the effects of using both + the CNKMOD command and the ContKey setting on PERTURB. + + Table: 217:: : Adjusted Contact Status when PERTURB Command Is Issued + + Table: 218:: : Adjusted Contact Status when Both CNKMOD and PERTURB Are + Issued + + (if outside of the adjusted pinball region) + + (if inside of the adjusted pinball region) + + (if outside of the adjusted pinball region) + + (if inside of the adjusted pinball region) + + When ContKey is set to CURRENT, all contact related parameters (such as + normal stiffness and tangential stiffness) will remain unchanged + throughout the linear perturbation analysis. However when ContKey is + set to STICKING or BONDED, the program will re-evaluate the contact + normal and tangential stiffness in order to perform the linear + perturbation analysis based on the actual sticking behavior regardless + of the friction coefficient value. + + Note that the CNKMOD command allows you to take points in the base + analysis that are near contact (within the pinball region) and modify + them to be treated as "in contact" in the linear perturbation analysis; + see the "1 - near-field" row in the above table with KEYOPT(12) values + set to 4 or 5. CNKMOD also allows you to take points that are sliding + in the base analysis and treat them as sticking in the linear + perturbation analysis, irrespective of the MU value; see the "2 - + sliding" row in the above table with KEYOPT(12) values set to 1,5, or + 6. + + If an open gap exists at the restart point of the base static/transient + solution and the contact status is adjusted as sliding or sticking due + to a “bonded” or “no separation” contact behavior definition, then the + program will treat it as near-field contact when executing the CNKMOD + command in a downstream linear perturbation analysis. """ - command = "NLMESH, %s, %s, %s, %s, %s" % (str(control), str(val1), str(val2), str(val3), str(val4)) + command = "PERTURB,%s,%s,%s,%s" % (str(type), str(matkey), str(contkey), str(loadcontrol)) self.RunCommand(command, **kwargs) - def Ftsize(self, mxloc="", mxev="", mxlod="", **kwargs): + def Nsmooth(self, np_ass="", **kwargs): """ - APDL Command: FTSIZE + APDL Command: NSMOOTH - Defines the fatigue data storage array. + Smooths selected nodes among selected elements. Parameters ---------- - mxloc - Maximum number of fatigue locations (defaults to 5). - - mxev - Maximum number of fatigue events (defaults to 10). - - mxlod - Maximum number of loadings in each event (defaults to 3). + npass + Number of smoothing passes. Defaults to 3. Notes ----- - Defines the size and erases the stress conditions for the fatigue data - storage array. A stress condition is a loading (stresses) at a - particular location (node) for a particular event. Size is defined in - terms of the maximum number of locations, events, and loadings. The - array size cannot be changed once data storage has begun (without - erasing all previously stored data). If a size change is necessary, - see the FTWRITE command. + Repositions each selected node at the average position of its immediate + neighbors on the selected elements. The node positions converge after + some number of smoothing passes. For some initial conditions, NPASS may + need to be much larger than 3. If the boundary of a mesh is to be + undisturbed (usually desirable), the boundary nodes should be + unselected before issuing NSMOOTH. """ - command = "FTSIZE, %s, %s, %s" % (str(mxloc), str(mxev), str(mxlod)) + command = "NSMOOTH,%s" % (str(np_ass)) self.RunCommand(command, **kwargs) - def Sspe(self, e11="", e21="", e22="", t="", **kwargs): + def Imesh(self, laky="", nsla="", ntla="", kcn="", dx="", dy="", dz="", + tol="", **kwargs): """ - APDL Command: SSPE + APDL Command: IMESH - Specifies a preintegrated transverse shear stiffness for shell - sections. + Generates nodes and interface elements along lines or areas. Parameters ---------- - e11, e21, e22 - Transverse shear stiffness component (symmetric lower part of - submatrix [E]). + laky + Copies mesh according to the following: - t - Temperature. + LINE or 1 - Copies line mesh (default). - Notes - ----- - The behavior of shell elements is governed by the generalized- - stress/generalized-strain relationship of the form: + AREA or 2 - Copies area mesh. - The SSPE command, one of several preintegrated shell section commands, - specifies the transverse shear stiffness quantity (submatrix [E] data) - for a preintegrated shell section. The section data defined is - associated with the section most recently defined (via the SECTYPE - command). + nsla + Number that identifies the source line or area. This is the line or + area whose mesh will provide the pattern for the interface + elements. ANSYS copies the pattern of the line or area elements + through the area or volume to create the mesh of area or volume + interface elements. - Unspecified values default to zero. + ntla + Number that identifies the target line or area. This is the line or + area that is opposite the source line or area specified by NSLA. + Add NTLA to obtain the copied mesh from the source line or area. - Related commands are SSPA, SSPB, SSPD, SSMT, SSBT, and SSPM. + kcn + Number that identifies the particular ANSYS coordinate system. - If you are using the SHELL181 or SHELL281 element's Membrane option - (KEYOPT(1) = 1), it is not necessary to issue this command. + dx, dy, dz + Incremental translation of node coordinates in the active + coordinate system (DR, Dθ, DZ for cylindrical, and DR, Dθ, DΦ for + spherical or toroidal). The source line or area coordinates + DX, + DY, DZ = the target line or area coordinates. If left blank, ANSYS + automatically estimates the incremental translation. - For complete information, see Using Preintegrated General Shell - Sections. + tol + Tolerance for verifying topology and geometry. By default, ANSYS + automatically calculates the tolerance based on associated + geometries. + + Notes + ----- + Generates nodes and interface elements along lines or areas. The IMESH + command requires that the target line or area exactly match the source + line or area. Also, both target and source lines or areas must be in + the same area or volume. The area or volume containing the source line + or area must be meshed before executing IMESH, while the area or volume + containing the target line or area must be meshed after executing + IMESH. + + For three dimensional problems where LAKY = AREA, ANSYS fills the + interface layer according to the following table: """ - command = "SSPE, %s, %s, %s, %s" % (str(e11), str(e21), str(e22), str(t)) + command = "IMESH,%s,%s,%s,%s,%s,%s,%s,%s" % (str(laky), str(nsla), str(ntla), str(kcn), str(dx), str(dy), str(dz), str(tol)) self.RunCommand(command, **kwargs) - def Grid(self, key="", **kwargs): + def Vmask(self, par="", **kwargs): """ - APDL Command: /GRID + APDL Command: *VMASK - Selects the type of grid on graph displays. + Specifies an array parameter as a masking vector. Parameters ---------- - key - Grid key: - - 0 (OFF) - No grid. - - 1 (ON) - Full grid (X and Y grid lines). - - 2 (X) - Partial grid (X grid lines only). - - 3 (Y) - Partial grid (Y grid lines only) + par + Name of the mask parameter. The starting subscript must also be + specified. Notes ----- - Selects the type of grid on graph displays. Graphs with multiple - Y-axes can have multiple grids [/GRTYP]. The grid of the first curve - is also used as the background grid (above and behind the curve). - Grids for other curves are limited to be under the curves. See also - /GTHK and /GROPT for other grid options. + Specifies the name of the parameter whose values are to be checked for + each resulting row operation. The mask vector usually contains only 0 + (for false) and 1 (for true) values. For each row operation the + corresponding mask vector value is checked. A true value allows the + operation to be done. A false value skips the operation (and retains + the previous results). A mask vector can be created from direct input, + such as M(1) = 1,0,0,1,1,0,1; or from the DATA function of the *VFILL + command. The NOT function of the *VFUN command can be used to reverse + the logical sense of the mask vector. The logical compare operations + (LT, LE, EQ, NE, GE, and GT) of the *VOPER command also produce a mask + vector by operating on two other vectors. Any numeric vector can be + used as a mask vector since the actual interpretation assumes values + less than 0.0 are 0.0 (false) and values greater than 0.0 are 1.0 + (true). If the mask vector is not specified (or has fewer values than + the result vector), true (1.0) values are assumed for the unspecified + values. Another skip control may be input with NINC on the *VLEN + command. If both are present, operations occur only when both are + true. The mask setting is reset to the default (no mask) after each + *VXX or *MXX operation. Use *VSTAT to list settings. This command is valid in any processor. """ - command = "/GRID, %s" % (str(key)) + command = "*VMASK,%s" % (str(par)) self.RunCommand(command, **kwargs) - def Sfcum(self, lab="", oper="", fact="", fact2="", **kwargs): + def Kmove(self, npt="", kc1="", x1="", y1="", z1="", kc2="", x2="", y2="", + z2="", **kwargs): """ - APDL Command: SFCUM + APDL Command: KMOVE - Specifies that surface loads are to be accumulated. + Calculates and moves a keypoint to an intersection. Parameters ---------- - lab - Valid surface load label. If ALL, use all appropriate labels. - - oper - Accumulation key: - - REPL - Subsequent values replace the previous values (default). + npt + Move this keypoint. If NPT = 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 NPT. - ADD - Subsequent values are added to the previous values. + kc1 + First coordinate system number. Defaults to 0 (global Cartesian). - IGNO - Subsequent values are ignored. + x1, y1, z1 + Input one or two values defining the location of the keypoint in + this coordinate system. Input "U" for unknown value(s) to be + calculated and input "E" to use an existing coordinate value. + Fields are R1, θ1, Z1 for cylindrical, or R1, θ1, ϕ1 for spherical. - fact - Scale factor for the first surface load value. A (blank) or '0' - entry defaults to 1.0. + kc2 + Second coordinate system number. - fact2 - Scale factor for the second surface load value. A (blank) or '0' - entry defaults to 1.0. + x2, y2, z2 + Input two or one value(s) defining the location of the keypoint in + this coordinate system. Input "U" for unknown value(s) to be + calculated and input "E" to use an existing coordinate value. + Arguments are R2, θ2, Z2 for cylindrical, or R2, θ2, ϕ2 for + spherical. Notes ----- - Allows repeated surface loads (pressure, convection, etc.) to be - replaced, added, or ignored. Surface loads are applied with the SF, - SFE, and SFBEAM commands. Issue the SFELIST command to list the - surface loads. The operations occur when the next surface load - specifications are defined. For example, issuing the SF command with a - pressure value of 25 after a previous SF command with a pressure value - of 20 causes the current value of that pressure to be 45 with the add - operation, 25 with the replace operation, or 20 with the ignore - operation. All new pressures applied with SF after the ignore - operation will be ignored, even if no current pressure exists on that - surface. - - 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 pressure of 70. Scale factors are applied - even if no previous values exist. Issue SFCUM,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:: : The FE boundary conditions may still be overwritten by - existing solid model boundary conditions if a subsequent boundary - condition transfer occurs. - - SFCUM does not work for tabular boundary conditions. - - This command is also valid in PREP7. + Calculates and moves a keypoint to an intersection location. The + keypoint must have been previously defined (at an approximate location) + or left undefined (in which case it is internally defined at the SOURCE + location). The actual location is calculated from the intersection of + three surfaces (implied from three coordinate constants in two + different coordinate systems). Note that solid modeling in a toroidal + coordinate system is not recommended. See the MOVE command for surface + and intersection details. The three (of six) constants easiest to + define should be used. The program will calculate the remaining three + coordinate constants. All arguments, except KC1, must be input. Use + the repeat command [*REPEAT] after the KMOVE command to move a series + of keypoints, if desired. """ - command = "SFCUM, %s, %s, %s, %s" % (str(lab), str(oper), str(fact), str(fact2)) + command = "KMOVE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(npt), str(kc1), str(x1), str(y1), str(z1), str(kc2), str(x2), str(y2), str(z2)) self.RunCommand(command, **kwargs) - def Senergy(self, opt="", antype="", **kwargs): + def Pstres(self, key="", **kwargs): """ - APDL Command: SENERGY + APDL Command: PSTRES - Determines the stored magnetic energy or co-energy. + Specifies whether prestress effects are calculated or included. Parameters ---------- - opt - Item to be calculated: - - 0 - Stored magnetic energy. - - 1 - Stored magnetic co-energy. - - antype - Analysis type: + key + Prestress key: - 0 - Static or transient. + OFF - Do not calculate (or include) prestress effects (default). - 1 - Harmonic. + ON - Calculate (or include) prestress effects. Notes ----- - SENERGY invokes an ANSYS macro which calculates the stored magnetic - energy or co-energy for all selected elements. (For a harmonic - analysis, the macro calculates a time-averaged (rms) stored energy.) A - summary table listing the energy by material number is produced. The - energy density is also calculated and stored on a per-element basis in - the element table [ETABLE] with the label MG_ENG (energy density) or - MG_COENG (co-energy density). The macro erases all other items in the - element table [ETABLE] and only retains the energy density or co-energy - density. Use the PLETAB and PRETAB commands to plot and list the - energy density. The macro is valid for static and low-frequency - magnetic field formulations. The macro will not calculate stored - energy and co-energy for the following cases: + The PSTRES command specifies whether or not prestress effects are to be + calculated or included. The command should be issued after the ANTYPE + command. - Orthotropic nonlinear permanent magnets. + Prestress effects are calculated in a static or transient analysis for + inclusion in a buckling, modal, harmonic (Method = FULL), or + substructure generation analysis. If used in the solution processor + (/SOLU), this command is valid only within the first load step. - Orthotropic nonlinear permeable materials. + If you apply thermal body forces during a static analysis to calculate + prestress effects, do not delete the forces during any subsequent full + harmonic analyses. If you delete the thermal body forces, the thermal + prestress effects will not be included in the harmonic analysis. + Temperature loads used to define the thermal prestress will also be + used in the full harmonic analysis as sinusoidally time-varying + temperature loads. - Temperature dependent materials. + A prestress effect applied with non-follower loads resists rigid body + rotation of the model. For example, an unsupported beam with axial + tensile forces applied to both ends will have two nonzero rotational + rigid body modes. - SENERGY is restricted to MKSA units. + If tabular loading (*DIM,,TABLE) was used in the prestress static + analysis step, the corresponding value of TIME will be used for tabular + evaluations in the modal analysis. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is also valid in PREP7. """ - command = "SENERGY, %s, %s" % (str(opt), str(antype)) + command = "PSTRES,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Lrotat(self, nk1="", nk2="", nk3="", nk4="", nk5="", nk6="", pax1="", - pax2="", arc="", nseg="", **kwargs): + def Numoff(self, label="", value="", **kwargs): """ - APDL Command: LROTAT + APDL Command: NUMOFF - Generates circular lines by rotating a keypoint pattern about an axis. + Adds a number offset to defined items. Parameters ---------- - nk1, nk2, nk3, . . . , nk6 - List of keypoints in the pattern to be rotated (6 maximum if using - keyboard entry). If NK1 = P, graphical picking is enabled and all - remaining command fields are ignored (valid only in the GUI). If - NK1 = ALL, all selected keypoints (except PAX1 and PAX2) will - define the pattern to be rotated. A component name may also be - substituted for NK1. + label + Apply offset number to one of the following sets of items: - pax1, pax2 - Keypoints defining the axis about which the keypoint pattern is to - be rotated. + NODE - Nodes - arc - Arc length (in degrees). Positive follows right-hand rule about - PAX1-PAX2 vector. Defaults to 360. + ELEM - Elements - nseg - Number of lines (8 maximum) around circumference. Defaults to - minimum required for 90° (maximum) arcs, i.e., 4 for 360°, 3 for - 270°, etc. + KP - Keypoints + + LINE - Lines + + AREA - Areas + + VOLU - Volumes + + MAT - Materials + + TYPE - Element types + + REAL - Real constants + + CP - Coupled sets + + SECN - Section numbers + + CE - Constraint equations + + CSYS - Coordinate systems + + value + Offset number value (cannot be negative). Notes ----- - Generates circular lines (and their corresponding keypoints) by - rotating a keypoint pattern about an axis. Keypoint patterns are - generated at regular angular locations (based on a maximum spacing of - 90°). Line patterns are generated at the keypoint patterns. Keypoint - and line numbers are automatically assigned (beginning with the lowest - available values [NUMSTR]). + Useful for offsetting current model data to prevent overlap if another + model is read in. CDWRITE automatically writes the appropriate NUMOFF + commands followed by the model data to File.CDB. Therefore, when the + file is read, any model already existing in the database is offset + before the model data on the file is read. + + Offsetting material numbers with this command [NUMOFF,MAT] does not + update the material number referenced by either of the following: + + A temperature-dependent convection or surface-to-surface radiation load + [SF, SFE, SFL, SFA] + + Real constants for multi-material elements (such as SOLID65). + + Therefore, a mismatch may exist between the material definitions and + the material numbers referenced. """ - command = "LROTAT, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nk1), str(nk2), str(nk3), str(nk4), str(nk5), str(nk6), str(pax1), str(pax2), str(arc), str(nseg)) + command = "NUMOFF,%s,%s" % (str(label), str(value)) self.RunCommand(command, **kwargs) - def Nang(self, node="", x1="", x2="", x3="", y1="", y2="", y3="", z1="", - z2="", z3="", **kwargs): + def Bfelist(self, elem="", lab="", **kwargs): """ - APDL Command: NANG + APDL Command: BFELIST - Rotates a nodal coordinate system by direction cosines. + Lists the element body force loads. Parameters ---------- - node - Rotate coordinate system of this node. - - x1, x2, x3 - Global X, Y, Z components of a unit vector in new nodal X - direction. - - y1, y2, y3 - Global X, Y, Z components of a unit vector in new nodal Y - direction. + elem + Element at which body load is to be listed. If ALL (or blank), + list for all selected elements [ESEL]. If ELEM = 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 ELEM. - z1, z2, z3 - Global X, Y, Z components of a unit vector in new nodal Z - direction. + lab + Valid body load label. If ALL (or blank), use all appropriate + labels. See BFE command for labels. Notes ----- - Rotates a nodal coordinate system to the orientation specified by the - X, Y and Z direction cosines. Existing rotation specifications on the - node are redefined. If only two of the three unit vectors are - specified, the third is defined according to the right hand rule. It - is the responsibility of the user to ensure that input direction - cosines are orthogonal in a right-handed system. + Lists the element body force loads for the specified element and label. + Element body loads may be defined with the BFE command. - See the NMODIF, NROTAT, and NORA commands for other rotation options. + This command is valid in any processor. """ - command = "NANG, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(node), str(x1), str(x2), str(x3), str(y1), str(y2), str(y3), str(z1), str(z2), str(z3)) + command = "BFELIST,%s,%s" % (str(elem), str(lab)) self.RunCommand(command, **kwargs) - def Rsymm(self, option="", cs="", axis="", nsect="", condvalue="", - **kwargs): + def Psf(self, item="", comp="", key="", kshell="", color="", **kwargs): """ - APDL Command: RSYMM + APDL Command: /PSF - Defines the plane of symmetry or center of rotation for the radiosity - method. + Shows surface load symbols on model displays. Parameters ---------- - option - Command options: + item, comp + Labels identifying the surface load to be shown; see Table 227: + /PSF - Valid Item and Component Labels. - CLEAR - Deletes all symmetry definitions. Other command options are ignored. + key + Key to turn surface load symbols on or off: - DEFINE - Defines the symmetry (default). + 0 - Off (default). - STAT - Shows the status/listing. Other command options are ignored. + 1 - On, shown as face outlines. Line surface loads (SFL) on solid model plots are + shown as arrows. - COND - Activates or deactivates condensation in the radiosity solver for all defined - radiation symmetries. Condensation is the process where the - radiosity equation system is reduced in size. Default is - off. (See Figure 7: Usage Example: Option = COND .) + 2 - On, shown as arrows. - cs - Local coordinate system (11) as defined using the LOCAL or CS - commands or a global coordinate system (0). For planar reflection, - the coordinate system origin must be on the plane of symmetry (POS) - and one of its axes must be normal to the POS. For cyclic - reflection, the coordinate system origin must be coincident with - the center of rotation (COR). Only Cartesian systems are valid. + 3 - On, shown as color filled surfaces. Line and area surface loads (SFL and SFA) + on solid model plots are shown as arrows. - axis - Axis label of the coordinate system (CS) that is normal to the POS - for planar reflection. For 2-D model planar reflections, valid - labels are X or Y. For 3-D model planar reflections, valid labels - are X, Y, or Z. Must be blank for cyclic reflection. For cyclic - reflection, it is assumed that the Z axis is aligned with the axis - of rotation. + kshell + Visibility key for shell elements. - nsect - Number of cyclic reflections to be done (1). This field must be - blank or 0 for planar reflection. Default is blank. + 0 - Off (default), surface load symbols are displayed only on visible load faces. - condvalue - Condensation key. Valid only when Option = COND. + 1 - On, surface load symbols are displayed even if load face is not visible. - ON - Activates condensation in the radiosity solver for all defined radiation - symmetries. + color + Visibility key for contour legend. - OFF - Deactivates condensation in the radiosity solver for all defined radiation - symmetries (default). + ON - The symbols (arrows or face outlines) will show up in color with the legend + showing the corresponding color labels (default). + + OFF - The contour legend will not be displayed. The symbols (arrows or face outlines) + will show up in grey. The size of the arrows will be + proportional to the applied load. Notes ----- - This command is used to define the POS for planar reflection or the COR - for cyclic reflection. The RSYMM command must be issued before RSURF - and it may be issued multiple times to have more than one planar/cyclic - reflection; however, the RSURF command processes them in the order they - are issued. + The /PSF command determines whether and how to show surface loads on + subsequent model displays. - For planar reflection, you must define a local coordinate system (11) - with its origin on the POS. One of its axes must be aligned so that it - is normal to the plane. If possible, use the existing global coordinate - system (0). + If surface loads are applied to solid model entities, only solid model + plots show the load symbols; node and element plots do not show them + unless the loads are transferred (SFTRAN or SBCTRAN). Similarly, solid + model plots do not show the load symbols if surface loads are applied + to nodes and elements. For node and element plots of shell element + models, the surface load symbols are shown only if the load face is + visible from the current viewing direction. - For cyclic reflection, you must define a local coordinate system (11) - with its origin coincident with the COR. Reflections occur about the - local Z-axis in the counterclockwise direction. You must align the - Z-axis properly. If possible, use the existing global coordinate system - (0). + The effects of the /PSF command are not cumulative (that is, the + command does not modify an existing setting from a previously issued + /PSF command). Only the setting specified via the most recent /PSF + command applies. - New surface elements generated inherit the properties of the original - elements. + If you issue a postprocessing (POST1) plot command that produces result + contours (such as PLNSOL), the /PSF command has no effect. This + behavior prevents conflicting contours in the graphics window. - For 2-D axisymmetric models, RSYMM can be used only for symmetrization - in the YR plane. It cannot be used for the theta direction. Use V2DOPT - in that case. + When using the radiosity method (Item = RDSF and Comp = ENCL) with Key + = 2, the radiation arrows point outward from any element face. When + using SURF154 with KEYOPT(2) = 1, set the Item to PRES and leave the + Component Label blank. - For 2-D axisymmetric YR models, the newly-generated nodes can have only - positive X coordinates. + /PSF,STAT displays current /PSF settings, and /PSF,DEFA resets them + back to default. - Figure: 7:: : Usage Example: Option = COND + Other useful commands are /PNUM,SVAL,1 to show the values of the + surface loads, /VSCALE to change arrow lengths, and /PBC and /PBF to + activate other load symbols. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + For beam elements, only the colors representing shear (GREEN) and + normal (RED) pressures are displayed for the arrows. The color of these + arrows does not correspond to the magnitudes in the contour legend. The + length of these arrows does, however, correlate to the relative + magnitude of the pressures. + + For elements SURF159, SOLID272, SOLID273, PIPE288 and PIPE289, the /PSF + command is not available when displaying elements with shapes + determined from the real constants or section definition (/ESHAPE). For + PIPE288 and PIPE289, only external loads applied via the SFBEAM command + are displayed. + + This command is valid in any processor. + + Table: 227:: : /PSF - Valid Item and Component Labels + + Pressure loads apply to the element coordinate system (KEYOPT(2) = 0). + Adjust appropriately for a local coordinate system (KEYOPT(2) = 1). See + Figure: 153.2:: Pressures in the Element Reference. """ - command = "RSYMM, %s, %s, %s, %s, %s" % (str(option), str(cs), str(axis), str(nsect), str(condvalue)) + command = "/PSF,%s,%s,%s,%s,%s" % (str(item), str(comp), str(key), str(kshell), str(color)) self.RunCommand(command, **kwargs) - def Lgwrite(self, fname="", ext="", kedit="", **kwargs): + def Delete(self, set="", nstart="", nend="", **kwargs): """ - APDL Command: LGWRITE + APDL Command: DELETE - Writes the database command log to a file. + Specifies sets in the results file to be deleted before postprocessing. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. - - ext - Filename extension (eight-character maximum). - - -- - Unused field. - - kedit - Flag to suppress nonessential commands: - - NONE - Do not suppress any commands (default). + set + Specifies that sets in the results file are to be deleted. - COMMENT - Write nonessential commands as comments (starting with !). + nstart + The first set in a results file to be deleted. - REMOVE - Do not write nonessential commands or comments. + nend + The final set in a results file to be deleted. This field is used + only if deleting more than one sequential sets. Notes ----- - Writes the database command log to a named file. The database command - log contains all commands that were used to create the current - database. These commands are recorded in the database as they are - issued, and saved in the database file (File.DB) whenever the database - is saved. The LGWRITE command extracts these commands from the - database and writes them to a file. Nonessential commands (for - listing, graphics displays, help, etc.) can be excluded from the file - by using the Kedit field. The file resulting from LGWRITE can be used - as command input to the program. This command is most useful if the - session log file (File.LOG), which is normally saved during an - interactive session, has been lost or corrupted. + DELETE is a specification command that flags sets in the results file + for deletion. It should be followed by a COMPRESS command, the + corresponding action command that deletes the specified sets. - This command is valid in any processor. + The DELETE command is valid only in the results file editing processor + (ANSYS auxiliary processor AUX3). """ - command = "LGWRITE, %s, %s, %s" % (str(fname), str(ext), str(kedit)) + command = "DELETE,%s,%s,%s" % (str(set), str(nstart), str(nend)) self.RunCommand(command, **kwargs) - def Dcgomg(self, dcgox="", dcgoy="", dcgoz="", **kwargs): + def Esym(self, ninc="", iel1="", iel2="", ieinc="", **kwargs): """ - APDL Command: DCGOMG + APDL Command: ESYM - Specifies the rotational acceleration of the global origin. + Generates elements from a pattern by a symmetry reflection. Parameters ---------- - dcgox, dcgoy, dcgoz - Rotational acceleration of the global origin about the acceleration - system X, Y, and Z axes. + -- + Unused field. + + ninc + Increment nodes in the given pattern by NINC. + + iel1, iel2, ieinc + Reflect elements from pattern beginning with IEL1 to IEL2 (defaults + to IEL1) in steps of IEINC (defaults to 1). If IEL1 = ALL, IEL2 and + IEINC are ignored and pattern is all selected elements [ESEL]. If + IEL1 = 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 IEL1 (IEL2 and IEINC are ignored). Notes ----- - Specifies the rotational acceleration of the global origin about each - of the acceleration coordinate system axes [CGLOC]. Rotational - accelerations may be defined in analysis types ANTYPE,STATIC, HARMIC - (full or mode-superposition), TRANS (full or mode-superposition), and - SUBSTR. See Acceleration Effect in the Mechanical APDL Theory Reference - for details. Units are radians/time2. + Generates additional elements from a given pattern (similar to EGEN) + except with a "symmetry" reflection. The operation generates a new + element by incrementing the nodes on the original element, and + reversing and shifting the node connectivity pattern. For example, for + a 4-node 2-D element, the nodes in positions I, J, K, and L of the + original element are placed in positions J, I, L, and K of the + reflected element. - The DCGOMG command supports tabular boundary conditions (%TABNAME_X%, - %TABNAME_Y%, and %TABNAME_Z%) for DCGOMG_X, DCGOMG_Y, and DCGOMG_Z - input values (*DIM) for full transient and harmonic analyses. + Similar permutations occur for all other element types. For line + elements, the nodes in positions I and J of the original element are + placed in positions J and I of the reflected element. In releases prior + to ANSYS 5.5, no node pattern reversing and shifting occurred for line + elements generated by ESYM. To achieve the same results with ANSYS 5.5 + as you did in prior releases, use the EGEN command instead. - Related commands are ACEL, CGLOC, CGOMGA, DOMEGA, and OMEGA. + It is recommended that symmetry elements be displayed and graphically + reviewed. - See Analysis Tools in the Mechanical APDL Theory Reference for more - information. + If the nodes are also reflected (as with the NSYM command) this pattern + is such that the orientation of the symmetry element remains similar to + the original element (i.e., clockwise elements are generated from + clockwise elements). - This command is also valid in PREP7. + For a non-reflected node pattern, the reversed orientation has the + effect of reversing the outward normal direction (clockwise elements + are generated from counterclockwise elements). + + Note:: : Since nodes may be defined anywhere in the model independently + of this command, any orientation of the "symmetry" elements is + possible. See also the ENSYM command for modifying existing elements. """ - command = "DCGOMG, %s, %s, %s" % (str(dcgox), str(dcgoy), str(dcgoz)) + command = "ESYM,%s,%s,%s,%s" % (str(ninc), str(iel1), str(iel2), str(ieinc)) self.RunCommand(command, **kwargs) - def Fileaux3(self, fname="", ext="", **kwargs): + def Rmclist(self, **kwargs): """ - APDL Command: FILEAUX3 - - Specifies the results file to be edited. - - Parameters - ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. - - ext - Filename extension (eight-character maximum). + APDL Command: RMCLIST - -- - Unused field. + Lists all lumped capacitance pairs defined. Notes ----- - Specifies the results file to be edited. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "FILEAUX3, %s, %s" % (str(fname), str(ext)) + command = "RMCLIST," % () self.RunCommand(command, **kwargs) - def Prnear(self, lab="", opt="", kcn="", val1="", val2="", val3="", - val4="", val5="", val6="", val7="", val8="", val9="", **kwargs): + def Mdplot(self, function="", dmpname="", scale="", **kwargs): """ - APDL Command: PRNEAR + APDL Command: MDPLOT - Prints the pressure in the near zone exterior to the equivalent source - surface. + Plots frequency-dependent modal damping coefficients calculated by + DMPEXT. Parameters ---------- - lab - Print the maximum pressure or sound pressure level: + function + Function to display. - POINT - at the point (x,y,z) + d_coeff - Damping coefficient - SPHERE - on the spherical structure + s_coeff - Squeeze coefficient - PATH - along the path + d_ratio - Damping ratio - opt - PSUM + s_ratio - Squeeze stiffness ratio - PSUM - Maximum complex pressure for acoustics. + dmpname + Array parameter name where damping information is stored. Defaults + to d_damp. - PHAS - Phase angle of complex pressure for acoustics. + scale + Indicates whether to perform a linear or a double logarithmic plot. - SPL - Sound pressure level for acoustics. + LIN - Perform a linear plot. Default - SPLA - A-weighted sound pressure level for acoustics (dBA). + LOG - Perform a double logarithmic plot. - kcn - KCN is the coordinate system reference number. It may be 0 - (Cartesian) or any previously defined local coordinate system - number (>10). Defaults to 0. + Notes + ----- + See Thin Film Analysis for more information on thin film analyses. - val1, val2, val3, . . . , val9 - For Lab = POINT: + """ + command = "MDPLOT,%s,%s,%s" % (str(function), str(dmpname), str(scale)) + self.RunCommand(command, **kwargs) - VAL1 - x coordinate value + def Cisol(self, n="", id="", node="", cont="", dtype="", **kwargs): + """ + APDL Command: CISOL - VAL2 - y coordinate value + Stores fracture parameter information in a variable. - VAL3 - z coordinate value + Parameters + ---------- + n + Arbitrary reference number or name assigned to this variable. + Number must be >1 but = + 360°), averaged values (such as the nodal component stresses, which are + an average of element nodal component stresses) are calculated by + averaging the amplitudes. Because the degrees of freedom results have + different phases, derived results (such as the equivalent stress SEQV) + are not valid. See POST1 and POST26 – Complex Results Postprocessing + for more details about post-processing complex results. - OFF - Disable parallel operation. + For postprocessing amplitudes, the only appropriate coordinate system + is the solution coordinate system (RSYS ,SOLU). When displaying the + displacement amplitudes, use a contour display (PLNSOL command). + Because a deformed shape display (PLDISP command) could lead to a non- + physical shape, the displacement scaling is off by default + (/DSCALE,,OFF). - Notes - ----- - Use this command in shared-memory parallel operations. + For postprocessing cylindrical geometry, it is suggested that you + rotate the element coordinate systems into the appropriate cylindrical + system (EMODIF,,ESYS) before running the solution and then view the + results in this system (RSYS,SOLU) in POST1. - This command is useful when you encounter minor discrepancies in a - nonlinear solution when using different numbers of processors. A - parallel operation applied to the element matrix generation can produce - a different nonlinear solution with a different number of processors. - Although the nonlinear solution converges to the same nonlinear - tolerance, the minor discrepancy created may not be desirable for - consistency. + Since HRCPLX performs load case combinations, it alters most of the + data in the database. In particular, it alters applied loads such as + forces and imposed displacements. To restore the original loads in the + database for a subsequent analysis, reissue the SET command in POST1 to + retrieve the real and imaginary set data. - Enabling/disabling parallel behavior for the solution (Option = SOLU) - supersedes the activation/deactivation of parallel behavior for element - matrix generation (FORM), equation solver (SOLV), and element results - calculation (RESU). + To animate the solution over one period, use the ANHARM command. - The SOLV option supports only the sparse direct and PCG solvers - (EQSLV,SPARSE or PCG). No other solvers are supported. + OMEGAT is not equal to the phase shift. - This command applies only to shared-memory architecture. It does not - apply to the Distributed ANSYS product. + This command is not supported after a cyclic symmetry analysis; use + /CYCEXPAND,,PHASEANG instead. """ - command = "PSCONTROL, %s, %s" % (str(option), str(key)) + command = "HRCPLX,%s,%s,%s,%s,%s" % (str(loadstep), str(substep), str(omegat), str(firstlc_ase), str(secondlc_ase)) self.RunCommand(command, **kwargs) - def Edrun(self, option="", cons="", ncpu="", **kwargs): + def Mptres(self, lab="", mat="", **kwargs): """ - APDL Command: EDRUN + APDL Command: MPTRES - Specify LS-DYNA serial or parallel processing. + Restores a temperature table previously defined. Parameters ---------- - option - LS-DYNA processing option + lab + Material property label [MP]. - SERIAL - Use serial processing (default) + mat + Material reference number. - SMP - Use Shared Memory Parallel processing + Notes + ----- + Restores into the database (from virtual space) a temperature table + previously defined [MP] for a particular property. The existing + temperature table in the database is erased before this operation. - cons - Consistency setting (only applicable when Option = SMP) + This command is also valid in SOLUTION. - 0 - Result consistency is not required (default) + """ + command = "MPTRES,%s,%s" % (str(lab), str(mat)) + self.RunCommand(command, **kwargs) - 1 - Result consistency is required + def Intsrf(self, lab="", **kwargs): + """ + APDL Command: INTSRF - ncpu - Number of processors to use (applicable only with Option = SMP) + Integrates nodal results on an exterior surface. - Notes - ----- - The EDRUN command specifies either serial (one CPU) processing or - shared (multiple CPU) memory parallel processing (SMP). When using SMP, - the calculations may be executed in a different order, depending on CPU - availability and the load on each CPU. You may therefore see slight - differences in the results when running the same job multiple times, - either with the same number or a different number of processors. - Comparing nodal accelerations often shows wider discrepancies. To avoid - such differences, you can specify that consistency be maintained by - setting CONS = 1. Maintaining consistency can result in an increase of - up to 15 percent in CPU time. + Parameters + ---------- + lab + Label indicating degree of freedom to be integrated: - The parallel processing setting is only effective when you have - multiple CPUs and licenses for the appropriate number of ANSYS LS-DYNA - SMP tasks. If your site does not meet both requirements, the EDRUN - command sets serial processing, regardless of command settings. + PRES - Pressure. - For more information on using SMP, see Solution Features in the ANSYS - LS-DYNA User's Guide. + TAUW - Wall shear stress. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + FLOW - Both pressure and wall shear stress. + + Notes + ----- + Integrates nodal results on a surface. Use node selection (such as the + EXT option of the NSEL command) to indicate the surface(s) of element + faces to be used in the integration. A surface can be "created" by + unselecting elements (such as unselecting non-fluid elements that are + adjacent to fluid elements for the postprocessing of fluid flow + result). Element faces attached to the selected nodes will be + automatically determined. All nodes on a face must be selected for the + face to be used. The integration results will cancel for nodes on + common faces of adjacent selected elements. + + Integration results are in the active coordinate system (see the RSYS + command). The type of results coordinate system must match the type + used in the analysis. However, you may translate and rotate forces and + moments as needed. Use the *GET command (Utility Menu> Parameters> Get + Scalar Data) to retrieve the results. """ - command = "EDRUN, %s, %s, %s" % (str(option), str(cons), str(ncpu)) + command = "INTSRF,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Jpeg(self, kywrd="", opt="", **kwargs): + def Pvect(self, oper="", labxr="", labyr="", labzr="", **kwargs): """ - APDL Command: JPEG + APDL Command: PVECT - Provides JPEG file export for ANSYS displays. + Interpolates a set of items onto a path. Parameters ---------- - kywrd - Specifies various JPEG file export options. - - QUAL - If Kywrd = QUAL, then OPT is an integer value defining the JPEG quality index - on an arbitrary scale ranging from 1 to 100. The default - value is 75. - - ORIENT - If Kywrd = ORIENT, then OPT will determine the orientation of the entire plot. - OPT can be either Horizontal (default) or Vertical. - - COLOR - If Kywrd = COLOR, then OPT will determine the color depth of the saved file. - OPT can be 0, 1, or 2, corresponding to Black and White, - Grayscale, and Color (default), respectively. + oper + Valid operations for geometry operations along a path are: - TMOD - If Kywrd = TMOD, then OPT will determine the text method. OPT can be either 1 - or 0, corresponding to bitmap text (default) or line stroke - text, respectively. + NORM - Defines a unit normal vector at each interpolation point in the direction of + the cross product of the tangent to the path and the active + Z axis. Resulting vector components are in the active + coordinate system (which must be Cartesian). - DEFAULT - If Kywrd = DEFAULT, then all of the default values, for all of the Kywrd - parameters listed above, are active. + TANG - Defines a unit vector tangent to the path at each interpolation point. Vector + components are in the active coordinate system (which must + be Cartesian). - opt - OPT can have the following names or values, depending on the value - for Kywrd (see above). + RADI - Defines the position vector of each interpolation point of the path from the + center of the active coordinate system (which must be + Cartesian). - 1 to 100 - If Kywrd = QUAL, a value between 1 and 100 will determine the quality index of - the JPEG file. + labxr + Label (8 characters maximum) assigned to X-component of the + resulting vector. - Horizontal, Vertical - If Kywrd = ORIENT, the terms Horizontal or Vertical determine the orientation - of the plot. + labyr + Label (8 characters maximum) assigned to Y-component of the + resulting vector. - 0,1,2 - If Kywrd = COLOR, the numbers 0, 1, and 2 correspond to Black and White, - Grayscale and Color, respectively. + labzr + Label (8 characters maximum) assigned to Z-component of the + resulting vector. - 1,0 - If Kywrd = TMOD, the values 1 and 0 determine whether bitmap (1) or stroke text - (0) fonts will be used + Notes + ----- + Defines and interpolates a set of labeled path items along predefined + path [PATH] and performs various geometric operations on these path + items. A path item must be defined before it can be used with other + path operations. Additional path items may be defined with the PDEF, + PCALC, PDOT, and PCROSS commands. Path items may be listed or + displayed with the PLPATH, PLPAGM and PRPATH commands. Path geometry + items (XG, YG, ZG, S) are automatically interpolated (in the active + CSYS) if not done so previously with the PDEF command. """ - command = "JPEG, %s, %s" % (str(kywrd), str(opt)) + command = "PVECT,%s,%s,%s,%s" % (str(oper), str(labxr), str(labyr), str(labzr)) self.RunCommand(command, **kwargs) - def Fccheck(self, **kwargs): + def Keypts(self, **kwargs): """ - APDL Command: FCCHECK + APDL Command: KEYPTS - Checks both the strain and stress input criteria for all materials. + Specifies "Keypoints" as the subsequent status topic. Notes ----- - Issue the FCCHECK command to check the completeness of the input during - the input phase. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "FCCHECK, " % () + command = "KEYPTS," % () self.RunCommand(command, **kwargs) - def Edopt(self, option="", value="", **kwargs): + def Vinp(self, nv1="", nv2="", nv3="", nv4="", nv5="", nv6="", nv7="", + nv8="", nv9="", **kwargs): """ - APDL Command: EDOPT + APDL Command: VINP - Specifies the type of output for an explicit dynamics analysis. + Finds the pairwise intersection of volumes. Parameters ---------- - option - Label identifying the option to be performed: + nv1, nv2, nv3, . . . , nv9 + Numbers of volumes to be intersected pairwise. If NV1 = ALL, NV2 + to NV9 are ignored and the pairwise intersection of all selected + volumes is found. If NV1 = 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 NV1. - ADD - Define an output type specification (default). + Notes + ----- + Finds the pairwise intersection of volumes. The pairwise intersection + is defined as all regions shared by any two or more volumes listed on + this command. New volumes will be generated where the original volumes + intersect pairwise. If the regions of pairwise intersection are only + areas, new areas will be generated. See the Modeling and Meshing Guide + for an illustration. See the BOPTN command for an explanation of the + options available to Boolean operations. Element attributes and solid + model boundary conditions assigned to the original entities will not be + transferred to the new entities generated. - DELE - Delete an output type specification. + """ + command = "VINP,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nv1), str(nv2), str(nv3), str(nv4), str(nv5), str(nv6), str(nv7), str(nv8), str(nv9)) + self.RunCommand(command, **kwargs) - LIST - List the current output type specification. + def Fssect(self, rho="", nev="", nlod="", kbr="", **kwargs): + """ + APDL Command: FSSECT - -- - Unused field. + Calculates and stores total linearized stress components. - value - Label identifying the type of output that the LS-DYNA solver should - produce: + Parameters + ---------- + rho + In-plane (X-Y) average radius of curvature of the inside and + outside surfaces of an axisymmetric section. If zero (or blank), a + plane or 3-D structure is assumed. If nonzero, an axisymmetric + structure is assumed. Use a suitably large number (see the + Mechanical APDL Theory Reference) or use -1 for an axisymmetric + straight section. - ANSYS - Write results files for the ANSYS postprocessors (default). The files that will - be written are Jobname.RST and Jobname.HIS (see "Notes" - below). + nev + Event number to be associated with these stresses (defaults to 1). - LSDYNA - Write results files for the LS-DYNA postprocessor (LS-POST). The files that - will be written are D3PLOT, and files specified by EDOUT - and EDHIST (see "Notes" below). + nlod + Loading number to be associated with these stresses (defaults to + 1). - BOTH - Write results files for both ANSYS and LS-DYNA postprocessors. + kbr + For an axisymmetric analysis (RHO ≠ 0): - Notes - ----- - By default, LS-DYNA will write the ANSYS results file Jobname.RST (see - the EDRST command.) If Jobname.HIS is desired, you must also issue - EDHIST. + 0 - Include the thickness-direction bending stresses - Value = LSDYNA or BOTH will cause LS-DYNA to write results files for - the LS-POST postprocessor. The D3PLOT file is always written for these - two options. If other LS-POST files are desired, you must issue the - appropriate EDHIST and EDOUT commands. + 1 - Ignore the thickness-direction bending stresses - This command is also valid in PREP7. + 2 - Include the thickness-direction bending stress using the same formula as the Y + (axial direction ) bending stress. Also use the same formula + for the shear stress. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Notes + ----- + Calculates and stores the total linearized stress components at the + ends of a section path [PATH] (as defined by the first two nodes with + the PPATH command). The path must be entirely within the selected + elements (that is, there must not be any element gaps along the path). + Stresses are stored according to the fatigue event number and loading + number specified. Locations (one for each node) are associated with + those previously defined for these nodes [FL] or else they are + automatically defined. Stresses are separated into six total + components (SX through SXZ) and six membrane-plus-bending (SX through + SXZ) components. The temperature at each end point and the current + time are also stored along with the total stress components. + Calculations are made from the stresses currently in the database (last + SET or LCASE command). Stresses are stored as section coordinate + components if axisymmetric or as global Cartesian coordinate components + otherwise, regardless of the active results coordinate system [RSYS]. + The FSLIST command may be used to list stresses. The FS command can be + used to modify stored stresses. See also the PRSECT and PLSECT + commands for similar calculations. """ - command = "EDOPT, %s, %s" % (str(option), str(value)) + command = "FSSECT,%s,%s,%s,%s" % (str(rho), str(nev), str(nlod), str(kbr)) self.RunCommand(command, **kwargs) - def Noorder(self, lab="", **kwargs): + def Wpave(self, x1="", y1="", z1="", x2="", y2="", z2="", x3="", y3="", + z3="", **kwargs): """ - APDL Command: NOORDER + APDL Command: WPAVE - Re-establishes the original element ordering. + Moves the working plane origin to the average of specified points. Parameters ---------- - lab - Turns element reordering on or off. + x1, y1, z1 + Coordinates (in the active coordinate system) of the first point. + If X1 = P, graphical picking is enabled and all remaining command + fields are ignored (valid only in the GUI). - ON (or blank) - Re-establishes original element ordering (default). + x2, y2, z2 + Coordinates (in the active coordinate system) of the second point. - OFF - Original ordering is not used and program establishes its own ordering at the - beginning of the solution phase. + x3, y3, z3 + Coordinates (in the active coordinate system) of the third point. Notes ----- - If Lab = ON, the original element ordering is re-established and no - automatic reordering occurs at the beginning of the solution phase. - Use Lab = OFF only to remove the effect of a previous NOORDER command. - This command affects only those elements that were defined up to the - point that this command is issued. See the WSORT and WAVES commands for - reordering. + Moves the origin of the working plane to the average of the specified + points. A point is considered specified only if at least one of its + coordinates is non-blank, and at least one point (1, 2, or 3) must be + specified. Blank coordinates of a specified point are assumed to be + zero. Averaging is based on the active coordinate system. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "NOORDER, %s" % (str(lab)) + command = "WPAVE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(x1), str(y1), str(z1), str(x2), str(y2), str(z2), str(x3), str(y3), str(z3)) self.RunCommand(command, **kwargs) - def Bflist(self, node="", lab="", **kwargs): + def Realvar(self, ir="", ia="", name="", facta="", **kwargs): """ - APDL Command: BFLIST + APDL Command: REALVAR - Lists the body force loads on nodes. + Forms a variable using only the real part of a complex variable. Parameters ---------- - node - Node at which body load is to be listed. If ALL (or blank), list - for 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 body load label. If ALL (or blank), use all appropriate - labels. See the BF command for labels. In an explicit dynamic - analysis, the only valid body load label is TEMP. - - Notes - ----- - Lists the body force loads for the specified node and label. Nodal - body loads may be defined with the BF command (except in an explicit - dynamic analysis). + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. - The command BFLIST,TEMP can be used in an explicit dynamic analysis to - list temperature loads that are read in by the LDREAD command. BFLIST - cannot be used to list temperature loads defined by the EDLOAD command - (use EDLOAD,LIST to list this type of load). + ia + Reference number of the variable to be operated on. - This command is valid in any processor. + --, -- + Unused fields. - """ - command = "BFLIST, %s, %s" % (str(node), str(lab)) - self.RunCommand(command, **kwargs) + name + Thirty-two character name identifying the variable on printouts and + displays. Embedded blanks are compressed for output. - def End(self, **kwargs): - """ - APDL Command: *END + --, -- + Unused fields. - Closes a macro file. + facta + Scaling factor (positive or negative) applied to variable IA + (defaults to 1.0). Notes ----- - Closes a file opened with *CREATE. The *END command is an 8-character - command (to differentiate it from *ENDIF). If you add commented text - on that same line but do not allow enough spaces between *END and the - "!" that indicates the comment text, the *END will attempt to interpret - the "!" as the 8th character and will fail. + Forms a variable using only the real part of a variable. Used only + with harmonic analyses (ANTYPE,HARMIC). - This command is valid in any processor. + Complex variables are stored in two-column arrays with the real + component stored in the first column and the imaginary component stored + in the second column. This command extracts the value stored in the + first column (i.e., real component). However with harmonic analyses, + all variables are stored in two-column arrays as complex variables. If + the variable is not complex, then the same value is stored in both + columns. This command will extract the variable in the first column of + the array, even if this variable is not the real component of a complex + variable. """ - command = "*END, " % () + command = "REALVAR,%s,%s,%s,%s" % (str(ir), str(ia), str(name), str(facta)) self.RunCommand(command, **kwargs) - def Norl(self, line="", area="", ndir="", **kwargs): + def Edterm(self, option="", lab="", num="", stop="", maxc="", minc="", + **kwargs): """ - APDL Command: NORL + APDL Command: EDTERM - Rotates nodal coordinate systems perpendicular to line normal + Specifies termination criteria for an explicit dynamic analysis. Parameters ---------- - line - Line number containing the nodes to be rotated. If ALL, applies to - all selected lines (see the LSEL command). If LINE = P, graphical - picking is enabled. + option + Label identifying the option to be performed. - area - The area number containing the selected lines. The normal of the - line(s) selected is supposed to lie on this area. Defaults to the - lowest numbered selected area containing the line number. + ADD - Define termination criteria (default). - ndir - Direction of the normal. If NDIR = -1, the nodal coordinate system - is rotated in the opposite direction of the line normal. The - default is the same direction as the surface normal. + DELE - Delete termination criteria. - Notes - ----- - The NORL command rotates the X-axis of the nodal coordinate - perpendicular to the line normal. The rotated nodal coordinate systems - may be displayed through the /PSYMB command. In case multiple lines are - selected, there could be conflicts at the boundaries. If a node belongs - to two lines that have a different normal, its nodal coordinate system - will be rotated to the line normal with the lowest number. Keep the - following in mind when using the NORL command: + LIST - List termination criteria. - If the nodal coordinate system is parallel to the global Cartesian - system, it is not displayed through the /PSYMB command. + lab + Label identifying the type of termination (no default). - Previously specified rotation on the selected nodes are overridden. + NODE - Terminate solution based on nodal point coordinates. The analysis terminates + when the current position of the specified node reaches + either the maximum or minimum coordinate value (STOP = 1, 2, + or 3), or when the node picks up force from any contact + surface (STOP = 4). - """ - command = "NORL, %s, %s, %s" % (str(line), str(area), str(ndir)) - self.RunCommand(command, **kwargs) + PART - Terminate solution based on rigid body (part) displacements. The analysis + terminates when the displacement of the center of mass of + the specified rigid body reaches either the maximum or + minimum value (STOP = 1, 2, or 3), or when the displacement + magnitude of the center of mass is exceeded (STOP = 4). - def Dmpstr(self, coeff="", **kwargs): - """ - APDL Command: DMPSTR + num + Node number (if Lab = NODE) or rigid body Part ID (if Lab = PART). + (No default.) - Sets a constant structural damping coefficient. + stop + Criterion for stopping the solution (no default). - Parameters - ---------- - coeff - Structural damping coefficient. + 1 - Global X-direction. + + 2 - Global Y-direction. + + 3 - Global Z-direction. + + 4 - For Lab = NODE, stop the solution if contact occurs. For Lab = PART, stop the + solution if the displacement magnitude is exceeded for the + specified rigid body (use MAXC to define the displacement + magnitude). + + maxc + Maximum (most positive) coordinate value (Lab = NODE) or + displacement (Lab = PART). MAXC defaults to 1.0e21 + + minc + Minimum (most negative) coordinate value (Lab = NODE) or + displacement (Lab = PART). MINC defaults to -1.0e21. Notes ----- - Sets a constant structural (or hysteretic) damping coefficient for use - in harmonic (ANTYPE,HARMIC) analyses (FULL, MSUP, and VT) and modal - analyses (ANTYPE,MODAL with MODOPT,UNSYM, DAMP or QRDAMP). + You may specify multiple termination criteria using EDTERM; the + solution will terminate when any one of the criteria is satisfied, or + when the solution end time (specified on the TIME command) is reached. - Note that for structures with multiple materials, MP,DMPR can also be - used to specify constant structural material damping on a per material - basis. Note that if both DMPSTR and MP,DMPR are specified, the damping - effects are additive. + In an explicit dynamic small restart analysis (EDSTART,2) or full + restart analysis (EDSTART,3), the termination criteria set in the + previous analysis (the original analysis or the previous restart) are + carried over to the restart. If the previous analysis terminated due to + one of these criteria, that specific criterion must be modified so that + it will not cause the restart to terminate prematurely. In particular, + if a termination condition based on nodal contact (Lab = NODE, STOP = + 4) is satisfied, this condition must be deleted and replaced with a + condition based on nodal coordinates for that same node. (If a + condition based on nodal coordinates already exists for that node, the + replacement is not necessary.) In the restart, the number of + termination criteria specified using EDTERM cannot exceed a maximum of + 10 or the number specified in the original analysis. - Caution:: : DMPSTR adds the damping contribution as gK, whereas MP,DMPR - adds the contribution on a per-material basis as 2gK. For more - information, see Damping Matrices in the Mechanical APDL Theory - Reference. + Note that the termination criteria set by EDTERM are not active during + dynamic relaxation (EDDRELAX). This command is also valid in PREP7. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. + """ - command = "DMPSTR, %s" % (str(coeff)) + command = "EDTERM,%s,%s,%s,%s,%s,%s" % (str(option), str(lab), str(num), str(stop), str(maxc), str(minc)) self.RunCommand(command, **kwargs) - def Xflist(self, enrichmentid="", **kwargs): + def Point(self, **kwargs): """ - APDL Command: XFLIST - - Lists enrichment details and associated crack information + APDL Command: POINT - Parameters - ---------- - enrichmentid or (blank) - Name of the enrichment specified via the associated XFENRICH - command. Specifying EnrichmentID is optional. + Specifies "Point flow tracing settings" as the subsequent status topic. Notes ----- - This command is valid in PREP7 (/PREP7) and SOLUTION (/SOLU). + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "XFLIST, %s" % (str(enrichmentid)) + command = "POINT," % () self.RunCommand(command, **kwargs) - def Tbdata(self, stloc="", c1="", c2="", c3="", c4="", c5="", c6="", - **kwargs): + def Voffst(self, narea="", dist="", kinc="", **kwargs): """ - APDL Command: TBDATA + APDL Command: VOFFST - Defines data for the material data table. + Generates a volume, offset from a given area. Parameters ---------- - stloc - Starting location in table for entering data. For example, if - STLOC = 1, data input in the C1 field applies to the first table - constant, C2 applies to the second table constant, etc. If - STLOC=5, data input in the C1 field applies to the fifth table - constant, etc. Defaults to the last location filled + 1. The last - location is reset to 1 with each TB or TBTEMP command. + narea + Area from which generated volume is to be offset. If NAREA = P, + graphical picking is enabled and all remaining command fields are + ignored (valid only in the GUI). - c1, c2, c3, . . . , c6 - Data values assigned to six locations starting with STLOC. If a - value is already in this location, it is redefined. A blank value - leaves the existing value unchanged. + dist + Distance normal to given area at which keypoints for generated + volume are to be located. Positive normal is determined from the + right-hand rule keypoint order. + + kinc + Increment to be applied to the keypoint numbers between sets. If + zero, keypoint numbers will be automatically assigned beginning + with the lowest available value [NUMSTR]. Notes ----- - Defines data for the table specified on the last TB command at the - temperature specified on the last TBTEMP command (if applicable). The - type of data table specified in the last TB command determines the - number of data values needed in TBDATA. Data values are linearly - interpolated for temperatures that fall between user defined TBTEMP - values. See Material Models in the Material Reference for the number of - data values required for different material behavior options. + Generates a volume (and its corresponding keypoints, lines, and areas) + by offsetting from an area. The direction of the offset varies with + the given area normal. End slopes of the generated lines remain the + same as those of the given pattern. - This command is also valid in SOLUTION. + If element attributes have been associated with the input area via the + AATT command, the opposite area generated by the VOFFST operation will + also have those attributes (i.e., the element attributes from the input + area are copied to the opposite area). Note that only the area + opposite the input area will have the same attributes as the input + area; the areas adjacent to the input area will not. + + If the areas are meshed or belong to meshed volumes, a 3-D mesh can be + extruded with this command. Note that the NDIV argument on the ESIZE + command should be set before extruding the meshed areas. """ - command = "TBDATA, %s, %s, %s, %s, %s, %s, %s" % (str(stloc), str(c1), str(c2), str(c3), str(c4), str(c5), str(c6)) + command = "VOFFST,%s,%s,%s" % (str(narea), str(dist), str(kinc)) self.RunCommand(command, **kwargs) - def Dmove(self, node1="", node2="", ninc="", **kwargs): + def Pspec(self, pcolor="", kfill="", kbordr="", **kwargs): """ - APDL Command: DMOVE + APDL Command: /PSPEC - Digitizes nodes on surfaces and along intersections. + Creates annotation polygon attributes (GUI). Parameters ---------- - node1, node2, ninc - Digitize nodes NODE1through NODE2 in steps of NINC. NODE2 defaults - to NODE1 and NINC defaults to 1. + pcolor + Polygon color (0 PCOLOR   15): - Notes - ----- - Digitizes nodes on undefined surfaces, warped surfaces, and along - intersection lines. Two orthogonal views showing the nodes on a plane - in each view are required. No surfaces need be specified. Two - coordinates are determined from the second view and the other - coordinate is retained from the first view. Use the DIG command to - first define nodes in one view (as determined from the DSET command). - Then reset the view and use this command to move the nodes to the - proper location. + 0 - Black. - """ - command = "DMOVE, %s, %s, %s" % (str(node1), str(node2), str(ninc)) - self.RunCommand(command, **kwargs) + 1 - Red-Magenta. - def Febody(self, **kwargs): - """ - APDL Command: FEBODY + 2 - Magenta. - Specifies "Body loads on elements" as the subsequent status topic. + 3 - Blue-Magenta. - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + 4 - Blue. - If entered directly into the program, the STAT command should - immediately follow this command. + 5 - Cyan-Blue. - """ - command = "FEBODY, " % () - self.RunCommand(command, **kwargs) + 6 - Cyan. - def Writemap(self, fname="", **kwargs): - """ - APDL Command: WRITEMAP + 7 - Green-Cyan. - Writes interpolated pressure data to a file. + 8 - Green. - Parameters - ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + 9 - Yellow-Green. - Notes - ----- - Writes the interpolated pressure data to the specified file. The data - is written as SFE commands applied to the SURF154 elements that are on - the target surface. You may read this data for inclusion in an analysis - by using /INPUT,Fname. + 10 - Yellow. - """ - command = "WRITEMAP, %s" % (str(fname)) - self.RunCommand(command, **kwargs) + 11 - Orange. - def Cntr(self, option="", key="", **kwargs): - """ - APDL Command: CNTR + 12 - Red. - Redirects contact pair output quantities to a text file. + 13 - Dark Gray. - Parameters - ---------- - option - Output option: + 14 - Light Gray. - OUT - Contact output control. + 15 - White. - key - Control key: + kfill + Polygon fill key: - NO - Write contact information to the output file or to the screen (default). + 0 - Hollow polygon. - YES - Write contact information to the Jobname.CNM file. + 1 - Filled polygon. + + kbordr + Polygon border key: + + 0 - No border. + + 1 - Border. Notes ----- - Issue the command CNTR,OUT,YES to redirect contact pair output - quantities to the Jobname.CNM file. + Creates annotation polygon attributes to control certain + characteristics of the polygons created via the /POLYGON, /PMORE, + /PCIRCLE and /PWEDGE commands. This is a command generated by the + Graphical User Interface (GUI) and will appear in the log file + (Jobname.LOG) if annotation is used. This command is not intended to + be typed in directly in an ANSYS session (although it can be included + in an input file for batch input or for use with the /INPUT command). - To ensure that the contact information is written to Jobname.CNM, - reissue CNTR,OUT,YES each time you reenter the solution processor - (/SOLU). + This command is valid in any processor. """ - command = "CNTR, %s, %s" % (str(option), str(key)) + command = "/PSPEC,%s,%s,%s" % (str(pcolor), str(kfill), str(kbordr)) self.RunCommand(command, **kwargs) - def Tbtemp(self, temp="", kmod="", **kwargs): + def Alphad(self, value="", **kwargs): """ - APDL Command: TBTEMP + APDL Command: ALPHAD - Defines a temperature for a material data table. + Defines the mass matrix multiplier for damping. Parameters ---------- - temp - Temperature value (defaults to 0.0 if KMOD is blank). - - kmod - If blank, TEMP defines a new temperature. (Issue TBLIST to list - temperatures and data.) + value + Mass matrix multiplier for damping. Notes ----- - The TBTEMP command defines a temperature to be associated with the data - on subsequent TBPT or TBDATA commands. - - The defined temperature remains active until the next TBTEMP command is - issued. + This command defines the mass matrix multiplier α used to form the + viscous damping matrix [C] = α[M] where [M] is the mass matrix. - Data values must be defined with the temperatures in ascending order. + Values of α may also be input as a material property (use the ALPD + label on the MP command). If ALPD is included, the ALPD value is added + to the ALPHAD value as appropriate (see Damping Matrices in the + Mechanical APDL Theory Reference). Damping is not used in the static + (ANTYPE,STATIC) or buckling (ANTYPE,BUCKLE) analyses. - This command is also valid in SOLUTION. + This command is also valid in PREP7. """ - command = "TBTEMP, %s, %s" % (str(temp), str(kmod)) + command = "ALPHAD,%s" % (str(value)) self.RunCommand(command, **kwargs) - def Waves(self, wopt="", oldmax="", oldrms="", **kwargs): + def Axlab(self, axis="", lab="", **kwargs): """ - APDL Command: WAVES + APDL Command: /AXLAB - Initiates reordering. + Labels the X and Y axes on graph displays. Parameters ---------- - wopt - Option for comparison: + axis + Axis specifier: - MAX - Use maximum wavefront value for comparison (default). + X - Apply label to X axis. - RMS - Use RMS wavefront value for comparison. + Y - Apply label to Y axis. - oldmax, oldrms - Maximum and RMS wavefront values of model to be used in place of - the old values. OLDRMS defaults to OLDMAX (and vice versa). If - neither is specified, each defaults to its calculated old value. + lab + Axis label (user defined text up to 30 characters long). Leave + blank to reestablish the default for Axis axis. Notes ----- - Initiates the element reordering based upon the previously defined - starting wave lists (if any). Reordering affects only the element - order for the solution phase and not the element numbers (input - referring to element numbers, such as element pressures, is unaffected - by reordering). + This command is valid in any processor. - Note:: : The new order is retained only if new the new maximum or RMS - wavefront values are lower than the old values, as described below. - See the WSORT command for another reordering procedure. The resulting - element ordering can be shown by listing the wavefront history - [WFRONT,1] or by displaying elements with their element location - numbers [/PNUM]. + """ + command = "/AXLAB,%s,%s" % (str(axis), str(lab)) + self.RunCommand(command, **kwargs) - The WAVES reordering procedure is based upon a list of nodes defining - where the element reordering is to start (either input on the WSTART - command, or automatically determined if not input). If a list is - input, additional starting wave lists may be defined to allow the user - to block or guide the wave. An input starting list usually consists of - one node for a line element model, a line of nodes for an area element - model, or a plane of nodes for a volume element model. Elements are - ordered from the first starting wave list in a direction that attempts - to minimize the wavefront. Nodes are deleted and added to the total - wave list set as reordering progresses through the model. Elements - attached to nodes on succeeding starting lists, if any, are ignored at - this time, thereby temporarily blocking that path. Whenever no more - elements can be reordered, the procedure is repeated starting from the - nodes defined on the second starting list (if any). The same node - number should not appear on more than one list. If no starting list is - input, a starting node is automatically selected from an element - weighting procedure (see Element Reordering in the Mechanical APDL - Theory Reference). + def Sfl(self, line="", lab="", vali="", valj="", val2i="", val2j="", + **kwargs): + """ + APDL Command: SFL - Reordering may be made from the previously reordered model or from the - initial model (by issuing the SAVE command before reordering and then - restoring that model back to PREP7 with the RESUME command after - reordering). The WFRONT command is useful for calculating and printing - the current wavefront statistics at any time without causing any - reordering of the elements. If a model is to be used for both a - thermal and a structural analysis, the reordered statistics should be - based upon the structural model (because of the higher number of - degrees of freedom per node). + Specifies surface loads on lines of an area. - The reordering procedure treats separate portions of the model (i.e., - not connected by elements) as discontinuous. Reordering automatically - continues across a discontinuity as best as possible. + Parameters + ---------- + line + Line to which surface load applies. If ALL, apply load to all + selected lines [LSEL]. If Line = P, graphical picking is enabled + and all remaining command fields are ignored (valid only in the + GUI). A component name may be substituted for Line. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + lab + Valid surface load label. Load labels are listed under "Surface + Loads" in the input table for each element type in the Element + Reference. + + vali, valj + Surface load values at the first keypoint (VALI) and at the second + keypoint (VALJ) of the line, or table name for specifying tabular + boundary conditions. If VALJ is blank, it defaults to VALI. If + VALJ is zero, a zero is used. If Lab = CONV, VALI and VALJ are the + film coefficients and VAL2I and VAL2J are the bulk temperatures. + To specify a table, enclose the table name in percent signs (%), + e.g., %tabname%. Use the *DIM command to define a table. If Lab = + CONV and VALI = -N, the film coefficient may be a function of + temperature and is determined from the HF property table for + material N [MP]. If Lab = RAD, VALI and VALJ values are surface + emissivities and VAL2I and VAL2J are ambient temperatures. The + temperature used to evaluate the film coefficient is usually the + average between the bulk and wall temperatures, but may be user + defined for some elements. If Lab = RDSF, VALI is the emissivity + value; the following condition apply: If VALI = -N, the emissivity + may be a function of the temperature and is determined from the + EMISS property table for material N [MP]. If Lab = FSIN in a Multi- + field solver (single or multiple code coupling) analysis, VALI is + the surface interface number. If Lab = FSIN in a unidirectional + ANSYS to CFX analysis, VALJ is the surface interface number (not + available from within the GUI) and VALI is not used unless the + ANSYS analysis is performed using the Multi-field solver. + + val2i, val2j + Second surface load values (if any). If Lab = CONV, VAL2I and + VAL2J are the bulk temperatures. If Lab = RAD, VAL2I and VAL2J are + the ambient temperatures. If Lab = RDSF, VAL2I is the enclosure + number. Radiation will occur between surfaces flagged with the same + enclosure numbers. If the enclosure is open, radiation will occur + to the ambient. VAL2I and VAL2J are not used for other surface load + labels. If VAL2J is blank, it defaults to VAL2I. If VAL2J is + zero, a zero is used. To specify a table (Lab = CONV), enclose the + table name in percent signs (%), e.g., %tabname%. Use the *DIM + command to define a table. + + Notes + ----- + Specifies surface loads on the selected lines of area regions. The + lines represent either the edges of area elements or axisymmetric shell + elements themselves. Surface loads may be transferred from lines to + elements with the SFTRAN or SBCTRAN commands. See the SFE command for + a description of surface loads. Loads input on this command may be + tapered. See the SFGRAD command for an alternate tapered load + capability. + + You can specify a table name only when using structural (PRES) and + thermal (CONV [film coefficient and/or bulk temperature], HFLUX), and + surface emissivity and ambient temperature (RAD) surface load labels. + VALJ and VAL2J are ignored for tabular boundary conditions. + + This command is also valid in PREP7. """ - command = "WAVES, %s, %s, %s" % (str(wopt), str(oldmax), str(oldrms)) + command = "SFL,%s,%s,%s,%s,%s,%s" % (str(line), str(lab), str(vali), str(valj), str(val2i), str(val2j)) self.RunCommand(command, **kwargs) - def Rescontrol(self, action="", ldstep="", frequency="", maxfiles="", - **kwargs): + def Vfun(self, parr="", func="", par1="", con1="", con2="", con3="", + **kwargs): """ - APDL Command: RESCONTROL + APDL Command: *VFUN - Controls file writing for multiframe restarts. + Performs a function on a single array parameter. Parameters ---------- - action - Command action. Valid options are: + parr + The name of the resulting numeric array parameter vector. See *SET + for name restrictions. - DEFINE - Issuing the command specifies how frequently the .Xnnn restart files are - written for a load step (default). + func + Function to be performed: - FILE_SUMMARY - Issuing the command prints the substep and load step information for all .Xnnn - files for the current jobname in the current - directory. If this option is specified, all other - arguments are ignored. + Arccosine: ACOS(Par1). - Arcsine: ASIN(Par1). - STATUS - Issuing the command lists the current status in the tables of restart controls - specified previously by RESCONTROL. If this option is - specified, all other arguments are ignored. + Par1 is sorted in ascending order. *VCOL, *VMASK, *VCUM, and *VLEN,,NINC do not apply. *VLEN,NROW does apply. - Arctangent: ATAN(Par1). - NORESTART - Issuing the command cleans up some of the restart files after a Distributed - ANSYS solution. The host process will not have the - following files in the working directory at the end of - the run: .ESAV, .OSAV, .Xnnn, .RDB, .LDHI. The slave - processes will not have the following files in the - working directory at the end of the run: .ESAV, .OSAV, - .Xnnn, .RST (or .RTH, etc.). Some of the restart files - are never written, some are removed upon leaving /SOLU - (for example, upon FINISH), and some are removed upon - exiting the program. + Compress: Selectively compresses data set. "True" (*VMASK) values of Par1 (or row positions to be considered according to the NINC value on the *VLEN command) are written in compressed form to ParR, starting at the specified position. - Copy: Par1 copied to ParR. - This option is useful for cleaning up files written by all of the Distributed ANSYS processes, particularly when you know that these restart files will not be needed later on. If this option is specified, all other arguments are ignored. - If this option is used in shared-memory parallel ANSYS, most of the restart - files in the working directory are removed. It - has the same effect as issuing RESCONTROL,,NONE. + Cosine: COS(Par1). - Hyperbolic cosine: COSH(Par1). - LINEAR - Issuing the command specifies the same actions as Action = DEFINE. However, - this option is intended for linear static applications. - For a linear static analysis, the restart capability is - normally not needed. However, it is typically needed when - a subsequent linear perturbation analysis is desired. By - default, none of the restart files are written for a - linear static analysis. + Direction cosines of the principal stresses (nX9). Par1 contains the nX6 component stresses for the n locations of the calculations. - Par1 is sorted in descending order. *VCOL, *VMASK, *VCUM, and *VLEN,,NINC do + not apply. *VLEN,NROW does apply. - DELETE - Delete the restart control specification corresponding to the Ldstep label on a - previous RESCONTROL,DEFINE command. + Euler angles of the principal stresses (nX3). Par1 contains the nX6 component stresses for the n locations of the calculations. - Exponential: EXP(Par1). - ldstep - Specifies how the .Xnnn files are written for the specified load - steps. This option also affects how often the load history - information is written to the .LDHI file. + Expand: Reverse of the COMP function. All elements of Par1 (starting at the position specified) are written in expanded form to corresponding "true" (*VMASK) positions (or row positions to be considered according to the NINC value on the *VLEN command) of ParR. - Natural logarithm: LOG(Par1). - ALL - Write the .Xnnn files at the same substep Frequency for all load steps; write - the load history information to the .LDHI file for all load - steps. + Common logarithm: LOG10(Par1). - Nearest integer: 2.783 becomes 3.0, -1.75 becomes -2.0. - LAST - Write the .Xnnn files for the last load step only; write load history - information to the .LDHI file for the last load step only. - This option is the default for nonlinear static and full - transient analyses. The remaining arguments are ignored. + Logical complement: values   0.0 (false) become 1.0 (true). Values > 0.0 (true) become 0.0 (false). - Principal stresses (nX5). Par1 contains the nX6 component stresses for the n + locations of the calculations. - N - Number that indicates how often the .Xnnn file is written. + Power function: Par1**CON1. Exponentiation of any negative number in the vector Par1 to a non-integer power is performed by exponentiating the positive number and prepending the minus sign. For example, -4**2.3 is -(4**2.3). - Sine: SIN(Par1). - Input a positive number to write the .Xnnn files at the substep Frequency indicated only for load step N. Other load steps will be written at the default substep frequency or at a frequency defined by a previous RESCONTROL specification. Load history information is written to the .LDHI file only for load steps N. - Input a negative number (-N) to write the .Xnnn files for every Nth load step - at the specified substep Frequency. The load - history information is written to the .LDHI file - every Nth load step. This option is suitable for - restart applications in which more than a few - hundred load steps are required. Compared to the - ALL and positive N options, it can save disk - space since the .LDHI file is smaller and fewer - .Xnnn files are written. + Hyperbolic sine: SINH(Par1). - Square root: SQRT(Par1). - If Ldstep = -N, all other Ldstep options specified by RESCONTROL are ignored and the program follows the -N option (write load history information every Nth load step). If you want to change this pattern, issue RESCONTROL,DELETE, -N and then issue another RESCONTROL command with the desired Ldstep option. - NONE + Tangent: TAN(Par1). - Hyperbolic tangent: TANH(Par1). - No multiframe restart files (.RDB [restart database file], .LDHI [load history file], .Xnnn) are created. This option is the default for mode-superposition analyses. The remaining arguments are ignored. - For nonlinear static, linear static, and full transient analyses, this option - allows a restart to be done at the last or abort - point using the same procedure as in ANSYS 5.5 or - earlier (using the .EMAT, .ESAV or .OSAV, and .DB - files). + Tangent to a path at a point: the slope at a point is determined by linear interpolation half way between the previous and next points. Points are assumed to be in the global Cartesian coordinate system. Path points are specified in array Par1 (having 3 consecutive columns of data, with the columns containing the x, y, and z coordinate locations, respectively, of the points). Only the starting row index and the column index for the x coordinates are specified, such as A(1,1). The y and z coordinates of the vector are assumed to begin in the corresponding next columns, such as A(1,2) and A(1,3). The tangent result, ParR, must also have 3 consecutive columns of data and will contain the tangent direction vector (normalized to 1.0); such as 1,0,0 for an x-direction vector. - Normal to a path and an input vector at a point: determined from the cross- + product of the calculated tangent vector (see + TANG) and the input direction vector (with the i, + j, and k components input as CON1, CON2, and + CON3). Points are assumed to be in the global + Cartesian coordinate system. Path points are + specified in array Par1 (having 3 consecutive + columns of data, with the columns containing the + x, y, and z coordinate locations, respectively, + of the points). Only the starting row index and + the column index for the x coordinates are + specified, such as A(1,1). The y and z + coordinates of the vector are assumed to begin in + the corresponding next columns, such as A(1,2) + and A(1,3). The normal result, ParR, must also + have 3 consecutive columns of data and will + contain the normal direction vector (normalized + to 1.0); such as 1,0,0 for an x-direction vector. - frequency - Frequency at which the .Xnnn files are written at the substep - level. + Transforms global Cartesian coordinates of a point to the coordinates of a specified system: points to be transformed are specified in array Par1 (having 3 consecutive columns of data, with the columns containing the x, y, and z global Cartesian coordinate locations, respectively, of the points). Only the starting row index and the column index for the x coordinates are specified, such as A(1,1). The y and z coordinates of the vector are assumed to begin in the corresponding next columns, such as A(1,2) and A(1,3). Results are transformed to coordinate system CON1 (which may be any valid coordinate system number, such as 1,2,11,12, etc.). The transformed result, ParR, must also have 3 consecutive columns of data and will contain the corresponding transformed coordinate locations. - Transforms specified coordinates of a point to global Cartesian coordinates: + points to be transformed are specified in array + Par1 (having 3 consecutive columns of data, with + the columns containing the local coordinate + locations (x, y, z or r, θ, z or etc.) of the + points). Only the starting row index and the + column index for the x coordinates are specified, + such as A(1,1). The y and z coordinates (or θ + and z, or etc.) of the vector are assumed to + begin in the corresponding next columns, such as + A(1,2) and A(1,3). Local coordinate locations + are assumed to be in coordinate system CON1 + (which may be any valid coordinate system number, + such as 1,2,11,12, etc.). The transformed + result, ParR, must also have 3 consecutive + columns of data, with the columns containing the + global Cartesian x, y, and z coordinate + locations, respectively. - NONE - Do not write any .Xnnn files for this load step. + par1 + Array parameter vector in the operation. - LAST - Write the .Xnnn files for the last substep of the load step only (default for - nonlinear static and full transient analyses). + con1, con2, con3 + Constants (used only with the PWR, NORM, LOCAL, and GLOBAL + functions). - N - If N is positive, write the .Xnnn file every Nth substep of a load step. If N - is negative, write N equally spaced .Xnnn files within a load - step. + Notes + ----- + Operates on one input array parameter vector and produces one output + array parameter vector according to: - In nonlinear static and full transient analyses, negative N is valid only when AUTOTS,ON. - In mode-superposition analyses, negative N is always valid. + ParR = f(Par1) - maxfiles - Maximum number of .Xnnn files to save for Ldstep. + where the functions (f) are described below. Functions are based on + the standard FORTRAN definitions where possible. Out-of-range function + results (or results with exponents whose magnitudes are approximately + greater than 32 or less than -32) produce a zero value. Input and + output for angular functions may be radians (default) or degrees + [*AFUN]. ParR may be the same as Par1. Starting array element numbers + must be defined for each array parameter vector if it does not start at + the first location. For example, *VFUN,A,SQRT,B(5) takes the square + root of the fifth element of B and stores the result in the first + element of A. Operations continue on successive array elements [*VLEN, + *VMASK] with the default being all successive elements. Absolute + values and scale factors may be applied to all parameters [*VABS, + *VFACT]. Results may be cumulative [*VCUM]. Skipping array elements + via *VMASK or *VLEN for the TANG and NORM functions skips only the + writing of the results (skipped array element data are used in all + calculations). See the *VOPER command for details. - -1 - Overwrite existing .Xnnn files (default). The total maximum number of .Xnnn - files for one run is 999. If this number is reached before the - analysis is complete, the program will reset the .Xnnn file - numbering back to 1 and continue to write .Xnnn files; the - program keeps the newest 999 restart files and overwrites the - oldest restart files. + This command is valid in any processor. - 0 - Do not overwrite any existing .Xnnn files. The total maximum number of .Xnnn - files for one run is 999. If this number is reached before the - analysis is complete, the analysis continues but no longer - writes any .Xnnn files. + """ + command = "*VFUN,%s,%s,%s,%s,%s,%s" % (str(parr), str(func), str(par1), str(con1), str(con2), str(con3)) + self.RunCommand(command, **kwargs) - N - The maximum number of .Xnnn files to keep for each load step. When N .Xnnn - files have been written for a load step, the program overwrites - the first .Xnnn file of that load step for subsequent substeps. - The value of N can not exceed 999. If a total of 999 restart - files is reached before the analysis is complete, the analysis - continues but no longer writes any .Xnnn files. + def Annot(self, lab="", val1="", val2="", **kwargs): + """ + APDL Command: /ANNOT - Notes - ----- - Multiframe restart files are indicated here as .Xnnn files. They - correspond to .Rnnn files for nonlinear static and full transient - analyses, and .Mnnn files for mode-superposition analyses. The total - number of restart files for any analysis cannot exceed 999 (for - example, Jobname.R001 to Jobname.R999). + Activates graphics for annotating displays (GUI). - This command sets up the restart parameters for a multiframe restart, - which allows you to restart an analysis from any load step and substep - for which there is an .Xnnn file. You can perform a multiframe restart - for static and transient (full or mode-superposition method) analyses - only. For more information about multiframe restarts and descriptions - of the contents of the files used, see Restarting an Analysis in the - Basic Analysis Guide. + Parameters + ---------- + lab + Annotation control key: - If you have many substeps for each load step and are writing .Xnnn - files frequently, you may want to use MAXFILES to limit the number of - .Xnnn files saved, since these files can fill up your disk quickly. You - may specify MAXFILES and Frequency for individual load steps. These - arguments will take on the default value or the value defined by - RESCONTROL,,ALL,Frequency,MAXFILES if they are not explicitly defined - for a specific load step. + OFF - Turns off annotation for each subsequent display (default). - You can specify a maximum of ten load steps; that is, you can issue the - RESCONTROL,,N command a maximum of ten times. Specified load steps - cannot be changed in a restart. + ON - Turns on annotation for each subsequent display. - The program accepts only one occurrence of RESCONTROL with a negative - Ldstep value (RESCONTROL,,N where N is a negative number). Therefore, - if you issue RESCONTROL multiple times with a negative Ldstep value, - the last specification overwrites the previous one. + DELE - Deletes all annotation. - The program accepts only one occurrence of RESCONTROL with Ldstep = - LAST. Therefore, if you issue RESCONTROL,,LAST,Frequency,MAXFILES - multiple times, the last specification overwrites the previous one. + SAVE - Saves annotation on a file. Use VAL1 for file name (defaults to Jobname) and + VAL2 for the extension (defaults to ANO). - """ - command = "RESCONTROL, %s, %s, %s, %s" % (str(action), str(ldstep), str(frequency), str(maxfiles)) - self.RunCommand(command, **kwargs) + SCALE - Sets annotation scale factor (direct input only). Use VAL1 for value (0.1 to + 10.0) (defaults to 1.0). - def Ask(self, par="", query="", dval="", **kwargs): - """ - APDL Command: *ASK + XORIG - Sets the annotation x origin (direct input only). Use VAL1 for value (-3.0 to + 3.0). - Prompts the user to input a parameter value. + YORIG - Sets annotation y origin (direct input only). Use VAL1 for value (-3.0 to + 3.0). - Parameters - ---------- - par - An alphanumeric name used to identify the scalar parameter. See - *SET for name restrictions. + SNAP - Sets annotation snap (menu button input only). Use VAL1 for value (0.002 to + 0.2) (defaults to 0.002). - query - Text string to be displayed on the next line as the query (32 - characters maximum). Characters having special meaning (such as $ - ! ,) should not be included. + STAT - Displays current annotation status. - dval - Default value assigned to the parameter if the user issues a blank - response. May be a number or character string (up to 8 characters - enclosed in single quotes). If a default is not assigned, a blank - response will delete the parameter. + DEFA - Sets annotation specifications to the default values. + + REFR - Redisplays annotation graphics. + + TMOD - Sets the annotation text mode. If VAL1 = 1, annotation text will be drawn in + scalable bitmap fonts (default). If VAL1 = 0, annotation + text will be drawn with stroke text. + + val1 + Value (or file name) as noted with label above. + + val2 + Value (or file name extension) as noted with label above. Notes ----- - Intended primarily for use in macros, the command prints the query - (after the word ENTER) on the next line and waits for a response. The - response is read from the keyboard, except in batch mode [/BATCH], when - the response(s) must be the next-read input line(s). The response may - be a number, a character string (up to 8 characters enclosed in single - quotes), a parameter (numeric or character) or an expression that - evaluates to a number. The scalar parameter is then set to the - response value. For example, *ASK,NN,PARAMETER NN will set NN to the - value entered on the next line (after the prompt ENTER PARAMETER NN). + This is a command generated by the GUI and will appear in the log file + (Jobname.LOG) if annotation is used. This command is not intended to + be typed in directly in an ANSYS session (although it can be included + in an input file for batch input or for use with the /INPUT command). - The *ASK command is not written to File.LOG, but the responses are - written there as follows: If *ASK is contained in a macro, the - response(s) (only) is written to File.LOG on the line(s) following the - macro name. If not contained in a macro, the response is written to - File.LOG as a parameter assignment (i.e., Par = "user-response"). + You cannot use the “!” and “$” characters in ANSYS text annotation. - If used within a do-loop that is executed interactively, *ASK should be - contained in a macro. If not contained in a macro, *ASK will still - query the user as intended, but the resulting log file will not - reproduce the effects of the original run. + /ANNOT activates annotation graphics for adding annotation to displays. + Commands representing the annotation instructions are automatically + created by the annotation functions in the GUI and written to + Jobname.LOG. The annotation commands are /ANNOT, /ANUM, /TLABEL, + /LINE, /LARC, /LSYMBOL, /POLYGON, /PMORE, /PCIRCLE, /PWEDGE, /TSPEC, + /LSPEC, and /PSPEC. Annotation graphics are relative to the full + Graphics Window and are not affected by ANSYS window-specific commands + (/WINDOW, /VIEW, etc.). This command is valid in any processor. """ - command = "*ASK, %s, %s, %s" % (str(par), str(query), str(dval)) + command = "/ANNOT,%s,%s,%s" % (str(lab), str(val1), str(val2)) self.RunCommand(command, **kwargs) - def Sscale(self, wn="", smult="", **kwargs): + def Chkmsh(self, comp="", **kwargs): """ - APDL Command: /SSCALE + APDL Command: CHKMSH - Sets the contour multiplier for topographic displays. + Checks area and volume entities for previous meshes. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). - - smult - Contour multiplier that factors in results based on the product of - the multiplier and the result being plotted. Defaults to 0.0 (no - topographic effects). + comp + Name of component containing areas or volumes. Notes ----- - Use this command to scale values to the geometry when the contours are - shown elevated. For section displays [/TYPE], the elevation is - performed perpendicular to the section face. - - Nonzero contour multipliers factoring in large results (stresses or - displacements) can produce very large distortion, causing images to - disappear. To bring a distorted image back into view, reduce the - contour multiplier value. - - Portions of this command are not supported by PowerGraphics - [/GRAPHICS,POWER]. + CHKMSH invokes a predefined ANSYS macro that checks areas and volumes + to find out if they were previously meshed. This macro name will + appear in the log file (Jobname.LOG) prior to area and volume meshing + operations initiated through the GUI. This command is not intended to + be typed in directly in an ANSYS session (although it can be included + in an input file for use with the /INPUT command). """ - command = "/SSCALE, %s, %s" % (str(wn), str(smult)) + command = "CHKMSH,%s" % (str(comp)) self.RunCommand(command, **kwargs) - def Edcrb(self, option="", neqn="", partm="", parts="", **kwargs): + def A(self, p1="", p2="", p3="", p4="", p5="", p6="", p7="", p8="", p9="", + p10="", p11="", p12="", p13="", p14="", p15="", p16="", p17="", + p18="", **kwargs): """ - APDL Command: EDCRB + APDL Command: A - Constrains two rigid bodies to act as one in an explicit dynamics - analysis. + Defines an area by connecting keypoints. Parameters ---------- - option - Label identifying the option to be performed: - - ADD - Define an equation to constrain two rigid bodies (default). + p1, p2, p3, . . . , p18 + List of keypoints defining the area (18 maximum if using keyboard + entry). At least 3 keypoints must be entered. If P1 = P, + graphical picking is enabled and all remaining arguments are + ignored (valid only in the GUI). - DELE - Delete the equation (specified by NEQN) that constrains two rigid bodies. If - NEQN is blank, all equations constraining rigid bodies are - deleted. + Notes + ----- + Keypoints (P1 through P18) must be input in a clockwise or + counterclockwise order around the area. This order also determines the + positive normal direction of the area according to the right-hand rule. + Existing lines between adjacent keypoints will be used; missing lines + are generated "straight" in the active coordinate system and assigned + the lowest available numbers [NUMSTR]. If more than one line exists + between two keypoints, the shorter one will be chosen. If the area is + to be defined with more than four keypoints, the required keypoints and + lines must lie on a constant coordinate value in the active coordinate + system (such as a plane or a cylinder). Areas may be redefined only if + not yet attached to a volume. Solid modeling in a toroidal coordinate + system is not recommended. - LIST - List constrained rigid bodies specified by NEQN. If NEQN is blank, all - constrained rigid bodies are listed. + """ + command = "A,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(p1), str(p2), str(p3), str(p4), str(p5), str(p6), str(p7), str(p8), str(p9), str(p10), str(p11), str(p12), str(p13), str(p14), str(p15), str(p16), str(p17), str(p18)) + self.RunCommand(command, **kwargs) - neqn - Equation reference number. Defaults to PARTS. NEQN should be a - unique number for each pair of PARTM and PARTS. If it is not - unique, the equation reference number defined last will overwrite - any previously defined NEQN with the same number. + def Bsplin(self, p1="", p2="", p3="", p4="", p5="", p6="", xv1="", yv1="", + zv1="", xv6="", yv6="", zv6="", **kwargs): + """ + APDL Command: BSPLIN - partm - PART number [EDPART] identifying the master rigid body. This value - is ignored if the DELE or LIST labels are specified. No default; - you must enter a value. + Generates a single line from a spline fit to a series of keypoints. - parts - PART number [EDPART] identifying the slave rigid body. This value - is ignored if the DELE or LIST labels are specified. No default; - you must enter a value. + Parameters + ---------- + p1, p2, p3, . . . , p6 + Keypoints through which a spline is fit. At least two keypoints + must be defined. If P1 = P, graphical picking is enabled and all + remaining command fields are ignored (valid only in the GUI). Notes ----- - EDCRB is valid only for materials defined as rigid bodies with the - EDMP,RIGID command. EDCRB automatically generates a constraint equation - to force the specified rigid bodies to behave as a single rigid body. - The slave rigid body takes on the material properties and loading of - the master rigid body. Any loads [EDLOAD] existing on the slave rigid - body are ignored. - - To create a single large rigid body from several smaller bodies, use a - series of EDCRB commands. With the first command, specify a master and - slave to create the first combined rigid body. Then, using that body as - the master, specify another slave to create a larger rigid body. - Continue the process, using the expanding rigid body as the master and - adding slave bodies until you have defined the desired large rigid - body. All slave rigid bodies will take on the material properties and - loading of the original master rigid body. Note that you will need to - use different NEQN values for each pair of PARTM and PARTS. This - command will be ignored if you specify the previously-defined master - rigid body as a slave rigid body in the same analysis. To change the - master and slave definitions, first use the DELE option to delete all - master and slave definitions, and then use the ADD option to redefine - them. - - The equation number, NEQN, is a reference number by which the - constrained bodies can be identified for listing and deleting purposes - on the EDCRB command. For any other reference to the constrained bodies - (loading, contact definitions, etc.), use the master body part number - (PARTM). - - This command is also valid in SOLUTION. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + One line is generated between keypoint P1 and the last keypoint + entered. The line will pass through each entered keypoint. Solid + modeling in a toroidal coordinate system is not recommended. """ - command = "EDCRB, %s, %s, %s, %s" % (str(option), str(neqn), str(partm), str(parts)) + command = "BSPLIN,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(p1), str(p2), str(p3), str(p4), str(p5), str(p6), str(xv1), str(yv1), str(zv1), str(xv6), str(yv6), str(zv6)) self.RunCommand(command, **kwargs) - def Sexp(self, labr="", lab1="", lab2="", exp1="", exp2="", **kwargs): + def Edrst(self, nstep="", dt="", **kwargs): """ - APDL Command: SEXP + APDL Command: EDRST - Forms an element table item by exponentiating and multiplying. + Specifies the output interval for an explicit dynamic analysis. Parameters ---------- - labr - Label assigned to results. If same as existing label, the existing - values will be overwritten by these results. - - lab1 - First labeled result item in operation. - - lab2 - Second labeled result item in operation (may be blank). - - exp1 - Exponent applied to Lab1. + nstep + Number of steps at which output is written to the results file + (Jobname.RST). Defaults to 100. When you specify NSTEP, NSTEP+2 + results are written to the Jobname.RST file. The time interval + between output is TIME / NSTEP, where TIME is the analysis end-time + specified on the TIME command. Do not specify a value of NSTEP = 0. - exp2 - Exponent applied to Lab2. + dt + Time interval at which output is written to the results file + (Jobname.RST). If NSTEP is input, DT is ignored. Notes ----- - Forms a labeled result item (see ETABLE command) for the selected - elements by exponentiating and multiplying two existing labeled result - items according to the operation: + You can use NSTEP or DT to specify the output interval to be used for + Jobname.RST. You should not specify both quantities; if both are input, + NSTEP will be used. - LabR = (|Lab1|EXP1) x (|Lab2|EXP2) + In an explicit dynamic small restart (EDSTART,2) or full restart + analysis (EDSTART,3), the EDRST setting will default to the NSTEP or DT + value used in the original analysis. You can issue EDRST in the restart + to change this setting. - Roots, reciprocals, and divides may also be done with this command. + This command is also valid in PREP7. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "SEXP, %s, %s, %s, %s, %s" % (str(labr), str(lab1), str(lab2), str(exp1), str(exp2)) + command = "EDRST,%s,%s" % (str(nstep), str(dt)) self.RunCommand(command, **kwargs) - def Arotat(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", pax1="", - pax2="", arc="", nseg="", **kwargs): + def Torq2d(self, **kwargs): """ - APDL Command: AROTAT - - Generates cylindrical areas by rotating a line pattern about an axis. - - Parameters - ---------- - nl1, nl2, nl3, . . . , nl6 - List of lines in the pattern to be rotated (6 maximum if using - keyboard entry of NL1 to NL6). The lines must lie in the plane of - the axis of rotation. If NL1 = P, graphical picking is enabled and - all remaining arguments are ignored (valid only in the GUI). If - NL1 = ALL, all selected lines will define the pattern to be - rotated. A component name may also be substituted for NL1. - - pax1, pax2 - Keypoints defining the axis about which the line pattern is to be - rotated. - - arc - Arc length (in degrees). Positive follows right-hand rule about - PAX1-PAX2 vector. Defaults to 360°. + APDL Command: TORQ2D - nseg - Number of areas (8 maximum) around circumference. Defaults to - minimum number required for 90° -maximum arcs, i.e., 4 for 360°, 3 - for 270°, etc. + Calculates torque on a body in a magnetic field. Notes ----- - Generates cylindrical areas (and their corresponding keypoints and - lines) by rotating a line pattern (and its associated keypoint pattern) - about an axis. Keypoint patterns are generated at regular angular - locations, based on a maximum spacing of 90°. Line patterns are - generated at the keypoint patterns. Arc lines are also generated to - connect the keypoints circumferentially. Keypoint, line, and area - numbers are automatically assigned, beginning with the lowest available - values [NUMSTR]. Adjacent lines use a common keypoint. Adjacent areas - use a common line. + TORQ2D invokes an ANSYS macro which calculates mechanical torque on a + body in a magnetic field. The body must be completely surrounded by + air (symmetry permitted), and a closed path [PATH] passing through the + air elements surrounding the body must be available. A + counterclockwise ordering of nodes on the PPATH command will give the + correct sign on the torque result. The macro is valid for 2-D planar + analysis. + + The calculated torque is stored in the parameter TORQUE. A node plot + showing the path is produced in interactive mode. The torque is + calculated using a Maxwell stress tensor approach. Path operations are + used for the calculation, and all path items are cleared upon + completion. See the TORQC2D command for torque calculation based on a + circular path. """ - command = "AROTAT, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(pax1), str(pax2), str(arc), str(nseg)) + command = "TORQ2D," % () self.RunCommand(command, **kwargs) - def Eddamp(self, part="", lcid="", valdmp="", **kwargs): + def Vread(self, parr="", fname="", ext="", label="", n1="", n2="", n3="", + nskip="", **kwargs): """ - APDL Command: EDDAMP + APDL Command: *VREAD - Defines mass weighted (Alpha) or stiffness weighted (Beta) damping for - an explicit dynamics model. + Reads data and produces an array parameter vector or matrix. Parameters ---------- - part - PART number [EDPART] identifying the group of elements to which - damping should be applied. If PART = ALL (default), damping is - applied to the entire model. - - lcid - Load curve ID (previously defined with the EDCURVE command) - identifying the damping coefficient versus time curve. If time- - dependent damping is defined, an LCID is required. - - valdmp - Constant system damping coefficient or a scale factor applied to - the curve defining damping coefficient versus time. - - Notes - ----- - Mass-weighted (Alpha) or stiffness-weighted (Beta) damping can be - defined with the EDDAMP command. Generally, stiffness proportional or - beta damping is effective for oscillatory motion at high frequencies. - This type of damping is orthogonal to rigid body motion and so will not - damp out rigid body motion. On the other hand, mass proportional or - alpha damping is more effective for low frequencies and will damp out - rigid body motion. The different possibilities are described below: + parr + The name of the resulting array parameter vector. See *SET for + name restrictions. The parameter must exist as a dimensioned array + [*DIM]. String arrays are limited to a maximum of 8 characters. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - Mass-weighted or Alpha damping + ext + Filename extension (eight-character maximum). - When PART = (blank) or ALL (default), mass-weighted global damping can - be defined in the following two ways. In this case, the same damping is - applied for the entire structure. + -- + Unused field. - When the damping coefficient versus time curve (LCID) is specified - using the EDCURVE command, VALDMP is ignored by LS-DYNA (although it is - written in the LS-DYNA input file Jobname.K). The damping force - applied to each node in the model is given by fd = d(t)mv, where d(t) - is the damping coefficient as a function of time defined by the EDCURVE - command, m is the mass, and v is the velocity. + label + Can take a value of IJK, IKJ, JIK, JKI, KIJ, KJI, or blank (IJK). - When the LCID is 0 or blank (default), a constant mass-weighted system - damping coefficient can be specified using VALDMP. + n1, n2, n3 + Read as (((ParR (i,j,k), k = 1,n1), i = 1, n2), j = 1, n3) for + Label = KIJ. n2 and n3 default to 1. - The constant and time-dependent damping, described above, cannot be - defined simultaneously. The last defined global damping will overwrite - any previously defined global damping. + nskip + Number of lines at the beginning of the file being read that will + be skipped during the reading. Default = 0. - Mass-weighted or Alpha damping - - When both a valid PART number is specified and the damping coefficient - versus time curve (LCID) is specified using the EDCURVE command, mass- - weighted time-dependent damping will be defined for the particular - PART. In this case, VALDMP will act as a scaling factor for the - damping versus time curve (if VALDMP is not specified, it will default - to 1). A valid PART number must be specified to define this type of - damping. For example, use PART =1 (and not blank) when the entire model - consists of only one PART. Issue the command repeatedly with different - PART numbers in order to specify alpha damping for different PARTS. - - Stiffness-weighted or Beta damping - - When a valid PART number is specified with LCID = 0 or (blank) - (default), a stiffness-weighted (Beta) constant damping coefficient for - this particular PART can be defined by VALDMP. The stiffness-weighted - value corresponds to the percentage of damping in the high frequency - domain. For example, 0.1 roughly corresponds to 10% damping in the high - frequency domain. Recommended values range from 0.01 to 0.25. Values - lower than 0.01 may have little effect. If a value larger than 0.25 is - used, it may be necessary to lower the time step size significantly - (see the EDCTS command). Issue the command repeatedly with different - PART numbers in order to specify beta damping for different PARTS. - Time-dependent stiffness-weighted damping is not available in ANSYS LS- - DYNA. + Notes + ----- + Reads data from a file and fills in an array parameter vector or + matrix. Data are read from a formatted file or, if the menu is off + [/MENU,OFF] and Fname is blank, from the next input lines. The format + of the data to be read must be input immediately following the *VREAD + command. The format specifies the number of fields to be read per + record, the field width, and the placement of the decimal point (if + none specified in the value). The read operation follows the available + FORTRAN FORMAT conventions of the system (see your system FORTRAN + manual). Any standard FORTRAN real format (such as (4F6.0), + (E10.3,2X,D8.2), etc.) or alphanumeric format (A) may be used. + Alphanumeric strings are limited to a maximum of 8 characters for any + field (A8). For storage of string arrays greater than 8 characters, the + *SREAD command can be used. Integer (I) and list-directed (*) + descriptors may not be used. The parentheses must be included in the + format and the format must not exceed 80 characters (including + parentheses). The input line length is limited to 128 characters. - The mass-weighted and stiffness-weighted damping, described above, - cannot be defined simultaneously for a particular PART number. The last - defined damping for the particular PART number will overwrite any - previously defined mass-weighted or stiffness-weighted damping for this - PART. + A starting array element number must be defined for the result array + parameter vector (numeric or character). For example, entering these + two lines: - In order to define the mass-weighted and stiffness-weighted damping - simultaneously, you can use the MP,BETD command (instead of the - EDDAMP,PART, ,VALDMP command) to define stiffness-weighted (Beta) - constant damping coefficient. However, do not use both of these - commands together to define stiffness-weighted (Beta) constant damping - coefficient for a particular PART. If you do, duplicate stiffness- - weighted (Beta) constant damping coefficients for this PART will be - written to the LS-DYNA input file Jobname.K. The last defined value - will be used by LS-DYNA. Also, note that the MP,BETD command is applied - on the MAT number, and not on the PART number. Since a group of - elements having the same MAT ID may belong to more than one PART (the - opposite is not true), you need to issue the MP,BETD command only once - for this MAT ID and the stiffness-weighted (Beta) damping coefficients - will be automatically defined for all the PARTs with that MAT ID. + will read two values from each line of file ARRAYVAL and assign the + values to A(1), A(2), A(3), etc. Reading continues until successive + row elements [*VLEN, *VMASK, *DIM] are filled. - Mass-weighted and stiffness-weighted damping can be defined - simultaneously using the EDDAMP command only when mass-weighted damping - (constant or time-dependent) is defined as global damping (EDDAMP, ALL, - LCID, VALDMP) and stiffness-weighted damping is defined for all - necessary PARTs (EDDAMP,PART, ,VALDMP). + For an array parameter matrix, a starting array element row and column + number must be defined. For example, entering these two lines: - To remove defined global damping, reissue the EDDAMP, ALL command with - LCID and VALDMP set to 0. To remove damping defined for a particular - PART, reissue EDDAMP, PART, where PART is the PART number, with LCID - and VALDMP set to 0. There is no default for the EDDAMP command, i.e., - issuing the EDDAMP command with PART = LCID = VALDMP = 0 will result in - an error. Stiffness-weighted damping defined by the MP,BETD command can - be deleted using MPDELE, BETD, MAT. + will read two values from each line of file ARRAYVAL and assign the + values to A(1,1), A(2,1), A(3,1), etc. Reading continues until n1 (10) + successive row elements are filled. Once the maximum row number is + reached, subsequent data will be read into the next column (e.g., + A(1,2), A(2,2), A(3,2), etc.) - In an explicit dynamic small restart (EDSTART,2) or full restart - analysis (EDSTART,3), you can only specify global alpha damping. This - damping will overwrite any alpha damping input in the original - analysis. If you do not input global alpha damping in the restart, the - damping properties input in the original analysis will carry over to - the restart. + For numerical parameters, absolute values and scale factors may be + applied to the result parameter [*VABS, *VFACT]. Results may be + cumulative [*VCUM]. See the *VOPER command for details. If you are in + the GUI the *VREAD command must be contained in an externally prepared + file read into the ANSYS program (i.e., *USE, /INPUT, etc.). - Damping specified by the EDDAMP command can be listed, along with other - explicit dynamics specifications, by typing the command string - EDSOLV$STAT into the ANSYS input window. Beta damping specified by the - MP,BETD command can be listed by MPLIST, MAT command. + This command is not applicable to 4- or 5-D arrays. - This command is also valid in PREP7. + This command is valid in any processor. """ - command = "EDDAMP, %s, %s, %s" % (str(part), str(lcid), str(valdmp)) + command = "*VREAD,%s,%s,%s,%s,%s,%s,%s,%s" % (str(parr), str(fname), str(ext), str(label), str(n1), str(n2), str(n3), str(nskip)) self.RunCommand(command, **kwargs) - def Rmndisp(self, loadt="", loc="", **kwargs): + def Fssparm(self, port1="", port2="", **kwargs): """ - APDL Command: RMNDISP + APDL Command: FSSPARM - Extracts neutral plane displacements from a test load or element load - solution for the ROM method. + Calculates reflection and transmission properties of a frequency + selective surface. Parameters ---------- - loadt - Load type. Load type must be an alphanumeric string enclosed in - single quotes. Valid load types are 'TLOAD' for the test load and - 'ELOAD' for the element load. + port1 + Port number of input port. Defaults to 1. - loc - Determines whether file will be overwritten or appended. Valid - labels are 'WRITE' or 'APPEND'. Defaults to 'WRITE' for test load. + port2 + Port number of output port. Defaults to 1. Notes ----- - This command extracts the displacements at a neutral plane of a model. - If LoadT = 'TLOAD', extract displacements for a test load on a - structure that represents the expected deflection state. A test load - is used to assist in the automatic mode selection for the ROM mode - characterization. If LoadT = 'ELOAD', extract the neutral plane - displacements for an element load that will be used in the use pass of - a ROM analysis. Typical element loads are gravity, and pressure - loading. The element loads may be scaled [RMLVSCALE] during the use - pass. - - The command requires a node component named "NEUN" to be defined. These - nodes represent the nodes at the neutral plane of a structure (in the - case of a stress-stiffened structure), or at any plane in the structure - (non stress-stiffened case). - - For LoadT = 'TLOAD', node displacements are written to the file - jobname.tld. For LoadT = 'ELOAD', node displacements are written to - the file jobname.eld. Up to 5 element load cases may be written to the - file jobname.eld. - - This command is only valid in POST1. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + FSSPARM calculates reflection and transmission coefficients, power + reflection and transmission coefficients, and return and insertion + losses of a frequency selective surface. """ - command = "RMNDISP, %s, %s" % (str(loadt), str(loc)) + command = "FSSPARM,%s,%s" % (str(port1), str(port2)) self.RunCommand(command, **kwargs) - def Eddump(self, num="", dt="", **kwargs): + def Assign(self, ident="", fname="", ext="", lgkey="", **kwargs): """ - APDL Command: EDDUMP + APDL Command: /ASSIGN - Specifies output frequency for the explicit dynamic restart file - (d3dump). + Reassigns a file name to an ANSYS file identifier. Parameters ---------- - num - Number of d3dump (restart) files written during the analysis - (defaults to 1). When you specify NUM, the time interval between - restart files is TIME / NUM, where TIME is the analysis end-time - specified on the TIME command. + ident + ANSYS file name identifier. Valid identifiers are: CMS, EMAT, + EROT, ESAV, FULL, LN07, LN09, LN11, LN20, LN21, LN22, LN25, LN31, + LN32, MODE, OSAV, RDSP, RFRQ, RMG, RST, RSTP, RTH, SELD, and SSCR. + See File Management and Files for file descriptions. If blank, + list currently reassigned files. - dt - Time interval at which the d3dump (restart) files are written. If - NUM is input, DT is ignored. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - Notes - ----- - You can use NUM or DT to specify the time interval at which d3dump - restart files will be written. You should not specify both quantities; - if both are input, NUM will be used. The restart files are written - sequentially as d3dump01, d3dump02, etc. + ext + Filename extension (eight-character maximum). - In LS-DYNA, the restart file output is specified in terms of number of - time steps. Because the total number of time steps is not known until - the LS-DYNA solution finishes, Mechanical APDL calculates an - approximate number of time steps for the solution, and then uses NUM or - DT to calculate the required LS-DYNA input. This approximated number of - time steps may be different from the total number reached in LS-DYNA - after the solution finishes. Therefore, the number of restart dump - files or the output interval may differ slightly from what you - requested using NUM or DT. + -- + Unused field. - In an explicit dynamic small restart (EDSTART,2) or full restart - analysis (EDSTART,3), the EDDUMP setting will default to the NUM or DT - value used in the original analysis. You can issue EDDUMP in the - restart to change this setting. + lgkey + Key to specify local or global file name control for the specified + file identifier in a distributed-memory parallel processing + (Distributed ANSYS) run. For more information on local and global + files, see File Handling Conventions in the Parallel Processing + Guide. - This command is also valid in PREP7. + BOTH - Reassign the file name for both the local and global files (default). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + LOCAL - Reassign the file name for only the local files. + + GLOBAL - Reassign the file name for only the global file. + + Notes + ----- + The reassignment of file names is valid only if it is done before the + file is used. All file reassignments are retained (not cleared) even + if the database is cleared [/CLEAR] or the Jobname is changed + [/FILNAME]. Assigned files may be overwritten. If file name arguments + (Fname, Ext, --) are blank, the default ANSYS assignment is restored. + Use SEOPT for SUB files and SEEXP for DSUB files. + + This command is valid only at the Begin Level. + + This command also checks to ensure that the path/file is valid and can + be written by the user. If it is not valid, an error message will be + returned. Ensure that the directory exists prior to using /ASSIGN + command. """ - command = "EDDUMP, %s, %s" % (str(num), str(dt)) + command = "/ASSIGN,%s,%s,%s,%s" % (str(ident), str(fname), str(ext), str(lgkey)) self.RunCommand(command, **kwargs) - def Ealive(self, elem="", **kwargs): + def Thopt(self, refopt="", reformtol="", ntabpoints="", tempmin="", + tempmax="", algo="", **kwargs): """ - APDL Command: EALIVE + APDL Command: THOPT - Reactivates an element (for the birth and death capability). + Specifies nonlinear transient thermal solution options. Parameters ---------- - elem - Element to be reactivated: - - ALL - Reactivates all selected elements (ESEL). - - P - Enables graphical picking of elements. All remaining command fields are - ignored. (Valid only in the ANSYS GUI.) + refopt + Matrix reform option. - Comp - Specifies a component name. + FULL - Use the full Newton-Raphson solution option (default). All subsequent input + values are ignored. - Notes - ----- - Reactivates the specified element when the birth and death capability - is being used. An element can be reactivated only after it has been - deactivated (EKILL). + QUASI - Use a selective reform solution option based on REFORMTOL. - Reactivated elements have a zero strain (or thermal heat storage, etc.) - state. + reformtol + Property change tolerance for Matrix Reformation (.05 default). The + thermal matrices are reformed if the maximum material property + change in an element (from the previous reform time) is greater + than the reform tolerance. Valid only when Refopt = QUASI. - ANSYS, Inc. recommends using the element deactivation/reactivation - procedure for analyses involving linear elastic materials only. Do not - use element deactivation/reactivation in analyses involving time- - dependent materials, such as viscoelasticity, viscoplasticity, and - creep analysis. + ntabpoints + Number of points in Fast Material Table (64 default). Valid only + when Refopt = QUASI. - This command is also valid in PREP7. + tempmin + Minimum temperature for Fast Material Table. Defaults to the + minimum temperature defined by the MPTEMP command for any material + property defined. Valid only when Refopt = QUASI. - """ - command = "EALIVE, %s" % (str(elem)) - self.RunCommand(command, **kwargs) + tempmax + Maximum temperature for Fast Material Table. Defaults to the + maximum temperature defined by the MPTEMP command for any material + property defined. Valid only when Refopt = QUASI. - def Mdamp(self, stloc="", v1="", v2="", v3="", v4="", v5="", v6="", - **kwargs): - """ - APDL Command: MDAMP + -- + Reserved field. - Defines the damping ratios as a function of mode. + algo + Specifies which solution algorithm to apply: - Parameters - ---------- - stloc - Starting location in table for entering data. For example, if - STLOC = 1, data input in the V1 field applies to the first constant - in the table. If STLOC = 7, data input in the V1 field applies to - the seventh constant in the table, etc. Defaults to the last - location filled + 1. + 0 - Multipass (default). - v1, v2, v3, . . . , v6 - Data assigned to six locations starting with STLOC. If a value is - already in this location, it will be redefined. Blank values for - V2 to V6 leave the corresponding previous value unchanged. + 1 - Iterative. Notes ----- - Defines the damping ratios as a function of mode. Table position - corresponds to mode number. These ratios are added to the DMPRAT - value, if defined. Use STAT command to list current values. Applies - to the mode-superposition harmonic (ANTYPE,HARMIC), the mode- - superposition linear transient dynamic (ANTYPE,TRANS), and the spectrum - (ANTYPE,SPECTR) analyses. Repeat MDAMP command for additional - constants (10000 maximum). + The QUASI matrix reform option is supported by the ICCG, JCG, and + sparse solvers only (EQSLV). - MDAMP can also be defined in a substructure analysis using component - mode synthesis with fixed-interface method (ANTYPE,SUBSTR with - CMSOPT,FIX and SEOPT,,,3). The damping ratios are added to the diagonal - of the reduced damping matrix as explained in Component Mode Synthesis - (CMS). + For Refopt = QUASI: - This command is also valid in PREP7. + Results from a restart may be different than results from a single run + because the stiffness matrices are always recreated in a restart run, + but may or may not be in a single run (depending on the behavior + resulting from the REFORMTOL setting). Additionally, results may differ + between two single runs as well, if the matrices are reformed as a + result of the REFORMTOL setting. + + Midside node temperatures are not calculated if 20-node thermal solid + elements (SOLID90 or SOLID279) are used. + + For more information, see Solution Algorithms Used in Transient Thermal + Analysis in the Thermal Analysis Guide. """ - command = "MDAMP, %s, %s, %s, %s, %s, %s, %s" % (str(stloc), str(v1), str(v2), str(v3), str(v4), str(v5), str(v6)) + command = "THOPT,%s,%s,%s,%s,%s,%s" % (str(refopt), str(reformtol), str(ntabpoints), str(tempmin), str(tempmax), str(algo)) self.RunCommand(command, **kwargs) - def Pdexe(self, slab="", mrun="", nfail="", fopt="", fname="", **kwargs): + def Cqc(self, signif="", label="", forcetype="", **kwargs): """ - APDL Command: PDEXE + APDL Command: CQC - Executes the probabilistic analysis. + Specifies the complete quadratic mode combination method. Parameters ---------- - slab - Solution label. This is the name given to the files containing the - results of different probabilistic analyses performed with a - particular probabilistic model. Different solutions using different - probabilistic methods or method options are stored in separate - solution sets identified with this solution label. If the solution - label is blank, ANSYS automatically assigns Slab = "SOLUnn", where - nn is the current two-digit number of the probabilistic analysis - (PDS allows a maximum of 10 solution sets identified by 10 solution - labels); for example, the first analysis is SOLU01, the second is - SOLU02, and so on up to SOLU10). This field cannot contain blanks. - Maximum length of this field is 32 characters; if the field - contains more than 32 characters, it will be truncated to 32 - characters. - - mrun - Keyword for the processing of the simulation loops + signif + Combine only those modes whose significance level exceeds the + SIGNIF threshold. For single point, multipoint, or DDAM response + (SPOPT,SPRS, MPRS or DDAM), the significance level of a mode is + defined as the mode coefficient of the mode, divided by the maximum + mode coefficient of all modes. Any mode whose significance level + is less than SIGNIF is considered insignificant and is not + contributed to the mode combinations. The higher the SIGNIF + threshold, the fewer the number of modes combined. SIGNIF defaults + to 0.001. If SIGNIF is specified as 0.0, it is taken as 0.0. + (This mode combination method is not valid for SPOPT,PSD.) - SER - Executes the simulation loops of the probabilistic analysis using a single - machine; serial processing (default). + label + Label identifying the combined mode solution output. - PAR - Executes the simulation loops of the probabilistic analysis in parallel using - the ANSYS parallel-processing tool. See Probabilistic Design - in the Advanced Analysis Guide. + DISP - Displacement solution (default). Displacements, stresses, forces, etc., are + available. - nfail - This parameter sets the number of loops that are allowed to fail - before the execution of the probabilistic analysis is terminated. - For example, if geometric parameters are used as random variables - then for some simulations (loops) the loop will fail because - meshing was not successful. This might happen infrequently which - might be acceptable. However, if the probabilistic problem is - incorrectly defined then loops could fail frequently or even in - every loop. You can define an upper limit for the number of failed - loops that will be tolerated before the probabilistic analysis will - be terminated. If you use NFAIL = 0 (default) then failed loops are - not tolerated and the probabilistic analysis will terminate the - first time a loop fails. NFAIL is used only if MRUN = PAR. + VELO - Velocity solution. Velocities, "stress velocities," "force velocities," etc., + are available. - fopt - Keyword for the file option. This determines if a copy of the - sample file should be saved or not. + ACEL - Acceleration solution. Accelerations, "stress accelerations," "force + accelerations," etc., are available. - DEL - The sample file will be deleted (default). + forcetype + Label identifying the forces to be combined: - COPY - A copy of the sample file will be saved as the file name specified with the - Fname option. + STATIC - Combine the modal static forces (default). - fname - Name of the copy of the sample file. The directory for storing the - sample file is always the current working directory. The file - extension is always .csmp. This option is ignored for FOPT = DEL. + TOTAL - Combine the modal static plus inertial forces. Notes ----- - Runs the probabilistic analysis. The results of the probabilistic - analysis are identified with the solution label specified here. This - solution label is used for the postprocessing of the results. The - maximum number of probabilistic analyses that can be executed, stored, - and post-processed based on the same deterministic and probabilistic - model in one session with the PDS is 10. However, it is not counted as - a separate probabilistic analysis if the same solution label is used - multiple times in order to append to or overwrite previous results. + Damping is required for this mode combination method. The CQC command + is also valid for PREP7. - The probabilistic results are stored in result files in ASCII format. + """ + command = "CQC,%s,%s,%s" % (str(signif), str(label), str(forcetype)) + self.RunCommand(command, **kwargs) - If you specify a solution label that has already been used, the results - will be appended at the end of the results file. + def Digit(self, **kwargs): + """ + APDL Command: DIGIT - After the PDEXE command has been issued, you can no longer change the - probabilistic model using probabilistic preprocessing commands; doing - so would invalidate the probabilistic analysis results and potentially - corrupt the probabilistic database. Also, you are not allowed to change - the probabilistic analysis file using a PDANL command after the first - PDEXE has been executed. + Specifies "Node digitizing" as the subsequent status topic. - If you need to change the probabilistic model (analysis file, random - input variables, etc.) after the PDEXE command has been issued, you - should use the PDCLR, POST command to clear the probabilistic results. - We recommend that you first save the results using the PDSAVE command. + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - By default, ANSYS creates a sample file (called Jobname.samp) - containing all values of all random input parameters; unless you - specify otherwise, this file is deleted after the analysis is finished. - With the FOPT and Fname options you can determine if and where a copy - of that file should be stored for later use in another analysis. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "PDEXE, %s, %s, %s, %s, %s" % (str(slab), str(mrun), str(nfail), str(fopt), str(fname)) + command = "DIGIT," % () self.RunCommand(command, **kwargs) - def Emunit(self, lab="", value="", **kwargs): + def Cmlist(self, name="", key="", entity="", **kwargs): """ - APDL Command: EMUNIT + APDL Command: CMLIST - Specifies the system of units for magnetic field problems. + Lists the contents of a component or assembly. Parameters ---------- - lab - Label specifying the type of units: + name + Name of the component or assembly to be listed (if blank, list all + selected components and assemblies). If Name is specified, then + Entity is ignored. - MKS - Rationalized MKS system of units (meters, amperes, henries, webers, etc.). - Free-space permeability is set to 4 πe-7 henries/meter. Free- - space permittivity is set to 8.85 e-12 F/m. + key + Expansion key: - MUZRO - User defined system of units. Free-space permeability is set to the value input - for VALUE. Other units must correspond to the permeability - units. Relative permeability may be altered to absolute - values. + 0 - Do not list individual entities in the component. - EPZRO - User defined system of units. Free-space permittivity is set to the value input - for VALUE. Other units must correspond to the permittivity - units. + 1 or EXPA - List individual entities in the component. - value - User value of free-space permeability (defaults to 1) if Lab = - MUZRO, or free-space permittivity (defaults to 1) if Lab = EPZRO. + entity + If Name is blank, then the following entity types can be specified: - Notes - ----- - Specifies the system of units to be used for electric and magnetic - field problems. The free-space permeability and permittivity values may - be set as desired. These values are used with the relative property - values [MP] to establish absolute property values. + VOLU - List the volume components only. - Note:: : If the magnetic source field strength (Hs) has already been - calculated [BIOT], switching EMUNIT will not change the values. + AREA - List the area components only. - For micro-electromechanical systems (MEMS), where dimensions are on the - order of microns, see the conversion factors in System of Units in the - Coupled-Field Analysis Guide. + LINE - List the line components only. - This command is also valid in SOLUTION. + KP - List the keypoint components only - """ - command = "EMUNIT, %s, %s" % (str(lab), str(value)) - self.RunCommand(command, **kwargs) + ELEM - List the element components only. - def Slashlarc(self, xcentr="", ycentr="", xlrad="", angle1="", angle2="", - **kwargs): - """ - APDL Command: /LARC + NODE - List the node components only. - Creates annotation arcs (GUI). + Notes + ----- + This command is valid in any processor. For components, it lists the + type of geometric entity. For assemblies, it lists the components + and/or assemblies that make up the assembly. - Parameters - ---------- - xcentr - Arc X center location (-1.0 < X < 1.0). + Examples of possible usage: - ycentr - Arc Y center location (-1.0 < Y < 1.0). + """ + command = "CMLIST,%s,%s,%s" % (str(name), str(key), str(entity)) + self.RunCommand(command, **kwargs) - xlrad - Arc radius length. + def Cbmx(self, row="", s_r__r_="", s_r__r_plus_1_="", s_r__r_plus_2_="", + s_r__r_plus_3_="", s_r__r_plus_4_="", s_r__r_plus_5_="", + s_r__r_plus_6_="", **kwargs): + """ + APDL Command: CBMX - angle1 - Starting angle of arc. + Specifies preintegrated cross-section stiffness for composite beam + sections. - angle2 - Ending angle of arc. The arc is drawn counterclockwise from the - starting angle, ANGLE1, to the ending angle, ANGLE2. + Parameters + ---------- + row + Row number of the matrix. + + s(r)(r), . . . , s(r)(r+6) + Upper triangle of the cross-section stiffness matrix [S]. Notes ----- - Defines annotation arcs to be written directly onto the display at a - specified location. This is a command generated by the Graphical User - Interface (GUI) and will appear in the log file (Jobname.LOG) if - annotation is used. This command is not intended to be typed in - directly in an ANSYS session (although it can be included in an input - file for batch input or for use with the /INPUT command). + The behavior of beam elements is governed by the generalized- + stress/generalized-strain relationship of the form: - All arcs are shown on subsequent displays unless the annotation is - turned off or deleted. Use the /LSPEC command to set the attributes of - the arc. + The CBMX command, one of several composite beam section commands, + specifies the cross-section stiffness matrix (submatrix [S] data) for a + composite beam section. The section data defined is associated with the + section most recently defined (SECTYPE) at the specified temperature + (CBTMP). - This command is valid in any processor. + Unspecified values default to zero. + + Related commands are CBTMP, CBTE, and CBMD. + + For complete information, see Using Preintegrated Composite Beam + Sections. """ - command = "/LARC, %s, %s, %s, %s, %s" % (str(xcentr), str(ycentr), str(xlrad), str(angle1), str(angle2)) + command = "CBMX,%s,%s,%s,%s,%s,%s,%s,%s" % (str(row), str(s_r__r_), str(s_r__r_plus_1_), str(s_r__r_plus_2_), str(s_r__r_plus_3_), str(s_r__r_plus_4_), str(s_r__r_plus_5_), str(s_r__r_plus_6_)) self.RunCommand(command, **kwargs) - def Aplot(self, na1="", na2="", ninc="", degen="", scale="", **kwargs): + def Plgeom(self, item="", nodekey="", **kwargs): """ - APDL Command: APLOT + APDL Command: PLGEOM - Displays the selected areas. + Plots target and source geometries. Parameters ---------- - na1, na2, ninc - Displays areas from NA1 to NA2 (defaults to NA1) in steps of NINC - (defaults to 1). If NA1 = ALL (default), NA2 and NINC are ignored - and all selected areas [ASEL] are displayed. + item + Items to plot: - degen - Degeneracy marker: + BOTH - Plot both target and source geometries (default). - (blank) - No degeneracy marker is used (default). + TARGET - Plot only the target geometry. - DEGE - A red star is placed on keypoints at degeneracies (see the Modeling and Meshing - Guide ). Not available if /FACET,WIRE is set. + SOURCE - Plot only the source geometry. - scale - Scale factor for the size of the degeneracy-marker star. The scale - is the size in window space (-1 to 1 in both directions) (defaults - to .075). + nodekey + If the source data contains faces (that is, surface elements were + created upon the READ command), set NODEkey = 1 to plot only the + source nodes rather than both the nodes and the elements. Notes ----- - This command is valid in any processor. The degree of tessellation - used to plot the selected areas is set through the /FACET command. + Target faces are displayed in gray and source points in yellow. If the + source data contains faces (that is, surface elements were created upon + the READ command), the source faces are also displayed in blue (unless + NODEkey = 1), and both surfaces are made translucent. """ - command = "APLOT, %s, %s, %s, %s, %s" % (str(na1), str(na2), str(ninc), str(degen), str(scale)) + command = "PLGEOM,%s,%s" % (str(item), str(nodekey)) self.RunCommand(command, **kwargs) - def Cylind(self, rad1="", rad2="", z1="", z2="", theta1="", theta2="", - **kwargs): + def Amap(self, area="", kp1="", kp2="", kp3="", kp4="", **kwargs): """ - APDL Command: CYLIND + APDL Command: AMAP - Creates a cylindrical volume centered about the working plane origin. + Generates a 2-D mapped mesh based on specified area corners. Parameters ---------- - rad1, rad2 - Inner and outer radii (either order) of the cylinder. A value of - zero or blank for either RAD1 or RAD2, or the same value for both - RAD1 and RAD2, defines a solid cylinder. - - z1, z2 - Working plane Z coordinates of the cylinder. If either Z1 or Z2 is - zero, one of the faces of the cylinder will be coplanar with the - working plane. + area + Area number of area to be meshed. If AREA = P, graphical picking + is enabled and all remaining arguments are ignored (valid only in + the GUI). - theta1, theta2 - Starting and ending angles (either order) of the cylinder. Used - for creating a cylindrical sector. The sector begins at the - algebraically smaller angle, extends in a positive angular - direction, and ends at the larger angle. The starting angle - defaults to 0.0° and the ending angle defaults to 360.0°. See the - Modeling and Meshing Guide for an illustration. + kp1, kp2, kp3, kp4 + Keypoints defining corners of the mapped mesh. Three or four + corners may be specified, and may be input in any order. Notes ----- - Defines a cylindrical volume centered about the working plane origin. - The top and bottom faces are parallel to the working plane but neither - face need be coplanar with (i.e., "on") the working plane. The - cylinder must have a spatial volume greater than zero. (i.e., this - volume primitive command cannot be used to create a degenerate volume - as a means of creating an area.) For a solid cylinder of 360°, the top - and bottom faces will be circular (each area defined with four lines), - and they will be connected with two areas (each spanning 180°.) See - the CYL4 and CYL5 commands for alternate ways to create cylinders. + Only one area at a time can be meshed with this command. The program + internally concatenates all lines between the specified keypoints, then + meshes the area with all quadrilateral elements. If line divisions are + set, the mesh will follow the rules for mapped meshing (see Meshing + Your Solid Model in the Modeling and Meshing Guide). + + If the area being meshed has concatenated lines, the program will ask + if those concatenations should be removed (in batch, the concatenations + will automatically be removed). Nodes required for the generated + elements are created and assigned the lowest available node numbers. + If a mapped mesh is not possible due to mismatched line divisions or + poor element shapes, the meshing operation is aborted. """ - command = "CYLIND, %s, %s, %s, %s, %s, %s" % (str(rad1), str(rad2), str(z1), str(z2), str(theta1), str(theta2)) + command = "AMAP,%s,%s,%s,%s,%s" % (str(area), str(kp1), str(kp2), str(kp3), str(kp4)) self.RunCommand(command, **kwargs) - def Spgraph(self, tblno="", curvno="", curvnobeg ="", **kwargs): + def Mpwrite(self, fname="", ext="", mat="", **kwargs): """ - APDL Command: SPGRAPH + APDL Command: MPWRITE - Displays input spectrum curves for MPRS analysis. + Writes linear material properties in the database to a file (if the LIB + option is not specified) or writes both linear and nonlinear material + properties (if LIB is specified) from the database to a file. Parameters ---------- - tblno - Table number to display. Defaults to 1. + fname + File name and directory path (248 characters maximum, including + directory). If you do not specify the LIB option, the default + directory is the current working directory. If you specify LIB and + you have specified a material library directory (via the /MPLIB + command), that directory is the default. Otherwise, the default is + the current working directory. If you use the default for your + directory, you can use all 248 characters for the file name. - curvno - Curve number to display. Defaults to none. + ext + Filename extension (eight-character maximum). - curvnobeg - Beginning of the curve number range to display. Defaults to 1. + -- + Unused field. - Notes - ----- - You can display up to 10 input spectrum curves (SPVAL and SPFREQ - commands) with log X scale. + lib + The only value allowed for this field is the string "LIB." - If the input spectrum curves are not associated with a damping value - (SPDAMP command), CURVNO and CURVNOBeg are not applicable and table - TBLNO is displayed. Otherwise, specify CURVNO or CURVNOBeg: + mat + Specifies the material to be written to the named material library + file. There is no default; you must either specify a material or + omit the MAT argument. Even if you specify a MAT value, the ANSYS + program ignores it if the LIB argument is not specified. - if CURVNO is used, one curve is displayed. + Notes + ----- + Writes linear material properties currently in the database to a file. + The file is rewound before and after writing. - if CURVNOBeg is used, up to 10 curves are displayed. CURVNOBeg is the - beginning of the curve number range of interest. + This command is also valid in SOLUTION. """ - command = "SPGRAPH, %s, %s, %s" % (str(tblno), str(curvno), str(curvnobeg )) + command = "MPWRITE,%s,%s,%s" % (str(fname), str(ext), str(mat)) self.RunCommand(command, **kwargs) - def Local(self, kcn="", kcs="", xc="", yc="", zc="", thxy="", thyz="", - thzx="", par1="", par2="", **kwargs): + def Anstoasas(self, fname="", key="", **kwargs): """ - APDL Command: LOCAL + APDL Command: ANSTOASAS - Defines a local coordinate system by a location and orientation. + Creates an ASAS input file from the current ANSYS model. Parameters ---------- - kcn - Arbitrary reference number assigned to this coordinate system. - Must be greater than 10. A coordinate system previously defined - with this number will be redefined. - - kcs - Coordinate system type: - - 0 or CART - Cartesian - - 1 or CYLIN - Cylindrical (circular or elliptical) + fname + ASAS file name. Defaults to Jobname. - 2 or SPHE - Spherical (or spheroidal) + key + Key indicating type of file to produce: - 3 or TORO - Toroidal + 0 - ASAS file for use by ANSYS Aqwa (no loads written). Creates the file + Fname.asas. - xc, yc, zc - Location (in the global Cartesian coordinate system) of the origin - of the new coordinate system. + 1 - ASAS file (all data written, including loads). Creates the file Fname.asas. - thxy - First rotation about local Z (positive X toward Y). + 2 - ASAS(NL) file. Creates the file Fname.asnl. - thyz - Second rotation about local X (positive Y toward Z). + Notes + ----- + This command creates an input file for the ANSYS Asas Finite Element + Analysis System from the model and loads currently in the database, + based on the currently selected set of elements. Most common structural + element types are written, as well as sections (or real constants), + materials, boundary conditions and loads, and solution and load step + options. - thzx - Third rotation about local Y (positive Z toward X). + Data Written - par1 - Used for elliptical, spheroidal, or toroidal systems. If KCS = 1 - or 2, PAR1 is the ratio of the ellipse Y-axis radius to X-axis - radius (defaults to 1.0 (circle)). If KCS = 3, PAR1 is the major - radius of the torus. + The following data is written: - par2 - Used for spheroidal systems. If KCS = 2, PAR2 = ratio of ellipse - Z-axis radius to X-axis radius (defaults to 1.0 (circle)). + Solution control options - Notes - ----- - Defines a local coordinate system by origin location and orientation - angles. The local coordinate system is parallel to the global - Cartesian system unless rotated. Rotation angles are in degrees and - redefine any previous rotation angles. See the CLOCAL, CS, CSWPLA, and - CSKP commands for alternate definitions. This local system becomes the - active coordinate system [CSYS]. Local coordinate systems may be - displayed with the /PSYMB command. + Nodes - This command is valid in any processor. + Elements - """ - command = "LOCAL, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(kcn), str(kcs), str(xc), str(yc), str(zc), str(thxy), str(thyz), str(thzx), str(par1), str(par2)) - self.RunCommand(command, **kwargs) + Material data - def Aux2(self, **kwargs): - """ - APDL Command: /AUX2 + Geometry data - Enters the binary file dumping processor. + Section data - Notes - ----- - Enters the binary file dumping processor (ANSYS auxiliary processor - AUX2). This processor is used to dump the contents of certain ANSYS - binary files for visual examination. + ANSYS element components (ASAS sets) - This command is valid only at the Begin Level. + Boundary conditions - """ - command = "/AUX2, " % () - self.RunCommand(command, **kwargs) + Loads - def Lumpm(self, key="", **kwargs): - """ - APDL Command: LUMPM + Added mass (via MASS21 element) - Specifies a lumped mass matrix formulation. + Details are provided in the following sections. - Parameters - ---------- - key - Formulation key: + Not all data is written. You must verify the completeness and accuracy + of the data. Only loading at the current step is transferred; hence, no + load step history is captured. - OFF - Use the element-dependent default mass matrix formulation (default). + Solution Control Options - ON - Use a lumped mass approximation. + The ASAS project name is defined as "ANSYS". - Notes - ----- - This command is also valid in PREP7. If used in SOLUTION, this command - is valid only within the first load step. + The solution control options are converted as follows: - """ - command = "LUMPM, %s" % (str(key)) - self.RunCommand(command, **kwargs) + JOB: STAT SPIT: KGEOM - def Da(self, area="", lab="", value1="", value2="", **kwargs): - """ - APDL Command: DA + JOB: STAT SPIT: KGEOM - Defines degree-of-freedom constraints on areas. + For conversion to ASAS(NL), the large displacement option is set based + on NLGEOM, final load solution time is set based on TIME, and sub-step + times are set based on DELTIM or NSUBST (assuming constant step size). - Parameters - ---------- - area - Area on which constraints are to be specified. If ALL, apply to - all selected areas [ASEL]. If AREA = 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 AREA. + Element Data - lab - Symmetry label (see 2 below): + If you intend to use the data only with AQWA-WAVE, only the elements + that form the wetted surface are required. Selecting these elements + before invoking the ANSTOASAS command will improve performance. In + order for AQWA-WAVE to identify the direction of the wave loading, all + elements must be defined by nodes in a clockwise direction. For further + information, refer to the AQWA-WAVE manual. - SYMM - Generate symmetry constraints. Requires no Value1 or Value2. + The element types are converted as follows: - ASYM - Generate antisymmetry constraints. Requires no Value1 or Value2. + SPR1: SPR2: if: rotational: spring: FLA2: (ASAS(L): only): if: + nodes: are: not: coincident: and: longitudinal: spring: - value1 - Value of DOF or table name reference on the area. Valid for all - DOF labels. To specify a table, enclose the table name in % signs - (e.g., DA,AREA,TEMP,%tabname%). Use the *DIM command to define a - table. + QUM4: TRM3: -: if: Triangular - value2 - For MAG and VOLT DOFs: + BRK8: TET4: -: if: Tetrahedral: BRK6: -: if: Prism - Notes - ----- - For elements SOLID236 and SOLID237, if Lab = AZ and Value1 = 0, this - sets the flux-parallel condition for the edge formulation. (A flux- - normal condition is the natural boundary condition.) Do not use the DA - command to set the edge-flux DOF, AZ to a nonzero value. + QUS4: TBC3: -: if: Triangular - If Lab = MAG and Value1 = 0, this sets the flux-normal condition for - the magnetic scalar potential formulations (MSP) (A flux-parallel - condition is the natural boundary condition for MSP.) + QUM8: TRM6: -: if: Triangular - If Lab = VOLT and Value1 = 0, the J-normal condition is set (current - density (J) flow normal to the area). (A J-parallel condition is the - natural boundary condition.) + BR20: TE10: -: if: Tetrahedral: : BR15: -: if: Prism - You can transfer constraints from areas to nodes with the DTRAN or - SBCTRAN commands. See the DK command for information about generating - other constraints on areas. + QUS4: TBC3: -: if: Triangular - Symmetry and antisymmetry constraints are generated as described for - the DSYM command. + QUM4: TRM3: -: if: Triangular - Tabular boundary conditions (VALUE = %tabname%) are available only for - the following degree of freedom labels: Electric (VOLT), Structural - (UX, UY, UZ, ROTX, ROTY, ROTZ), Acoustic (PRES, UX, UY, UZ), and - temperature (TEMP, TBOT, TE2, TE3, . . ., TTOP). + QUM8: TRM6: -: if: Triangular - Constraints specified by the DA command can conflict with other - specified constraints. See Resolution of Conflicting Constraint - Specifications\ in the Basic Analysis Guide for details. + BRK8: TET4: -: if: Tetrahedral: BRK6: -: if: Prism - The DA command is also valid in PREP7. + BR20: TE10: -: if: Tetrahedral: BR15: -: if: Prism - """ - command = "DA, %s, %s, %s, %s" % (str(area), str(lab), str(value1), str(value2)) - self.RunCommand(command, **kwargs) + TCBM: -: if: ASAS(L): STF4: -: if: ASAS(NL) - def Gsum(self, **kwargs): - """ - APDL Command: GSUM + Documentation for this legacy element type appears in the Feature + Archive. - Calculates and prints geometry items. + Material Data - Notes - ----- - Calculates and prints geometry items (centroid location, moments of - inertia, length, area, volume etc.) associated with the selected - keypoints, lines, areas, and volumes. Geometry items are reported in - the global Cartesian coordinate system. For volumes, a unit density - is assumed unless the volumes have a material association via the VATT - command. For areas, a unit density (and thickness) is assumed unless - the areas have a material (and real constant) association via the AATT - command. For lines and keypoints, a unit density is assumed, - irrespective of any material associations [LATT, KATT, MAT]. Items - calculated by GSUM and later retrieved by a *GET or *VGET commands are - valid only if the model is not modified after the GSUM command is - issued. This command combines the functions of the KSUM, LSUM, ASUM, - and VSUM commands. + Linear isotropic material conversion is supported for ASAS and + ASAS(NL). - """ - command = "GSUM, " % () - self.RunCommand(command, **kwargs) + Geometry Data - def Bsm2(self, val1="", val2="", t="", **kwargs): - """ - APDL Command: BSM2 + The following ASAS element geometry data is supported: - Specifies the bending curvature and moment relationship in plane XY for - beam sections. + Section Data - Parameters - ---------- - val1 - Curvature component (κ2). + No user sections are generated if AQWA-WAVE data is selected. - val2 - Bending moment component (M2). + The following sections are converted for ASAS and ASAS(NL): - t - Temperature. + Boundary Conditions - Notes - ----- - The behavior of beam elements is governed by the generalized- - stress/generalized-strain relationship of the form: + The following boundary conditions are converted for ASAS and ASAS(NL): - The BSM2 command, one of several nonlinear general beam section - commands, specifies the bending curvature and moment relationship for - plane XY of a beam section. The section data defined is associated with - the section most recently defined (via the SECTYPE command). + Loads - Unspecified values default to zero. + No user loading is generated if AQWA-WAVE data is selected. However, a + load case (number 1000) is automatically defined to identify the wetted + surface of the elements for use by AQWA-WAVE based on the normal + surface loads applied to the solid or shell elements. - Related commands are BSAX, BSM1, BSTQ, BSS1, BSS2, BSMD, and BSTE. + Pressure loads from SURF154 elements are converted to equivalent nodal + loads for ASAS. For AQWA-WAVE, the SURF154 pressures are used to + identify the wetted surface of the underlying elements. The following + loads are converted for ASAS: - For complete information, see Using Nonlinear General Beam Sections. + DISTRIBUted: loading: Shells: -: ML2: Beams: -: BL1: /: BL2: Tubes: + -: GL1: Curved: beams: -: CB1 """ - command = "BSM2, %s, %s, %s" % (str(val1), str(val2), str(t)) + command = "ANSTOASAS,%s,%s" % (str(fname), str(key)) self.RunCommand(command, **kwargs) - def Lcwrite(self, lcno="", fname="", ext="", **kwargs): + def Ksum(self, **kwargs): """ - APDL Command: LCWRITE + APDL Command: KSUM - Creates a load case by writing results to a load case file. + Calculates and prints geometry statistics of the selected keypoints. - Parameters - ---------- - lcno - Arbitrary pointer number (1-99) to be assigned to this load case. + Notes + ----- + Calculates and prints geometry statistics (centroid location, moments + of inertia, etc.) associated with the selected keypoints. Geometry + items are reported in the global Cartesian coordinate system. A unit + density is assumed, irrespective of any material associations [KATT, + MAT]. Items calculated by KSUM and later retrieved by a *GET or *VGET + command are valid only if the model is not modified after the KSUM + command is issued. - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + """ + command = "KSUM," % () + self.RunCommand(command, **kwargs) - ext - Filename extension (eight-character maximum). + def Reorder(self, **kwargs): + """ + APDL Command: REORDER - -- - Unused field. + Specifies "Model reordering" as the subsequent status topic. Notes ----- - Creates a load case by writing the results data in the database to a - load case file. The database remains unchanged by this operation. A - pointer is also established to the written set of results on the load - case file. This pointer (LCNO) can then be used on the LCASE or LCOPER - commands to read the load case data into the database. By default, - only summable results data (such as displacements, stresses, elastic - strains) and constant results data (such as volume) are written to the - load case file unless requested (LCSUM command). Non-summable results - data (such as plastic strains, strain energy), boundary conditions, and - nodal loads are not written to the load case file. The load case file - may be named by default or by a user name. Rewriting to the same file - overwrites the previous data. See the LCDEF command for status and - erase operations. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "LCWRITE, %s, %s, %s" % (str(lcno), str(fname), str(ext)) + command = "REORDER," % () self.RunCommand(command, **kwargs) - def Ansol(self, nvar="", node="", item="", comp="", name="", mat="", - real="", ename="", **kwargs): + def Veorient(self, vnum="", option="", value1="", value2="", **kwargs): """ - APDL Command: ANSOL + APDL Command: VEORIENT - Specifies averaged nodal data to be stored from the results file in the - solution coordinate system. + Specifies brick element orientation for volume mapped (hexahedron) + meshing. Parameters ---------- - nvar - Arbitrary reference number assigned to this variable (2 to NV - [NUMVAR]). Overwrites any existing results for this variable. - - node - Node number for which data are to be stored. + vnum + Number identifying volume for which elements are to be oriented (no + default). - item - Label identifying the item. General item labels are shown in Table - 126: ANSOL - General Item and Component Labels below. Some items - also require a component label. + option + Option for defining element orientation: - comp - Component of the item (if required). General component labels are - shown in Table 126: ANSOL - General Item and Component Labels - below. + KP - Orientation is determined by two keypoints on the volume. Input the keypoint + numbers (KZ1 and KZ2) in fields VALUE1 and VALUE2, + respectively. The element z-axis points from KZ1 toward KZ2. + Element x and y directions point away from KZ1 along edges of + the volume to make a right-hand triad. (The element x- and + y-axes are uniquely determined by this specification.) - name - Thirty-two character name for identifying the item on the printout - and displays. Defaults to an eight character label formed by - concatenating the first four characters of the Item and Comp - labels. + LINE - Orientation is determined by one of the lines defining the volume. Input the + line number in field VALUE1. The element z direction follows + the direction of the line. Input a negative value if the + desired z direction is opposite to the direction of the + specified line. (The element x- and y-axes are uniquely + determined by this specification.) (VALUE2 is not used.) - mat - The material number. Average will be computed based on the subset - of elements with the specified material number. DEFAULT: Use all - elements in the active set unless Real and/or Ename is specified. + AREA - Orientation is determined by one of the areas defining the volume. The area + represents the desired element top surface. Input the area + number as VALUE1. The shortest line in the volume connected + to the area will be used to specify the element z direction. + (If more than one shortest line exists, the lowest numbered + of those is used.) Element x and y directions are not + uniquely specified by this option. (VALUE2 is not used.) - real - The real number. Average will be computed based on the subset of - elements with the specified real number. DEFAULT: Use all elements - in the active set unless Mat and/or Ename is specified. + THIN - Align the element z normal to the thinnest dimension of the volume. The + shortest line in the volume is used to specify the element z + direction. (If more than one shortest line exists, the + lowest numbered of those is used.) Element x and y + directions are not uniquely specified by this option. + (VALUE1 and VALUE2 are not used.) - ename - The element type name. Average will be computed based on the subset - of elements with the specified element type name. DEFAULT: Use all - elements in the active set unless Mat and/or Real is specified. + DELE - Delete the previously defined volume orientation for the specified volume + (VNUM). (VALUE1 and VALUE2 are not used.) + + value1, value2 + Parameters required for the element z-axis direction specification. + The meaning of VALUE1 and VALUE2 will depend on the chosen Option. + See the description of Option above for details. Notes ----- - Valid item and component labels for averaged nodal results are listed - in Table: 126:: ANSOL - General Item and Component Labels, below. - - All element nodal quantities are obtained in RSYS, Solu and then - averaged. - - The ANSOL command defines averaged nodal results data to be stored from - a results file [FILE]. Not all items are valid for all nodes. See the - input and output summary tables of the Element Reference of each - element that is attached to the node for the available items. - - COORDINATE SYSTEMS: All element nodal results used by ANSOL for - averaging are in the element coordinate system, except for layered - elements. Layered element results are in the layer coordinate system. - You can further specify the element nodal results, for some elements, - with the SHELL, LAYERP26, and FORCE commands. - - ANSOL does not transform results from RSYS, SOLU to other coordinate - systems. Verify that all elements attached to the subject node have the - same coordinate system before using ANSOL. - - SHELL ELEMENTS: The default shell element coordinate system is based on - node ordering. For shell elements the adjacent elements could have a - different RSYS,SOLU, making the resultant averaged data inconsistent. A - note to this effect is issued when ANSOL is used in models containing - shell elements. Ensure that consistent coordinate systems are active - for all associated elements used by the ANSOL command. - - DERIVED QUANTITIES: Some of the result items supported by ANSOL (see - Table: 126:: ANSOL - General Item and Component Labels) are derived - from the component quantities. Use AVPRIN to specify the principal and - vector sum quantity averaging methods. - - DEFAULT: If Mat, Real , and Ename are not specified, all of the - elements attached to the node will be considered. When a material ID, - real constant ID, or element type discontinuity is detected at a node, - a note is issued. For example, in a FSI analysis, a FLUID30 element at - the structure interface would be considered. But since it contains no - SX result, it will not be used during STORE operations. + Use VEORIENT before the VMESH command to specify the desired + orientation of brick elements in a mapped mesh. VEORIENT has no effect + on tetrahedron meshes, extruded meshes (VROTAT, VDRAG, VEXT, etc.), or + swept meshes (VSWEEP). - Table: 126:: : ANSOL - General Item and Component Labels + Proper brick orientation is essential for certain element types such as + SOLID185 Layered Solid, SOLID186 Layered Solid, and SOLSH190. In such + cases, use VEORIENT or EORIENT to achieve the desired orientation. For + other brick element types, you may need to specify element orientation + to control orthotropic material property directions without concern for + the element connectivity. For those cases, the ESYS command is the + preferred method of specifying the material property directions. - For more information on the meaning of contact status and its possible - values, see Reviewing Results in POST1 in the Contact Technology Guide. + For Option = LINE, AREA, and THIN, the orientation will be internally + converted to an equivalent Option = KP specification (KP,KZ1,KZ2). Use + the VLIST command to view the element orientations (in terms of KZ1 and + KZ2) associated with each volume. """ - command = "ANSOL, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nvar), str(node), str(item), str(comp), str(name), str(mat), str(real), str(ename)) + command = "VEORIENT,%s,%s,%s,%s" % (str(vnum), str(option), str(value1), str(value2)) self.RunCommand(command, **kwargs) - def Dsurf(self, kcn="", xsurf="", ysurf="", zsurf="", **kwargs): + def Tbplot(self, lab="", mat="", tbopt="", temp="", segn="", **kwargs): """ - APDL Command: DSURF + APDL Command: TBPLOT - Defines the surface upon which digitized nodes lie. + Displays the material data table. Parameters ---------- - kcn - Surface is located in coordinate system KCN. KCN may be 0,1,2 or - any previously defined local coordinate system number. + lab + Data table label. Valid labels are: MKIN, KINH, MELAS, MISO, + BKIN, BISO, BH, GASKET, and JOIN. Defaults to the active table + label. For B-H data, also valid are: NB to display NU-B2, MH to + display MU vs. H, and SBH, SNB, SMH to display the slopes of the + corresponding data. - xsurf, ysurf, zsurf - Input one value to define the surface constant. Input 999 in the - other two fields. Interpret fields as R, θ, Z for cylindrical or - R, θ, Φ for spherical or toroidal coordinate systems. XSURF and - YSURF default to 999 if KCN = 0. + mat + Material number to be displayed (defaults to the active material). - Notes - ----- - Defines the surface upon which the nodes to be digitized (with the DIG - command) actually lie. Surfaces are defined by a coordinate system - number and a coordinate constant [MOVE]. Two coordinates are - determined from the drawing and converted to surface coordinates. The - third coordinate is defined from the input surface constant. If nodes - lie on warped or undefined surfaces, use the DMOVE command. + tbopt + Gasket material or joint element material option to be plotted. - """ - command = "DSURF, %s, %s, %s, %s" % (str(kcn), str(xsurf), str(ysurf), str(zsurf)) - self.RunCommand(command, **kwargs) + ALL - Plots all gasket data. - def Cpsgen(self, itime="", inc="", nset1="", nset2="", ninc="", **kwargs): - """ - APDL Command: CPSGEN + COMP - Plots gasket compression data only. - Generates sets of coupled nodes from existing sets. + LUNL - Plots gasket linear unloading data with compression curve. - Parameters - ---------- - itime, inc - Do this generation operation a total of ITIMEs, incrementing all - nodes in the existing sets by INC each time after the first. ITIME - must be > 1 for generation to occur. + NUNL - Plots gasket nonlinear unloading data only. - nset1, nset2, ninc - Generate sets from sets beginning with NSET1 to NSET2 (defaults to - NSET1) in steps of NINC (defaults to 1). If NSET1 is negative, - NSET2 and NINC are ignored and the last |NSET1| sets (in sequence - from the maximum set number) are used as the sets to be repeated. + temp + Specific temperature at which gasket data or joint element material + data will be plotted (used only when Lab = GASKET or JOIN). Use + TEMP = ALL to plot gasket data or joint element material data at + all temperatures. + + segn + Segment number of plotted curve (valid only when Lab = GASKET): + + NO - Segment number is not added to plotted curve (default). + + YES - Segment number is added to plotted curve. This option is ignored if the number + of data points in a curve exceeds 20. Notes ----- - Generates additional sets of coupled nodes (with the same labels) from - existing sets. Node numbers between sets may be uniformly incremented. + Only data for stress-strain, B-H, gasket curves, or joint element + nonlinear material model curves can be displayed. + + The TBOPT and TEMP values are valid only when Lab = GASKET or JOIN. + + The SEGN value is valid only when Lab = GASKET. + + This command is valid in any processor. """ - command = "CPSGEN, %s, %s, %s, %s, %s" % (str(itime), str(inc), str(nset1), str(nset2), str(ninc)) + command = "TBPLOT,%s,%s,%s,%s,%s" % (str(lab), str(mat), str(tbopt), str(temp), str(segn)) self.RunCommand(command, **kwargs) - def Spmwrite(self, method="", nmode="", inputs="", inputlabels="", - outputs="", outputlabels="", nic="", velacckey="", - fileformat="", **kwargs): + def Pcross(self, labxr="", labyr="", labzr="", labx1="", laby1="", + labz1="", labx2="", laby2="", labz2="", **kwargs): """ - APDL Command: SPMWRITE + APDL Command: PCROSS - Calculates the state-space matrices and writes them to the SPM file. + Calculates the cross product of two path vectors along the current + path. Parameters ---------- - method - Reduction method for the calculation of the state-space matrices. - - MODAL - Method based on modal analysis results from LANB, LANPCG, SNODE, or SUBSP - eigensolver (default). - - nmode - Number of modes to be used. Defaults to all modes. + labxr + Label assigned to X-component of resultant vector. - inputs - Definition of the inputs. Defaults to all load vectors on the MODE - file. + labyr + Label assigned to Y-component of resultant vector. - inputlabels - Definition of the input labels. Defaults to the load vector numbers - or input definition (node and degree of freedom array parameter), - depending on the Inputs specification. + labzr + Label assigned to Z-component of resultant vector. - outputs - Definition of the outputs. Defaults to the inputs. + labx1 + X-component of first vector label (labeled path item). - outputlabels - Definition of the output labels. Defaults to the output definition - (node and degree of freedom) if used, else defaults to the - InputLabels. + laby1 + Y-component of first vector label. - nic - Load vector on the MODE file used for the calculation of the - initial conditions. Defaults to no initial condition. + labz1 + Z-component of first vector label. - velacckey - Output velocities and accelerations key. + labx2 + X-component of second vector label (labeled path item). - OFF - Output displacements only (default). + laby2 + Y-component of second vector label. - ON - Output displacements, velocities and accelerations. + labz2 + Z-component of second vector label. - fileformat - The format of the SPM file. + """ + command = "PCROSS,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(labxr), str(labyr), str(labzr), str(labx1), str(laby1), str(labz1), str(labx2), str(laby2), str(labz2)) + self.RunCommand(command, **kwargs) - 0 - Dense format. + def Spgraph(self, tblno="", curvno="", curvnobeg ="", **kwargs): + """ + APDL Command: SPGRAPH - 1 - Matrix Market Exchange format (non-zero terms only). + Displays input spectrum curves for MPRS analysis. - 2 - Simplorer SML format without reference (default). + Parameters + ---------- + tblno + Table number to display. Defaults to 1. - 3 - Simplorer SML format with common reference. + curvno + Curve number to display. Defaults to none. - 4 - Simplorer SML format with independent references. + curvnobeg + Beginning of the curve number range to display. Defaults to 1. Notes ----- - The SPMWRITE generates the file Jobname.SPM containing the state-space - matrices and other information. - - The following applies to the SML formats (FileFormat = 2, 3, and 4): - - For conservative systems where the outputs are equal to the inputs - (Outputs is left blank): - - The labels for the inputs (InputLabels) are required. - - The Inputs must use the array parameter option so that the input - degrees of freedom (DOFs) are known. - - For non-conservative systems where the outputs are not equal to the - inputs: - - The labels for the outputs (OutputLabels) are required. - - The file formats with references (FileFormat = 3 and 4) do not apply. - - Velocity and acceleration results are not included in the state-space - matrices calculation (VelAccKey = OFF) - - File format with common reference (FileFormat = 3) does not apply if - the inputs are based on DOFs of a different nature. All input DOFs - must be either all rotational or all translational and not a mix of the - two. + You can display up to 10 input spectrum curves (SPVAL and SPFREQ + commands) with log X scale. - A graphics file (Jobname_SPM.PNG) is generated. It contains an element - plot of the model. + If the input spectrum curves are not associated with a damping value + (SPDAMP command), CURVNO and CURVNOBeg are not applicable and table + TBLNO is displayed. Otherwise, specify CURVNO or CURVNOBeg: - For more details about the reduction method and the generation of the - state-space matrices, see Reduced-Order Modeling for State-Space - Matrices Export in the Mechanical APDL Theory Reference. + if CURVNO is used, one curve is displayed. - For examples of the command usage, see State-Space Matrices Export. + if CURVNOBeg is used, up to 10 curves are displayed. CURVNOBeg is the + beginning of the curve number range of interest. """ - command = "SPMWRITE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(method), str(nmode), str(inputs), str(inputlabels), str(outputs), str(outputlabels), str(nic), str(velacckey), str(fileformat)) + command = "SPGRAPH,%s,%s,%s" % (str(tblno), str(curvno), str(curvnobeg )) self.RunCommand(command, **kwargs) - def Lextnd(self, nl1="", nk1="", dist="", keep="", **kwargs): + def Spline(self, p1="", p2="", p3="", p4="", p5="", p6="", xv1="", yv1="", + zv1="", xv6="", yv6="", zv6="", **kwargs): """ - APDL Command: LEXTND + APDL Command: SPLINE - Extends a line at one end by using its slope. + Generates a segmented spline through a series of keypoints. Parameters ---------- - nl1 - Number of the line to be extended. If NL1 = P, graphical picking - is enabled and all remaining command fields are ignored (valid only - in the GUI). - - nk1 - Number of keypoint at the end of line NL1 to be extended. - - dist - Distance that the line will be extended. - - keep - Specifies whether to keep the input entities: - - 0 - Modify old line to use new keypoints and slopes. - - 1 - Do not modify old line. New line will overlay old line and have unique - keypoints. + p1, p2, p3, . . . , p6 + Keypoints through which the spline is fit. At least two must be + defined. If P1 = P, graphical picking is enabled and all remaining + command fields are ignored (valid only in the GUI). Notes ----- - Extends a line at one end by using its slope. Lines may be redefined - only if not yet attached to an area. Line divisions are set to zero - (use LESIZE, etc. to modify). Note that solid modeling in a toroidal - coordinate system is not recommended. + The output from this command is a series of connected lines (one line + between each pair of keypoints) that together form a spline. Note that + solid modeling in a toroidal coordinate system is not recommended. """ - command = "LEXTND, %s, %s, %s, %s" % (str(nl1), str(nk1), str(dist), str(keep)) + command = "SPLINE,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(p1), str(p2), str(p3), str(p4), str(p5), str(p6), str(xv1), str(yv1), str(zv1), str(xv6), str(yv6), str(zv6)) self.RunCommand(command, **kwargs) - def Starprint(self, matrix="", fname="", **kwargs): + def Fkdele(self, kpoi="", lab="", **kwargs): """ - APDL Command: *PRINT + APDL Command: FKDELE - Prints the matrix values to a file. + Deletes force loads at a keypoint. Parameters ---------- - matrix - Name of matrix or vector to print. Must be specified. + kpoi + Keypoint at which force is to be deleted. If ALL, delete forces at + all selected keypoints [KSEL]. If KPOI = 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 KPOI. - fname - File name. If blank, matrix is written to the output file. + lab + Valid force label. If ALL, use all appropriate labels. See the + FDELE command for labels. Notes ----- - The matrix may be a dense matrix (*DMAT), a sparse matrix (*SMAT), or a - vector (*VEC). Only the non-zero entries of the matrix are printed. + Deletes force loads (and all corresponding finite element loads) at a + keypoint. See the FDELE command for details. + + This command is also valid in PREP7. """ - command = "*PRINT, %s, %s" % (str(matrix), str(fname)) + command = "FKDELE,%s,%s" % (str(kpoi), str(lab)) self.RunCommand(command, **kwargs) - def Term(self, kywrd="", opt1="", opt2="", opt3="", **kwargs): + def Bsm1(self, val1="", val2="", t="", **kwargs): """ - APDL Command: TERM + APDL Command: BSM1 - Specifies various terminal driver options. + Specifies the bending curvature and moment relationship in plane XZ for + beam sections. Parameters ---------- - ncopy - Activate hard copy device for NCOPY (0,1,2, etc.) copies. + val1 + Curvature component (κ1). + + val2 + Bending moment component (M1). + + t + Temperature. Notes ----- - Used only with terminal driver names on /SHOWDISP command. + The behavior of beam elements is governed by the generalized- + stress/generalized-strain relationship of the form: - This command is also valid in PREP7. + The BSM1 command, one of several nonlinear general beam section + commands, specifies the bending curvature and moment for plane XZ of a + beam section. The section data defined is associated with the section + most recently defined (via the SECTYPE command). + + Unspecified values default to zero. + + Related commands are BSAX, BSM2, BSTQ, BSS1, BSS2, BSMD, and BSTE. + + For complete information, see Using Nonlinear General Beam Sections. """ - command = "TERM, %s, %s, %s, %s" % (str(kywrd), str(opt1), str(opt2), str(opt3)) + command = "BSM1,%s,%s,%s" % (str(val1), str(val2), str(t)) self.RunCommand(command, **kwargs) - def Dmprat(self, ratio="", **kwargs): + def Bucopt(self, method="", nmode="", shift="", ldmulte="", rangekey="", + **kwargs): """ - APDL Command: DMPRAT + APDL Command: BUCOPT - Sets a constant modal damping ratio. + Specifies buckling analysis options. Parameters ---------- - ratio - Modal damping ratio (for example, 2% is input as 0.02). + method + Mode extraction method to be used for the buckling analysis: - Notes - ----- - Sets a constant damping ratio for use in the mode-superposition - transient (ANTYPE,TRANS) or harmonic (ANTYPE,HARMIC) analysis and the - spectrum (ANTYPE,SPECTR) analysis. + LANB - Block Lanczos - This command is also valid in PREP7. + SUBSP - Subspace iteration - """ - command = "DMPRAT, %s" % (str(ratio)) - self.RunCommand(command, **kwargs) + nmode + Number of buckling modes (i.e., eigenvalues or load multipliers) to + extract (defaults to 1). - def Spdamp(self, tblno="", curvno="", dampratio ="", **kwargs): - """ - APDL Command: SPDAMP + shift + By default, this value acts as the initial shift point about which + the buckling modes are calculated (defaults to 0.0). - Defines input spectrum damping in a multi-point response spectrum - analysis. + ldmulte + Boundary for the load multiplier range of interest (defaults to ). - Parameters - ---------- - tblno - Input table number. Corresponds to the frequency table number - (TBLNO on the SPFREQ command). + rangekey + Key used to control the behavior of the eigenvalue extraction + method (defaults to CENTER): - curvno - Input curve number. Corresponds to the spectrum values curve number - (CURVNO on the SPVAL command). + CENTER - Use the CENTER option control (default); the program computes NMODE buckling + modes centered around SHIFT in the range of (-LDMULTE, + +LDMULTE). - dampratio - Damping ratio for the response spectrum curve. Up to 20 different - curves may be defined, each with a different damping ratio. Damping - values must be input in ascending order. + RANGE - Use the RANGE option control; the program computes NMODE buckling modes in the + range of (SHIFT, LDMULTE). Notes ----- - Defines multi-point response spectrum damping value to be associated - with: - - Previously defined frequency points (SPFREQ). - - Subsequently defined spectrum points (SPVAL). + Eigenvalues from a buckling analysis can be negative and/or positive. + The program sorts the eigenvalues from the most negative to the most + positive values. The minimum buckling load factor may correspond to the + smallest eigenvalue in absolute value, or to an eigenvalue within the + range, depending on your application (i.e., linear perturbation + buckling analysis or purely linear buckling analysis). - Damping values are used only to identify input spectrum values for the - mode coefficients calculation. + It is recommended that you request an additional few buckling modes + beyond what is needed in order to enhance the accuracy of the final + solution. It is also recommended that you input a non zero SHIFT value + and a reasonable LDMULTE value (i.e., a smaller LDMULTE that is closer + to the last buckling mode of interest) when numerical problems are + encountered. - The curve number must be input in ascending order starting with 1. + When using the RANGE option, defining a range that spans zero is not + recommended. If you are seeking both negative and positive eigenvalues, + it is recommended that you use the CENTER option. - This command is also valid in PREP7. + This command is also valid in PREP7. If used in SOLUTION, this command + is valid only within the first load step. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Distributed ANSYS Restriction: Both extraction methods (LANB and SUBSP) + are supported within Distributed ANSYS. However, the subspace iteration + eigensolver (SUBSP) is the only distributed eigensolver that will run a + fully distributed solution. The Block Lanczos eigensolver (LANB) is not + a distributed eigensolver; therefore, you will not see the full + performance improvements with this method that you would with a fully + distributed solution. """ - command = "SPDAMP, %s, %s, %s" % (str(tblno), str(curvno), str(dampratio )) + command = "BUCOPT,%s,%s,%s,%s,%s" % (str(method), str(nmode), str(shift), str(ldmulte), str(rangekey)) self.RunCommand(command, **kwargs) - def Kdele(self, np1="", np2="", ninc="", **kwargs): + def Slashdelete(self, fname="", ext="", distkey="", **kwargs): """ - APDL Command: KDELE + APDL Command: /DELETE - Deletes unmeshed keypoints. + Deletes a file. Parameters ---------- - np1, np2, ninc - Delete keypoints from NP1 to NP2 (defaults to NP1) in steps of NINC - (defaults to 1). If NP1 = ALL, NP2 and NINC are ignored and all - selected keypoints [KSEL] are deleted. If NP1 = 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 NP1 (NP2 and NINC are ignored). + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - Notes - ----- - Deletes selected keypoints. A keypoint attached to a line cannot be - deleted unless the line is first deleted. + ext + Filename extension (eight-character maximum). + + -- + Unused field. + + distkey + Key that specifies whether the file deletion is performed on all + processes in distributed parallel mode (Distributed ANSYS): + + 1 (ON or YES) - The program performs the file deletion locally on each process. + + 0 (OFF or NO) - The program performs the file deletion only on the master process (default). + + Notes + ----- + In distributed parallel mode (Distributed ANSYS), only the master + process will delete Fname.Ext by default. However, when DistKey is set + to 1 (or ON or YES), the command is executed by all processes. In this + case, Fname will automatically have the process rank appended to it. + This means FnameN.Ext will be deleted by all processes, where N is the + Distributed ANSYS process rank. For more information see Differences in + General Behavior in the Parallel Processing Guide. """ - command = "KDELE, %s, %s, %s" % (str(np1), str(np2), str(ninc)) + command = "/DELETE,%s,%s,%s" % (str(fname), str(ext), str(distkey)) self.RunCommand(command, **kwargs) - def Pcross(self, labxr="", labyr="", labzr="", labx1="", laby1="", - labz1="", labx2="", laby2="", labz2="", **kwargs): + def Finish(self, **kwargs): """ - APDL Command: PCROSS + APDL Command: FINISH - Calculates the cross product of two path vectors along the current - path. + Exits normally from a processor. + + Notes + ----- + Exits any of the ANSYS processors or the DISPLAY program. For the + ANSYS processors, data will remain intact in the database but the + database is not automatically written to a file (use the SAVE command + to write the database to a file). See also the /QUIT command for an + alternate processor exit command. If exiting POST1, POST26, or OPT, + see additional notes below. + + POST1: Data in the database will remain intact, including the POST1 + element table data, the path table data, the fatigue table data, and + the load case pointers. + + POST26: Data in the database will remain intact, except that POST26 + variables are erased and specification commands (such as FILE, PRTIME, + NPRINT, etc.) are reset. Use the /QUIT command to exit the processor + and bypass these exceptions. + + This command is valid in any processor. This command is not valid at + the Begin level. + + """ + command = "FINISH," % () + self.RunCommand(command, **kwargs) + + def Input(self, fname="", ext="", dir="", line="", log="", **kwargs): + """ + APDL Command: /INPUT + + Switches the input file for the commands that follow. Parameters ---------- - labxr - Label assigned to X-component of resultant vector. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - labyr - Label assigned to Y-component of resultant vector. + ext + Filename extension (eight-character maximum). - labzr - Label assigned to Z-component of resultant vector. + dir + Directory path (64 characters maximum). Defaults to current + directory. - labx1 - X-component of first vector label (labeled path item). + line + A value indicating either a line number in the file or a user- + defined label in the file from which to begin reading the input + file. - laby1 - Y-component of first vector label. + (blank), 0, or 1 - Begins reading from the top of the file (default). - labz1 - Z-component of first vector label. + LINE_NUMBER - Begins reading from the specified line number in the file. - labx2 - X-component of second vector label (labeled path item). + :label - Begins reading from the first line beginning with the matching user-defined + label :label (beginning with a colon (:), 8 characters + maximum). - laby2 - Y-component of second vector label. + log + Indicates whether secondary input from this command should be + recorded in the command log (File.LOG) and the database log: - labz2 - Z-component of second vector label. + 0 - Record only the /INPUT command on the log (default). + + 1 - Record commands in the specified secondary file as they are executed. + + Notes + ----- + Switches the input file for the next commands. Commands are read from + this file until an end-of-file or another file switching directive is + read. An end-of-file occurs after the last record of the file or when + a /EOF command is read. An automatic switch back one level (to the + previous file) occurs when an end-of-file is encountered. Twenty + levels of nested file switching are allowed. Note that files including + *DO, *USE, *ULIB, and the "Unknown Command" Macro have less nesting + available because each of these operations also uses a level of file + switching. For an interactive run, a /INPUT,TERM switches to the + terminal for the next input. A /EOF read from the terminal then + switches back to the previous file. A /INPUT (with a blank second + field) switches back to the primary input file. + + Setting LOG = 1 on /INPUT causes all commands read from the specified + file to be recorded in the command log (File.LOG) and the internal + database command log [LGWRITE]. This option is recommended if the log + file will be used later . The LOG = 1 option is only valid when the + /INPUT occurs in the primary input file. Using LOG = 1 on a nested + /INPUT or on a /INPUT within a do-loop will have no effect (i.e., + commands in the secondary input file are not written to the command + log). + + The Dir option is optional as the directory path can be included + directly in Fname. + + This command is valid in any processor. """ - command = "PCROSS, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(labxr), str(labyr), str(labzr), str(labx1), str(laby1), str(labz1), str(labx2), str(laby2), str(labz2)) + command = "/INPUT,%s,%s,%s,%s,%s" % (str(fname), str(ext), str(dir), str(line), str(log)) self.RunCommand(command, **kwargs) - def Wprota(self, thxy="", thyz="", thzx="", **kwargs): + def Xfenrich(self, enrichmentid="", compname="", matid="", **kwargs): """ - APDL Command: WPROTA + APDL Command: XFENRICH - Rotates the working plane. + Defines parameters associated with crack propagation using XFEM Parameters ---------- - thxy - First rotation about the working plane Z axis (positive X toward - Y). + enrichmentid + An alphanumeric name assigned to identify the enrichment. The name + can contain up to 32 characters and must begin with an alphabetic + character. Alphabetic characters, numbers, and underscores are + valid. - thyz - Second rotation about working plane X axis (positive Y toward Z). + compname + Name of the element set component for which initial cracks are + defined and possibly propagated. - thzx - Third rotation about working plane Y axis (positive Z toward X). + matid + Material ID number referring to cohesive zone material behavior on + the initial crack. If 0 or not specified, the initial crack is + assumed to be free of cohesive zone behavior. Notes ----- - The specified angles (in degrees) are relative to the orientation of - the working plane. + If MatID is specified, the cohesive zone behavior is described by the + bilinear cohesive law. - This command is valid in any processor. + This command is valid in PREP7 (/PREP7) only. """ - command = "WPROTA, %s, %s, %s" % (str(thxy), str(thyz), str(thzx)) + command = "XFENRICH,%s,%s,%s" % (str(enrichmentid), str(compname), str(matid)) self.RunCommand(command, **kwargs) - def Slashgo(self, **kwargs): + def Read(self, fname="", nskip="", format="", xfield="", yfield="", + zfield="", prfield="", pifield="", **kwargs): """ - APDL Command: /GO + APDL Command: READ - Reactivates suppressed printout. + Reads coordinate and pressure data from a file. + + Parameters + ---------- + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. + + nskip + Number of lines at the beginning of the file that will be skipped + while it is read. Default = 0. NSKIP is ignored for FileType = + CFXTBR or CFDPOST on the FTYPE command. + + format + For FileType = FORMATTED on the FTYPE command, Format is the read + format in the FORTRAN FORMAT convention enclosed in parentheses; + for example: (3e10.0,10x,e10.0,70x,e10.0) + + xfield, yfield, zfield, prfield, pifield + For FileType = CSV on the FTYPE command, these are field numbers + locating the coordinates and real and imaginary (if present) + pressures. The field value may not exceed 20. Notes ----- - Reactivates printout suppressed with the /NOPR command without - producing any output. The /GOPR command has the same function except - that it also produces a command response from the program. + Reads coordinate and pressure data from the specified file. The file + type must have been previously specified on the FTYPE command. - This command is valid in any processor. + Upon reading the file, nodes are created for the source points. For + FileType = CFXTBR or CFDPOST on the FTYPE command, if face data is + available, SURF154 elements are also created. A nodal component named + SOURCENODES and an element component named SOURCEELEMS are created + automatically. """ - command = "/GO, " % () + command = "READ,%s,%s,%s,%s,%s,%s,%s,%s" % (str(fname), str(nskip), str(format), str(xfield), str(yfield), str(zfield), str(prfield), str(pifield)) self.RunCommand(command, **kwargs) - def Seccontrol(self, val1="", val2="", val3="", val4="", val5="", val6="", - val7="", val8="", val9="", val10="", val11="", val12="", - val13="", **kwargs): + def Katt(self, mat="", real="", type="", esys="", **kwargs): """ - APDL Command: SECCONTROL + APDL Command: KATT - Supplements or overrides default section properties. + Associates attributes with the selected, unmeshed keypoints. Parameters ---------- - val1, val2, val3, . . . , val13 - Values, such as the length of a side or the numbers of cells along - the width, that describe the geometry of a section. See the "Notes" - section of this command description for details about these values - for the various section types. + mat, real, type, esys + Material number, real constant set number, type number, and + coordinate system number to be associated with selected, unmeshed + keypoints. Notes ----- - The SECCONTROL command is divided into these operation types: Beams, - Links, Pipes, Shells, and Reinforcings. - - Values are associated with the most recently issued SECTYPE command. - The data required is determined by the section type and is different - for each type. + Keypoints subsequently generated from the keypoints will also have + these attributes. These element attributes will be used when the + keypoints are meshed. If a keypoint does not have attributes + associated with it (by this command) at the time it is meshed, the + attributes are obtained from the then current MAT, REAL,TYPE, and ESYS + command settings. Reissue the KATT command (before keypoints are + meshed) to change the attributes. A zero (or blank) argument removes + the corresponding association. - SECCONTROL overrides the program-calculated transverse-shear stiffness. + If any of the arguments MAT, REAL, TYPE, or ESYS are defined as -1, + then that value will be left unchanged in the selected set. - The command does not apply to thermal shell elements SHELL131 and - SHELL132 or thermal solid elements SOLID278 and SOLID279. + In some cases, ANSYS can proceed with a keypoint meshing operation even + when no logical element type has been assigned via KATT,,,TYPE or TYPE. + For more information, see the discussion on setting element attributes + in Meshing Your Solid Model in the Modeling and Meshing Guide. """ - command = "SECCONTROL, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9), str(val10), str(val11), str(val12), str(val13)) + command = "KATT,%s,%s,%s,%s" % (str(mat), str(real), str(type), str(esys)) self.RunCommand(command, **kwargs) - def Plf2d(self, ncont="", olay="", anum="", win="", **kwargs): + def Hfsym(self, kcn="", xkey="", ykey="", zkey="", **kwargs): """ - APDL Command: PLF2D + APDL Command: HFSYM - Generates a contour line plot of equipotentials. + Indicates the presence of symmetry planes for the computation of + acoustic fields in the near and far field domains (beyond the finite + element region). Parameters ---------- - ncont - Number of contour lines to display. Issue in multiples of 9 (i.e., - 9, 18, 27, etc.). Default is 27 contour lines. + kcn + Coordinate system reference number. KCN may be 0 (Cartesian), or + any previously defined local Cartesian coordinate system number + (>10). Defaults to 0. - olay - Overlay: + xkey + Key for acoustic field boundary condition, as prescribed for the + solution, corresponding to the x = constant plane: - 0 - Overlay edge outlines by material number. + None - No sound soft or sound hard boundary conditions (default). - 1 - Overlay edge outlines by real constant number. + SSB - Sound soft boundary (pressure = 0). - anum - Highest material or real constant attribute number. Command will - cycle through ANUM element display overlays. Defaults to 10. + SHB - Sound hard boundary (normal velocity = 0). - win - Window number to which command applies. Defaults to 1. + ykey + Key for acoustic field boundary condition, as prescribed for the + solution, corresponding to the y = constant plane: + + None - No sound soft or sound hard boundary conditions (default). + + SSB - Sound soft boundary (pressure = 0). + + SHB - Sound hard boundary (normal velocity = 0). + + zkey + Key for acoustic field boundary condition, as prescribed for the + solution, corresponding to the z = constant plane: + + None - No sound soft or sound hard boundary conditions (default). + + SSB - Sound soft boundary (pressure = 0). + + SHB - Sound hard boundary (normal velocity = 0). Notes ----- - PLF2D invokes an ANSYS macro which plots equipotentials of the degree - of freedom AZ. These equipotential lines are parallel to flux lines - and thus give a good representation of flux patterns. In the - axisymmetric case, the display is actually r*AZ where "r" is the node - radius. The macro overlays (OLAY) edge outlines by material number or - real constant number (ANUM) and allows user control over the number of - contour lines to display (NCONT). + HFSYM uses the image principle to indicate symmetry planes (x, y, or z + = constant plane) for acoustic field computations outside the modeled + domain. A sound hard boundary condition must be indicated even though + it occurs as a natural boundary condition. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + No menu paths are available for acoustic applications. """ - command = "PLF2D, %s, %s, %s, %s" % (str(ncont), str(olay), str(anum), str(win)) + command = "HFSYM,%s,%s,%s,%s" % (str(kcn), str(xkey), str(ykey), str(zkey)) self.RunCommand(command, **kwargs) - def Cplist(self, nset1="", nset2="", ninc="", nsel="", **kwargs): + def Tbdata(self, stloc="", c1="", c2="", c3="", c4="", c5="", c6="", + **kwargs): """ - APDL Command: CPLIST + APDL Command: TBDATA - Lists the coupled degree of freedom sets. + Defines data for the material data table. Parameters ---------- - nset1, nset2, ninc - List coupled sets from NSET1 to NSET2 (defaults to NSET1) in steps - of NINC (defaults to 1). If NSET1 = ALL (default), NSET2 and NINC - are ignored and all coupled sets are listed. - - nsel - Node selection control: - - ANY - List coupled set if any of the selected nodes are in the set (default). + stloc + Starting location in table for entering data. For example, if + STLOC = 1, data input in the C1 field applies to the first table + constant, C2 applies to the second table constant, etc. If + STLOC=5, data input in the C1 field applies to the fifth table + constant, etc. Defaults to the last location filled + 1. The last + location is reset to 1 with each TB or TBTEMP command. - ALL - List coupled set only if all of the selected nodes are in the set. + c1, c2, c3, . . . , c6 + Data values assigned to six locations starting with STLOC. If a + value is already in this location, it is redefined. A blank value + leaves the existing value unchanged. Notes ----- - This command is valid in any processor. + Defines data for the table specified on the last TB command at the + temperature specified on the last TBTEMP command (if applicable). The + type of data table specified in the last TB command determines the + number of data values needed in TBDATA. Data values are linearly + interpolated for temperatures that fall between user defined TBTEMP + values. See Material Models in the Material Reference for the number of + data values required for different material behavior options. + + This command is also valid in SOLUTION. """ - command = "CPLIST, %s, %s, %s, %s" % (str(nset1), str(nset2), str(ninc), str(nsel)) + command = "TBDATA,%s,%s,%s,%s,%s,%s,%s" % (str(stloc), str(c1), str(c2), str(c3), str(c4), str(c5), str(c6)) self.RunCommand(command, **kwargs) - def Gtype(self, wn="", label="", key="", **kwargs): + def Seexp(self, sename="", usefil="", imagky="", expopt="", **kwargs): """ - APDL Command: /GTYPE + APDL Command: SEEXP - Controls the entities that the GPLOT command displays. + Specifies options for the substructure expansion pass. Parameters ---------- - wn - Window number (or ALL) to which this command applies (defaults to - 1) + sename + The name (case-sensitive) of the superelement matrix file created + by the substructure generation pass (Sename.SUB). Defaults to the + initial jobname File. If a number, it is the element number of the + superelement as used in the use pass. - label - This represents the type of entity to display: + usefil + The name of the file containing the superelement degree-of-freedom + (DOF) solution created by the substructure use pass (Usefil.DSUB). - NODE - Nodes + imagky + Key to specify use of the imaginary component of the DOF solution. + Applicable only if the use pass is a harmonic (ANTYPE,HARMIC) + analysis: - ELEM - Elements + OFF - Use real component of DOF solution (default). - KEYP - Keypoints + ON - Use imaginary component of DOF solution. - LINE - Lines + expopt + Key to specify whether the superelement (ANTYPE,SUBSTR) expansion + pass (EXPASS,ON) should transform the geometry: - AREA - Areas + OFF - Do not transform node or element locations (default). - VOLU - Volumes + ON - Transform node or element locations in the FE geometry record of the .rst + results file. - GRPH - Graph displays + Notes + ----- + Specifies options for the expansion pass of the substructure analysis + (ANTYPE,SUBSTR). If used in SOLUTION, this command is valid only + within the first load step. - key - Switch: + If you specify geometry transformation (Expopt = ON), you must retrieve + the transformation matrix (if it exists) from the specified .SUB file. + The command updates the nodal X, Y, and Z coordinates to represent the + transformed node locations. The Expopt option is useful when you want + to expand superelements created from other superelements (via SETRAN or + SESYMM commands). For more information, see Superelement Expansion in + Transformed Locations and Plotting or Printing Mode Shapes. - 0 - Turns the entity type off. + This command is also valid in /PREP7. - 1 - Turns the entity type on. + """ + command = "SEEXP,%s,%s,%s,%s" % (str(sename), str(usefil), str(imagky), str(expopt)) + self.RunCommand(command, **kwargs) - Notes - ----- - The /GTYPE command controls which entities the GPLOT command displays. - NODE, ELEM, KEYP, LINE, AREA, and VOLU are on by default. When ELEM is - activated, you can control the type of element displayed via the /GCMD - command (which also controls the type of graph display). When the GRPH - entity type is activated, all other entity types are deactivated. - Conversely, when any of the NODE, ELEM, KEYP, LINE, AREA, and VOLU - entity types are active, the GRPH entity type is deactivated. + def Edasmp(self, option="", _asmid="", part1="", part2="", part3="", + part4="", part5="", part6="", part7="", part8="", part9="", + part10="", part11="", part12="", part13="", part14="", + part15="", part16="", **kwargs): + """ + APDL Command: EDASMP - The /GTYPE command gives you several options for multi-window layout: + Creates a part assembly to be used in an explicit dynamic analysis. - One window + Parameters + ---------- + option + Label identifying the part assembly option to be performed. - Two windows (left and right or top and bottom of the screen) + ADD - Adds a part assembly (default). - Three windows (two at the top and one at the bottom of the screen, or - one top and two bottom windows + DELETE - Deletes a part assembly. - Four windows (two at the top and two at the bottom) + LIST - Lists each part assembly number, and the part numbers that make up each part + assembly. + asmid + User defined part assembly ID number. The part assembly number + cannot be the same as any currently defined part ID number. + part1, part2, part3, . . . , part16 + Part numbers to be included in the assembly (up to 16 different + parts). - Once you choose a window layout, you can choose one of the following: - multiple plots, replotting, or no redisplay. + Notes + ----- + Several ANSYS LS-DYNA commands (such as EDCGEN, EDPVEL, and EDIS) refer + to assembly ID numbers. If you intend to use assembly ID numbers with + these commands, you must first define the assembly ID numbers using + EDASMP. - This command is valid in any processor. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/GTYPE, %s, %s, %s" % (str(wn), str(label), str(key)) + command = "EDASMP,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(_asmid), str(part1), str(part2), str(part3), str(part4), str(part5), str(part6), str(part7), str(part8), str(part9), str(part10), str(part11), str(part12), str(part13), str(part14), str(part15), str(part16)) self.RunCommand(command, **kwargs) - def Cyclic(self, nsector="", angle="", kcn="", name="", usrcomp="", - usrnmap="", **kwargs): + def Numcmp(self, label="", **kwargs): """ - APDL Command: CYCLIC + APDL Command: NUMCMP - Specifies a cyclic symmetry analysis. + Compresses the numbering of defined items. Parameters ---------- - nsector - The number of sectors in the full 360 degrees, or one of the - following options: + label + Items to be compressed: - STATUS - Indicates the current cyclic status. + NODE - Node numbers - OFF - Resets model to normal (non-cyclic) status and removes the duplicate sector if - it exists. This option also deletes automatically detected - edge components (generated when USRCOMP = 0). + ELEM - Element numbers - UNDOUBLE - Removes the duplicate sector if it exists. The duplicate sector is created - during the solution (SOLVE) stage of a modal cyclic - symmetry analysis. + KP - Keypoint numbers - angle - The sector angle in degrees. + LINE - Line numbers - kcn - An arbitrary reference number assigned to the cyclic coordinate - system. The default value of 0 specifies automatic detection. + AREA - Area numbers - name - The root name of sector low- and high-edge components (line, area, - or node components). The default root name (when USRCOMP = 0) is - "CYCLIC". A root name that you specify can contain up to 11 - characters. + VOLU - Volume numbers - usrcomp - The number of pairs of user-defined low- and high-edge components - on the cyclic sector (if any). The default value of 0 specifies - automatic detection of sector edges; however, the automatic setting - is not valid in all cases. (For more information, see the Notes - section below.) If the value is greater than 0, no verification of - user-defined components occurs. + MAT - Material numbers - usrnmap - The name of a user-defined array specifying the matching node pairs - between the sector low and high edges. Valid only when USRCOMP = 0. - Skips the automatic detection of sector edges. Node pairs may be - input in any order, but the low edge node must be the first entry - in each pair. + TYPE - Element type numbers + + REAL - Real constant numbers + + CP - Coupled set numbers + + SECN - Section numbers + + CE - Constraint equation numbers + + ALL - All item numbers Notes ----- - You can input your own value for NSECTOR, ANGLE or KCN; if you do so, - the command verifies argument values before executing. + The NUMCMP command effectively compresses out unused item numbers by + renumbering all the items, beginning with one and continuing throughout + the model. The renumbering order follows the initial item numbering + order (that is, compression lowers the maximum number by "sliding" + numbers down to take advantage of unused or skipped numbers). All + defined items are renumbered, regardless of whether or not they are + actually used or selected. Applicable related items are also checked + for renumbering as described for the merge operation (NUMMRG). - When USRCOMP = 0 and USRNMAP = blank (default), the CYCLIC command - automatically detects low- and high-edge components for models - comprised of any combination of line, area, or volume elements. If a - solid model exists, however, the command uses only the lines, areas, - and/or volumes to determine the low- and high-edge components; the - elements, if any, are ignored. + Compressing material numbers (NUMCMP,ALL or NUMCMP,MAT) does not update + the material number referenced by either of the following: - Nodes will be automatically rotated unless CYCOPT,USERROT,YES has been - specified. + A temperature-dependent convection or surface-to-surface radiation load + (SF, SFE, SFL, SFA) - If you issue a CYCOPT,TOLER command to set a tolerance for edge- - component pairing before issuing the CYCLIC command, the CYCLIC command - uses the specified tolerance when performing automatic edge-component - detection. + Real constants for multi-material elements (such as SOLID65) - For 2-D models, autodetection does not consider the CSYS,5 or CSYS,6 - coordinate system specification. Autodetection for 180 degree (two- - sector) models is not possible unless a central hole exists. + Compression is usually not required unless memory space is limited and + there are large gaps in the numbering sequence. - The CYCLIC command sets values and keys so that, if possible, the area- - mesh (AMESH) or volume-mesh (VMESH) command meshes the sector with - matching node and element face patterns on the low and high edges. (The - command has no effect on any other element-creation command.) + """ + command = "NUMCMP,%s" % (str(label)) + self.RunCommand(command, **kwargs) - Issue the CYCLIC command prior to the meshing command to, if possible, - produce a mesh with identical node and element patterns on the low and - high sector edges. Only the AMESH or VMESH commands can perform - automated matching. (Other meshing operation commands such as VSWEEP - cannot.) If you employ a meshing operation other than AMESH or VMESH, - you should ensure that node and element face patterns match, if - desired. The CYCLIC command output indicates whether each edge- - component pair has or can produce a matching node pair. + def Trlcy(self, lab="", tlevel="", n1="", n2="", ninc="", **kwargs): + """ + APDL Command: /TRLCY - A cyclic solution (via the SOLVE command) allows dissimilar mesh - patterns on the extreme boundaries of a cyclically symmetric model. The - allowance for dissimilar patterns is useful when you have only finite- - element meshes for your model but not the geometry data necessary to - remesh it to obtain identical node patterns. In such cases, it is - possible to obtain solution results, although perhaps at the expense of - accuracy. A warning message appears because results may be degraded - near the sector edges. + Specifies the level of translucency. - The constraint equations (CEs) that tie together the low and high edges - of your model are generated at the solution stage of the analysis from - the low- and high-edge components (and nowhere else). You should verify - that automatically detected components are in the correct locations - and that you can account for all components; to do so, you can list - (CMLIST) or plot (CMPLOT) the components. + Parameters + ---------- + lab + Apply translucency level to the items specified by the following + labels: - If you issue the CYCLIC command after meshing and have defined element - types with rotational degrees of freedom (DOFs), ANSYS generates cyclic - CEs for rotational DOFs that may not exist on the sector boundaries. - Issue the CYCOPT,DOF command to prevent unused rotational terms from - being generated. + ELEM - Elements. Use N1, N2, NINC fields for element numbers. - Modal cyclic symmetry analysis is supported by the following - eigensolvers: + AREA - Solid model areas. Use N1, N2, NINC fields for area numbers. - Block Lanczos (MODOPT,LANB) + VOLU - Solid model volumes. Use N1, N2, NINC fields for volume numbers. - PCG Lanczos (MODOPT,LANPCG) + ISURF - Isosurfaces (surfaces of constant stress, etc., value). Translucency varies + with result value, to a maximum of the specified + translucency level. - Super Node (MODOPT,SNODE) + CM - Component group. Use N1 for component name, ignore N2 and NINC. - Subspace (MODOPT,SUBSP) + CURVE - Filled areas under curves of line graphs. Use N1, N2, NINC fields for curve + numbers. - To learn more about analyzing a cyclically symmetric structure, see the - Cyclic Symmetry Analysis Guide. + ZCAP - If /TYPE,WN,ZCAP is the current display type, then /TRLCY,ZCAP,TLEVEL will + display the model in window WN with the portion of the model + in front of the section plane displayed at the translucency + level TLEVEL. - When using the: CYCLIC: command to automatically detect the sector, if - an area is defined with the: AL: command, the lines need to be oriented - to form the closed curve. + ON, OFF - Sets the specified translucency display on or off. All other fields are + ignored. + + tlevel + Translucency level: 0.0 (opaque) to 1.0 (transparent). + + n1, n2, ninc + Used only with labels as noted above. Apply translucency level to + Lab items numbered N1 to N2 (defaults to N1) in steps of NINC + (defaults to 1). If N1 is blank or ALL, apply specified + translucency level to entire selected range. If Lab is CM, use + component name for N1 and ignore N2 and NINC. A value of N1 = P + allows you to graphically pick elements, areas, and volumes. You + can then assign translucency levels to the entities via the picker. + The Lab and TLEVEL fields are ignored when translucency is applied + by picking. + + Notes + ----- + Specifies the level of translucency for various items. Issue + /TRLCY,DEFA to reset the default (0) translucency levels. This command + is valid only on selected 2-D and 3-D graphics devices; see in the + Basic Analysis Guide for more information on applying translucency. + + For 2-D devices, ANSYS displays only the visible faces of the items + being displayed. The information behind the facing planes is not + displayed. Issuing the /SHRINK command will force the hardware to + display information behind the translucent items. + + This command is valid in any processor. """ - command = "CYCLIC, %s, %s, %s, %s, %s, %s" % (str(nsector), str(angle), str(kcn), str(name), str(usrcomp), str(usrnmap)) + command = "/TRLCY,%s,%s,%s,%s,%s" % (str(lab), str(tlevel), str(n1), str(n2), str(ninc)) self.RunCommand(command, **kwargs) - def A(self, p1="", p2="", p3="", p4="", p5="", p6="", p7="", p8="", p9="", - p10="", p11="", p12="", p13="", p14="", p15="", p16="", p17="", - p18="", **kwargs): + def Nslk(self, type="", **kwargs): """ - APDL Command: A + APDL Command: NSLK - Defines an area by connecting keypoints. + Selects those nodes associated with the selected keypoints. Parameters ---------- - p1, p2, p3, . . . , p18 - List of keypoints defining the area (18 maximum if using keyboard - entry). At least 3 keypoints must be entered. If P1 = P, - graphical picking is enabled and all remaining arguments are - ignored (valid only in the GUI). + type + Label identifying the type of node select: + + S - Select a new set (default). + + R - Reselect a set from the current set. + + A - Additionally select a set and extend the current set. + + U - Unselect a set from the current set. Notes ----- - Keypoints (P1 through P18) must be input in a clockwise or - counterclockwise order around the area. This order also determines the - positive normal direction of the area according to the right-hand rule. - Existing lines between adjacent keypoints will be used; missing lines - are generated "straight" in the active coordinate system and assigned - the lowest available numbers [NUMSTR]. If more than one line exists - between two keypoints, the shorter one will be chosen. If the area is - to be defined with more than four keypoints, the required keypoints and - lines must lie on a constant coordinate value in the active coordinate - system (such as a plane or a cylinder). Areas may be redefined only if - not yet attached to a volume. Solid modeling in a toroidal coordinate - system is not recommended. + Valid only if the nodes were generated by a keypoint meshing operation + [KMESH, LMESH, AMESH, VMESH] on a solid model that contains the + selected keypoints. + + This command is valid in any processor. """ - command = "A, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(p1), str(p2), str(p3), str(p4), str(p5), str(p6), str(p7), str(p8), str(p9), str(p10), str(p11), str(p12), str(p13), str(p14), str(p15), str(p16), str(p17), str(p18)) + command = "NSLK,%s" % (str(type)) self.RunCommand(command, **kwargs) - def Spunit(self, tblno="", type="", gvalue="", keyinterp="", **kwargs): + def Gropt(self, lab="", key="", **kwargs): """ - APDL Command: SPUNIT + APDL Command: /GROPT - Defines the type of multi-point response spectrum. + Sets various line graph display options. Parameters ---------- - tblno - Input table number. - - type - Label identifying the type of spectrum: - - DISP - Displacement spectrum (SPVAL values interpreted as displacements with units of - length). - - VELO - Velocity spectrum (SPVAL values interpreted as velocities with units of - length/time). + lab + Apply display style as selected from the following labels: - ACEL - Acceleration spectrum (SPVAL values interpreted as accelerations with units of - length/time2). + AXDV - Axis division (tick) marks (defaults to KEY = ON). - ACCG - Acceleration spectrum (SPVAL values interpreted as accelerations with units of - g/time2). + AXNM - Axis scale numbers (defaults to KEY = ON, which puts numbers at the back plane + of the graph). If KEY = FRONT, numbers are on the front + plane of the graph. - FORC - Force spectrum. + AXNSC - Axis number size scale factor. Input the scale value for KEY (defaults to + 1.0). - PRES - Pressure spectrum. + ASCAL - Automatic scaling of additional Y-axes for multi-curve [/GRTYP, 2 or 3] graphs + (defaults to KEY = ON). If KEY = OFF, use base Y-axis + scaling (see the /YRANGE command). - gvalue - Value of acceleration due to gravity in any arbitrary units for - Type=ACCG table. Default is 386.4 in/sec2. + LOGX - Log X scale (defaults to KEY = OFF (linear)). - keyinterp - Key to activate or deactivate the linear interpolation between - input response spectrum points and input response spectrum curves: + LOGY - Log Y scale (applies only to the base Y axis) (defaults to KEY = OFF (linear)). - 0 (OFF or NO) - Deactivate linear and use logarithmic interpolation. This value is the default. + FILL - Color fill areas under curves (defaults to KEY = OFF). - 1 (ON or YES) - Activate linear interpolation. + CGRID - Superimpose background grid [/GRID] over areas under filled curves (defaults to + KEY = OFF). - Notes - ----- - Defines the type of multi-point response spectrum defined by the SPFREQ - and SPVAL commands. + DIG1 - Number of significant digits before decimal point for axis values. Input the + value for KEY (defaults to 4). - Force (FORC) and pressure (PRES) type spectra can be used only as a - nodal excitation. + DIG2 - Number of significant digits after decimal point for axis values. Input the + value for KEY (defaults to 3). - GVALUE is valid only when type=ACCG is specified. A zero or negative - value cannot be used. A parameter substitution can also be performed. + VIEW - View key for graph displays (defaults to KEY = OFF, in which case the view is + (0,0,1) for 2-D graph displays or (1,2,3) for 3-D graph + displays). If KEY = ON, the view settings for graph + displays are the same as the view settings for the model. - This command is also valid in PREP7. + REVX - Plots the values on the X-axis in reverse order. - """ - command = "SPUNIT, %s, %s, %s, %s" % (str(tblno), str(type), str(gvalue), str(keyinterp)) - self.RunCommand(command, **kwargs) + REVY - Plots the values on the Y-axis in reverse order. - def Tintp(self, gamma="", alpha="", delta="", theta="", oslm="", tol="", - avsmooth="", alphaf="", alpham="", **kwargs): - """ - APDL Command: TINTP + DIVX - Determines the number of divisions (grid markers) that will be plotted on the X + axis. - Defines transient integration parameters. + DIVY - Determines the number of divisions (grid markers) that will be plotted on the Y + axis. - Parameters - ---------- - gamma - Amplitude decay factor for 2nd order transient integration, e.g., - structural dynamics (used only if ALPHA, DELTA, ALPHAF, and ALPHAM - are blank). Defaults to 0.005. + LTYP - Determines whether ANSYS generated (KEY = 1) or system derived (KEY = 0) fonts + will be used for the axis labels. - alpha - 2nd order transient integration parameter (used only if GAMMA is - blank). Defaults to 0.2525. + CURL - Determines the position of the curve labels. If (KEY = 1), the curve label will + be plotted in the legend column, and the label will be + displayed in the same color as the curve. If (KEY = 0) the + curve labels will be plotted near the curve. (default). - delta - 2nd order transient integration parameter (used only if GAMMA is - blank). Defaults to 0.5050. + XAXO - When you use this label, the subsequent KEY value will determine an offset + amount from the default (along the bottom) location for the + X axis. If KEY = 1.0, a full offset occurs (the X axis is + moved to the top of the graph). If KEY = 0.5, the axis is + offset to the midpoint of the graph, and if KEY = 0 the axis + remains in the original position, along the bottom of the + graph. For any offset, a grey copy of the original axis + (containing the axis numbering) remains at the original + location. - theta - 1st order transient (e.g., thermal transient) integration - parameter. Defaults to 1.0. + YAXO - When you use this label, the subsequent KEY value will determine an offset + amount from the default (along the left side of the graph) + location for the Y axis. If KEY = 1.0, a full offset occurs + (the Y axis is moved to the right side of the graph). If KEY + = 0.5, the axis is offset to the midpoint of the graph, and + if KEY = 0 the axis remains in the original position, along + the left side of the graph. For any offset, a gray copy of + the original axis (containing the axis numbering) remains at + the original location. - oslm - Specifies the oscillation limit criterion for automatic time - stepping of 1st order transients (e.g., thermal transients). - Defaults to 0.5 with a tolerance of TOL. + key + Option values: - tol - Tolerance applied to OSLM. Defaults to 0.0. + OFF (0) - Do not apply selected style. - --, -- - Unused fields. + ON (1) - Apply selected style. - avsmooth - Smoothing flag option: + nnnn - If Lab is DIG1 or DIG2, input the number of digits. - 0 - Include smoothing of the velocity (1st order system) or the acceleration (2nd - order system) (default). + nn - If Lab is AXNSC, input the scale factor. - 1 - Do not include smoothing. + FRONT - If Lab is AXNM, FRONT may also be input. - alphaf - Interpolation factor in HHT algorithm for force and damping terms - (used only if GAMMA is blank). Defaults to 0.005. + Ndiv - If Lab is DIVX or DIVY, determines the number of divisions (1-99) that will be + applied to the axis. - alpham - Interpolation factor in HHT algorithm for inertial term (used only - if GAMMA is blank). Defaults to 0.0. + Kfont - If Lab is LTYP, Kfont is ON (1) or OFF(0). ON will use ANSYS generated fonts + for the axis labels, while OFF will use SYSTEM (Windows, + X-system, etc.) fonts. The default value is ON (ANSYS + fonts). Notes ----- - Used to define the transient integration parameters. For more - information on transient integration parameters, refer to the - Mechanical APDL Theory Reference. - - For structural transient analyses, you may choose between the Newmark - and HHT time integration methods (see the TRNOPT command). In this - case, if GAMMA is input and the integration parameters ALPHA, DELTA, - ALPHAF, and ALPHAM are left blank, the program will calculate the - integration parameters. Alternatively, you can input these integration - parameters directly on this command. However, for the unconditional - stability and second order accuracy of the time integration, these - parameters should satisfy a specific relationship, as described in - Description of Structural and Other Second Order Systems of the - Mechanical APDL Theory Reference. + Sets various line graph display options. Issue /GROPT,STAT to display + the current settings. Issue /GROPT,DEFA to reset the default + specifications. ANSYS informs you that graph view manipulation is + inactive unless you have issued the /GROPT,VIEW,ON command. See the + /AXLAB, /GRTYP, /GRID, and /GTHK commands for other graph control + options. - In a transient piezoelectric analysis, required input for this command - is ALPHA = 0.25, DELTA = 0.5, and THETA = 0.5. For a coupled - electromagnetic-circuit transient analysis, use THETA = 1.0, the - default value, to specify the backward Euler method. + Automatic scaling using the /XRANGE and /YRANGE commands will often + yield inappropriate range values for logarithmic scales (/GROPT, LOGX + or /GROPT, LOGY). - This command is also valid in PREP7. + This command is valid in any processor. """ - command = "TINTP, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(gamma), str(alpha), str(delta), str(theta), str(oslm), str(tol), str(avsmooth), str(alphaf), str(alpham)) + command = "/GROPT,%s,%s" % (str(lab), str(key)) self.RunCommand(command, **kwargs) - def Plot(self, nstrt="", nend="", ninc="", **kwargs): + def Nrm(self, name="", normtype="", parr="", normalize="", **kwargs): """ - APDL Command: PLOT + APDL Command: *NRM - Forms a display. + Computes the norm of the specified matrix or vector. Parameters ---------- - nstrt, nend, ninc - Display plots sequentially from number NSTRT to NEND in steps of - NINC. NSTRT defaults to the next plot. NEND defaults to NSTRT. - NINC defaults to 1. If NSTRT = ALL, display all plots from the - beginning of the file. If NEND = ALL, display to the end of the - file. + name + Matrix or vector for which the norm will be computed. This can be a + dense matrix (created by the *DMAT command), a sparse matrix + (created by the *SMAT command) or a vector (created by the *VEC + command) + + normtype + Mathematical norm to use: + + L2 (Euclidian or SRSS) norm (default). - L1 (absolute sum) norm (vectors only). + + parr + Parameter name that contains the result. + + normalize + Normalization key; to be used only for vectors created by *VEC: + + Normalize the vector such that the norm is 1.0. - Do not normalize the vector (default). Notes ----- - Output will be to the terminal or to a file, depending on the driver - [/SHOWDISP]. The INTERLEAF and DUMP drivers produce an output file for - each plot named INTLnn and DUMPnn, with nn sequentially ranging from 00 - to 99. A blank line after the PLOT command causes the next plot to be - formed. + The NRM2 option corresponds to the Euclidian or L2 norm and is + applicable to either vectors or matrices. The NRM1 option corresponds + to the L1 norm and is applicable to vectors only. The NRMINF option is + the maximum norm and is applicable to either vectors or matrices. """ - command = "PLOT, %s, %s, %s" % (str(nstrt), str(nend), str(ninc)) + command = "*NRM,%s,%s,%s,%s" % (str(name), str(normtype), str(parr), str(normalize)) self.RunCommand(command, **kwargs) - def Einfin(self, compname="", pnode="", **kwargs): + def Smat(self, matrix="", type="", method="", val1="", val2="", val3="", + **kwargs): """ - APDL Command: EINFIN + APDL Command: *SMAT - Generates structural infinite elements from selected nodes. + Creates a sparse matrix. Parameters ---------- - compname - Component name containing one node to be used as the pole node for - generating INFIN257 structural infinite elements. The pole node is - generally located at or near the geometric center of the finite - element domain. + matrix + Name used to identify the matrix. Must be specified. - pnode - Node number for the direct input of the pole node. A parameter or - parametric expression is also valid. Specify this value when no - CompName has been specified. If CompName is specified, this value - is ignored. + type + Matrix type: - Notes - ----- - The EINFIN command generates structural infinite elements (INFIN257) - directly from the selected face of valid base elements (existing - standard elements in your model). The command scans all base elements - for the selected nodes and generates a compatible infinite element type - for each base element. A combination of different base element types is - allowed if the types are all compatible with the infinite elements. + Double precision real values (default). - Complex double precision values. - The infinite element type requires no predefinition (ET). + method + Method used to create the matrix: - The faces of base elements are determined from the selected node set - (NSEL), and the geometry of the infinite element is determined based on - the shape of the face. Element characteristics and options are - determined according to the base element. For the face to be used, all - nodes on the face of a base element must be selected + Copy an existing matrix. - Import the matrix from a file. - Use base elements to model the near-field domain that interacts with - the solid structures or applied loads. To apply the truncated far-field - effect, a single layer of infinite elements must be attached to the - near-field domain. The outer surface of the near-field domain must be - convex. + val1, val2, val3 + Additional input. The meaning of Val1 through Val3 will vary + depending on the specified Method. See details below. - After the EINFIN command executes, you can verify the newly created - infinite element types and elements (ETLIST, ELIST, EPLOT). + Notes + ----- + Use the *DMAT command to create a dense matrix. - Infinite elements do not account for any subsequent modifications made - to the base elements. It is good practice to issue the EINFIN command - only after the base elements are finalized. If you delete or modify - base elements, remove all affected infinite elements and reissue the - EINFIN command; doing so prevents inconsistencies. + Unlike the *DMAT command, the *SMAT command cannot be used to allocate + a sparse matrix. + + For more information on the NOD2BCS and USR2BCS mapping vectors, see + Degree of Freedom Ordering in the ANSYS Parametric Design Language + Guide. + + For more information about .FULL file contents, see the HBMAT in the + Command Reference. """ - command = "EINFIN, %s, %s" % (str(compname), str(pnode)) + command = "*SMAT,%s,%s,%s,%s,%s,%s" % (str(matrix), str(type), str(method), str(val1), str(val2), str(val3)) self.RunCommand(command, **kwargs) - def Vdgl(self, nv1="", nv2="", ninc="", **kwargs): + def Path(self, name="", npts="", nsets="", ndiv="", **kwargs): """ - APDL Command: VDGL + APDL Command: PATH - Lists keypoints of a volume that lie on a parametric degeneracy. + Defines a path name and establishes parameters for the path. Parameters ---------- - nv1, nv2, ninc - List keypoints that lie on a parametric degeneracy on volumes from - NV1 to NV2 (defaults to NV1) in steps of NINC (defaults to 1). If - NV1 = ALL (default), NV2 and NINC will be ignored and keypoints on - all selected volumes [VSEL] will be listed. If NV1 = P, graphical - picking is enabled and all remaining command fields are ignored - (valid only in the GUI). You may also substitute a component name - for NV1 (ignore NV2 and NINC). + name + Name for this path (eight characters maximum. If nPts is blank, set + the current path to the path with this name. If nPts is greater + than zero, create a path of this name. If a path with this name + already exists, replace it with a new path. If the NAME value is + STATUS, display the status for path settings. + + npts + The number of points used to define this path. The minimum number + is two, and the maximum is 1000. Default is 2. + + nsets + The number of sets of data which you can map to this path. You + must specify at least four: X, Y, Z, and S. Default is 30. + + ndiv + The number of divisions between adjacent points. Default is 20. + There is no maximum number of divisions. Notes ----- - See the Modeling and Meshing Guide for details about parametric - degeneracies. + The PATH command is used to define parameters for establishing a path. + The path geometry is created by the PPATH command. Multiple paths may + be defined and named; however, only one path may be active for data + interpolation [PDEF] and data operations [PCALC, etc.]. Path geometry + points and data are stored in memory while in POST1. If you leave + POST1, the path information is erased. Path geometry and data may be + saved in a file by archiving the data using the PASAVE command. Path + information may be restored by retrieving the data using the PARESU + command. - This command is valid in any processor. + For overlapping nodes, the lowest numbered node is assigned to the + path. + + The number of divisions defined using nDiv does NOT affect the number + of divisions used by PLSECT and PRSECT. + + For information on displaying paths you have defined, see the Basic + Analysis Guide. """ - command = "VDGL, %s, %s, %s" % (str(nv1), str(nv2), str(ninc)) + command = "PATH,%s,%s,%s,%s" % (str(name), str(npts), str(nsets), str(ndiv)) self.RunCommand(command, **kwargs) - def Flst(self, nfield="", narg="", type="", otype="", leng="", **kwargs): + def Proein(self, name="", extension="", path="", proecomm="", **kwargs): """ - APDL Command: FLST + APDL Command: ~PROEIN - Specifies data required for a picking operation (GUI). + Transfers a Creo Parametric part into the ANSYS program. Parameters ---------- - nfield - Field number on the command which uses the picking data. (Count - the command name as a field, so that a 2 indicates the first - command argument, 3 for the second command argument, etc.) The - corresponding field on the command will have a P51X label. - - narg - Number of items in the picked list. - - type - Type of items picked: - - 1 - Node numbers - - 2 - Element numbers + name + The name of the Creo Parametric part to be imported, which cannot + exceed 64 characters in length and must begin with an alphanumeric + character. Special characters such as & - and * and spaces are not + permitted in the part name. - 3 - Keypoint numbers + extension + The general Creo Parametric extension format is prt for parts and + asm for assemblies. - 4 - Line numbers + path + Full path name to the directory containing the part. The default is + the current working directory. - 5 - Area numbers + proecomm + The start command for the version of Creo Parametric you are using. + proe1 is the default command. Note that the full path name to the + Creo Parametric command need not be used here if the path had been + included in the PATH variable. The Creo Parametric command name is + set by the PROE_START_CMD162 environment variable. - 6 - Volume numbers + Notes + ----- + More information on importing Creo Parametric parts is available in + Creo Parametric (formerly Pro/ENGINEER) in the Connection User's Guide. - 7 - Trace points + """ + command = "~PROEIN,%s,%s,%s,%s" % (str(name), str(extension), str(path), str(proecomm)) + self.RunCommand(command, **kwargs) - 8 - Coordinate locations (in Global Cartesian coordinates) + def Cmrotate(self, cm_name="", rotatx="", rotaty="", rotatz="", x1="", + y1="", z1="", x2="", y2="", z2="", **kwargs): + """ + APDL Command: CMROTATE - 9 - Screen picks (in X, Y screen coordinates (-1 to 1)) + Specifies the rotational velocity of an element component in a brake + squeal analysis. - otype - Data order: + Parameters + ---------- + cm_name + The name of the element component. - NOOR - Data is not ordered (default). + rotatx, rotaty, rotatz + If the X2, Y2, Z2 fields are not defined, ROTATX, ROTATY, and + ROTATZ specify the components of the rotational angle vector in the + global Cartesian X, Y, Z directions. - ORDER - Data is in an ordered list (such as for the E,P51X and A,P51X commands, in - which the order of the data items is significant for the - picking operation). + x1, y1, z1 + If the X2, Y2, Z2 fields are defined, X1, Y1, and Z1 define the + coordinates of the beginning point of the rotational axis vector. + Otherwise, X1, Y1, and Z1 are the coordinates of a point through + which the rotational axis passes. - leng - Length of number of items describing the list (should equal NARG if - Otype = NOOR; default). + x2, y2, z2 + The coordinates of the end point of the rotational axis vector. Notes ----- - Specifies data required for the FITEM command during a picking - operation. This is a command generated by the GUI and will appear in - the log file (Jobname.LOG) if graphical picking is used. This command - is not intended to be typed in directly in an ANSYS session (although - it can be included in an input file for batch input or for use with the - /INPUT command). + The CMROTATE command specifies the rotational motion velocity + components ROTATX, ROTATY, and ROTATZ of an element component CM_Name + about a user-defined rotational axis. The rotational axis can be + defined either as a vector passing through a single point or a vector + connecting two points. CMROTATE can be used in static analyses + (ANTYPE,STATIC) and modal analyses (ANTYPE,MODAL). - On the log file, FLST will always be followed by one or more FITEM - commands which in turn are followed by the ANSYS command that contains - a P51X label in one of its fields. This set of commands should not be - edited. + This command sets the constant rotational velocity on the nodes of the + specified element component, despite any deformation at the nodes. This + feature is primarily used for generating sliding contact at frictional + contact interfaces in a brake squeal analysis. This type of analysis + typically involves surface-to-surface contact between the brake pad and + the rotating disk. The applicable contact elements, therefore, are + CONTA173, CONTA174, and CONTA175. - This command is valid in any processor. + A brake squeal analysis generally involves a linear perturbation modal + analysis subsequent to a large-deformation static analysis with the + Newton-Raphson option set as NROPT,UNSYM. Therefore, CMROTATE is not + applicable for multiple load step solves using the LSSOLVE command. + + This command is also valid in PREP7. """ - command = "FLST, %s, %s, %s, %s, %s" % (str(nfield), str(narg), str(type), str(otype), str(leng)) + command = "CMROTATE,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(cm_name), str(rotatx), str(rotaty), str(rotatz), str(x1), str(y1), str(z1), str(x2), str(y2), str(z2)) self.RunCommand(command, **kwargs) - def Fatigue(self, **kwargs): + def C(self, comment="", **kwargs): """ - APDL Command: FATIGUE + APDL Command: C*** - Specifies "Fatigue data status" as the subsequent status topic. + Places a comment in the output. + + Parameters + ---------- + comment + Comment string, up to 75 characters. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + The output from this command consists of two lines -- a blank line + followed by a line containing C*** and the comment. This command is + similar to /COM except that the comment produced by C*** is more easily + identified in the output. - If entered directly into the program, the STAT command should - immediately follow this command. + Another way to include a comment is to precede it with a ! character + (on the same line). The ! may be placed anywhere on the line, and any + input following it is ignored as a comment. No output is produced by + such a comment, but the comment line is included on the log file. This + is a convenient way to annotate the log file. + + This command is valid anywhere. """ - command = "FATIGUE, " % () + command = "C***,%s" % (str(comment)) self.RunCommand(command, **kwargs) - def Anflow(self, nfram="", delay="", ncycl="", time="", spacing="", - size="", length="", **kwargs): + def Output(self, fname="", ext="", loc="", **kwargs): """ - APDL Command: ANFLOW + APDL Command: /OUTPUT - Produces an animated sequence of particle flow in a flowing fluid or a - charged particle traveling in an electric or magnetic field. + Redirects text output to a file or to the screen. Parameters ---------- - nfram - Number of frames captured (defaults to 5). - - delay - Time delay during animation (defaults to 0.1 seconds). + fname + Filename and directory path (248 character maximum, including + directory) to which text output will be redirected (defaults to + Jobname if Ext is specified). For interactive runs, Fname = TERM + (or blank) redirects output to the screen. For batch runs, Fname = + blank (with all remaining command arguments blank) redirects output + to the default system output file. - ncycl - Number of animation cycles (defaults to 5). Non-UI mode only. + ext + Filename extension (eight-character maximum). - time - Total Trace Time (seconds) (defaults to 0, which is the full flow - trace). + -- + Unused field. - spacing - Particle spacing in seconds (defaults to 0). + loc + Location within a file to which output will be written: - size - Particle size (defaults to 0, which is a line). + (blank) - Output is written starting at the top of the file (default). - length - Particle length fraction (defaults to .1). + APPEND - Output is appended to the existing file. Notes ----- - ANFLOW invokes an ANSYS macro which produces an animation of particle - flow in a flowing fluid or charged particle motion in an electric or - magnetic field by the last plot action command (i.e., PLTRAC). This - command is only operational on graphic display platforms supporting the - /SEG command. After executing ANFLOW, you can replay the animated - sequence by issuing the ANIM command. This command is functional only - in the Postprocessor. + Text output includes responses to every command and GUI function, + notes, warnings, errors, and other informational messages. Upon + execution of /OUTPUT,Fname, Ext, ..., all subsequent text output is + redirected to the file Fname.Ext. To redirect output back to the + default location, issue /OUTPUT (no arguments). - The TIME option lets you set the time interval of forward travel for - the trace. The SPACING option is used to define the particle spacing - in seconds from adjacent particles in the stream line. The SIZE - variable sets the radius of the particle. The LENGTH variable is used - to define the particle length fraction. By default, the LENGTH is set - to .1, which means the particle occupies 10% of the flow region and the - other 90% is a color-code line. The SPACING and LENGTH variables only - make sense when the SIZE variable is nonzero (i.e., the particle is - bigger than the line). + Note:: : When using the GUI, output from list operations [NLIST, DLIST, + etc.] is always sent to a list window regardless of the /OUTPUT + setting. The output can then be saved on a file or copied to the + /OUTPUT location using the File menu in the list window. + + This command is valid in any processor. """ - command = "ANFLOW, %s, %s, %s, %s, %s, %s, %s" % (str(nfram), str(delay), str(ncycl), str(time), str(spacing), str(size), str(length)) + command = "/OUTPUT,%s,%s,%s" % (str(fname), str(ext), str(loc)) self.RunCommand(command, **kwargs) - def Fe(self, nev="", cycle="", fact="", title="", **kwargs): + def Term(self, kywrd="", opt1="", opt2="", opt3="", **kwargs): """ - APDL Command: FE + APDL Command: TERM - Defines a set of fatigue event parameters. + Specifies various terminal driver options. Parameters ---------- - nev - Reference number for this event (within MXEV). - - cycle - Number of required cycles (defaults to 1). If -1, erase all - parameters and fatigue stresses for this event. - - fact - Scale factor to be applied to all loadings in this event (defaults - to 1.0). - - title - User defined identification title for this event (up to 20 - characters). + ncopy + Activate hard copy device for NCOPY (0,1,2, etc.) copies. Notes ----- - Repeat FE command to define additional sets of event parameters (MXEV - limit), to redefine event parameters, or to delete event stress - conditions. + Used only with terminal driver names on /SHOWDISP command. - The set of fatigue event parameters is associated with all loadings and - all locations. See the FTSIZE command for the maximum set of events - (MXEV) allowed. + This command is also valid in PREP7. """ - command = "FE, %s, %s, %s, %s" % (str(nev), str(cycle), str(fact), str(title)) + command = "TERM,%s,%s,%s,%s" % (str(kywrd), str(opt1), str(opt2), str(opt3)) self.RunCommand(command, **kwargs) - def Secdata(self, val1="", val2="", val3="", val4="", val5="", val6="", - val7="", val8="", val9="", val10="", val11="", val12="", - **kwargs): + def Cplist(self, nset1="", nset2="", ninc="", nsel="", **kwargs): """ - APDL Command: SECDATA + APDL Command: CPLIST - Describes the geometry of a section. + Lists the coupled degree of freedom sets. Parameters ---------- - val1, val2, val3, . . . , val12 - Values, such as thickness or the length of a side or the numbers of - cells along the width, that describe the geometry of a section. The - terms VAL1, VAL2, etc. are specialized for each type of cross- - section. - - Notes - ----- - The SECDATA command defines the data describing the geometry of a - section. The command is divided into these section types: Beams, Links, - Pipes, Axisymmetric, Taper, Shells, Pretension, Joints, Reinforcing, - and Contact. + nset1, nset2, ninc + List coupled sets from NSET1 to NSET2 (defaults to NSET1) in steps + of NINC (defaults to 1). If NSET1 = ALL (default), NSET2 and NINC + are ignored and all coupled sets are listed. - The data input on the SECDATA command is interpreted based on the most - recently issued SECTYPE command. The data required is determined by the - section type and subtype, and is different for each one. + nsel + Node selection control: - Beam sections are referenced by BEAM188 and BEAM189 elements. Not all - SECOFFSET location values are valid for each subtype. + ANY - List coupled set if any of the selected nodes are in the set (default). - Type: BEAM, Subtype: RECT + ALL - List coupled set only if all of the selected nodes are in the set. - Type: BEAM, Subtype: QUAD + Notes + ----- + This command is valid in any processor. - Degeneration to triangle is permitted by specifying the same - coordinates for cells along an edge. + """ + command = "CPLIST,%s,%s,%s,%s" % (str(nset1), str(nset2), str(ninc), str(nsel)) + self.RunCommand(command, **kwargs) - Type: BEAM, Subtype: CSOLID + def Dl(self, line="", area="", lab="", value1="", value2="", **kwargs): + """ + APDL Command: DL - Type: BEAM, Subtype: CTUBE + Defines DOF constraints on lines. - This subtype is similar to type PIPE. However, elements using PIPE - account for internal or external pressures, whereas elements using - CTUBE do not. + Parameters + ---------- + line + Line at which constraints are to be specified. If ALL, apply to all + selected lines [LSEL]. If LINE = 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 LINE. - Type: BEAM, Subtype: CHAN + area + Area containing line. The normal to the symmetry or antisymmetry + surface is assumed to lie on this area. Defaults to the lowest + numbered selected area containing the line number. - Type: BEAM, Subtype: I + lab + Symmetry label (see 2): - Type: BEAM, Subtype: Z + SYMM - Generate symmetry constraints. - Type: BEAM, Subtype: L + ASYM - Generate antisymmetry constraints. - If W2 is a negative value, the section will be flipped. + value1 + Value of DOF (real part) or table name reference on the line. + Valid for all DOF labels. To specify a table, enclose the table + name in % signs (e.g., DL,LINE,AREA,TEMP,%tabname%). Use the *DIM + command to define a table. - Type: BEAM, Subtype: T + value2 + For VOLT DOFs: - If W2 is a negative value, the section will be flipped. + Notes + ----- + You can transfer constraints from lines to nodes with the DTRAN or + SBCTRAN commands. See the DK command for information about generating + other constraints at lines. - Type: BEAM, Subtype: HATS + Symmetry and antisymmetry constraints are generated as described on the + DSYM command. - Type: BEAM, Subtype: HREC + Setting Lab = VOLT and Value1 = 0 applies the J-normal boundary + condition (current density vector (J) flows normal to the line). No + input is required for the J-parallel condition because it is the + natural boundary condition. - Type: BEAM, Subtype: ASEC + Tabular boundary conditions (Value1 = %tabname%) are available only for + the following degree of freedom labels: Electric (VOLT), Structural + (UX, UY, UZ, ROTX, ROTY, ROTZ), Acoustic (PRES, UX, UY, UZ), and + temperature (TEMP, TBOT, TE2, TE3, . . ., TTOP). - SECPLOT cannot display an ASEC plot. + Constraints specified by the DL command can conflict with other + specified constraints. See Resolution of Conflicting Constraint + Specifications in the Basic Analysis Guide for details. - Type: BEAM, Subtype: MESH + This command is also valid in PREP7. - Link sections are referenced by the LINK180 element. + """ + command = "DL,%s,%s,%s,%s,%s" % (str(line), str(area), str(lab), str(value1), str(value2)) + self.RunCommand(command, **kwargs) - Pipe sections are referenced by the PIPE288, PIPE289, and ELBOW290 - elements. + def Fplist(self, **kwargs): + """ + APDL Command: FPLIST - The accuracy of the ovalization value (OVAL) output by ELBOW290 - (Structural Elbow form only) improves as the specified number of cells - around the circumference (Nc) is increased. + Lists the property table stored for fatigue evaluation. - External material (Mins) adds mass and increases hydraulic diameter, - but does not add to stiffness. + """ + command = "FPLIST," % () + self.RunCommand(command, **kwargs) - Tapered sections are referenced by BEAM188, BEAM189 and ELBOW290 - elements. After specifying the tapered section type (SECTYPE,,TAPER), - issue separate SECDATA commands to define each end of the tapered beam - or pipe. + def Cncheck(self, option="", rid1="", rid2="", rinc="", intertype="", + trlevel="", cgap="", cpen="", ioff="", **kwargs): + """ + APDL Command: CNCHECK - For more information about tapered beams and pipes, including - assumptions and example command input, see Defining a Tapered Beam or - Pipe in the Structural Analysis Guide. + Provides and/or adjusts the initial status of contact pairs. - General axisymmetric sections are referenced by the SURF159, SOLID272, - and SOLID273 elements. Use this command to locate the axisymmetric - axis. + Parameters + ---------- + option + Option to be performed: - Shell sections are referenced by the SHELL131, SHELL132, SHELL181, - SOLID185 Layered Solid, SOLID186 Layered Solid, SOLSH190, SHELL208, - SHELL209, SOLID278 Layered Solid, SOLID279 Layered Solid, and SHELL281 - elements. + DETAIL - List all contact pair properties (default). - Pretension sections are referenced by the PRETS179 element. + SUMMARY - List only the open/closed status for each contact pair. - The following usage is typical: + POST - Execute a partial solution to write the initial contact configuration to the + Jobname.RCN file. - The PRETENSION section options of SECTYPE and SECDATA are documented - mainly to aid in the understanding of data written by CDWRITE. ANSYS, - Inc. recommends that you generate pretension sections using PSMESH. + ADJUST - Physically move contact nodes to the target in order to close a gap or reduce + penetration. The initial adjustment is converted to + structural displacement values (UX, UY, UZ) and stored in + the Jobname.RCN file. - Joint sections are referenced by MPC184 joint elements. + RESET - Reset target element and contact element key options and real constants to + their default values. This option is not valid for general + contact. - The following table shows the lengths and angles to be specified for - different kinds of joints. + AUTO - Automatically sets certain real constants and key options to recommended values + or settings in order to achieve better convergence based on + overall contact pair behaviors. This option is not valid for + general contact. - angle1: for: x-axis: revolute: joint angle3: for: z-axis: revolute: - joint + TRIM - Trim contact pair (remove certain contact and target elements). - length1: and: angle1: for: x-axis: cylindrical: joint length3: and: - angle3: for: z-axis: cylindrical: joint + UNSE - Unselect certain contact and target elements. - length2,: length3,: and: angle1: for: x-axis: planar: joint length1,: - length2,: and: angle3: for: z-axis: planar: joint + rid1, rid2, rinc + For pair-based contact, the range of real constant pair ID's for + which Option will be performed. If RID2 is not specified, it + defaults to RID1. If no value is specified, all contact pairs in + the selected set of elements are considered. - The reference length and angle specifications correspond to the free - relative degrees of freedom in a joint element for which constitutive - calculations are performed. These values are used when stiffness and/or - damping are specified for the joint elements. + intertype + The type of contact interface (pair-based versus general contact) + to be considered; or the type of contact pair to be + trimmed/unselected/auto-set. - If the reference lengths and angles are not specified, they are - calculated from the default or starting configuration for the element. + (blank) - Include all contact definitions (pair-based and general contact). - See MPC184 or the individual joint element descriptions for more - information on joint element constitutive calculations. + GCN - Include general contact definitions only (not valid when Option = RESET or + AUTO). - Reinforcing sections are referenced by REINF264 and REINF265 elements. + trlevel + Trimming level (used only when Option = TRIM or UNSE): - - - - - - - - - - - - - - - - - - - - - - + (blank) - Normal trimming (default): remove/unselect contact and target elements which + are in far-field. - Type: REINF, Subtype: DISCRETE + AGGRE - Aggressive trimming: remove/unselect contact and target elements which are in + far-field, and certain elements in near-field. - This subtype defines discrete reinforcing fibers with arbitrary - orientations. Issue separate SECDATA commands to define each - reinforcing fiber. + Notes + ----- + The CNCHECK command provides information for surface-to-surface, node- + to-surface, and line-to-line contact pairs (element types TARGE169, + TARGE170, CONTA171, CONTA172, CONTA173, CONTA174, CONTA175, CONTA176, + CONTA177). All contact and target elements of interest, along with the + solid elements and nodes attached to them, must be selected for the + command to function properly. For performance reasons, the program uses + a subset of nodes and elements based on the specified contact regions + (RID1, RID2, RINC) when executing the CNCHECK command. - PATT : LAYN + CNCHECK is available in both the PREP7 and SOLUTION processors, but + only before the first solve operation (that is, only before the first + load step or the first substep). - Description: The discrete reinforcing fiber is placed in the middle of - a layer in a layered base element. The orientation of the fiber within - the layer is adjustable via offsets with respect to a specified element - edge. + If the contact and target elements were generated through mesh commands + (AMESH, LMESH, etc.) instead of the ESURF command, you must issue + MODMSH,DETACH before CNCHECK. Otherwise, CNCHECK will not work + correctly. - Required input: + The following additional notes are available: - When applied to 8-node or 20-node layered solid elements: + The command CNCHECK,POST solves the initial contact configuration in + one substep. After issuing this command, you can postprocess the + contact result items as you would for any other converged load step; + however, only the contact status, contact penetration or gap, and + contact pressure will have meaningful values. Other contact quantities + (friction stress, sliding distance, chattering) will be available but + are not useful. - When applied to 4-node or 8-node layered shell elements: + Because Option = POST forces a solve operation, the PrepPost (PP) + license does not work with CNCHECK,POST. - PATT : EDGO + If CNCHECK,POST is issued within the solution processor, the SOLVE + command that solves the first load step of your analysis should appear + in a different step, as shown in the following example: - Description: The orientation of the discrete reinforcing fiber is - similar to one of the specified element edges. The fiber orientation - can be further adjusted via offsets with respect to the specified - element edge. + CNCHECK,POST writes initial contact results to a file named + Jobname.RCN. When postprocessing the initial contact state, you need + to explicitly read results from this file using the FILE and SET,FIRST + commands in POST1 to properly read the corresponding contact data. + Otherwise, the results may be read improperly. The following example + shows a valid command sequence for plotting the initial contact gap: - Required input: + You can issue CNCHECK,ADJUST to physically move contact nodes to the + target surface. See Physically Moving Contact Nodes Towards the Target + Surface in the Contact Technology Guide for more information. Similar + to the POST option, if CNCHECK,ADJUST is issued within the solution + processor, the SOLVE command that solves the first load step of your + analysis should appear in a different step: - If the base element is a beam or link, ANSYS ignores values V2 through - V5 and instead places the reinforcing in the center of the beam or - link. + After issuing the CNCHECK,ADJUST command, the initial adjustment is + converted to structural displacement values (UX, UY, UZ) and stored in + a file named Jobname.RCN. You can use this file to plot or list nodal + adjustment vectors or create a contour plot of the adjustment + magnitudes via the displacements. When postprocessing the nodal + adjustment values, you need to explicitly read results from this file + using the FILE and SET,FIRST commands in POST1 to properly read the + corresponding contact data. Otherwise, the results may be read + improperly. - When applied to 8-node or 20-node solid elements: + Note:: : The Jobname.RCN file contains information generated from the + CNCHECK,POST or CNCHECK,ADJUST command. If both commands are issued in + the same analysis, the file is overwritten by the last CNCHECK command. - When applied to tetrahedral elements: + The command CNCHECK,RESET allows you to reset all but a few key options + and real constants associated with the specified contact pairs (RID1, + RID2, RINC) to their default values. This option is only valid for + pair-based contact definitions. - When applied to 3-D shell elements: + The following key options and real constants remain unchanged when this + command is issued: - When applied to beam or link elements: + The command CNCHECK,AUTO automatically changes certain default or + undefined key options and real constants to optimized settings or + values. The changes are based on overall contact pair behaviors. In + general, this command improves convergence for nonlinear contact + analysis. This option is only valid for pair-based contact definitions. - PATT : BEAM + The tables below list typical KEYOPT and real constant settings + implemented by CNCHECK,AUTO. The actual settings implemented for your + specific model may vary from what is described here. You should always + verify the modified settings by issuing CNCHECK,DETAIL to list current + contact pair properties. - Description: Use this specialized input pattern for defining - reinforcing in regular constant and tapered beams. + Set to 0 if KEYOPT(2) > 1 for debonding. - Required input: + Set to 0 if underlying elements are superelements, or if KEYOPT(9) = 2 + was previously specified. - - - - - - - - - - - - - - - - - - - - - - + PINB default depends on contact behavior (rigid vs. flexible target), + NLGEOM,ON or OFF, KEYOPT(9) setting, KEYOPT(12) setting, and the value + of real constant CNOF (see Using PINB). - Type: REINF, Subtype: SMEAR + CNCHECK,AUTO also sets PRED,OFF for the case of a force-distributed + constraint defined via MPC contact. - This subtype defines reinforcing fibers in homogeneous layered forms. - Issue separate SECDATA commands to define each of the layers of - reinforcing fibers with uniform cross-section area and spacing. + You can issue CNCHECK,TRIM or CNCHECK,UNSEL to remove or unselect + contact and target elements which are in far-field (that is, open and + not near contact), or even in near-field if aggressive trimming logic + is used (TRlevel = AGGRE). - PATT : LAYN + """ + command = "CNCHECK,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(rid1), str(rid2), str(rinc), str(intertype), str(trlevel), str(cgap), str(cpen), str(ioff)) + self.RunCommand(command, **kwargs) - Description: The smeared reinforcing layer is placed in the middle of a - layer in a layered base element. + def Config(self, lab="", value="", **kwargs): + """ + APDL Command: /CONFIG - Required input: V1 (or n) -- The number of the layer in the base - element on which to apply the reinforcing layer. The default value is - 1. + Assigns values to ANSYS configuration parameters. - When applied to layered solid elements: + Parameters + ---------- + lab + Configuration parameter to be changed: - When applied to 2-D axisymmetric shells: + NORSTGM - Option to write or not write geometry data to the results file. VALUE is either + 0 (write geometry data) or 1 (do not write geometry + data). Useful when complex analyses will create + abnormally large files. Default is 0. - When applied to 3-D layered shells: + NBUF - VALUE is the number of buffers (1 to 32) per file in the solver. Defaults to + 4. - PATT : EDGO + LOCFL - File open and close actions. For VALUE use: 0 for global (default); 1 for + local. Applicable to File.EROT, File.ESAV, and File.EMAT. + Typically used for large problems where locally closed + files may be deleted earlier in the run with the /FDELE + command. - Description: This pattern applies only to 2-D smeared reinforcing - element REINF263. The smeared reinforcing layer is represented by a - line in 2-D. The orientation of the 2-D smeared reinforcing layer is - similar to one of the specified element edges. The fiber orientation - can be further adjusted via offsets with respect to the specified - element edge. + SZBIO - VALUE is the record size (1024 to 4194304) of binary files (in integer words). + Defaults to 16384 (system dependent). - Required input: + ORDER - Automatic reordering scheme. For VALUE use: 0 for WSORT,ALL; 1 for WAVES; 2 + for both WSORT,ALL and WAVES (default). - When applied to 2-D 4-node or 8-node solid elements: + FSPLIT - Defines split points for binary files. VALUE is the file split point in + megawords and defaults to the maximum file size for the + system. - When applied to 2-D 3-node or 6-node triangular solid elements: + MXND - Maximum number of nodes. If not specified, defaults to 100 at first encounter. + Dynamically expanded by doubling, even at first encounter, + when maximum is exceeded. - When applied to 2-node or 3-node axisymmetric shell elements: + MXEL - Maximum number of elements. Default and expansion as for MXND. - PATT : ELEF + MXKP - Maximum number of keypoints. Default and expansion as for MXND. - Description: The smeared reinforcing layer is oriented parallel to one - of three adjacent element faces. (This pattern does not apply to 2-D - smeared reinforcing element REINF263.) + MXLS - Maximum number of lines. Default and expansion as for MXND. - Required input: + MXAR - Maximum number of areas. Default and expansion as for MXND. - When applied to 8-node or 20-node solid elements: + MXVL - Maximum number of volumes. Default and expansion as for MXND. - where + MXRL - Maximum number of sets of real constants (element attributes). Default and + expansion as for MXND. - When applied to tetrahedral elements: + MXCP - Maximum number of sets of coupled degrees of freedom. Default and expansion as + for MXND. - When applied to 3-D shell elements: + MXCE - Maximum number of constraint equations. Default and expansion as for MXND. - Geometry Correction: Contact sections for geometry correction (Subtype - = CIRCLE, SPHERE, or CYLINDER) are referenced by the following - elements: TARGE169, TARGE170, CONTA171, CONTA172, CONTA173, and - CONTA174. This geometry correction applies to cases where the original - meshes of contact elements or target elements are located on a portion - of a circular, spherical, or revolute surface. + NOELDB - Option to write or not write results into the database after a solution. When + VALUE = 0 (default), write results into the database. + When VALUE = 1, do not write results into the database. - Type: CONTACT, Subtype: CIRCLE + DYNA_DBL - Option to invoke the double precision version of the explicit dynamics solver + LS-DYNA. When VALUE = 0 (default), the single precision + version is used. When VALUE = 1, the double precision + version is used. - Type: CONTACT, Subtype: SPHERE + STAT - Displays current values set by the /CONFIG command. - Type: CONTACT, Subtype: CYLINDER + value + Value (an integer number) assigned to the configuration parameter. - User-Defined Contact Surface Normal: The contact section for a user- - defined contact surface normal (Subtype = NORMAL) is referenced by the - following elements: CONTA171, CONTA172, CONTA173, CONTA174, and - CONTA175. This geometry correction is used to define a shift direction - for interference fit solutions. + Notes + ----- + All configuration parameters have initial defaults, which in most cases + do not need to be changed. Where a specially configured version of the + ANSYS program is desired, the parameters may be changed with this + command. Issue /CONFIG,STAT to display current values. Changes must + be defined before the parameter is required. These changes (and + others) may also be incorporated into the config162.ans file which is + read upon execution of the program (see The Configuration File in the + Basic Analysis Guide). If the same configuration parameter appears in + both the configuration file and this command, this command overrides. - Type: CONTACT, Subtype: NORMAL + Distributed ANSYS uses the default FSPLIT value, and forces NOELDB = 1 + and NORSTGM = 0 for all results files. The FSPLIT, NOELDB, and NORSTGM + options cannot be changed when using Distributed ANSYS. - Simplified Bolt Thread Modeling: The contact section for bolt-thread - modeling (Subtype = BOLT) is referenced by the following elements: - CONTA171, CONTA172, CONTA173, CONTA174, and CONTA175. It applies to - cases where the original meshes of contact elements are located on a - portion of a bolt-thread surface. This feature allows you to include - the behavior of bolt threads without having to add the geometric detail - of the threads. Calculations are performed internally to approximate - the behavior of the bolt-thread connections. + The /CONFIG command is not valid for the ANSYS Multiphysics 1, 2, or 3 + products. - Type: CONTACT, Subtype: BOLT + The ANSYS Multi-field solver (MFS and MFX) does not support + /CONFIG,NOELDB,1. The ANSYS Multi-field solver needs the updated ANSYS + database. """ - command = "SECDATA, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9), str(val10), str(val11), str(val12)) + command = "/CONFIG,%s,%s" % (str(lab), str(value)) self.RunCommand(command, **kwargs) - def Cpngen(self, nset="", lab="", node1="", node2="", ninc="", **kwargs): + def Cm(self, cname="", entity="", **kwargs): """ - APDL Command: CPNGEN + APDL Command: CM - Defines, modifies, or adds to a set of coupled degrees of freedom. + Groups geometry items into a component. Parameters ---------- - nset - Set reference number [CP]. + cname + An alphanumeric name used to identify this component. Cname may be + up to 32 characters, beginning with a letter and containing only + letters, numbers, and underscores. Component names beginning with + an underscore (e.g., _LOOP) are reserved for use by ANSYS and + should be avoided. Components named “ALL,” “STAT,” and “DEFA” are + not permitted. Overwrites a previously defined name. + + entity + Label identifying the type of geometry items to be grouped: + + VOLU - Volumes. + + AREA - Areas. + + LINE - Lines. + + KP - Keypoints. + + ELEM - Elements. + + NODE - Nodes. + + Notes + ----- + Components may be further grouped into assemblies [CMGRP]. The + selected items of the specified entity type will be stored as the + component. Use of this component in the select command [CMSEL] causes + all these items to be selected at once, for convenience. + + A component is a grouping of some geometric entity that can then be + conveniently selected or unselected. A component may be redefined by + reusing a previous component name. The following entity types may + belong to a component: nodes, elements, keypoints, lines, areas, and + volumes. A component may contain only 1 entity type, but an individual + item of any entity may belong to any number of components. Once + defined, the items contained in a component may then be easily selected + or unselected [CMSEL]. Components may be listed [CMLIST], modified + [CMMOD] and deleted [CMDELE]. Components may also be further grouped + into assemblies [CMGRP]. Other entities associated with the entities + in a component (e.g., the lines and keypoints associated with areas) + may be selected by the ALLSEL command. + + An item will be deleted from a component if it has been deleted by + another operation (see the KMODIF command for an example). Components + are automatically updated to reflect deletions of one or more of their + items. Components are automatically deleted and a warning message is + issued if all their items are deleted. Assemblies are also + automatically updated to reflect deletions of one or more of their + components or subassemblies, but are not deleted if all their + components and subassemblies are deleted. + + This command is valid in any processor. + + """ + command = "CM,%s,%s" % (str(cname), str(entity)) + self.RunCommand(command, **kwargs) + + def Mfsorder(self, gname1="", gname2="", **kwargs): + """ + APDL Command: MFSORDER + + Sets up the solution sequence of simultaneous field solver groups for + code coupling analyses. + + Parameters + ---------- + gname1, gname2 + Specifies the group name for groups defined by the MFPSIMUL command + with a character string of up to 80 characters. + + Notes + ----- + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. + + """ + command = "MFSORDER,%s,%s" % (str(gname1), str(gname2)) + self.RunCommand(command, **kwargs) + + def Aslv(self, type="", **kwargs): + """ + APDL Command: ASLV + + Selects those areas contained in the selected volumes. + + Parameters + ---------- + type + Label identifying the type of area select: + + S - Select a new set (default). + + R - Reselect a set from the current set. + + A - Additionally select a set and extend the current set. + + U - Unselect a set from the current set. + + Notes + ----- + This command is valid in any processor. + + """ + command = "ASLV,%s" % (str(type)) + self.RunCommand(command, **kwargs) + + def Cbtmp(self, temp="", **kwargs): + """ + APDL Command: CBTMP + + Specifies a temperature for composite-beam input. + + Parameters + ---------- + temp + Temperature value. + + Notes + ----- + The CBTMP command, one of several composite beam-section commands, + specifies a temperature to be associated with the data input via + subsequent CBMX (preintegrated cross-section stiffness), CBMD + (preintegrated section mass), or CBTE (thermal-expansion) commands. + + The specified temperature remains active until the next CBTMP command + is issued. + + An unspecified temperature value defaults to zero. + + For complete information, see Using Preintegrated Composite Beam + Sections. + + """ + command = "CBTMP,%s" % (str(temp)) + self.RunCommand(command, **kwargs) + + def Gp(self, node1="", node2="", lab="", stif="", gap="", damp="", + **kwargs): + """ + APDL Command: GP + + Defines a gap condition for transient analyses. + + Parameters + ---------- + node1 + Node I of gap. If NODE1 = P, graphical picking is enabled and all + remaining command fields are ignored (valid only in the GUI). + + node2 + Node J of gap (must be different from NODE1). Non-grounded gap + nodes must be defined as master degrees of freedom or be + unconstrained, active DOF in a full analysis type. Grounded gap + nodes (those not defined as MDOF) need not appear elsewhere in the + model. lab - Degree of freedom label [CP]. + Direction of gap action in the nodal coordinate system (implied + from the following force labels): FX, FY, FZ, MX, MY, MZ. - node1, node2, ninc - Include in coupled set nodes NODE1 to NODE2 in steps of NINC - (defaults to 1). If NODE1 = P, graphical picking is enabled and - all remaining command fields are ignored (valid only in the GUI). - If -NODE1, delete range of nodes from set instead of including. A - component name may also be substituted for NODE1 (NODE2 and NINC - are ignored). + stif + Stiffness (Force/Length) of closed gap (may be positive or + negative). + + gap + Initial size of gap. A zero (or positive) value assumes an + initially open gap. A negative value defines an interference + condition. For a rotational gap, GAP should be in radians. + + damp + Damping coefficient (Force*Time/Length) of closed gap using pseudo + velocity (Newmark finite difference expansion scheme). Notes ----- - Defines, modifies, or adds to a set of coupled degrees of freedom. May - be used in combination with (or in place of) the CP command. Repeat - CPNGEN command for additional nodes. + Defines a gap condition for the mode superposition transient analysis + (ANTYPE,TRANS with TRNOPT,MSUP). If used in SOLUTION, this command is + valid only within the first load step. Gap conditions specified in + subsequent load steps are ignored. + + Repeat GP command for additional gap conditions. Gaps are numbered + sequentially as input. + + Note:: : Gaps may be renumbered by the program during the solution (see + output listing) + + The mode-superposition transient analysis does not allow gap action + with the standard gap elements. However, you can define gap conditions + which are similar to gap elements; gap conditions can be specified + between surfaces that are expected to contact (impact) each other + during the transient. The gap condition simulates the basic gap action + of the COMBIN40 element. + + The gap condition is treated as an explicit force (equal to the + interference times contact stiffness) and affects only the load vector + calculation and not the stiffness matrix. The interference is + calculated from the displacement extrapolated from the previous time + points. + + Gap conditions can only be defined between two master degree of freedom + (DOF) nodes or between master DOF nodes and ground, as shown in the + following figure. + + Master degrees of freedom are the unconstrained and active degrees of + freedom. Gap nodes not defined as active degrees of freedom or attached + to an element are assumed to be grounded. Grounded gap nodes do not + need a spatial location, nor do they need to be located on an element. + + Gap conditions may be defined in parallel (across the same nodes), with + varying gap and stiffness values, to simulate a nonlinear (piecewise) + force-deflection curve. + + The gap direction is determined from the force label input on the GP + command; i.e., FX defines a translational gap acting in the UX nodal + degree of freedom direction, and MZ defines a rotational gap acting in + the nodal ROTZ degree of freedom direction. The actual degree of + freedom directions available for a particular node depends upon the + degrees of freedom associated with the element types [ET] at that node. + + If the coordinate systems of the nodes connecting the gap are rotated + relative to each other, the same degree of freedom may be in different + directions. The gap, however, assumes only a one-dimensional action. + Nodes I and J may be anywhere in space (preferably coincident). No + moment effects are included due to noncoincident nodes. That is, if the + nodes are offset from the line of action, moment equilibrium may not be + satisfied. + + The contact stiffness value represents the stiffness of the closed gap. + Stiffness values are related to the integration time step size and + should be physically reasonable. High stiffness will require a small + integration time step; otherwise, due to the displacement + extrapolation, the solution may go unstable. Negative stiffness values + may be used with gaps in parallel to produce a decreasing force- + deflection curve. + + The order of specifying the gap nodes is important; i.e., a gap + condition connecting two nodes will act differently depending upon + which node is specified first on the GP command. For example, for Node + 1 at X = 0.0, Node 2 at X = 0.1, and the gap defined from Node 1 to 2, + a displacement of Node 1 greater than Node 2 will cause the gap to + close. For the gap defined from Node 2 to 1, a displacement of Node 2 + greater than Node 1 will cause the gap to close (like a hook action). + In general, the gap closes whenever the separation (defined as UJ - UI + + GAP) is negative. UJ is the displacement of node J, UI is the + displacement of node I, and GAP is the input gap value. The gap force + output appears in the printout only for the time steps for which the + gap is closed. A negative spring force is always associated with a + closed gap (even with the hook option). + + Some guidelines to define gap conditions are presented below: + + Use enough gap conditions to obtain a smooth contact stress + distribution between the contacting surfaces. + + Define a reasonable gap stiffness. If the stiffness is too low, the + contacting surfaces may overlap too much. If the stiffness is too high, + a very small time step will be required during impact. A general + recommendation is to specify a gap stiffness that is one or two orders + of magnitude higher than the adjacent element stiffness. You can + estimate the adjacent element stiffness using AE/L, where A is the + contributing area around the gap condition, E is the elastic modulus of + the softer material at the interface, and L is the depth of the first + layer of elements at the interface. + + A mode-superposition transient using the nonlinear gap damping provided + through the DAMP field runs faster than a full transient analysis using + a gap element (COMBIN40). + + Use the GPLIST command to list gap conditions and the GPDELE command to + delete gap conditions. + + This command is also valid in PREP7. """ - command = "CPNGEN, %s, %s, %s, %s, %s" % (str(nset), str(lab), str(node1), str(node2), str(ninc)) + command = "GP,%s,%s,%s,%s,%s,%s" % (str(node1), str(node2), str(lab), str(stif), str(gap), str(damp)) self.RunCommand(command, **kwargs) def Edipart(self, part="", option="", cvect="", tm="", ircs="", ivect="", @@ -32845,18256 +33273,17546 @@ def Edipart(self, part="", option="", cvect="", tm="", ircs="", ivect="", Distributed ANSYS. """ - command = "EDIPART, %s, %s, %s, %s, %s, %s, %s, %s" % (str(part), str(option), str(cvect), str(tm), str(ircs), str(ivect), str(vvect), str(cid)) + command = "EDIPART,%s,%s,%s,%s,%s,%s,%s,%s" % (str(part), str(option), str(cvect), str(tm), str(ircs), str(ivect), str(vvect), str(cid)) self.RunCommand(command, **kwargs) - def Path(self, name="", npts="", nsets="", ndiv="", **kwargs): + def Bfkdele(self, kpoi="", lab="", **kwargs): """ - APDL Command: PATH + APDL Command: BFKDELE - Defines a path name and establishes parameters for the path. + Deletes body force loads at a keypoint. Parameters ---------- - name - Name for this path (eight characters maximum. If nPts is blank, set - the current path to the path with this name. If nPts is greater - than zero, create a path of this name. If a path with this name - already exists, replace it with a new path. If the NAME value is - STATUS, display the status for path settings. - - npts - The number of points used to define this path. The minimum number - is two, and the maximum is 1000. Default is 2. - - nsets - The number of sets of data which you can map to this path. You - must specify at least four: X, Y, Z, and S. Default is 30. + kpoi + Keypoint at which body load is to be deleted. If ALL, delete for + all selected keypoints [KSEL]. A component name may also be + substituted for KPOI. - ndiv - The number of divisions between adjacent points. Default is 20. - There is no maximum number of divisions. + lab + Valid body load label. If ALL, use all appropriate labels. Load + labels are listed under "Body Loads" in the input table for each + element type in the Element Reference. See the BFK command for + labels. Notes ----- - The PATH command is used to define parameters for establishing a path. - The path geometry is created by the PPATH command. Multiple paths may - be defined and named; however, only one path may be active for data - interpolation [PDEF] and data operations [PCALC, etc.]. Path geometry - points and data are stored in memory while in POST1. If you leave - POST1, the path information is erased. Path geometry and data may be - saved in a file by archiving the data using the PASAVE command. Path - information may be restored by retrieving the data using the PARESU - command. - - For overlapping nodes, the lowest numbered node is assigned to the - path. + Deletes body force loads (and all corresponding finite element loads) + for a specified keypoint and label. Body loads may be defined at a + keypoint with the BFK command. - The number of divisions defined using nDiv does NOT affect the number - of divisions used by PLSECT and PRSECT. + Graphical picking is available only via the listed menu paths. - For information on displaying paths you have defined, see the Basic - Analysis Guide. + This command is also valid in PREP7. """ - command = "PATH, %s, %s, %s, %s" % (str(name), str(npts), str(nsets), str(ndiv)) + command = "BFKDELE,%s,%s" % (str(kpoi), str(lab)) self.RunCommand(command, **kwargs) - def Edbx(self, option="", boxid="", xmin="", xmax="", ymin="", ymax="", - zmin="", zmax="", **kwargs): + def Bfint(self, fname1="", ext1="", fname2="", ext2="", kpos="", clab="", + kshs="", tolout="", tolhgt="", **kwargs): """ - APDL Command: EDBX + APDL Command: BFINT - Creates a box shaped volume to be used in a contact definition for - explicit dynamics. + Activates the body force interpolation operation. Parameters ---------- - option - Label identifying the contact box definition option to be - performed. - - ADD - Adds a contact box definition (default). + fname1 + File name and directory path (248 characters maximum, including + directory) from which to read data for interpolation. If you do not + specify a directory path, it will default to your working directory + and you can use all 248 characters for the file name. - DELETE - Deletes a contact box definition. + ext1 + Filename extension (eight-character maximum). - LIST - Lists each box ID number, and the coordinates that make up each box shaped - volume. + -- + Unused field. - boxid - User defined list ID number. + fname2 + File name and directory path (248 characters maximum, including + directory) to which BF commands are written. If you do not specify + a directory path, it will default to your working directory and you + can use all 248 characters for the file name. - xmin - Minimum x-coordinate. + ext2 + Filename extension (eight-character maximum). - xmax - Maximum x-coordinate. + -- + Unused field. - ymin - Minimum y-coordinate. + kpos + Position on Fname2 to write block of BF commands: - ymax - Maximum y-coordinate. + 0 - Beginning of file (overwrite existing file). - zmin - Minimum z-coordinate. + 1 - End of file (append to existing file). - zmax - Maximum z-coordinate. + clab + Label (8 characters maximum, including the colon) for this block of + BF commands in Fname2. This label is appended to the colon (:). + Defaults to BFn, where n is the cumulative iteration number for the + data set currently in the database. + + kshs + Shell-to-solid submodeling key: + + 0 - Solid-to-solid or shell-to-shell submodel. + + 1 - Shell-to-solid submodel. + + tolout + Extrapolation tolerance about elements, based on a fraction of the + element dimension. Submodel nodes outside the element by more than + TOLOUT are not accepted as candidates for DOF extrapolation. + Defaults to 0.5 (50%). + + tolhgt + Height tolerance above or below shell elements, in units of length. + Used only for shell-to-shell submodeling (KSHS = 0). Submodel nodes + off the element surface by more than TOLHGT are not accepted as + candidates for DOF interpolation or extrapolation. Defaults to + 0.0001 times the maximum element dimension. Notes ----- - The ANSYS LS-DYNA command EDCGEN allows you to define contact and - target volumes using box ID numbers BOXID1 and BOXID2, respectively. If - you use these arguments to define contact volumes, you must first - define their coordinates using the EDBX command. + File Fname1 should contain a node list for which body forces are to be + interpolated [NWRITE]. File Fname2 is created, and contains + interpolated body forces written as a block of nodal BF commands. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Body forces are interpolated from elements having TEMP as a valid body + force or degree of freedom, and only the label TEMP is written on the + nodal BF commands. Interpolation is performed for all nodes on file + Fname1 using the results data currently in the database. For layered + elements, use the LAYER command to select the locations of the + temperatures to be used for interpolation. Default locations are the + bottom of the bottom layer and the top of the top layer. + + The block of BF commands begins with an identifying colon label command + and ends with a /EOF command. The colon label command is of the form + :Clab, where Clab is described above. Interpolation from multiple + results sets can be performed by looping through the results file in a + user-defined macro. Additional blocks can be appended to Fname2 by + using KPOS and unique colon labels. A /INPUT command, with the + appropriate colon label, may be used to read the block of commands. + + If the model has coincident (or very close) nodes, BFINT must be + applied to each part of the model separately to ensure that the mapping + of the nodes is correct. For example, if nodes belonging to two + adjacent parts linked by springs are coincident, the operation should + be performed on each part of the model separately. """ - command = "EDBX, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(boxid), str(xmin), str(xmax), str(ymin), str(ymax), str(zmin), str(zmax)) + command = "BFINT,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(fname1), str(ext1), str(fname2), str(ext2), str(kpos), str(clab), str(kshs), str(tolout), str(tolhgt)) self.RunCommand(command, **kwargs) - def Cone(self, rbot="", rtop="", z1="", z2="", theta1="", theta2="", - **kwargs): + def Ucmd(self, cmd="", srnum="", **kwargs): """ - APDL Command: CONE + APDL Command: /UCMD - Creates a conical volume centered about the working plane origin. + Assigns a user-defined command name. Parameters ---------- - rbot, rtop - Radii of the bottom and top faces of the cone. A value of zero or - blank for either RBOT or RTOP defines a degenerate face at the - center axis (i.e., the vertex of the cone). The same value for - both RBOT and RTOP defines a cylinder instead of a cone. - - z1, z2 - Working plane Z coordinates of the cone. The smaller value is - always associated with the bottom face. + cmd + User-defined command name. Only the first four characters are + significant. Must not conflict with any ANSYS command name or any + user "unknown command" macro name. - theta1, theta2 - Starting and ending angles (either order) of the cone. Used for - creating a conical sector. The sector begins at the algebraically - smaller angle, extends in a positive angular direction, and ends at - the larger angle. The starting angle defaults to 0° and the - ending angle defaults to 360°. See the Modeling and Meshing Guide - for an illustration. + srnum + User subroutine number (1 to 10) programmed for this command. For + example, the command /UCMD,MYCMD,3 will execute subroutine USER03 + whenever the command MYCMD is entered. Use a blank command name to + disassociate SRNUM from its command. For example, /UCMD,,3 removes + MYCMD as a command. Notes ----- - Defines a solid conical volume centered about the working plane origin. - The non-degenerate face (top or bottom) is parallel to the working - plane but not necessarily coplanar with (i.e., "on") the working plane. - The cone must have a spatial volume greater than zero. (i.e., this - volume primitive command cannot be used to create a degenerate volume - as a means of creating an area.) For a cone of 360°, top and bottom - faces will be circular (each area defined with four lines), and they - will be connected with two areas (each spanning 180°). See the CON4 - command for an alternate way to create cones. + Assigns a user-defined command name to a user-programmable (system- + dependent) subroutine. This feature allows user-defined commands to be + programmed into the ANSYS program. Once programmed, this command can + be input to the program like other commands, and can also be included + in the ANSYS start-up file. See *ULIB for another way of defining user + commands. + + Up to 10 subroutines are available for user-defined commands (USER01 to + USER10). Users must have system permission, system access, and + knowledge to write, compile, and link the appropriate subprocessors + into the ANSYS program at the site where it is to be run. All routines + should be written in FORTRAN. For more information on FORTRAN compilers + please refer to either the ANSYS, Inc. Windows Installation Guide or + the ANSYS, Inc. Linux Installation Guide for details specific to your + platform or operating system. The USER01 routine is commented and + should be listed from the distribution media (system dependent) for + more details. Issue /UCMD,STAT to list all user-defined command names. + Since a user-programmed command is a nonstandard use of the program, + the verification of any ANSYS run incorporating these commands is + entirely up to the user. In any contact with ANSYS customer support + regarding the performance of a custom version of the ANSYS program, you + should explicitly state that a user programmable feature has been used. + See the Advanced Analysis Guide for a general description of user- + programmable features and Guide to User-Programmable Features for a + detailed description of these features. + + This command is valid only at the Begin Level. """ - command = "CONE, %s, %s, %s, %s, %s, %s" % (str(rbot), str(rtop), str(z1), str(z2), str(theta1), str(theta2)) + command = "/UCMD,%s,%s" % (str(cmd), str(srnum)) self.RunCommand(command, **kwargs) - def Edele(self, iel1="", iel2="", inc="", **kwargs): + def Batch(self, lab="", **kwargs): """ - APDL Command: EDELE + APDL Command: /BATCH - Deletes selected elements from the model. + Sets the program mode to "batch." Parameters ---------- - iel1, iel2, inc - Delete elements from IEL1 to IEL2 (defaults to IEL1) in steps of - INC (defaults to 1). If IEL1 = ALL, IEL2 and INC are ignored and - all selected elements [ESEL] are deleted. If IEL1 = 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 IEL1 (IEL2 and INC are ignored). + lab + Specifies listing mode during a batch run: + + LIST - The batch output will include a listing of the input file. + + (blank) - Suppress input data listing. Notes ----- - Deleted elements are replaced by null or "blank" elements. Null - elements are used only for retaining the element numbers so that the - element numbering sequence for the rest of the model is not changed by - deleting elements. Null elements may be removed (although this is not - necessary) with the NUMCMP command. If related element data (pressures, - etc.) are also to be deleted, delete that data before deleting the - elements. EDELE is for unattached elements only. You can use the xCLEAR - family of commands to remove any attached elements from the database. + Sets the program mode to "batch" when included as the first line on an + input file of ANSYS commands. For convenience, this command is + automatically recorded on the log file (Jobname.LOG) at the beginning + of an interactive ANSYS session so that the log file can be reused + later for batch input. + + Caution:: : This command should not be entered directly in an + interactive ANSYS session since all subsequent keyboard input is simply + copied to a file, without further processing or prompts from the + program (use the "system break" to exit the ANSYS program if this + occurs). + + The recommended method for choosing batch mode, rather than using the + /BATCH command, is to select the Batch simulation environment from the + ANSYS Product Launcher task in the ANSYS launcher, or the batch mode + entry option on the ANSYS execution command when entering the program. + + This command is valid only at the Begin Level. """ - command = "EDELE, %s, %s, %s" % (str(iel1), str(iel2), str(inc)) + command = "/BATCH,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Nsmooth(self, np_ass="", **kwargs): + def Outpr(self, item="", freq="", cname="", **kwargs): """ - APDL Command: NSMOOTH + APDL Command: OUTPR - Smooths selected nodes among selected elements. + Controls the solution printout. Parameters ---------- - npass - Number of smoothing passes. Defaults to 3. + item + Item for print control: + + BASIC - Basic quantities (nodal DOF solution, nodal reaction loads, and element + solution) (default). + + NSOL - Nodal DOF solution. + + RSOL - Nodal reaction loads. + + ESOL - Element solution. + + NLOAD - Element nodal loads. When nonlinear stabilization is active, the stabilization + force/moments are also printed. + + SFOR - Stabilization force/moment at the applicable nodes (valid only when nonlinear + stabilization is active). + + VENG - Element energies. When nonlinear stabilization is active, the energy + dissipation due to stabilization is also printed. + + V - Nodal velocity (applicable to structural transient analysis only + (ANTYPE,TRANS)). + + A - Nodal acceleration (applicable to structural transient analysis only + (ANTYPE,TRANS)). + + ALL - All of the above solution items. + + freq + Print solution for this item every Freqth (and the last) substep of + each load step. If -n, print up to n equally spaced solutions + (only applies to static or full transient analyses when automatic + time stepping is enabled). If NONE, suppress all printout for this + item for this load step. If ALL, print solution for this item for + every substep. If LAST, print solution for this item only for the + last substep of each load step. For a modal analysis, use NONE or + ALL. + + cname + Name of the component, created with the CM command, defining the + selected set of nodes or elements for which this specification is + active. If blank, the set is all entities. Notes ----- - Repositions each selected node at the average position of its immediate - neighbors on the selected elements. The node positions converge after - some number of smoothing passes. For some initial conditions, NPASS may - need to be much larger than 3. If the boundary of a mesh is to be - undisturbed (usually desirable), the boundary nodes should be - unselected before issuing NSMOOTH. + Controls the solution items to be printed, the frequency with which + they are printed (in static, transient, or full harmonic analyses), and + the set of nodes or elements to which this specification applies (in + static, transient, or full harmonic analyses). An item is associated + with either a node (NSOL, RFORCE, V, and A items) or an element (all of + the remaining items). The specifications are processed in the order + that they are input. Up to 50 specifications (OUTPR and OUTRES + commands combined) may be defined. Use OUTPR,STAT to list the current + specifications and use OUTPR,ERASE to erase all the current + specifications. + + As described above, OUTPR writes some or all items (depending on + analysis type) for all elements. To restrict the solution printout, + use OUTPR to selectively suppress (Freq = NONE) the writing of solution + data, or first suppress the writing of all solution data + (OUTPR,ALL,NONE) and then selectively turn on the writing of solution + data with subsequent OUTPR commands. + + If the generalized plane strain feature is active and OUTPR is issued, + the change of fiber length at the ending point during deformation and + the rotation of the ending plane about X and Y during deformation will + be printed if any displacement at the nodes is printed. The reaction + forces at the ending point will be printed if any reaction force at the + nodes is printed. + + Nodal reaction loads (Item = RSOL) are processed according to the + specifications listed for the PRRSOL command. + + Result printouts for interactive sessions are suppressed for models + with more than 10 elements. + + This command is also valid in PREP7. """ - command = "NSMOOTH, %s" % (str(np_ass)) + command = "OUTPR,%s,%s,%s" % (str(item), str(freq), str(cname)) self.RunCommand(command, **kwargs) - def Block(self, x1="", x2="", y1="", y2="", z1="", z2="", **kwargs): + def Djlist(self, elem="", **kwargs): """ - APDL Command: BLOCK + APDL Command: DJLIST - Creates a block volume based on working plane coordinates. + Lists boundary conditions applied to joint elements. Parameters ---------- - x1, x2 - Working plane X coordinates of the block. - - y1, y2 - Working plane Y coordinates of the block. - - z1, z2 - Working plane Z coordinates of the block. + elem + Element number or ALL (or blank). Lists joint element boundary + conditions on the specified element(s). Notes ----- - Defines a hexahedral volume based on the working plane. The block must - have a spatial volume greater than zero (i.e., this volume primitive - command cannot be used to create a degenerate volume as a means of - creating an area.) The volume will be defined with eight keypoints, - twelve lines, and six areas, with the top and bottom faces parallel to - the working plane. See the BLC4 and BLC5 commands for alternate ways - to create blocks. + This command is valid for MPC184 joint elements. See DJ for information + on specifying boundary conditions on joint elements. """ - command = "BLOCK, %s, %s, %s, %s, %s, %s" % (str(x1), str(x2), str(y1), str(y2), str(z1), str(z2)) + command = "DJLIST,%s" % (str(elem)) self.RunCommand(command, **kwargs) - def Tbdele(self, lab="", mat1="", mat2="", inc="", **kwargs): + def Vardel(self, nvar="", **kwargs): """ - APDL Command: TBDELE + APDL Command: VARDEL - Deletes previously defined material data tables. + Deletes a variable (GUI). Parameters ---------- - lab - Data table label. (See the TB command for valid labels.) If ALL, - delete all data tables. - - mat1, mat2, inc - Delete tables for materials MAT1 to (MAT2 defaults to MAT1) in - steps of INC (defaults to 1). If MAT1= ALL, ignore MAT2 and INC - and delete data tables for all materials. + nvar + The reference number of the variable to be deleted. NVAR is as + defined by NSOL, ESOL, etc. Notes ----- - This command is also valid in SOLUTION. + Deletes a POST26 solution results variable. This is a command + generated by the Graphical User Interface (GUI). It will appear in the + log file (Jobname.LOG) if a POST26 variable is deleted from the + "Defined Time-History Variables" dialog box. This command is not + intended to be typed in directly in an ANSYS session (although it can + be included in an input file for batch input or for use with the /INPUT + command). """ - command = "TBDELE, %s, %s, %s, %s" % (str(lab), str(mat1), str(mat2), str(inc)) + command = "VARDEL,%s" % (str(nvar)) self.RunCommand(command, **kwargs) - def Mptemp(self, sloc="", t1="", t2="", t3="", t4="", t5="", t6="", - **kwargs): + def Keyw(self, keyword="", key="", **kwargs): """ - APDL Command: MPTEMP + APDL Command: KEYW - Defines a temperature table for material properties. + Sets a keyword used by the GUI for context filtering (GUI). Parameters ---------- - sloc - Starting location in table for entering temperatures. For example, - if SLOC = 1, data input in the T1 field applies to the first - constant in the table. If SLOC = 7, data input in the T1 field - applies to the seventh constant in the table, etc. Defaults to the - last location filled + 1. + keyword + A keyword which, when set to either true or false, changes the + behavior of the GUI. - t1, t2, t3, . . . , t6 - Temperatures assigned to six locations starting with SLOC. If a - value is already in this location, it will be redefined. A blank - (or zero) value for T1 resets the previous value in SLOC to zero. - A value of zero can only be assigned by T1. Blank (or zero) values - for T2 to T6 leave the corresponding previous values unchanged. + key + Keyword switch: + + 0 - Sets the keyword to "false." + + 1 - Sets the keyword to "true." Notes ----- - Defines a temperature table to be associated with the property data - table [MPDATA]. These temperatures are also used for polynomial - property evaluation, if defined [MP]. Temperatures must be defined in - non-descending order. Issue MATER $ STAT to list the current - temperature table. Repeat MPTEMP command for additional temperatures - (100 maximum). If all arguments are blank, the temperature table is - erased. - - For clear definition, the temperature range you define with the MPTEMP - command should include the entire range you'll use in subsequently - defined materials. To assist the user in this, the first (and only the - first) excursion out of the temperature range defined by the MPTEMP - commands is flagged with a warning message. Similarly, the reference - temperature (TREF or MP,reft commands) should also fall in this same - temperature range. If not and MP,alpx was used, a note will be output. - If not, and MP,ctex or MP,thsx was used, an error message will be - output. + Defines a keyword used by the GUI for context filtering. This is a + command generated by the GUI and may appear in the log file + (Jobname.LOG) if the GUI is used. This command is usually not typed in + directly in an ANSYS session. - This command is also valid in SOLUTION. + This command is valid in any processor. """ - command = "MPTEMP, %s, %s, %s, %s, %s, %s, %s" % (str(sloc), str(t1), str(t2), str(t3), str(t4), str(t5), str(t6)) + command = "KEYW,%s,%s" % (str(keyword), str(key)) self.RunCommand(command, **kwargs) - def Fssect(self, rho="", nev="", nlod="", kbr="", **kwargs): + def Mfci(self, val1="", val2="", **kwargs): """ - APDL Command: FSSECT + APDL Command: MFCI - Calculates and stores total linearized stress components. + Sets the control parameters used by the conservative (CPP) + interpolation scheme. Parameters ---------- - rho - In-plane (X-Y) average radius of curvature of the inside and - outside surfaces of an axisymmetric section. If zero (or blank), a - plane or 3-D structure is assumed. If nonzero, an axisymmetric - structure is assumed. Use a suitably large number (see the - Mechanical APDL Theory Reference) or use -1 for an axisymmetric - straight section. - - nev - Event number to be associated with these stresses (defaults to 1). - - nlod - Loading number to be associated with these stresses (defaults to - 1). - - kbr - For an axisymmetric analysis (RHO ≠ 0): - - 0 - Include the thickness-direction bending stresses - - 1 - Ignore the thickness-direction bending stresses + val1 + Controls the pixel resolution. The higher the resolution, the more + accurate and more expensive the conservative (CPP) interpolation + will be. Valid values are 10 to 256; defaults to 100. - 2 - Include the thickness-direction bending stress using the same formula as the Y - (axial direction ) bending stress. Also use the same formula - for the shear stress. + val2 + The separation factor to handle any gap between the two surfaces. + It is a relative measure of the gap, normalized by the averaged + element face sizes from both sides of the interface. Defaults to + 0.1. Notes ----- - Calculates and stores the total linearized stress components at the - ends of a section path [PATH] (as defined by the first two nodes with - the PPATH command). The path must be entirely within the selected - elements (that is, there must not be any element gaps along the path). - Stresses are stored according to the fatigue event number and loading - number specified. Locations (one for each node) are associated with - those previously defined for these nodes [FL] or else they are - automatically defined. Stresses are separated into six total - components (SX through SXZ) and six membrane-plus-bending (SX through - SXZ) components. The temperature at each end point and the current - time are also stored along with the total stress components. - Calculations are made from the stresses currently in the database (last - SET or LCASE command). Stresses are stored as section coordinate - components if axisymmetric or as global Cartesian coordinate components - otherwise, regardless of the active results coordinate system [RSYS]. - The FSLIST command may be used to list stresses. The FS command can be - used to modify stored stresses. See also the PRSECT and PLSECT - commands for similar calculations. + In a conservative (CPP) interpolation scheme as specified on the + MFLCOMM command, each element face is first divided into n number of + faces, where n is the number of nodes on the face. The three- + dimensional faces are then converted onto a two-dimensional polygon + made up of rows and columns of dots called pixels. By default, these + pixels have a resolution of 100 x 100; use VAL1 to increase the + resolution and improve the accuracy of the algorithm. See Load + Interpolation in the Coupled-Field Analysis Guide for more information + on interpolation schemes and adjusting the pixel resolution for the + conservative interpolation scheme. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "FSSECT, %s, %s, %s, %s" % (str(rho), str(nev), str(nlod), str(kbr)) + command = "MFCI,%s,%s" % (str(val1), str(val2)) self.RunCommand(command, **kwargs) - def Asol(self, lab="", opt="", **kwargs): + def Lumpm(self, key="", **kwargs): """ - APDL Command: ASOL + APDL Command: LUMPM - Specifies the output type of an acoustic scattering analysis. + Specifies a lumped mass matrix formulation. Parameters ---------- - lab - Acoustic solver specification (no default): - - SCAT - Set acoustic solver to the scattered field formulation. - - opt - Option identifying an acoustic solver status: + key + Formulation key: - OFF - Deactivate the specified acoustic solver (default). + OFF - Use the element-dependent default mass matrix formulation (default). - ON - Activate the specified acoustic solver. + ON - Use a lumped mass approximation. Notes ----- - Use the ASOL command to activate the specified acoustic solution - process. - - The scattered option (Lab = SCAT) sets the acoustic solver to the - scattered-pressure field formulation. - - Issue the AWAVE command to define the incident pressure pinc. If the - AWAVE command is defined with Opt2 = INT, the acoustic solver is set to - the scattered field formulation regardless of the ASOL command issued. + This command is also valid in PREP7. If used in SOLUTION, this command + is valid only within the first load step. """ - command = "ASOL, %s, %s" % (str(lab), str(opt)) + command = "LUMPM,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Sflex(self, ffax="", ffby="", ffbz="", ffto="", fftsy="", fftsz="", - **kwargs): + def Pdcfld(self, parr="", entity="", ctype="", clength="", **kwargs): """ - APDL Command: SFLEX + APDL Command: PDCFLD - Sets flexibility factors for the currently defined pipe element - section. + Calculates a correlation field and stores it into an ANSYS array. Parameters ---------- - ffax - Factor to increase axial flexibility. The default value is 1.0. - - ffby - Factor to increase bending flexibility about element y axis - (bending in the element x-z plane). The default value is 1.0. - - ffbz - Factor to increase bending flexibility about element z axis - (bending in the element x-y plane). The default value is FFBY. - - ffto - Factor to increase torsional flexibility. The default value is 1.0. - - fftsy - Factor to increase transverse shear flexibility in the element x-z - plane. The default value is 1.0. - - fftsz - Factor to increase transverse shear flexibility in the element x-y - plane. The default value is FFTSY. + parr + Parameter name. ParR is a one-dimensional array with the dimension + N * (N - 1)/2, where N is either the number of the selected nodes + or the number of the selected elements (depending on the Entity + field). The PDCFLD command automatically sets ParR as a one- + dimensional array, (so you do not have to use the *DIM command). If + you use the PDCFLD command twice with the ANSYS parameter ParR, + then the values stored in the array are automatically overwritten. + If the number of selected FE entities is different from the + previous PDCFLD command, then the array ParR is re-dimensioned + automatically. - Notes - ----- - The SFLEX command sets section-flexibility factors for sections used by - pipe elements. + entity + Specifies which FE entity the calculation of the correlation field + is based on. This field must not be blank. - To increase stiffness, use a flexibility factor of less than 1.0. + NODE - Calculate the correlation coefficients based on the distance between the + selected nodes. - The FFBY and FFTSY arguments affect motion in the element x-z plane, - and the FFBZ and FFTSZ arguments affect motion in the element x-y - plane. For stout pipe structures with low slenderness ratios, set both - FFBY and FFTSY--and/or both FFBZ and FFTSZ (the related bending and - transverse shear factors)--to the same value to obtain the expected - flexibility effect. + ELEM - Calculate the correlation coefficients based on the distance between the + centroids of the selected elements. - When issued, the SFLEX command applies to the pipe section most - recently defined via the SECTYPE command. + ctype + Specifies the equation used to calculate the correlation + coefficients as a function of the nodal or element centroid + distances. This field must not be blank. - SFLEX is valid only for linear material properties and small strain - analyses. The command does not support offsets, temperature loading, or - initial state loading. While the resulting displacements and reactions - are valid, the stresses may not be valid. + NONE - The random field is not correlated. This means the correlation coefficients are + determined according to - """ - command = "SFLEX, %s, %s, %s, %s, %s, %s" % (str(ffax), str(ffby), str(ffbz), str(ffto), str(fftsy), str(fftsz)) - self.RunCommand(command, **kwargs) + ρij = 1 for i = j - ρij = 0 for i ≠ j - def Vwrite(self, par1="", par2="", par3="", par4="", par5="", par6="", - par7="", par8="", par9="", par10="", par11="", par12="", - par13="", par14="", par15="", par16="", par17="", par18="", - par19="", **kwargs): - """ - APDL Command: *VWRITE + Here, ρij is the correlation coefficient between the i-th and j-th selected FE entity (node or element centroid). - LEXP - Writes data to a file in a formatted sequence. + Calculate the correlation coefficient according to a linear-exponential decay function. - Here, D({xi} , {xj}) is the “domain distance” between {xi}, {xj}, and {xi} and + {xj} are the coordinate vectors of the i-th and + j-th selected FE entity (node or element + centroid), and CL is the correlation length of + the random field as specified in the CLENGTH + field. - Parameters - ---------- - par1, par2, par3, . . . , par19 - You can write up to 19 parameters (or constants) at a time. Any Par - values after a blank Par value are ignored. If you leave them all - blank, one line will be written (to write a title or a blank line). - If you input the keyword SEQU, a sequence of numbers (starting from - 1) will be written for that item. + clength + Correlation length of the correlation field. The correlation length + is a characteristic length that influences how strongly two + elements of a random field are correlated with each other. The + larger the value of CLENGTH, the stronger the correlation between + the random field elements. CLENGTH is required for Ctype = LEXP and + Ctype = QEXP; it must be a nonzero, positive number. Notes ----- - You use *VWRITE to write data to a file in a formatted sequence. Data - items (Par1, Par2, etc.) may be array parameters, scalar parameters, - character parameters (scalar or array), or constants. You must - evaluate expressions and functions in the data item fields before using - the *VWRITE command, since initially they will be evaluated to a - constant and remain constant throughout the operation. Unless a file - is defined with the *CFOPEN command, data is written to the standard - output file. Data written to the standard output file may be diverted - to a different file by first switching the current output file with the - /OUTPUT command. You can also use the *MWRITE command to write data to - a specified file. Both commands contain format descriptors on the line - immediately following the command. The format descriptors can be in - either Fortran or C format. - - You must enclose Fortran format descriptors in parentheses. They must - immediately follow the *VWRITE command on a separate line of the same - input file. Do not include the word FORMAT. The format must specify - the number of fields to be written per line, the field width, the - placement of the decimal point, etc. You should use one field - descriptor for each data item written. The write operation uses your - system's available FORTRAN FORMAT conventions (see your system FORTRAN - manual). You can use any standard FORTRAN real format (such as - (4F6.0), (E10.3,2X,D8.2), etc.) and alphanumeric format (A). - Alphanumeric strings are limited to a maximum of 8 characters for any - field (A8) using the Fortran format. Use the “C” format for string - arrays larger than 8 characters. Integer (I) and list-directed (*) - descriptors may not be used. You can include text in the format as a - quoted string. The parentheses must be included in the format and the - format must not exceed 80 characters (including parentheses). The - output line length is limited to 128 characters. + Calculates a correlation field for a probabilistic analysis involving a + random field. Random fields are random effects with a spatial + distribution; the value of a random field not only varies from + simulation to simulation at any given location, but also from location + to location. The correlation field describes the correlation + coefficient between two different spatial locations. Random fields can + be either based on element properties (typically material) or nodal + properties (typically surface shape defined by nodal coordinates). + Hence, random fields are either associated with the selected nodes or + the selected elements. If a random field is associated with elements, + then the correlation coefficients of the random field are calculated + based on the distance of the element centroids. - The “C” format descriptors are used if the first character of the - format descriptor line is not a left parenthesis. “C” format - descriptors are up to 80 characters long, consisting of text strings - and predefined "data descriptors" between the strings where numeric or - alphanumeric character data will be inserted. The normal descriptors - are %I for integer data, %G for double precision data, %C for - alphanumeric character data, and %/ for a line break. There must be one - data descriptor for each specified value (8 maximum) in the order of - the specified values. The enhanced formats described in *MSG may also - be used. + For more information, see Probabilistic Design in the Advanced Analysis + Guide. - For array parameter items, you must define the starting array element - number. Looping continues (incrementing the vector index number of each - array parameter by one) each time you output a line, until the maximum - array vector element is written. For example, *VWRITE,A(1) followed by - (F6.0) will write one value per output line, i.e., A(1), A(2), A(3), - A(4), etc. You write constants and scalar parameters with the same - values for each loop. You can also control the number of loops and - loop skipping with the *VLEN and *VMASK commands. The vector - specifications *VABS, *VFACT, and *VCUM do not apply to this command. - If looping continues beyond the supplied data array's length, zeros - will be output for numeric array parameters and blanks for character - array parameters. For multi-dimensioned array parameters, only the - first (row) subscript is incremented. See the *VOPER command for - details. If you are in the GUI, the *VWRITE command must be contained - in an externally prepared file and read into ANSYS (i.e., *USE, /INPUT, - etc.). + Note that for correlation fields, the “domain distance” D({xi} , {xj}) + is not the spatial distance |{xi} - {xj}|, but the length of a path + between {xi} and {xj} that always remains inside the finite element + domain. However, exceptions are possible in extreme meshing cases. For + elements that share at least one node, the PDCFLD evaluates the + distance by directly connecting the element centroids with a straight + line. If these neighboring elements form a sharp inward corner then it + is possible that the “domain distance” path lies partly outside the + finite element domain, as illustrated below. - This command is valid in any processor. + After the correlation coefficients have been calculated and stored in + the ANSYS parameter ParR, then use the PDCORR command to define the + correlations between the elements of the random field. """ - command = "*VWRITE, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(par1), str(par2), str(par3), str(par4), str(par5), str(par6), str(par7), str(par8), str(par9), str(par10), str(par11), str(par12), str(par13), str(par14), str(par15), str(par16), str(par17), str(par18), str(par19)) + command = "PDCFLD,%s,%s,%s,%s" % (str(parr), str(entity), str(ctype), str(clength)) self.RunCommand(command, **kwargs) - def Dcvswp(self, option="", elem="", cnum="", vmax="", vinc1="", vinc2="", - gap="", **kwargs): + def Plcamp(self, option="", slope="", unit="", freqb="", cname="", + stabval="", keyallfreq="", keynegfreq="", **kwargs): """ - APDL Command: DCVSWP + APDL Command: PLCAMP - Performs a DC voltage sweep on a ROM element. + Plots Campbell diagram data for applications involving rotating + structure dynamics. Parameters ---------- option - Sweep option: + Flag to activate or deactivate sorting of forward or backward whirl + frequencies: - GV - Perform voltage sweep up to given voltage Vmax. + 0 (OFF or NO) - No sorting. - elem - Element number of the ROM element for the ROM use pass analysis. + 1 (ON or YES) - Sort. This value is the default. - cnum - Number of sweep conductor. + slope + The slope of the line to be printed. This value must be positive. - vmax - Maximum voltage. For the PI option, this voltage should be below - the pull-in voltage value. + SLOPE > 0 - The line represents the number of excitations per revolution of the rotor. For + example, SLOPE = 1 represents one excitation per + revolution, usually resulting from unbalance. - vinc1 - Voltage increment for Vmax (default = Vmax/20). + SLOPE = 0 - The line represents the stability threshold for stability values or logarithmic + decrements printout (STABVAL = 1 or 2) - vinc2 - Voltage increment for pull-in voltage (default = 1). + unit + Specifies the unit of measurement for rotational angular + velocities: - gap - Gap elements option: + RDS - Rotational angular velocities in radians per second (rad/s). This value is the + default. - 0 - Create gap elements (COMBIN40) (default). + RPM - Rotational angular velocities in revolutions per minute (RPMs). - Notes - ----- - Vinc1 is used to ramp the sweep conductor voltage from 0 to Vmax. Vinc2 - is used to increase the sweep conductor voltage from Vmax to the pull- - in value if the PI sweep option is used. + freqb + The beginning, or lower end, of the frequency range of interest. + The default is zero. - Because ramping the voltage may lead to the unstable region of an - electromechanical system, DCVSWP might not converge when the sweep - conductor voltage approaches the pull-in value. To avoid non-converged - solutions, you should use the gap option to create a set of spring-gap - elements (COMBIN40). By default, DCVSWP creates two spring-gap elements - with opposite orientations for each active modal displacement DOF of - the ROM element. The gap size is set to the maximum absolute values of - the deflection range for the corresponding mode, as calculated by - RMMSELECT or modified using the RMMRANGE command. The spring constants - are set to 1.E5 for all the COMBIN40 elements. Along with the spring- - gap elements, DCVSWP creates a set of constraint equations relating the - ROM element modal displacements DOF (EMF) and the displacement DOF (UX) - of the gap elements. Constraining the modal displacements using the - spring-gap elements allows DCVSWP to converge in the pull-in range. The - DCVSWP macro has a limit of 900 equilibrium iterations. If this limit - is not sufficient to reach convergence, try the advanced techniques - given in Overcoming Convergence Problems in the Structural Analysis - Guide. For more information on gap elements, see Using Gap Elements - with ROM144 in the Coupled-Field Analysis Guide. + cname + The rotating component name. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + stabval + Flag to plot the stability values: - """ - command = "DCVSWP, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(elem), str(cnum), str(vmax), str(vinc1), str(vinc2), str(gap)) - self.RunCommand(command, **kwargs) + 0 (OFF or NO) - Plot the frequencies (the imaginary parts of the eigenvalues in Hz). This value + is the default. - def Usrdof(self, action="", dof1="", dof2="", dof3="", dof4="", dof5="", - dof6="", dof7="", dof8="", dof9="", dof10="", **kwargs): - """ - APDL Command: USRDOF + 1 (ON or YES) - Plot the stability values (the real parts of the eigenvalues in Hz). - Specifies the degrees of freedom for the user-defined element USER300. + 2 - Plot the logarithmic decrements. - Parameters - ---------- - action - One of the following command operations: + keyallfreq + Key to specify if all frequencies above FREQB are plotted: - DEFINE - Specify the degrees of freedom (DOFs). This value is the default. + 0 (OFF or NO) - A maximum of 10 frequencies are plotted. This value is the default. - LIST - List all previously specified DOFs. + 1 (ON or YES) - All frequencies are plotted. - DELETE - Delete all previously specified DOFs. + keynegfreq + Key to specify if the negative frequencies are plotted. It only + applies to solutions obtained with the damped eigensolver (Method = + DAMP on the MODOPT command): - dof1, dof2, dof3, . . . , dof10 - The list of DOFs. + 0 (OFF or NO) - Only positive frequencies are plotted. This value is the default. + + 1 (ON or YES) - Negative and positive frequencies are plotted. Notes ----- - The USRDOF command specifies the degrees of freedom for the user- - defined element USER300. + The following items are required when generating a Campbell diagram: - Although you can intersperse other commands as necessary for your - analysis, issue the USRDOF command as part of the following general - sequence of commands: + Take the gyroscopic effect into account by issuing the CORIOLIS command + in the SOLUTION module. - Issue the ET command for element USER300, followed by the related TYPE - command. + Run a modal analysis using the QR damped (MODOPT,QRDAMP) or damped + (MODOPT,DAMP) method. Complex eigenmodes are necessary + (MODOPT,QRDAMP,,,,Cpxmod = ON), and you must specify the number of + modes to expand (MXPAND). - Issue both the USRELEM and USRDOF commands (in either order). + Define two or more load step results with an ascending order of + rotational velocity (OMEGA or CMOMEGA). - Define your element using USER300. + In some cases where modes are not in the same order from one load step + to the other, sorting the frequencies (Option = 1) can help to obtain a + correct plot. Sorting is based on the comparison between complex mode + shapes calculated at two successive load steps. - The DOF list (DOF1 through DOF10) can consist of up to 10 DOFs. Use any - valid and appropriate DOF (such as UX, UY, UZ, ROTX, ROTY, ROTZ, AX, - AY, AZ, VX, VY, VZ, PRES, WARP, TEMP, VOLT, MAG, EMF, and CURR). + At each load step, the application compares the mode shape to the loads + at other load steps to determine whirl direction at the load step. If + applicable, a label appears (in the plot legend) representing each + whirl mode (BW for backward whirl and FW for forward whirl). - You can specify a maximum of 10 DOFs per USRDOF command. To define - additional DOFs, issue the command again. + At each load step, the program checks for instability (based on the + sign of the real part of the eigenvalue). The labels “stable” or + “unstable” appear in the plot legend for each frequency curve. - The maximum number of DOFs for a user-defined element--the number of - nodes times the number of DOFs per node--cannot exceed 480. + The rotational velocities of a named component (Cname) are displayed on + the X-axis. - To learn more about user-defined elements, see Creating a New Element - in the Programmer's Reference. + For information on plotting a Campbell diagram for a prestressed + structure, see Solving for a Subsequent Campbell Analysis of a + Prestressed Structure Using the Linear Perturbation Procedure in the + Rotordynamic Analysis Guide. + + In general, plotting a Campbell diagram is recommended only when your + analysis is performed in a stationary reference frame + (CORIOLIS,,,,RefFrame = ON). + + For a usage example of the PLCAMP command, see Campbell Diagram in the + Rotordynamic Analysis Guide. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "USRDOF, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(action), str(dof1), str(dof2), str(dof3), str(dof4), str(dof5), str(dof6), str(dof7), str(dof8), str(dof9), str(dof10)) + command = "PLCAMP,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(slope), str(unit), str(freqb), str(cname), str(stabval), str(keyallfreq), str(keynegfreq)) self.RunCommand(command, **kwargs) - def Inres(self, item1="", item2="", item3="", item4="", item5="", item6="", - item7="", item8="", **kwargs): + def Edenergy(self, hgen="", swen="", sien="", rlen="", **kwargs): """ - APDL Command: INRES + APDL Command: EDENERGY - Identifies the data to be retrieved from the results file. + Specifies energy dissipation controls for an explicit dynamics + analysis. Parameters ---------- - item1, item2, item3, . . . , item8 - Data to be read into the database from the results file. May - consist of any of the following labels: - - ALL - All solution items (default). - - BASIC - NSOL, RSOL, NLOAD, STRS, FGRAD, and FFLUX items. - - NSOL - Nodal DOF solution. - - RSOL - Nodal reaction loads. - - ESOL - Element solution items (includes all of the following): - - NLOAD - Element nodal loads. - - STRS - Element nodal stresses. + hgen + Hourglass energy control key: - EPEL - Element elastic strains. + OFF or 0 - Hourglass energy is not computed. - EPTH - Element thermal, initial, and swelling strains. + ON or 1 - Hourglass energy is computed and included in the energy balance (default). - EPPL - Element plastic strains. + swen + Stonewall energy dissipation control key: - EPCR - Element creep strains. + OFF or 0 - Stonewall energy dissipation is not computed. - FGRAD - Element nodal gradients. + ON or 1 - Stonewall energy dissipation is computed and included in the energy balance + (default). - FFLUX - Element nodal fluxes. + sien + Sliding interface energy dissipation control key: - MISC - Element miscellaneous data (SMISC and NMISC). + OFF or 0 - Sliding interface energy dissipation is not computed. - Notes - ----- - Identifies the type of data to be retrieved from the results file for - placement into the database through commands such as SET, SUBSET, and - APPEND. INRES is a companion command to the OUTRES command controlling - data written to the database and the results file. Since the INRES - command can only flag data that has already been written to the results - file, care should be taken when using the OUTRES command to include all - data you wish to retrieve for postprocessing later on. + ON or 1 - Sliding interface energy dissipation is computed and included in the energy + balance (default). - """ - command = "INRES, %s, %s, %s, %s, %s, %s, %s, %s" % (str(item1), str(item2), str(item3), str(item4), str(item5), str(item6), str(item7), str(item8)) - self.RunCommand(command, **kwargs) + rlen + Rayleigh (damping) energy dissipation control key: - def For2d(self, **kwargs): - """ - APDL Command: FOR2D + OFF or 0 - Rayleigh energy dissipation is not computed. - Calculates magnetic forces on a body. + ON or 1 - Rayleigh energy dissipation is computed and included in the energy balance + (default). Notes ----- - FOR2D invokes an ANSYS macro which calculates magnetic forces on a body - that is completely surrounded by air (symmetry permitted). The - calculated forces are stored in the parameters FX and FY. In - interactive mode, a node plot is produced with the integration path - highlighted. A predefined closed path [PATH], passing through the air - elements surrounding the body, must be available for this calculation. - A counterclockwise ordering of nodes on the PPATH command will give the - correct sign on the forces. Forces are calculated using a Maxwell - stress tensor approach. The macro is valid for 2-D planar or - axisymmetric analysis. Path operations are used for the calculations, - and all path items are cleared upon completion. + This command is also valid in PREP7. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "FOR2D, " % () + command = "EDENERGY,%s,%s,%s,%s" % (str(hgen), str(swen), str(sien), str(rlen)) self.RunCommand(command, **kwargs) - def If(self, val1="", oper1="", val2="", b_ase1="", val3="", oper2="", - val4="", b_ase2="", **kwargs): + def Sload(self, secid="", plnlab="", kinit="", kfd="", fdvalue="", + lsload="", lslock="", **kwargs): """ - APDL Command: *IF + APDL Command: SLOAD - Conditionally causes commands to be read. + Load a pretension section. Parameters ---------- - val1 - First numerical value (or parameter which evaluates to a numerical - value) in the conditional comparison operation. VAL1, VAL2, VAL3, - and VAL4 can also be character strings (enclosed in quotes) or - parameters for Oper = EQ and NE only. - - oper1 - Operation label. A tolerance of 1.0E-10 is used for comparisons - between real numbers: - - Equal (for VAL1 = VAL2). - Not equal (for VAL1 ≠ VAL2). - - Less than (for VAL1 < VAL2). - Greater than (for VAL1 > VAL2). + secid + Unique section number. The number must already be assigned to a + pretension section. - Less than or equal (for VAL1   VAL2). - Greater than or equal (for VAL1   VAL2). + plnlab + Label representing the pretension load sequence number in the + format "PLnn" where nn is an integer from 1 through 99 (for + example, PL01 through PL99). - Absolute values of VAL1 and VAL2 before < operation. - Absolute values of VAL1 and VAL2 before > operation. + kinit + Initial action key for pretension load PL01. (This field is omitted + for PL02 and up.) Three scenarios are possible: - val2 - Second numerical value (or parameter which evaluates to a numerical - value) in the conditional comparison operation. + LOCK - Constrains (connects) the cutting plane on the pretension section. This value + is the default. - base1 - Action based on the logical expression (Oper1) being true. If - false, continue reading at the next line. This is conditional, - except for the IF-THEN-ELSE constructs described below; any of the - following constructs (through Base1 = THEN) cause all subsequent - fields to be ignored: + SLID - Unconstrains (disconnects) the cutting plane on the pretension section. - A user-defined label (beginning with a colon (:), 8 characters maximum). The command reader will skip (and wrap to the beginning of the file, if necessary) to the first line that begins with the matching :label. - Caution:   This label option may not be mixed with do-loop or if-then-else - constructs. + TINY - Applies a very small pretension load (0.1% of FDVALUE) before the desired load + is established. The small load prevents convergence problems + which can occur when the desired load is not established in + the first load step. This value is valid only if KFD = FORC. - This action will cause an exit from the ANSYS program at this line, unless running in interactive mode. In interactive mode, the program will not stop. - Exit the current do-loop [*EXIT]. + kfd + Force/Displacement key. Specifies whether FDVALUE is a force or a + displacement: - Skip to the end of the current do-loop [*CYCLE]. - Make this *IF an if-then-else construct (see below). + FORC - Apply a force on the specified pretension section. This value is the default. - val3 - Third numerical value (or parameter which evaluates to a numerical - value). + DISP - Apply a displacement (adjustment) on the specified pretension section. - oper2 - Operation label. This will have the same labels as Oper1, except it - uses Val3 and Val4. A tolerance of 1.0E-10 is used for comparisons - between real numbers. + fdvalue + Pretension load value. If KFD = FORC, this value is a pretension + force. If KFD = DISP, this value is a pretension displacement + (adjustment). - val4 - Fourth numerical value (or parameter value which evaluates to a - numerical value). + lsload + Load step in which to apply the FDVALUE. - base2 - Action based on the logical expression (Oper1 and Oper2) being - true. They will be the same values as Base1, except as noted. + lslock + The load step in which the displacement value resulting from the + pretension force is locked. This value is valid only if KFD = FORC. Notes ----- - Conditionally causes commands to be read from a specific block or at a - specific location. Twenty levels of nested *IF blocks are allowed. - Jumping to a :label line is not allowed with keyboard entry. Jumping - into, out of, or within a do-loop or an if-then-else construct to a - :label line is not allowed. Using *IF interactively or from the command - line prevents rereading the file to find a label. To do so, use batch - mode or /INPUT. + The SLOAD command applies pretension loads to specified pretension + sections (created via the PSMESH command). A pretension load is ramp- + applied (KBC = 0) if it is a force (KFD = FORC), and step-applied (KBC + = 1) if it is a displacement (KFD = DISP). - The following is an example of an if-then-else construct: + You can “lock” the load value at a specified load step. When locked, + the load changes from a force to a displacement, and ANSYS applies the + load as a constant displacement in all future load steps. Locking is + useful when applying additional loadings. The additional loadings alter + the effect of the initial load value, but because locking transforms + the load into a displacement, it preserves the initial load's effect. - *IF,VAL1,Oper,VAL2,THEN + In modal and harmonic analyses, any pretension load (force, + displacement, or locked) is ignored and no load is produced. - ---- + The following command shows how to establish loads on a pretension + section: - *ELSEIF,VAL1,Oper,VAL2 + SLOAD,1,PL01,TINY,FORC,5000,2,3 - ---- + In this example, the load is applied to pretension section 1, and the + sequence begins with the initial action key, KINIT, set to TINY. A + small stabilization load (5 = 0.10% of 5000) is applied in the first + load step, as the actual pretension force is not applied until the + second load step. The next four fields set the actual load: the KFD + value FORC specifies the type of load, FDVALUE defines the pretension + load value (5000), LSLOAD specifies the load step in which the force is + applied (2), and the LSLOCK field specifies the load step in which the + force is locked (3). Additional sets of four fields can be used to + define additional loads. - *ELSEIF,VAL1,Oper,VAL2 + You can use the SLOAD command to edit (overwrite) existing loads on a + pretension section. This example changes the load on pretension section + 1 (set above) to 6000: - ---- + SLOAD,1,PL01,,,6000,2,3 - *ELSE + Unspecified values (blank fields), as shown in this example, remain + unchanged from prior settings. If no prior specifications exist, then + default values (KINIT = LOCK and KFD = FORC) apply. - ---- + The command can also delete all loads on a specified pretension + section, as shown here: - *ENDIF + SLOAD,1,DELETE - where "----" represents a block of any number of commands. Any number - of *ELSEIF clauses (or none) may be included (in the location shown). - One *ELSE clause (at most) may be included (in the location shown). - The *IF command is executed by evaluating its logical expression. If - it is true, the block of commands following it is executed. The - construct is considered to be complete and the command following the - *ENDIF is executed next. If the logical expression is false, the next - *ELSEIF command (if any) following the block is executed. The - execution logic is the same as for *IF. The effect is that the logical - expressions in the *IF and the *ELSEIF commands are sequentially tested - until one is found to be true. Then the block of commands immediately - following the expression is executed, which completes the execution of - the if-then-else construct. If all *IF and *ELSEIF expressions are - false, the block following the *ELSE command is executed, if there is - one. Only one block of commands (at most) is executed within the if- - then-else construct. If a batch input stream hits an end-of-file - during a false *IF condition, the ANSYS run will not terminate - normally. You will need to terminate it externally (use either the - Linux “kill” function or the Windows task manager). The *IF, *ELSEIF, - *ELSE, and *ENDIF commands for each if-then-else construct must all be - read from the same file (or keyboard). + For a prestressed modal analysis, this command locks the pretension + element: - This command is valid in any processor. + SLOAD,1,PL01,LOCK,DISP,0,1,2 """ - command = "*IF, %s, %s, %s, %s, %s, %s, %s, %s" % (str(val1), str(oper1), str(val2), str(b_ase1), str(val3), str(oper2), str(val4), str(b_ase2)) + command = "SLOAD,%s,%s,%s,%s,%s,%s,%s" % (str(secid), str(plnlab), str(kinit), str(kfd), str(fdvalue), str(lsload), str(lslock)) self.RunCommand(command, **kwargs) - def Bfa(self, area="", lab="", val1="", val2="", val3="", val4="", - **kwargs): + def Cscir(self, kcn="", kthet="", kphi="", **kwargs): """ - APDL Command: BFA + APDL Command: CSCIR - Defines a body force load on an area. + Locates the singularity for non-Cartesian local coordinate systems. Parameters ---------- - area - Area to which body load applies. If ALL, apply to all selected - areas [ASEL]. A component name may also be substituted for Area. + kcn + Number of the local coordinate system in which singularity location + is to be changed. Must be greater than 10. - lab - Valid body load label. Load labels are listed under "Body Loads" in - the input table for each element type in the Element Reference. + kthet + Theta singularity location for cylindrical, spherical, and toroidal + systems: - val1, val2, val3 - Value associated with the Lab item or a table name for specifying - tabular boundary conditions. Use only VAL1 for TEMP, FLUE, HGEN, - CHRGD. For Lab = JS in magnetics, use VAL1, VAL2, and VAL3 for the - X, Y, and Z components. For acoustics, if Lab = JS, use VAL1 for - mass source in a harmonic analysis or mass source rate in a - transient analysis, and ignore VAL2 and VAL3. For Lab = VLTG, VAL1 - is the voltage drop and VAL2 is the phase angle. If Lab = IMPD, - VAL1 is the resistance and VAL2 is the reactance in ohms/square. - When specifying a table name, you must enclose the table name in - percent signs (%), e.g., BFA,Area,Lab,%tabname%. Use the *DIM - command to define a table. + 0 - Singularity at ±180°. - val4 - If Lab = JS, VAL4 is the phase angle in degrees. + 1 - Singularity at 0° (360°). - Notes - ----- - Defines a body force load (such as temperature in a structural - analysis, heat generation rate in a thermal analysis, etc.) on an area. - Body loads may be transferred from areas to area elements (or to nodes - if area elements do not exist) with the BFTRAN or SBCTRAN commands. - Body loads default to the value specified on the BFUNIF command, if it - was previously specified. + kphi + Phi singularity location for toroidal systems: - You can specify a table name only when using temperature (TEMP) and - heat generation rate (HGEN) body load labels. + 0 - Singularity in phi direction at ±180°. - Body loads specified by the BFA command can conflict with other - specified body loads. See Resolution of Conflicting Body Load - Specifications in the Basic Analysis Guide for details. + 1 - Singularity in phi direction at 0° (360°). - Graphical picking is available only via the listed menu paths. + Notes + ----- + Continuous closed surfaces (circles, cylinders, spheres, etc.) have a + singularity (discontinuity) at θ = ±180°. For local cylindrical, + spherical, and toroidal coordinate systems, this singularity location + may be changed to 0° (360°). - This command is also valid in PREP7. + An additional, similar singularity occurs in the toroidal coordinate + system at: Φ = ±180° and can be moved with KPHI. Additional + singularities occur in the spherical coordinate system at: Φ = ±90°, + but cannot be moved. + + This command is valid in any processor. """ - command = "BFA, %s, %s, %s, %s, %s, %s" % (str(area), str(lab), str(val1), str(val2), str(val3), str(val4)) + command = "CSCIR,%s,%s,%s" % (str(kcn), str(kthet), str(kphi)) self.RunCommand(command, **kwargs) - def Lsymm(self, ncomp="", nl1="", nl2="", ninc="", kinc="", noelem="", - imove="", **kwargs): + def Dcgomg(self, dcgox="", dcgoy="", dcgoz="", **kwargs): """ - APDL Command: LSYMM + APDL Command: DCGOMG - Generates lines from a line pattern by symmetry reflection. + Specifies the rotational acceleration of the global origin. Parameters ---------- - ncomp - Symmetry key: - - X - X symmetry (default). - - Y - Y symmetry. - - Z - Z symmetry. - - nl1, nl2, ninc - Reflect lines from pattern beginning with NL1 to NL2 (defaults to - NL1) in steps of NINC (defaults to 1). If NL1 = ALL, NL2 and NINC - are ignored and pattern is all selected lines [LSEL]. If NL1 = 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 NL1 (NL2 and NINC are ignored). - - kinc - Keypoint increment between sets. If zero, the lowest available - keypoint numbers are assigned [NUMSTR]. - - noelem - Specifies whether nodes and elements are also to be generated: - - 0 - Generate nodes and elements associated with the original lines, if they exist. - - 1 - Do not generate nodes and elements. - - imove - Specifies whether areas will be moved or newly defined: - - 0 - Generate additional lines. - - 1 - Move original lines to new position retaining the same keypoint numbers (KINC - and NOELEM are ignored). Valid only if the old lines are no - longer needed at their original positions. Corresponding - meshed items are also moved if not needed at their original - position. + dcgox, dcgoy, dcgoz + Rotational acceleration of the global origin about the acceleration + system X, Y, and Z axes. Notes ----- - Generates a reflected set of lines (and their corresponding keypoints - and mesh) from a given line pattern by a symmetry reflection (see - analogous node symmetry command, NSYM). The MAT, TYPE, REAL, and ESYS - attributes are based upon the lines in the pattern and not upon the - current settings. Reflection is done in the active coordinate system - by changing a particular coordinate sign. The active coordinate system - must be Cartesian. Lines in the pattern may have been generated in any - coordinate system. However, solid modeling in a toroidal coordinate - system is not recommended. Lines are generated as described in the - LGEN command. - - See the ESYM command for additional information about symmetry - elements. - - """ - command = "LSYMM, %s, %s, %s, %s, %s, %s, %s" % (str(ncomp), str(nl1), str(nl2), str(ninc), str(kinc), str(noelem), str(imove)) - self.RunCommand(command, **kwargs) + Specifies the rotational acceleration of the global origin about each + of the acceleration coordinate system axes [CGLOC]. Rotational + accelerations may be defined in analysis types ANTYPE,STATIC, HARMIC + (full or mode-superposition), TRANS (full or mode-superposition), and + SUBSTR. See Acceleration Effect in the Mechanical APDL Theory Reference + for details. Units are radians/time2. - def Master(self, **kwargs): - """ - APDL Command: MASTER + The DCGOMG command supports tabular boundary conditions (%TABNAME_X%, + %TABNAME_Y%, and %TABNAME_Z%) for DCGOMG_X, DCGOMG_Y, and DCGOMG_Z + input values (*DIM) for full transient and harmonic analyses. - Specifies "Master DOF" as the subsequent status topic. + Related commands are ACEL, CGLOC, CGOMGA, DOMEGA, and OMEGA. - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + See Analysis Tools in the Mechanical APDL Theory Reference for more + information. - If entered directly into the program, the STAT command should - immediately follow this command. + This command is also valid in PREP7. """ - command = "MASTER, " % () + command = "DCGOMG,%s,%s,%s" % (str(dcgox), str(dcgoy), str(dcgoz)) self.RunCommand(command, **kwargs) - def Rprism(self, z1="", z2="", nsides="", lside="", majrad="", minrad="", + def Pdprob(self, rlab="", name="", relation="", limit="", conf="", **kwargs): """ - APDL Command: RPRISM + APDL Command: PDPROB - Creates a regular prism volume centered about the working plane origin. + Prints a probability result. Parameters ---------- - z1, z2 - Working plane Z coordinates of the prism. + rlab + Result set label. Identifies the result set to be used for + postprocessing. A result set label can be the solution set label + you defined in a PDEXE command (if you are directly postprocessing + Monte Carlo Simulation results), or the response surface set label + defined in an RSFIT command (for Response Surface Analyses). - nsides - Number of sides in the polygon defining the top and bottom faces of - the prism. Must be greater than 2. + name + Parameter name. The parameter must have been previously defined as + a random input variable or a random output parameter using the + PDVAR command. - lside - Length of each side of the polygon defining the top and bottom - faces of the prism. + relation + Relation label for the relation between probabilistic design + parameter Name and the limit value LIMIT: - majrad - Radius of the major (or circumscribed) circle of the polygon - defining the top and bottom faces of the prism. Not used if LSIDE - is input. + LT - Less than (default). - minrad - Radius of the minor (or inscribed circle) of the polygon defining - the top and bottom faces of the prism. Not used if LSIDE or MAJRAD - is input. + GT - Greater than. + + limit + Limit value. + + -- + Unused field. + + conf + Confidence level. The confidence level is used to print the + confidence bounds on the probability. The value for the confidence + level must be between 0.0 and 1.0 and it defaults to 0.95 (95%). + Printing of confidence bound is suppressed for CONF 0.5. This + parameter is ignored for response surface methods results + postprocessing. Notes ----- - Defines a regular prism volume centered about the working plane origin. - The prism must have a spatial volume greater than zero. (i.e., this - volume primitive command cannot be used to create a degenerate volume - as a means of creating an area.) The top and bottom faces are - polygonal areas that are parallel to the working plane but neither face - need be coplanar with (i.e., "on") the working plane. The first - keypoint defined for each face is at : θ = 0°. See the RPR4 and PRISM - commands for other ways to create prisms. + Prints the probability that the probabilistic design input or output + variable denoted with Name is smaller or larger than a certain limit + value. + + If Rlab is left blank, then the result set label is inherited from the + last PDEXE command (Slab), RSFIT command (RSlab), or the most recently + used PDS postprocessing command where a result set label was explicitly + specified. + + Use the relation label Relation to specify if you want to print a + traditional probability value (LT) or the exceedence probability (GT). + The LIMIT directly specifies at which value of Name (the design + parameter) the probability should be evaluated. If LIMIT is between two + sample values of Name the resulting probability is linearly + interpolated between the sample values. If LIMIT is smaller than all + sample values of Name the probability is 0.0 for Relation = LT and 1.0 + for Relation = GT. If LIMIT is greater than all sample values for Name + the probability is 1.0 for Relation = LT and 0.0 for Relation = GT. + + The confidence level is a probability expressing the confidence that + the value for the requested probability is in fact between the + confidence bounds. The larger the confidence level, the wider the + confidence bounds. Printing the confidence bounds only makes sense for + postprocessing Monte Carlo simulation results, where the confidence + bounds represent the accuracy of the results. With increasing sample + sizes, the width of the confidence bounds gets smaller for the same + confidence level. For response surface analysis methods, the number of + simulations done on the response surface is usually very large; + therefore, the accuracy of the results is determined by the response + surface fit and not by the confidence level. + + The PDPROB command cannot be used to postprocess the results in a + solution set that is based on Response Surface Methods, only Monte + Carlo Simulations. """ - command = "RPRISM, %s, %s, %s, %s, %s, %s" % (str(z1), str(z2), str(nsides), str(lside), str(majrad), str(minrad)) + command = "PDPROB,%s,%s,%s,%s,%s" % (str(rlab), str(name), str(relation), str(limit), str(conf)) self.RunCommand(command, **kwargs) - def Subopt(self, option="", value1="", **kwargs): + def Pdexe(self, slab="", mrun="", nfail="", fopt="", fname="", **kwargs): """ - APDL Command: SUBOPT + APDL Command: PDEXE - Specifies Subspace (SUBSP) eigensolver options. + Executes the probabilistic analysis. Parameters ---------- - option - One of the following options: + slab + Solution label. This is the name given to the files containing the + results of different probabilistic analyses performed with a + particular probabilistic model. Different solutions using different + probabilistic methods or method options are stored in separate + solution sets identified with this solution label. If the solution + label is blank, ANSYS automatically assigns Slab = "SOLUnn", where + nn is the current two-digit number of the probabilistic analysis + (PDS allows a maximum of 10 solution sets identified by 10 solution + labels); for example, the first analysis is SOLU01, the second is + SOLU02, and so on up to SOLU10). This field cannot contain blanks. + Maximum length of this field is 32 characters; if the field + contains more than 32 characters, it will be truncated to 32 + characters. - STRMCK - Controls whether a Sturm sequence check is performed. + mrun + Keyword for the processing of the simulation loops - Value1: - OFF + SER - Executes the simulation loops of the probabilistic analysis using a single + machine; serial processing (default). - Do not perform Sturm sequence check (default). - ON + PAR - Executes the simulation loops of the probabilistic analysis in parallel using + the ANSYS parallel-processing tool. See Probabilistic Design + in the Advanced Analysis Guide. - Perform Sturm sequence check. - MEMORY + nfail + This parameter sets the number of loops that are allowed to fail + before the execution of the probabilistic analysis is terminated. + For example, if geometric parameters are used as random variables + then for some simulations (loops) the loop will fail because + meshing was not successful. This might happen infrequently which + might be acceptable. However, if the probabilistic problem is + incorrectly defined then loops could fail frequently or even in + every loop. You can define an upper limit for the number of failed + loops that will be tolerated before the probabilistic analysis will + be terminated. If you use NFAIL = 0 (default) then failed loops are + not tolerated and the probabilistic analysis will terminate the + first time a loop fails. NFAIL is used only if MRUN = PAR. - Controls the memory allocation strategy for the Subspace eigensolver. - Value1: + fopt + Keyword for the file option. This determines if a copy of the + sample file should be saved or not. - AUTO - Use the default memory allocation strategy (default). + DEL - The sample file will be deleted (default). - INCORE - Force the Subspace eigensolver to allocate in-core memory. + COPY - A copy of the sample file will be saved as the file name specified with the + Fname option. - OUTOFCORE - Force the Subspace eigensolver to use scratch files. + fname + Name of the copy of the sample file. The directory for storing the + sample file is always the current working directory. The file + extension is always .csmp. This option is ignored for FOPT = DEL. Notes ----- - SUBOPT specifies options to be used with the Subspace eigensolver - (MODOPT,SUBSP) during a modal analysis. + Runs the probabilistic analysis. The results of the probabilistic + analysis are identified with the solution label specified here. This + solution label is used for the postprocessing of the results. The + maximum number of probabilistic analyses that can be executed, stored, + and post-processed based on the same deterministic and probabilistic + model in one session with the PDS is 10. However, it is not counted as + a separate probabilistic analysis if the same solution label is used + multiple times in order to append to or overwrite previous results. + + The probabilistic results are stored in result files in ASCII format. + + If you specify a solution label that has already been used, the results + will be appended at the end of the results file. + + After the PDEXE command has been issued, you can no longer change the + probabilistic model using probabilistic preprocessing commands; doing + so would invalidate the probabilistic analysis results and potentially + corrupt the probabilistic database. Also, you are not allowed to change + the probabilistic analysis file using a PDANL command after the first + PDEXE has been executed. + + If you need to change the probabilistic model (analysis file, random + input variables, etc.) after the PDEXE command has been issued, you + should use the PDCLR, POST command to clear the probabilistic results. + We recommend that you first save the results using the PDSAVE command. + + By default, ANSYS creates a sample file (called Jobname.samp) + containing all values of all random input parameters; unless you + specify otherwise, this file is deleted after the analysis is finished. + With the FOPT and Fname options you can determine if and where a copy + of that file should be stored for later use in another analysis. """ - command = "SUBOPT, %s, %s" % (str(option), str(value1)) + command = "PDEXE,%s,%s,%s,%s,%s" % (str(slab), str(mrun), str(nfail), str(fopt), str(fname)) self.RunCommand(command, **kwargs) - def Kdist(self, kp1="", kp2="", **kwargs): + def Rmporder(self, ord1="", ord2="", ord3="", ord4="", ord5="", ord6="", + ord7="", ord8="", ord9="", **kwargs): """ - APDL Command: KDIST + APDL Command: RMPORDER - Calculates and lists the distance between two keypoints. + Defines polynomial orders for ROM functions. Parameters ---------- - kp1 - First keypoint in distance calculation. If KP1 = P, graphical - picking is enabled and all remaining command fields are ignored - (valid only in the GUI). - - kp2 - Second keypoint in distance calculation. + ord1, ord2, ord3, . . . , ord9 + Polynomial orders for modes. Ordi specifies the polynomial order + for modei. Modes are ordered as extracted from a modal analysis + using the RMNEVEC command. Defaults to 0 if mode i is unused; + default to nstep(i) -1 for dominant or relevant modes, where + nstep(i) is the number of equidistant steps in fit range of mode i. + nstep(i) is automatically set by RMMSELECT or modified by the + RMMRANGE command. Notes ----- - KDIST lists the distance between keypoints KP1 and KP2, as well as the - current coordinate system offsets from KP1 to KP2, where the X, Y, and - Z locations of KP1 are subtracted from the X, Y, and Z locations of KP2 - (respectively) to determine the offsets. KDIST is valid in any - coordinate system except toroidal [CSYS,3]. - - KDIST returns a variable, called "_RETURN," which contains the distance - value. You can use this value for various purposes; for example, to - set the default number of line divisions to be generated along region - boundary lines [ESIZE,_RETURN]. In interactive mode, you can access - this command by using the Model Query Picker (Utility Menu> List> - Picked Entities), where you can also access automatic annotation - functions, and display the value on your model. - - This command is valid in any processor. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "KDIST, %s, %s" % (str(kp1), str(kp2)) + command = "RMPORDER,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(ord1), str(ord2), str(ord3), str(ord4), str(ord5), str(ord6), str(ord7), str(ord8), str(ord9)) self.RunCommand(command, **kwargs) - def Edpl(self, ldnum="", **kwargs): + def Bfscale(self, lab="", fact="", tb_ase="", **kwargs): """ - APDL Command: EDPL + APDL Command: BFSCALE - Plots a time dependent load curve in an explicit dynamic analysis. + Scales body force loads at nodes. Parameters ---------- - ldnum - Load number. + lab + Valid body load label. If ALL, use all appropriate labels. + + fact + Scale factor for the nodal body load values. Zero (or blank) + defaults to 1.0. Use a small number for a zero scale factor. The + scale factor is not applied to body load phase angles. + + tbase + Base temperature for temperature difference. Used only with Lab = + TEMP. Scale factor is applied to the temperature difference (T - + TBASE) and then added to TBASE. T is the current temperature. Notes ----- - EDPL invokes an ANSYS macro which produces a load vs. time graph for a - load defined with the EDLOAD command. Only one load curve can be - plotted at a time. Use EDLOAD,LIST to obtain a list of loads and - corresponding load numbers. + Scales body force loads in the database on the selected nodes. Issue + the BFLIST command to list the nodal body loads. Solid model boundary + conditions are not scaled by this command, but boundary conditions on + the FE model are scaled. - This command is also valid in PREP7. + Note:: : Such scaled FE boundary conditions may still be overwritten by + unscaled solid model boundary conditions if a subsequent boundary + condition transfer occurs. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + BFSCALE does not work for tabular boundary conditions. + + This command is also valid in PREP7. """ - command = "EDPL, %s" % (str(ldnum)) + command = "BFSCALE,%s,%s,%s" % (str(lab), str(fact), str(tb_ase)) self.RunCommand(command, **kwargs) - def Et(self, itype="", ename="", kop1="", kop2="", kop3="", kop4="", - kop5="", kop6="", inopr="", **kwargs): + def Desize(self, minl="", minh="", mxel="", angl="", angh="", edgmn="", + edgmx="", adjf="", adjm="", **kwargs): """ - APDL Command: ET + APDL Command: DESIZE - Defines a local element type from the element library. + Controls default element sizes. Parameters ---------- - itype - Arbitrary local element type number. Defaults to 1 + current - maximum. + minl + Minimum number of elements that will be attached to a line when + using lower-order elements (defaults to 3 elements per line). If + MINL = DEFA, all arguments will be set back to default values. If + MINL = STAT, list status of command (Including on/off status). If + MINL = OFF, deactivate default element sizing. If MINL = ON, + reactivate default element sizing. - ename - Element name (or number) as given in the element library in Chapter - 4 of the Element Reference. The name consists of a category prefix - and a unique number, such as PIPE288. The category prefix of the - name (PIPE for the example) may be omitted but is displayed upon - output for clarity. If Ename = 0, the element is defined as a null - element. + minh + Minimum number of elements that will be attached to a line when + using higher-order elements. Defaults to 2 elements per line. - kop1, kop2, kop3, . . . , kop6 - KEYOPT values (1 through 6) for this element, as described in the - Element Reference. + mxel + Maximum number of elements that will be attached to a single line + (lower or higher-order elements). Defaults to 15 elements per line + for h-elements. To deactivate this limit, specify a large number + (such as 9999). - inopr - If 1, suppress all element solution printout for this element type. + angl + Maximum spanned angle per lower-order element for curved lines. + Defaults to 15 degrees per element. - Notes - ----- - The ET command selects an element type from the element library and - establishes it as a local element type for the current model. - Information derived from the element type is used for subsequent - commands, so the ET command(s) should be issued early. (The Element - Reference describes the available elements.) + angh + Maximum spanned angle per higher-order element for curved lines. + Defaults to 28 degrees per element. - A special option, Ename = 0, permits the specified element type to be - ignored during solution without actually removing the element from the - model. Ename may be set to zero only after the element type has been - previously defined with a nonzero Ename. The preferred method of - ignoring elements is to use the select commands (such as ESEL). + edgmn + Minimum element edge length. Defaults to no minimum edge length. + The MINL or MINH argument can override this value. - KOPn are element option keys. These keys (referred to as KEYOPT(n)) are - used to turn on certain element options for this element. These options - are listed under "KEYOPT" in the input table for each element type in - the Element Reference. KEYOPT values include stiffness formulation - options, printout controls, and various other element options. If - KEYOPT(7) or greater is needed, input their values with the KEYOPT - command. + edgmx + Maximum element edge length. Defaults to no maximum edge length. + The MXEL argument can override this value. - The ET command only defines an element type local to your model (from - the types in the element library). The TYPE or similar [KATT, LATT, - AATT, or VATT] command must be used to point to the desired local - element type before meshing. + adjf + Target aspect ratio for adjacent line. Used only when free + meshing. Defaults to 1.0, which attempts to create equal-sided + h-elements. - To activate the ANSYS program's LS-DYNA explicit dynamic analysis - capability, use the ET command or its GUI equivalent to choose an - element that works only with LS-DYNA (such as SHELL163). Choosing LS- - DYNA in the Preferences dialog box does not activate LS-DYNA; it simply - makes items and options related to LS-DYNA accessible in the GUI. + adjm + Target aspect ratio for adjacent line. Used only when map meshing. + Defaults to 4.0, which attempts to create rectangular h-elements. + + Notes + ----- + DESIZE settings are usually used for mapped meshing. They are also + used for free meshing if SmartSizing is turned off [SMRTSIZE,OFF], + which is the default. Even when SmartSizing is on, some DESIZE + settings (such as maximum and minimum element edge length) can affect + free mesh density. The default settings of the DESIZE command are used + only when no other element size specifications [KESIZE, LESIZE, ESIZE] + exist for a certain line. + + This command is also valid for rezoning. """ - command = "ET, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(itype), str(ename), str(kop1), str(kop2), str(kop3), str(kop4), str(kop5), str(kop6), str(inopr)) + command = "DESIZE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(minl), str(minh), str(mxel), str(angl), str(angh), str(edgmn), str(edgmx), str(adjf), str(adjm)) self.RunCommand(command, **kwargs) - def Adrag(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nlp1="", - nlp2="", nlp3="", nlp4="", nlp5="", nlp6="", **kwargs): + def Keyopt(self, itype="", knum="", value="", **kwargs): """ - APDL Command: ADRAG + APDL Command: KEYOPT - Generates areas by dragging a line pattern along a path. + Sets element key options. Parameters ---------- - nl1, nl2, nl3, . . . , nl6 - List of lines in the pattern to be dragged (6 maximum if using - keyboard entry). Lines should form a continuous pattern (no more - than two lines connected to any one keypoint. If NL1 = P, - graphical picking is enabled and all remaining arguments are - ignored (valid only in the GUI). If NL1 = ALL, all selected lines - (except those that define the drag path) will be swept along the - path. A component name may also be substituted for NL1. + itype + Element type number as defined on the ET command. The label GCN is + also valid input for general contact elements (see Notes). - nlp1, nlp2, nlp3, . . . , nlp6 - List of lines defining the path along which the pattern is to be - dragged (6 maximum if using keyboard entry). Must be a continuous - set of lines. + knum + Number of the KEYOPT to be defined (KEYOPT(KNUM)). + + value + Value of this KEYOPT. Notes ----- - Generates areas (and their corresponding keypoints and lines) by - sweeping a given line pattern along a characteristic drag path. If the - drag path consists of multiple lines, the drag direction is determined - by the sequence in which the path lines are input (NLP1, NLP2, etc.). - If the drag path is a single line (NLP1), the drag direction is from - the keypoint on the drag line that is closest to the first keypoint of - the given line pattern to the other end of the drag line. - - The magnitude of the vector between the keypoints of the given pattern - and the first path keypoint remains constant for all generated keypoint - patterns and the path keypoints. The direction of the vector relative - to the path slope also remains constant so that patterns may be swept - around curves. + Alternative to inputting KEYOPT values on ET command. Must be used if + KEYOPT(7) or greater values are to be input. ITYPE must first be + defined with the ET command. - Keypoint, line, and area numbers are automatically assigned (beginning - with the lowest available values [NUMSTR]). Adjacent lines use a - common keypoint. Adjacent areas use a common line. For best results, - the entities to be dragged should be orthogonal to the start of the - drag path. Drag operations that produce an error message may create - some of the desired entities prior to terminating. + Specify ITYPE = GCN to set element key options for all contact elements + types used in any existing general contact definitions (that is, + contact elements having a real constant set number = 0). """ - command = "ADRAG, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nlp1), str(nlp2), str(nlp3), str(nlp4), str(nlp5), str(nlp6)) + command = "KEYOPT,%s,%s,%s" % (str(itype), str(knum), str(value)) self.RunCommand(command, **kwargs) - def Mfpsimul(self, gname="", fname1="", fname2="", **kwargs): + def Ernorm(self, key="", **kwargs): """ - APDL Command: MFPSIMUL + APDL Command: ERNORM - Sets up a field solver group to simultaneously process with code - coupling analyses. + Controls error estimation calculations. Parameters ---------- - gname - Sets the group name with a character string of up to 80 characters. + key + Control key: - fname1, fname2 - Sets the field solver 1 and field solver 2 names, which are - processed simultaneously, with a character string of up to 80 - characters. + ON - Perform error estimation (default). This option is not valid for PowerGraphics. + + OFF - Do not perform error estimation. Notes ----- - This command is used to define a group of simultaneously-processed - field solvers in an MFX analysis. For example, to define group g1 with - field solvers ansys-code and cfx-code, enter MFPS,g1,ansys-code,cfx- - code. - - To indicate groups of sequentially-processed field solvers for your MFX - analysis, create two groups (g1 and g2). - - A field solver refers to a specific instance of an ANSYS or CFX solver - execution that is defined by the respective input file(s) referenced - when starting the solver (through the launcher or from the command - line). The field solver names that are referenced in several MFX - commands must be consistent with the names that will be used when - starting the coupled simulation. - - Note:: : When running MFX from the launcher, you must use ANSYS and CFX - (uppercase) as the field solver names (MFPSIMUL) in your input file. - - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Especially for thermal analyses, program speed increases if error + estimation is suppressed. Therefore, it might be desirable to use + error estimation only when needed. The value of the ERNORM key is not + saved on file.db. Consequently, you need to reissue the ERNORM key + after a RESUME if you wish to deactivate error estimation again. """ - command = "MFPSIMUL, %s, %s, %s" % (str(gname), str(fname1), str(fname2)) + command = "ERNORM,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Stef(self, value="", **kwargs): + def Aatt(self, mat="", real="", type="", esys="", secn="", **kwargs): """ - APDL Command: STEF + APDL Command: AATT - Specifies Stefan-Boltzmann radiation constant. + Associates element attributes with the selected, unmeshed areas. Parameters ---------- - value - Stefan-Boltzmann constant (defaults to 0.119E-10 Btu/hr/in2/ °R4). + mat + The material number to be associated with selected, unmeshed areas. + + real + The real constant set number to be associated with selected, + unmeshed areas. + + type + The type number to be associated with selected, unmeshed areas. + + esys + The coordinate system number to be associated with selected, + unmeshed areas. + + secn + The section number to be associated with selected unmeshed areas. Notes ----- - You can use this command in the general preprocessor (PREP7) and in the - Solution processor to specify the Stefan-Boltzmann constant in analyses - using the radiation matrix method or the radiosity solver to model - radiation. + Areas subsequently generated from the areas will also have these + attributes. These element attributes will be used when the areas are + meshed. If an area does not have attributes associated with it (by + this command) at the time it is meshed, the attributes are obtained + from the then current MAT, REAL, TYPE, ESYS, and SECNUM command + settings. Reissue the AATT command (before areas are meshed) to change + the attributes. A zero (or blank) argument removes the corresponding + association. If any of the arguments MAT, REAL, TYPE, ESYS, or SECN are + defined as -1, then that value will be left unchanged in the selected + set. + + In some cases, ANSYS can proceed with an area meshing operation even + when no logical element type has been assigned via AATT,,,TYPE or TYPE. + For more information, see the discussion on setting element attributes + in Meshing Your Solid Model in the Modeling and Meshing Guide. """ - command = "STEF, %s" % (str(value)) + command = "AATT,%s,%s,%s,%s,%s" % (str(mat), str(real), str(type), str(esys), str(secn)) self.RunCommand(command, **kwargs) - def Cpintf(self, lab="", toler="", **kwargs): + def Felist(self, nev1="", nev2="", ninc="", **kwargs): """ - APDL Command: CPINTF + APDL Command: FELIST - Defines coupled degrees of freedom at an interface. + Lists the fatigue event parameters. Parameters ---------- - lab - Degree of freedom label for coupled nodes (in the nodal coordinate - system). If ALL, use all appropriate labels except HDSP. Valid - labels are: Structural labels: UX, UY, or UZ (displacements); - ROTX, ROTY, or ROTZ (rotations, in radians), HDSP (hydrostatic - pressure). Thermal labels: TEMP, TBOT, TE2, TE3, . . ., TTOP - (temperature). Fluid labels: PRES (pressure); VX, VY, or VZ - (velocities). Electric labels: VOLT (voltage); EMF - (electromotive force drop); CURR (current). Magnetic labels: MAG - (scalar magnetic potential); AX, AY, or AZ (vector magnetic - potentials); CURR (current). Diffusion label: CONC - (concentration). - - toler - Tolerance for coincidence (based on maximum coordinate difference - in each global Cartesian direction for node locations and on angle - differences for node orientations). Defaults to 0.0001. Only - nodes within the tolerance are considered to be coincident for - coupling. - - Notes - ----- - Defines coupled degrees of freedom between coincident nodes (within a - tolerance). May be used, for example, to "button" together elements - interfacing at a seam, where the seam consists of a series of node - pairs. One coupled set is generated for each selected degree of - freedom for each pair of coincident nodes. For more than two - coincident nodes in a cluster, a coupled set is generated from the - lowest numbered node to each of the other nodes in the cluster. - Coupled sets are generated only within (and not between) clusters. If - fewer than all nodes are to be checked for coincidence, use the NSEL - command to select nodes. Coupled set reference numbers are incremented - by one from the highest previous set number. Use CPLIST to display the - generated sets. Only nodes having the same nodal coordinate system - orientations ("coincident" within a tolerance) are included. Use the - CEINTF command to connect nodes by constraint equations instead of by - coupling. Use the EINTF command to connect nodes by line elements - instead of by coupling. + nev1, nev2, ninc + List event parameters from NEV1 (defaults to 1) to NEV2 (defaults + to NEV1) in steps of NINC (defaults to 1). If NEV1 = ALL, NEV2 and + NINC are ignored and all events are listed. Fatigue event + parameters are defined with the FE command. """ - command = "CPINTF, %s, %s" % (str(lab), str(toler)) + command = "FELIST,%s,%s,%s" % (str(nev1), str(nev2), str(ninc)) self.RunCommand(command, **kwargs) - def Copy(self, fname1="", ext1="", fname2="", ext2="", distkey="", - **kwargs): + def Ednb(self, option="", cname="", ad="", _as="", **kwargs): """ - APDL Command: /COPY + APDL Command: EDNB - Copies a file. + Defines a nonreflecting boundary in an explicit dynamic analysis. Parameters ---------- - fname1 - File name to be copied and its directory path (248 characters - maximum for both file name and directory). If you do not specify a - directory path, it will default to your working directory and you - can use all 248 characters for the file name. + option + Label identifying the nonreflecting boundary option to be + performed. - ext1 - Filename extension (eight-character maximum). + ADD - Define a nonreflecting boundary (default). - -- - Unused field. + DELE - Delete a nonreflecting boundary. - fname2 - File name to be created and its directory path (248 characters - maximum for both file name and directory). If you do not specify a - directory path, it will default to your working directory and you - can use all 248 characters for the file name. + LIST - List all defined nonreflecting boundaries (remaining fields are ignored). - ext2 - Filename extension (eight-character maximum). + cname + Name of existing nodal component to which the nonreflecting + boundary is to be added or deleted. For Option = DELE, use Cname = + ALL to delete all defined nonreflecting boundaries. - -- - Unused field. + ad + Activation flag for dilatational waves (dampers normal to waves). - distkey - Key that specifies whether the copy operation is performed on all - processes in distributed parallel mode (Distributed ANSYS): + 0 - Dilatational activation flag is off (default). - 1 (ON or YES) - The program performs the copy operation locally on each process. + 1 - Dilatational activation flag is on. - 0 (OFF or NO) - The program performs the copy operation only on the master process (default). + as + Activation flag for shear waves (dampers tangent to waves). + + 0 - Shear activation flag is off (default). + + 1 - Shear activation flag is on. Notes ----- - The original file is untouched. Ex: /COPY,A,,,B copies file A to B in - the same directory. /COPY,A,DAT,,,INP copies the file A.DAT to A.INP. - See the Operations Guide for details. ANSYS binary and ASCII files can - be copied. + Nonreflecting boundaries can be defined on the external surfaces of + SOLID164 and SOLID168 elements that are being used to model an infinite + domain. They are typically used in geomechanical applications to limit + the size of the model. For example, when a half space is being modeled + with a finite geometry, the nonreflecting boundary option can be used + to prevent artificial stress wave reflections generated at the boundary + from reentering the model and contaminating the results. - In distributed parallel mode (Distributed ANSYS), only the master - process will copy Fname1.Ext1 to Fname2.Ext2 by default. However, when - DistKey is set to 1 (or ON or YES), the command is executed by all - processes. In this case, Fname1 and Fname2 will automatically have the - process rank appended to them. This means Fname1N.Ext1 will be copied - to Fname2N.Ext2 by all processes, where N is the Distributed ANSYS - process rank. For more information see Differences in General Behavior - in the Parallel Processing Guide. + When using nonreflecting boundaries, you should not constrain the nodes + at the boundary; doing so would negate the presence of the dampers. + Usually, the large mass of the finite domain is sufficient to resist + motion. + + This command is also valid in SOLUTION. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/COPY, %s, %s, %s, %s, %s" % (str(fname1), str(ext1), str(fname2), str(ext2), str(distkey)) + command = "EDNB,%s,%s,%s,%s" % (str(option), str(cname), str(ad), str(_as)) self.RunCommand(command, **kwargs) - def Ereinf(self, **kwargs): + def Extrem(self, nvar1="", nvar2="", ninc="", **kwargs): """ - APDL Command: EREINF + APDL Command: EXTREM - Generates reinforcing elements from selected existing (base) elements. + Lists the extreme values for variables. + + Parameters + ---------- + nvar1, nvar2, ninc + List extremes for variables NVAR1 through NVAR2 in steps of NINC. + Variable range defaults to its maximum. NINC defaults to 1. Notes ----- - The EREINF command generates reinforcing elements (REINF264 and - REINF265) directly from selected base elements (that is, existing - standard elements in your model). The command scans all selected base - elements and generates (if necessary) a compatible reinforcing element - type for each base element. (ANSYS allows a combination of different - base element types.) - - Although predefining the reinforcing element type (ET) is not required, - you must define the reinforcing element section type (SECTYPE); - otherwise, ANSYS cannot generate the reinforcing element. - - The EREINF command does not create new nodes. The reinforcing elements - and the base elements share the common nodes. - - Elements generated by this command are not associated with the solid - model. - - After the EREINF command executes, you can issue ETLIST, ELIST, and - EPLOT commands to verify the newly created reinforcing element types - and elements. - - Reinforcing elements do not account for any subsequent modifications - made to the base elements. ANSYS, Inc. recommends issuing the EREINF - command only after the base elements are finalized. If you delete or - modify base elements (via EDELE, EMODIF, ETCHG, EMID, EORIENT, NUMMRG, - or NUMCMP commands, for example), remove all affected reinforcing - elements and reissue the EREINF command to avoid inconsistencies. + Lists the extreme values (and the corresponding times) for stored and + calculated variables. Extremes for stored variables are automatically + listed as they are stored. Only the real part of a complex number is + used. Extreme values may also be assigned to parameters [*GET]. """ - command = "EREINF, " % () + command = "EXTREM,%s,%s,%s" % (str(nvar1), str(nvar2), str(ninc)) self.RunCommand(command, **kwargs) - def Sfa(self, area="", lkey="", lab="", value="", value2="", **kwargs): + def Rsplot(self, rslab="", yname="", x1name="", x2name="", type="", + npts="", plow="", pup="", **kwargs): """ - APDL Command: SFA + APDL Command: RSPLOT - Specifies surface loads on the selected areas. + Plot a response surface. Parameters ---------- - area - Area to which surface load applies. If ALL, apply load to all - selected areas [ASEL]. If Area = P, graphical picking is enabled - and all remaining command fields are ignored (valid only in the - GUI). A component may be substituted for Area. + rslab + Response Surface set label. Identifies the response surfaces + generated by the RSFIT command. - lkey - Load key associated with surface load (defaults to 1). Load keys - (1,2,3, etc.) are listed under "Surface Loads" in the input data - table for each element type in the Element Reference. LKEY is - ignored if the area is the face of a volume region meshed with - volume elements. + yname + Parameter name. The parameter must have been previously defined as + a random output parameter with the PDVAR command. - lab - Valid surface load label. Load labels are listed under "Surface - Loads" in the input table for each area type in the Element - Reference. + x1name + Parameter name. The parameter must have been previously defined as + a random input variable with the PDVAR command. - value - Surface load value or table name reference for specifying tabular - boundary conditions. + x2name + Parameter name. The parameter must have been previously defined as + a random input variable with the PDVAR command. X2Name must be + different than X1Name. - value2 - Second surface load value (if any). + type + Type of the response surface visualization. + + 2D - 2-D contour plot. + + 3D - 3-D surface plot. + + npts + Number of grid points for both the X1-axis and the X2-axis. The + grid points are used for the evaluation of the response surface. + The number must be between 1 and 500. Defaults to 20. If NPTS = 0 + or greater than 500, then a value of 20 is used. + + plow + Lower probability level used to determine the lower boundary + (plotting range) of the curve in case the random input variable + does not have a minimum value (such as Gauss). This probability + must be between 0.0 and 1.0. Defaults to 0.0025. + + pup + Upper probability level used to determine the upper boundary of the + curve. This probability must be between 0.0 and 1.0. Defaults to + 0.9975. Notes ----- - Surface loads may be transferred from areas to elements with the SFTRAN - or SBCTRAN commands. See the SFGRAD command for an alternate tapered - load capability. + Plots the response surface of an output parameter YName as a function + of two input parameters X1Name and X2Name. - Tabular boundary conditions (VALUE = %tabname% and/or VALUE2 = - %tabname%) are available for the following surface load labels (Lab) - only: : PRES (real and/or imaginary components), CONV (film coefficient - and/or bulk temperature) or HFLUX, and RAD (surface emissivity and - ambient temperature). Use the *DIM command to define a table. + If PLOW is left blank, then a minimum value of the distribution is used + for plotting, provided it exists (for example, uniform distribution). + If the distribution type has no minimum value (for example, Gaussian + distribution), then the default value is used to determine the lower + plotting range value. The same is true for the maximum value if PUP is + left blank. - This command is also valid in PREP7. + In addition to the response surface, the sampling points that are + fitted by the response surface are also plotted by this command. + However, sampling points falling outside of the plotting range defined + by the PLOW and PUP fields will not be shown in the plot. """ - command = "SFA, %s, %s, %s, %s, %s" % (str(area), str(lkey), str(lab), str(value), str(value2)) + command = "RSPLOT,%s,%s,%s,%s,%s,%s,%s,%s" % (str(rslab), str(yname), str(x1name), str(x2name), str(type), str(npts), str(plow), str(pup)) self.RunCommand(command, **kwargs) - def Gsave(self, fname="", ext="", **kwargs): + def Splot(self, na1="", na2="", ninc="", mesh="", **kwargs): """ - APDL Command: /GSAVE + APDL Command: SPLOT - Saves graphics settings to a file for later use. + Displays the selected areas and a faceted view of their underlying + surfaces Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + na1 + Starting area for display of areas and underlying surfaces. If NA1 + = ALL (default), NA2 and NINC are ignored and all selected areas + are displayed (ASEL command). - ext - Filename extension (eight-character maximum). + na2 + Last area to be displayed. - -- - Unused field. + ninc + Numeric value setting steps between NA1 and NA2 for display. + Default value is (1). + + mesh + Specifies a rectangular mesh density used to display the underlying + surface (default 4, i.e. 4 x 4). Notes ----- - This command does not save all graphics settings, but only those that - may be reset by the /RESET command. The database remains untouched. - Use the /GRESUME command to read the file. Repeated use of the /GSAVE - command overwrites the previous data on the file. The following - commands are saved by /GSAVE: + This command is valid in any processor. The plot output displays the + external and internal trim curves and underlying surface. You cannot + obtain a faceted view of your surface areas when you are using the + /EXPAND command to create larger graphics displays. - This command is valid in any processor. + Use APLOT for trimmed surface display. """ - command = "/GSAVE, %s, %s" % (str(fname), str(ext)) + command = "SPLOT,%s,%s,%s,%s" % (str(na1), str(na2), str(ninc), str(mesh)) self.RunCommand(command, **kwargs) - def Vlscale(self, nv1="", nv2="", ninc="", rx="", ry="", rz="", kinc="", - noelem="", imove="", **kwargs): + def Pdwrite(self, file="", fnam="", lnam="", **kwargs): """ - APDL Command: VLSCALE + APDL Command: PDWRITE - Generates a scaled set of volumes from a pattern of volumes. + Generates an HTML report for the probabilistic analyses. Parameters ---------- - nv1, nv2, ninc - Set of volumes (NV1 to NV2 in steps of NINC) that defines the - pattern to be scaled. NV2 defaults to NV1, NINC defaults to 1. If - NV1 = ALL, NV2 and NINC are ignored and the pattern is defined by - all selected volumes. If NV1 = 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 NV1 (NV2 and NINC are - ignored). + file + File name and directory path (248 characters maximum, including + directory) from which to read the report. If you do not specify a + directory path, it will default to your working directory and you + can use all 248 characters for the file name. - rx, ry, rz - Scale factors to be applied to the X, Y, and Z keypoint coordinates - in active coordinate system (RR, Rθ, RZ for cylindrical; RR, Rθ, RΦ - for spherical). Note that the Rθ and RΦ scale factors are - interpreted as angular offsets. For example, if CSYS = 1, RX, RY, - RZ input of (1.5,10,3) would scale the specified keypoints 1.5 - times in the radial and 3 times in the Z direction, while adding an - offset of 10 degrees to the keypoints. Zero, blank, or negative - scale factor values are assumed to be 1.0. Zero or blank angular - offsets have no effect. - - kinc - Increment to be applied to keypoint numbers for generated set. If - zero, the lowest available keypoint numbers will be assigned - [NUMSTR]. - - noelem - Specifies whether nodes and elements are also to be generated: - - 0 - Nodes and elements associated with the original volumes will be generated - (scaled) if they exist. - - 1 - Nodes and elements will not be generated. - - imove - Specifies whether volumes will be moved or newly defined: - - 0 - Additional volumes will be generated. + fnam + First name of the author of the report (32 characters maximum). + This first name must not include blanks. - 1 - Original volumes will be moved to new position (KINC and NOELEM are ignored). - Use only if the old volumes are no longer needed at their - original positions. Corresponding meshed items are also moved - if not needed at their original position. + lnam + Last name of the author of the report (32 characters maximum). This + last name must not include blanks. Notes ----- - Generates a scaled set of volumes (and their corresponding keypoints, - lines, areas, and mesh) from a pattern of volumes. The MAT, TYPE, - REAL, and ESYS attributes are based on the volumes in the pattern and - not the current settings. Scaling is done in the active coordinate - system. Volumes in the pattern could have been generated in any - coordinate system. However, solid modeling in a toroidal coordinate - system is not recommended. + Generates an HTML report for the probabilistic analysis. An HTML report + includes a description of the deterministic model, the probabilistic + model, the probabilistic methods used for the analyses and the results + obtained from the analyses. """ - command = "VLSCALE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nv1), str(nv2), str(ninc), str(rx), str(ry), str(rz), str(kinc), str(noelem), str(imove)) + command = "PDWRITE,%s,%s,%s" % (str(file), str(fnam), str(lnam)) self.RunCommand(command, **kwargs) - def Sspb(self, b11="", b21="", b31="", b22="", b32="", b33="", t="", - b12="", b13="", b23="", **kwargs): + def Vadd(self, nv1="", nv2="", nv3="", nv4="", nv5="", nv6="", nv7="", + nv8="", nv9="", **kwargs): """ - APDL Command: SSPB + APDL Command: VADD - Specifies a preintegrated coupling stiffness for shell sections. + Adds separate volumes to create a single volume. Parameters ---------- - b11, b21, b31, b22, b32, b33 - Coupling stiffness component (symmetric lower part of submatrix - [B]). - - t - Temperature. - - b12, b13, b23 - Upper part of submatrix [B] + nv1, nv2, nv3, . . . , nv9 + Numbers of volumes to be added. If NV1 = ALL, add all selected + volumes and ignore NV2 to NV9. If NV1 = 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 NV1. Notes ----- - The behavior of shell elements is governed by the generalized- - stress/generalized-strain relationship of the form: - - If the coefficients B12, B13, B23 are undefined, ANSYS uses a symmetric - form of submatrix [B]. If any one of the coefficients B12, B13, B23 is - nonzero, ANSYS considers submatrix [B] to be unsymmetric. - - The SSPB command, one of several preintegrated shell section commands, - specifies the coupling stiffness quantity (submatrix [B] data) for a - preintegrated shell section. The section data defined is associated - with the section most recently defined (via the SECTYPE command). - - Unspecified values default to zero. - - Related commands are SSPA, SSPD, SSPE, SSMT, SSBT, and SSPM. - - If you are using the SHELL181 or SHELL281 element's Membrane option - (KEYOPT(1) = 1), it is not necessary to issue this command. - - For complete information, see Using Preintegrated General Shell - Sections. + Adds separate volumes to create a single volume. The original volumes + (and their corresponding areas, lines and keypoints) will be deleted by + default [BOPTN]. See the BOPTN command for the options available to + Boolean operations. Element attributes and solid model boundary + conditions assigned to the original entities will not be transferred to + the new entities generated. Concatenated entities are not valid with + this command. """ - command = "SSPB, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(b11), str(b21), str(b31), str(b22), str(b32), str(b33), str(t), str(b12), str(b13), str(b23)) + command = "VADD,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nv1), str(nv2), str(nv3), str(nv4), str(nv5), str(nv6), str(nv7), str(nv8), str(nv9)) self.RunCommand(command, **kwargs) - def Sumap(self, rsetname="", item="", comp="", **kwargs): + def Rezone(self, option="", ldstep="", sbstep="", **kwargs): """ - APDL Command: SUMAP + APDL Command: REZONE - Map results onto selected surface(s). + Initiates the rezoning process, sets rezoning options, and rebuilds the + database. Parameters ---------- - rsetname - Eight-character name for the result being mapped. + option + The rezoning method to employ: - item - Label identifying the item. + MANUAL - Manual rezoning. You decide when to use rezoning, what region(s) to rezone, and + what remeshing method to use on the selected region(s). + This method is currently the default and only option. - comp - Component label of item (if required). + ldstep + The load step number at which rezoning should occur. The default + value is the highest load step number found in the Jobname.Rnnn + files (for the current jobname and in the current directory). + + sbstep + The substep number of the specified load step (LDSTEP) at which + rezoning should occur. The default value is the highest substep + number found in the specified load step in the Jobname.Rnnn files + (for the current jobname and in the current directory). Notes ----- - The SUMAP command maps results in the current coordinate system (RSYS) - using the selected set of elements. + The REZONE command rebuilds the database (.db file) based on the + specified load step and substep information, and updates nodes to their + deformed position for remeshing. - The command interpolates and stores the results data on to each of the - selected surfaces. + Before issuing this command, clear the database via the /CLEAR command. - SUMAP,ALL,CLEAR deletes all results sets from all selected surfaces. + For more information, see Rezoning in the Advanced Analysis Guide. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "SUMAP, %s, %s, %s" % (str(rsetname), str(item), str(comp)) + command = "REZONE,%s,%s,%s" % (str(option), str(ldstep), str(sbstep)) self.RunCommand(command, **kwargs) - def Mpamod(self, mat="", deftemp="", **kwargs): + def Vdrag(self, na1="", na2="", na3="", na4="", na5="", na6="", nlp1="", + nlp2="", nlp3="", nlp4="", nlp5="", nlp6="", **kwargs): """ - APDL Command: MPAMOD + APDL Command: VDRAG - Modifies temperature-dependent secant coefficients of thermal - expansion. + Generates volumes by dragging an area pattern along a path. Parameters ---------- - mat - Material number for which the secant coefficients of thermal - expansion (SCTE's) are to be modified. Defaults to 1. + na1, na2, na3, . . . , na6 + List of areas in the pattern to be dragged (6 maximum if using + keyboard entry). If NA1 = P, graphical picking is enabled and all + remaining command fields are ignored (valid only in the GUI). If + NA1 = ALL, all selected areas will be swept along the path. A + component name may also be substituted for NA1. - deftemp - Definition temperature at which the existing SCTE-versus- - temperature tables were defined. Defaults to zero. + nlp1, nlp2, nlp3, . . . , nlp6 + List of lines defining the path along which the pattern is to be + dragged (6 maximum if using keyboard entry). Must be a continuous + set of lines. To be continuous, adjacent lines must share the + connecting keypoint (the end keypoint of one line must also be + first keypoint of the next line). Notes ----- - This command converts temperature-dependent SCTE data (properties ALPX, - ALPY, ALPZ) from the definition temperature (DEFTEMP) to the reference - temperature defined by MP,REFT or TREF. If both the MP,REFT and TREF - commands have been issued, the reference temperature defined by the - MP,REFT command will be used. + Generates volumes (and their corresponding keypoints, lines, and areas) + by sweeping a given area pattern along a characteristic drag path. If + the drag path consists of multiple lines, the drag direction is + determined by the sequence in which the path lines are input (NLP1, + NLP2, etc.). If the drag path is a single line (NLP1), the drag + direction is from the keypoint on the drag line that is closest to the + first keypoint of the given area pattern to the other end of the drag + line. - This command does not apply to the instantaneous coefficients of - thermal expansion (properties CTEX, CTEY, CTEZ) or to the thermal - strains (properties THSX, THSY, THSZ). + The magnitude of the vector between the keypoints of the given pattern + and the first path keypoint remains constant for all generated keypoint + patterns and the path keypoints. The direction of the vector relative + to the path slope also remains constant so that patterns may be swept + around curves. Lines are generated with the same shapes as the given + pattern and the path lines. - See Linear Material Properties in the Mechanical APDL Material - Reference and the Mechanical APDL Theory Reference for more details. + Keypoint, line, area, and volume numbers are automatically assigned + (beginning with the lowest available values [NUMSTR]). Adjacent lines + use a common keypoint, adjacent areas use a common line, and adjacent + volumes use a common area. For best results, the entities to be + dragged should be orthogonal to the start of the drag path. Drag + operations that produce an error message may create some of the desired + entities prior to terminating. - This command is also valid in SOLUTION. + If element attributes have been associated with the input area via the + AATT command, the opposite area generated by the VDRAG operation will + also have those attributes (i.e., the element attributes from the input + area are copied to the opposite area). Note that only the area + opposite the input area will have the same attributes as the input + area; the areas adjacent to the input area will not. + + If the input areas are meshed or belong to a meshed volume, the area(s) + can be extruded to a 3-D mesh. Note that the NDIV argument of the + ESIZE command should be set before extruding the meshed areas. + Alternatively, mesh divisions can be specified directly on the drag + line(s) (LESIZE). See the Modeling and Meshing Guide for more + information. + + You can use the VDRAG command to generate 3-D interface element meshes + for elements INTER194 and INTER195. When generating interface element + meshes using VDRAG, you must specify the line divisions to generate one + interface element directly on the drag line using the LESIZE command. + The source area to be extruded becomes the bottom surface of the + interface element. Interface elements must be extruded in what will + become the element's local x direction, that is, bottom to top. """ - command = "MPAMOD, %s, %s" % (str(mat), str(deftemp)) + command = "VDRAG,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(nlp1), str(nlp2), str(nlp3), str(nlp4), str(nlp5), str(nlp6)) self.RunCommand(command, **kwargs) - def Use(self, name="", arg1="", arg2="", arg3="", arg4="", arg5="", - arg6="", arg7="", arg8="", arg9="", ar10="", ar11="", ar12="", - ar13="", ar14="", ag15="", ar16="", ar17="", ar18="", **kwargs): + def Sf(self, nlist="", lab="", value="", value2="", **kwargs): """ - APDL Command: *USE + APDL Command: SF - Executes a macro file. + Specifies surface loads on nodes. Parameters ---------- - name - Name (32 characters maximum, beginning with a letter) identifying - the macro file or a macro block on a macro library file. + nlist + Nodes defining the surface upon which the load is to be applied. + Use the label ALL or P, or a component name. If ALL, all selected + nodes [NSEL] are used (default). If P, graphical picking is + enabled and all remaining command fields are ignored (valid only in + the GUI). - arg1, arg2, arg3, . . . , ar18 - Values passed into the file or block where the parameters ARG1 - through ARG9 and AR10 through AR18 are referenced. Values may be - numbers, alphanumeric character strings (up to 32 characters - enclosed in single quotes), parameters (numeric or character) or - parametric expressions. See below for additional details. + lab + Valid surface load label. Load labels are listed under "Surface + Loads" in the input table for each element type in the Element + Reference. - Notes - ----- - Causes execution of a macro file called Name, or, if not found, a macro - block "Name" on the macro library file [*ULIB]. Argument values - (numeric or character) are passed into the file or block and - substituted for local parameters ARG1, ARG2, ..., AR18. The file Name - may also be executed as an "unknown command" (i.e., without the *USE - command name) as described below. + value + Surface load value or table name reference for specifying tabular + boundary conditions. - A macro is a sequence of ANSYS commands (as many as needed) recorded in - a file or in a macro block in a library file (specified with the *ULIB - command). The file or block is typically executed with the *USE - command. In addition to command, numerical and alphanumeric data, the - macro may include parameters which will be assigned numerical or - alphanumerical character values when the macro is used. Use of the - macro may be repeated (within a do-loop, for example) with the - parameters incremented. A macro is defined within a run by "enclosing" - a sequence of data input commands between a *CREATE and a *END - command. The data input commands are passive (not executed) while - being written to the macro file. The macro file (without *CREATE and - *END ) can also be created external to ANSYS. + value2 + Second surface load value (if any). - Up to 99 specially named scalar parameters called ARG1 to AR99 are - locally available to each macro. Note that the prefix for the first 9 - parameters is "ARG," while the prefix for the last 90 is "AR." A local - parameter is one which is not affected by, nor does it affect, other - parameters, even those of the same name, which are used outside of the - macro. The only way a local parameter can affect, or be affected by, - parameters outside the macro is if values are passed out of, or into, - the macro by an argument list. Parameters ARG1 through AR18 can have - their values (numeric or character) passed via the argument list on the - *USE command (ARG1 through AR19 can be passed as arguments on the - "unknown command" macro). Parameters AR19 through AR99 (AR20 through - AR99 in the "unknown command" macro) are available solely for use - within the macro; they cannot be passed via an argument list. Local - parameters are available to do-loops and to /INPUT files processed - within the macro. In addition to an ARG1--AR99 set for each macro, - another ARG1--AR99 set is available external to all macros, local to - "non-macro" space. + Notes + ----- + Individual nodes may not be entered for this command. The node list is + to identify a surface and the Nlist field must contain a sufficient + number of nodes to define an element surface. The loads are internally + stored on element faces defined by the specified nodes. All nodes on + an element face (including midside nodes, if any) must be specified for + the face to be used, and the element must be selected. - A macro is exited after its last line is executed. Macros may be - nested (such as a *USE or an "unknown command" within a macro). Each - nested macro has its own set of 99 local parameters. Only one set of - local parameters can be active at a time and that is the set - corresponding to the macro currently being executed or to the set - external to all macros (if any). When a nested macro completes - execution, the previous set of local parameters once again becomes - available. Use *STATUS,ARGX to view current macro parameter values. + If all nodes defining a face are shared by an adjacent face of another + selected element, the face is not free and will not have a load + applied. If more than one element can share the same nodes (for + example, a surface element attached to a solid element), select the + desired element type before issuing the SF command. The SF command + applies only to area and volume elements. - An alternate way of executing a macro file is via the "unknown command" - route. If a command unknown to the ANSYS program is entered, a search - for a file of that name (plus a .MAC suffix) is made. If the file - exists, it is executed, if not, the "unknown command" message is - output. Thus, users can write their own commands in terms of other - ANSYS commands. The procedure is similar to issuing the *USE command - with the unknown command in the Name field. For example, the command - CMD,10,20,30 is internally similar to *USE,CMD,10,20,30. The macro - file named CMD.MAC will be executed with the three parameters. The - *USE macro description also applies to the "unknown command" macro, - except that various directories are searched and a suffix (.MAC) is - assumed. Also, a macro library file is not searched. + For shell elements, if the specified nodes include face one (which is + usually the bottom face) along with other faces (such as edges), only + face one is used. Where faces cannot be uniquely determined from the + nodes, or where the face does not fully describe the load application, + use the SFE command. A load key of 1 (which is typically the first + loading condition on the first face) is used if the face determination + is not unique. A uniform load value is applied over the element face. - A three-level directory search for the "unknown command" macro file may - be available (see the Operations Guide). The search order may be: 1) a - high-level system directory, 2) the login directory, and 3) the local - (working) directory. Use the /PSEARCH command to change the directory - search path. For an "unknown command" CMD, the first file named - CMD.MAC found to exist in the search order will be executed. The - command may be input as upper or lower case, however, it is converted - to upper case before the file name search occurs. On systems that - uniquely support both upper and lower case file names, the file with - the matching lower case name will be used if it exists, otherwise, the - file with the matching upper case name will be used. All macro files - placed in the apdl directory must be upper case. + See the SFBEAM command for applying surface loads to beam elements. + See the SFGRAD command for an alternate tapered load capability. See + the SFFUN command for applying loads from a node vs. value function. + Also see the SFE command for applying tapered loads on individual + element faces. Use the SFDELE command to delete loads applied with + this command. Use the SFCUM command to accumulate (add) surface loads + applied with SF. - Note, since undocumented commands exist in the ANSYS program, the user - should issue the command intended for the macro file name to be sure - the "unknown command" message is output in the processor where it's to - be used. If the macro is to be used in other processors, the other - processors must also be checked. + Tabular boundary conditions (VALUE = %tabname% and/or VALUE2 = + %tabname%) are available for the following surface load labels (Lab) + only: : PRES (real and/or imaginary components), CONV (film coefficient + and/or bulk temperature) or HFLUX, DFLUX (diffusion flux), RAD (surface + emissivity and ambient temperature), IMPD (resistance and reactance), + SHLD (normal velocity and phase or acceleration), and ATTN (attenuation + coefficient). Use the *DIM command to define a table. - This command is valid in any processor. + This command is also valid in PREP7 and in the /MAP processor. """ - command = "*USE, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(name), str(arg1), str(arg2), str(arg3), str(arg4), str(arg5), str(arg6), str(arg7), str(arg8), str(arg9), str(ar10), str(ar11), str(ar12), str(ar13), str(ar14), str(ag15), str(ar16), str(ar17), str(ar18)) + command = "SF,%s,%s,%s,%s" % (str(nlist), str(lab), str(value), str(value2)) self.RunCommand(command, **kwargs) - def Vrotat(self, na1="", na2="", na3="", na4="", na5="", na6="", pax1="", - pax2="", arc="", nseg="", **kwargs): + def Cint(self, action="", par1="", par2="", par3="", par4="", par5="", + par6="", par7="", **kwargs): """ - APDL Command: VROTAT + APDL Command: CINT - Generates cylindrical volumes by rotating an area pattern about an - axis. + Defines parameters associated with fracture parameter calculations Parameters ---------- - na1, na2, na3, . . . , na6 - List of areas in the pattern to be rotated (6 maximum if using - keyboard entry). Areas must lie to one side of, and in the plane - of, the axis of rotation. If NA1 = P, graphical picking is enabled - and all remaining command fields are ignored (valid only in the - GUI). If NA1 = ALL, all selected areas will define the pattern to - be rotated. A component name may also be substituted for NA1. - - pax1, pax2 - Keypoints defining the axis about which the area pattern is to be - rotated. - - arc - Arc length (in degrees). Positive follows right-hand rule about - PAX1-PAX2 vector. Defaults to 360. + action + Specifies action for defining or manipulating initial crack data: - nseg - Number of volumes (8 maximum) around circumference. Defaults to - minimum required for 90° (maximum) arcs, i.e., 4 for 360°, 3 for - 270°, etc. + NEW - Initiate a new calculation and assign an ID. - Notes - ----- - Generates cylindrical volumes (and their corresponding keypoints, - lines, and areas) by rotating an area pattern (and its associated line - and keypoint patterns) about an axis. Keypoint patterns are generated - at regular angular locations (based on a maximum spacing of 90°). Line - patterns are generated at the keypoint patterns. Arc lines are also - generated to connect the keypoints circumferentially. Keypoint, line, - area, and volume numbers are automatically assigned (beginning with the - lowest available values). Adjacent lines use a common keypoint, - adjacent areas use a common line, and adjacent volumes use a common - area. + CTNC - Define the crack tip node component. - To generate a single volume with an arc greater than 180°, NSEG must be - greater than or equal to 2. + CENC - Define the crack extension node component, the crack tip node, and the crack + extension direction. - If element attributes have been associated with the input area via the - AATT command, the opposite area generated by the VROTAT operation will - also have those attributes (i.e., the element attributes from the input - area are copied to the opposite area). Note that only the area - opposite the input area will have the same attributes as the input - area; the areas adjacent to the input area will not. + TYPE - Define the type of calculation to perform. - If the given areas are meshed or belong to meshed volumes, the 2-D mesh - can be rotated (extruded) to a 3-D mesh. See the Modeling and Meshing - Guide for more information. Note that the NDIV argument on the ESIZE - command should be set before extruding the meshed areas. + DELE - Delete the CINT object associated with the specified ID. - """ - command = "VROTAT, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(pax1), str(pax2), str(arc), str(nseg)) - self.RunCommand(command, **kwargs) + NCON - Define the number of contours to be calculated in the contour-integral + calculation. - def Slashdelete(self, fname="", ext="", distkey="", **kwargs): - """ - APDL Command: /DELETE + SYMM - Indicate whether the crack is on a symmetrical line or plane. - Deletes a file. + NORM - Define the crack plane normal. - Parameters - ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + UMM - Activate or deactivate the unstructured mesh method. - ext - Filename extension (eight-character maximum). + EDIR - Crack-assist extension direction. - -- - Unused field. + PLOT - Plots crack front and crack tip coordinate system. - distkey - Key that specifies whether the file deletion is performed on all - processes in distributed parallel mode (Distributed ANSYS): + CXFE - Define the crack tip element or crack front element set. Valid for XFEM-based + crack-growth analysis only. - 1 (ON or YES) - The program performs the file deletion locally on each process. + RADIUS - Define the radius at which the given value is to be evaluated. Valid for XFEM- + based crack-growth analysis only. - 0 (OFF or NO) - The program performs the file deletion only on the master process (default). + RSWEEP - Define the minimum and maximum sweep angle from existing crack direction. Valid + for XFEM-based crack-growth analysis only. Notes ----- - In distributed parallel mode (Distributed ANSYS), only the master - process will delete Fname.Ext by default. However, when DistKey is set - to 1 (or ON or YES), the command is executed by all processes. In this - case, Fname will automatically have the process rank appended to it. - This means FnameN.Ext will be deleted by all processes, where N is the - Distributed ANSYS process rank. For more information see Differences in - General Behavior in the Parallel Processing Guide. + Initiate a new calculation via the Action = NEW parameter. Subsequent + CINT commands (with parameters other than NEW) define the input + required for the fracture parameter calculations. - """ - command = "/DELETE, %s, %s, %s" % (str(fname), str(ext), str(distkey)) - self.RunCommand(command, **kwargs) + The simplest method is to define crack information using Action = CTNC; + however, this method limits you to only one node for a given location + along the crack front. - def Fssparm(self, port1="", port2="", **kwargs): - """ - APDL Command: FSSPARM + To define crack information at multiple locations along the crack + front, use Action = CENC. You can issue CINT,CENC, Par1, etc. multiple + times to define the crack extension node component, the crack tip, and + the crack extension directions at multiple locations along the crack + front. - Calculates reflection and transmission properties of a frequency - selective surface. + Although you can vary the sequence of your definitions, all of the + crack tip nodes specified must be at the crack front, and no crack tip + node can be omitted - Parameters - ---------- - port1 - Port number of input port. Defaults to 1. + You can define your crack extension direction directly using either + Action = CENC or Action = NORM. - port2 - Port number of output port. Defaults to 1. + The crack-assist extension direction (Action = EDIR) provides a generic + extension direction when Action = CTNC is specified. It is used to help + define crack extension directions based on the connectivity of the + crack front elements. For a 2-D case, when the crack tangent cannot be + calculated, the crack-assist extension direction provided is used + directly. - Notes - ----- - FSSPARM calculates reflection and transmission coefficients, power - reflection and transmission coefficients, and return and insertion - losses of a frequency selective surface. + For Action = UMM, the default value can be OFF or ON depending on the + element type. The CINT, command overrides the default setting for the + given element. - """ - command = "FSSPARM, %s, %s" % (str(port1), str(port2)) - self.RunCommand(command, **kwargs) + For an XFEM-based crack-growth analysis: - def Tunif(self, temp="", **kwargs): - """ - APDL Command: TUNIF + Action = CTNC, CENC, NCON, SYMM, UMM, or EDIR have no effect. - Assigns a uniform temperature to all nodes. - - Parameters - ---------- - temp - Uniform temperature assigned to the nodes. If a TEMP value is not - specified, the uniform temperature is set to zero. - - Notes - ----- - TUNIF is a convenient form of the more general BFUNIF command. - - In a transient or nonlinear thermal analysis, the uniform temperature - is used during the first iteration of a solution as follows: - - as the starting nodal temperature (except where temperatures are - explicitly specified [D, DK]), - - to evaluate temperature-dependent material properties. - - In a structural analysis or an explicit dynamic analysis, the uniform - temperature is used as the default temperature for thermal strain - calculations and material property evaluation (except where body load - temperatures are specified (BF, BFE, BFK, LDREAD). In other scalar - field analyses, the uniform temperature is used for material property - evaluation. + Action = CXFE, RADIUS, or RSWEEP are XFEM-specific and cannot be used + for any other type of crack-growth analysis. - Because TUNIF (or BFUNIF,TEMP) is step-applied in the first iteration, - issue a BF,ALL,TEMP,Value command to ramp on a uniform temperature - load. + For CINT,TYPE, only Par1 = PSMAX or STTMAX are valid. Other Par1 values + have no effect. - When the TUNIF command is used in an explicit dynamic analysis, you - cannot apply temperature loading via the EDLOAD,,TEMP command. - Furthermore, temperature loading defined by TUNIF cannot be listed or - deleted by the EDLOAD command. + The stress-intensity factors calculation (CINT,TYPE,SIFS) applies only + to isotropic linear elasticity. Use only one material type for the + crack tip elements that are used for the calculations. - The command default sets the uniform temperature to the reference - temperature defined via the TREF command only (and not the MP,REFT - command). + When calculating energy release rates (CINT,TYPE,VCCT), do not restrict + the results from being written into the database (/CONFIG,NOELDB,1) + after solution processing. If you do so, incorrect and potentially + random results are possible. - If using the command default to set the uniform temperature (to the - reference temperature set via TREF), you can convert temperature- - dependent secant coefficients of thermal expansion (SCTEs) from the - definition temperature to the uniform temperature. To do so, issue the - MPAMOD command. + The CINT command does not support the initial state capability + (INISTATE). - This command is also valid in PREP7. + For more information about using the CINT command, including supported + element types and material behavior, see Evaluation of Fracture + Mechanics Parameters in the Fracture Analysis Guide. """ - command = "TUNIF, %s" % (str(temp)) + command = "CINT,%s,%s,%s,%s,%s,%s,%s,%s" % (str(action), str(par1), str(par2), str(par3), str(par4), str(par5), str(par6), str(par7)) self.RunCommand(command, **kwargs) - def Sv(self, damp="", sv1="", sv2="", sv3="", sv4="", sv5="", sv6="", - sv7="", sv8="", sv9="", **kwargs): + def Cmsopt(self, cmsmeth="", nmode="", freqb="", freqe="", fbddef="", + fbdval="", iokey="", **kwargs): """ - APDL Command: SV + APDL Command: CMSOPT - Defines spectrum values to be associated with frequency points. + Specifies component mode synthesis (CMS) analysis options. Parameters ---------- - damp - Damping ratio for this response spectrum curve. If the same as a - previously defined curve, the SV values are added to the previous - curve. Up to four different curves may be defined, each with a - different damping ratio. Damping values must be input in ascending - order. - - sv1, sv2, sv3, . . . , sv9 - Spectrum values corresponding to the frequency points [FREQ]. - Values are interpreted as defined with the SVTYP command. SV - values should not be zero. Values required outside the frequency - range use the extreme input values. - - Notes - ----- - Defines the spectrum values to be associated with the previously - defined frequency points [FREQ]. Applies only to the single-point - response spectrum. Damping has no effect on the frequency solution. - Damping values are used only to identify SV curves for the mode - combinations calculation. Only the curve with the lowest damping value - is used in the initial mode coefficient calculation. Use STAT command - to list current spectrum curve values. + cmsmeth + The component mode synthesis method to use. This value is required. - Repeat SV command for additional SV points (100 maximum per DAMP - curve). SV values are added to the DAMP curve after the last nonzero - SV value. + FIX - Fixed-interface method. - The interpolation method between response spectrum points and curves is - specified using KeyInterp in the SVTYP command. It is logarithmic by - default. + FREE - Free-interface method. - This command is also valid in PREP7. + RFFB - Residual-flexible free-interface method. - """ - command = "SV, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(damp), str(sv1), str(sv2), str(sv3), str(sv4), str(sv5), str(sv6), str(sv7), str(sv8), str(sv9)) - self.RunCommand(command, **kwargs) + nmode + The number of normal modes extracted and used in the superelement + generation. This value is required; the minimum is 1. - def Hptcreate(self, type="", entity="", nhp="", label="", val1="", val2="", - val3="", **kwargs): - """ - APDL Command: HPTCREATE + freqb + Beginning, or lower end, of frequency range of interest. This value + is optional. - Defines a hard point. + freqe + Ending, or upper end, of frequency range of interest. This value is + optional. - Parameters - ---------- - type - Type of entity on which the hard point will be created. + fbddef + In a free-interface (CMSMETH = FREE) or residual-flexible free- + interface (CMSMETH = RFFB) CMS analysis, the method to use for + defining free body modes: - LINE - Hard point will be created on a line. + FNUM - The number (FDBVAL) of rigid body modes in the calculation. - AREA - Hard point will be created within an area (not on the boundaries). + FTOL - Employ a specified tolerance (FDBVAL) to determine rigid body modes in the + calculation. - entity - Number of the line or area on which the hard point will be created. + FAUTO - Automatically determine rigid body modes in the calculation. This method is the + default. - nhp - Number assigned to the hard point. Defaults to the lowest - available hard point number. + RIGID - If no rigid body modes exist, define your own via the RIGID command. - label - If LABEL = COORD, VAL1, VAL2, and VAL3 are the respective global X, - Y, and Z coordinates. If LABEL = RATIO, VAL1 is the parameter - value (this is available only for lines). Valid parameter values - are between 0 and 1. VAL2 and VAL3 are ignored. + fbdval + In a free-interface CMS analysis (CMSMETH = FREE), the number of + rigid body modes if FBDDEF = FNUM (where the value is an integer + from 0 through 6), or the tolerance to employ if FBDDEF = FTOL + (where the value is a positive real number representing rad/sec). + This value is required only when FBDDEF = FNUM or FBDDEF = FTOL; + otherwise, any specified value is ignored. - val1 - If LABEL = RATIO, ratio value for line. If LABEL = COORD, global X - coordinate value. + iokey + Output key to control writing of the transformation matrix to the + .TCMS file (FIX or FREE methods) or body properties to the .EXB + file (FIX method). - val2 - If LABEL = COORD, global Y coordinate value. + TCMS - Write the transformation matrix of the nodal component defined by the OUTPR + command to a .TCMS file. Refer to TCMS File Format in the + Programmer's Reference for more information on the this + file. - val3 - If LABEL = COORD, global Z coordinate value. + EXB - Write a body property input file (.EXB file) containing the condensed + substructure matrices and other body properties for use with + AVL EXCITE. Refer to ANSYS Interface to AVL EXCITE in the + Substructuring Analysis Guide for more information. Notes ----- - The ability to enter a parameter value provides a simple way of - positioning hard points on lines. For example, to place a hard point - halfway along a line, one can simply specify a VAL1 value of 0.5. - - For models imported through the DEFAULT IGES filter, you can place hard - points on models only by specifying coordinates (you can't place a hard - point using interactive picking). + CMS employs the Block Lanczos eigensolution method in the generation + pass. - If you issue any commands that update the geometry of an entity, such - as Boolean or simplification commands, any hard points associated with - that entity are deleted. Therefore, you should add any hard points - after completing the solid model. If you delete an entity that has - associated hard points, those hard points are either + CMS supports damping matrix reduction when a damping matrix exists. Set + the matrix generation key to 3 (SEOPT,Sename,SEMATR) to generate and + then reduce stiffness, mass, and damping matrices. - Deleted along with the entity (if the hard point is not associated with - any other entities). + CMS does not support the SEOPT,,,,,RESOLVE command. Instead, ANSYS sets + the expansion method for the expansion pass (EXPMTH) to BACKSUB. - Detached from the deleted entity (if the hard point is associated with - additional entities). + For more information about performing a CMS analysis, see Component + Mode Synthesis in the Substructuring Analysis Guide. - When archiving your model (CDWRITE), hardpoint information cannot be - written to the IGES file. The Jobname.cdb file can be written with the - CDWRITE,DB option. + If IOKEY = TCMS is used to output the transformation matrix, then only + ITEM = NSOL is valid in the OUTPR command. In the interactive + sessions, the transformation matrix will not be output if the model has + more than 10 elements. - Hard points are only applicable for area and volume meshing, not for - beams. + This command is also valid in /PREP7. """ - command = "HPTCREATE, %s, %s, %s, %s, %s, %s, %s" % (str(type), str(entity), str(nhp), str(label), str(val1), str(val2), str(val3)) + command = "CMSOPT,%s,%s,%s,%s,%s,%s,%s" % (str(cmsmeth), str(nmode), str(freqb), str(freqe), str(fbddef), str(fbdval), str(iokey)) self.RunCommand(command, **kwargs) - def Com(self, comment="", **kwargs): + def Real(self, nset="", **kwargs): """ - APDL Command: /COM + APDL Command: REAL - Places a comment in the output. + Sets the element real constant set attribute pointer. Parameters ---------- - comment - Comment string, up to 75 characters. + nset + Assign this real constant set number to subsequently defined + elements (defaults to 1). Notes ----- - The output from this command consists of the comment string. This - command is similar to C*** except that the comment produced by C*** is - more easily identified in the output. Parameter substitution within the - comment occurs for every valid expression delimited by percent (%) - signs. Enclosing such an expression in single quotes prevents parameter - substitution. - - Another way to include a comment is to precede it with a ! character - (on the same line). The ! may be placed anywhere on the line, and any - input following it is ignored as a comment. No output is produced by - such a comment, but the comment line is included on the log file. This - is a convenient way to annotate the log file. - - This command is valid anywhere. + Identifies the real constant set number to be assigned to subsequently + defined elements. This number refers to the real constant set number + (NSET) defined with the real constant sets [R]. Real constant set + numbers may be displayed [/PNUM]. If the element type requires no real + constants, this entry is ignored. Elements of different type should + not refer to the same real constant set. """ - command = "/COM, %s" % (str(comment)) + command = "REAL,%s" % (str(nset)) self.RunCommand(command, **kwargs) - def Ainv(self, na="", nv="", **kwargs): + def Asba(self, na1="", na2="", sepo="", keep1="", keep2="", **kwargs): """ - APDL Command: AINV + APDL Command: ASBA - Finds the intersection of an area with a volume. + Subtracts areas from areas. Parameters ---------- - na - Number of area to be intersected. If P, graphical picking is - enabled and all remaining arguments are ignored (valid only in the - GUI). + na1 + Area (or areas, if picking is used) to be subtracted from. If ALL, + use all selected areas. Areas specified in this argument are not + available for use in the NA2 argument. If P, graphical picking is + enabled (valid only in the GUI) and remaining fields are ignored. + A component name may also be substituted for NA1. - nv - Number of volume to be intersected. + na2 + Area (or areas, if picking is used) to subtract. If ALL, use all + selected areas (except those included in the NA1 argument). A + component name may also be substituted for NA2. - Notes - ----- - New areas will be generated where the areas intersect the volumes. If - the regions of intersection are only lines, new lines will be generated - instead. See the Modeling and Meshing Guide for an illustration. See - the BOPTN command for the options available to Boolean operations. - Element attributes and solid model boundary conditions assigned to the - original entities will not be transferred to the new entities - generated. + sepo + Behavior if the intersection of the NA1 areas and the NA2 areas is + a line or lines: - """ - command = "AINV, %s, %s" % (str(na), str(nv)) - self.RunCommand(command, **kwargs) + (blank) - The resulting areas will share line(s) where they touch. - def Smat(self, matrix="", type="", method="", val1="", val2="", val3="", - **kwargs): - """ - APDL Command: *SMAT + SEPO - The resulting areas will have separate, but coincident line(s) where they + touch. - Creates a sparse matrix. + keep1 + Specifies whether NA1 areas are to be deleted: - Parameters - ---------- - matrix - Name used to identify the matrix. Must be specified. + (blank) - Use the setting of KEEP on the BOPTN command. - type - Matrix type: + DELETE - Delete NA1 areas after ASBA operation (override BOPTN command settings). - Double precision real values (default). - Complex double precision values. + KEEP - Keep NA1 areas after ASBA operation (override BOPTN command settings). - method - Method used to create the matrix: + keep2 + Specifies whether NA2 areas are to be deleted: - Copy an existing matrix. - Import the matrix from a file. + (blank) - Use the setting of KEEP on the BOPTN command. - val1, val2, val3 - Additional input. The meaning of Val1 through Val3 will vary - depending on the specified Method. See details below. + DELETE - Delete NA2 areas after ASBA operation (override BOPTN command settings). + + KEEP - Keep NA2 areas after ASBA operation (override BOPTN command settings). Notes ----- - Use the *DMAT command to create a dense matrix. - - Unlike the *DMAT command, the *SMAT command cannot be used to allocate - a sparse matrix. - - For more information on the NOD2BCS and USR2BCS mapping vectors, see - Degree of Freedom Ordering in the ANSYS Parametric Design Language - Guide. - - For more information about .FULL file contents, see the HBMAT in the - Command Reference. + Generates new areas by subtracting the regions common to both NA1 and + NA2 areas (the intersection) from the NA1 areas. The intersection can + be an area(s) or line(s). If the intersection is a line and SEPO is + blank, the NA1 area is divided at the line and the resulting areas will + be connected, sharing a common line where they touch. If SEPO is set + to SEPO, NA1 is divided into two unconnected areas with separate lines + where they touch. See Solid Modeling in the Modeling and Meshing Guide + for an illustration. See the BOPTN command for an explanation of the + options available to Boolean operations. Element attributes and solid + model boundary conditions assigned to the original entities will not be + transferred to the new entities generated. ASBA,ALL,ALL will have no + effect since all the areas (in NA1) will be unavailable as NA2 areas. """ - command = "*SMAT, %s, %s, %s, %s, %s, %s" % (str(matrix), str(type), str(method), str(val1), str(val2), str(val3)) + command = "ASBA,%s,%s,%s,%s,%s" % (str(na1), str(na2), str(sepo), str(keep1), str(keep2)) self.RunCommand(command, **kwargs) - def Cdopt(self, option="", **kwargs): + def Lspec(self, lcolor="", linstl="", xlnwid="", **kwargs): """ - APDL Command: CDOPT + APDL Command: /LSPEC - Specifies format to be used for archiving geometry. + Specifies annotation line attributes (GUI). Parameters ---------- - option - IGES + lcolor + Line color: - IGES - Write solid model geometry information using IGES format (default). + 0 - Black - ANF - Write solid model geometry information using ANSYS Neutral File format. + 1 - Red-Magenta - STAT - Print out the current format setting. + 2 - Magenta - Notes - ----- - This command controls your solid model geometry format for CDWRITE - operations. The ANF option affects only the COMB and SOLID options of - the CDWRITE command. All other options remain unaffected. + 3 - Blue-Magenta - This option setting is saved in the database. + 4 - Blue - """ - command = "CDOPT, %s" % (str(option)) - self.RunCommand(command, **kwargs) + 5 - Cyan-Blue - def Fk(self, kpoi="", lab="", value="", value2="", **kwargs): - """ - APDL Command: FK + 6 - Cyan - Defines force loads at keypoints. + 7 - Green-Cyan - Parameters - ---------- - kpoi - Keypoint at which force is to be specified. If ALL, apply to all - selected keypoints [KSEL]. If KPOI = 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 KPOI. + 8 - Green - lab - Valid force label. Structural labels: FX, FY, or FZ (forces); MX, - MY, or MZ (moments). Thermal labels: HEAT, HBOT, HE2, HE3, . . ., - HTOP (heat flow). Fluid labels: FLOW (fluid flow). Electric - labels: AMPS (current flow), CHRG (electric charge). Magnetic - labels: FLUX (magnetic flux); CSGX, CSGY, or CSGZ (magnetic - current segments). Diffusion labels: RATE (diffusion flow rate). + 9 - Yellow-Green - value - Force value or table name reference for specifying tabular boundary - conditions. To specify a table, enclose the table name in percent - signs (%), e.g., FK, KPOI, HEAT,%tabname%). Use the *DIM command - to define a table. + 10 - Yellow - value2 - Second force value (if any). If the analysis type and the force - allow a complex input, VALUE (above) is the real component and - VALUE2 is the imaginary component. + 11 - Orange + + 12 - Red + + 13 - Dark Gray + + 14 - Light Gray + + 15 - White + + linstl + Line style: + + 0 - Solid line. + + 1 - Dashed line. + + xlnwid + Line width multiplier (1.0 to 20.0). Defaults to 1.0. Notes ----- - Forces may be transferred from keypoints to nodes with the FTRAN or - SBCTRAN commands. See the F command for a description of force loads. - - Tabular boundary conditions (VALUE = %tabname%) are available only for - the following labels: Fluid (FLOW), Electric (AMPS), Structural force - (FX, FY, FZ, MX, MY, MZ), and Thermal (HEAT, HBOT, HE2, HE3, . . ., - HTOP). + Specifies annotation line attributes to control certain characteristics + of the lines created via the /LINE, /LARC, /LSYMBOL, /POLYGON, /PMORE, + /PCIRCLE, and /PWEDGE commands. This is a command generated by the + Graphical User Interface (GUI) and will appear in the log file + (Jobname.LOG) if annotation is used. This command is not intended to + be typed in directly in an ANSYS session (although it can be included + in an input file for batch input or for use with the /INPUT command). - This command is also valid in PREP7. + This command is valid in any processor. """ - command = "FK, %s, %s, %s, %s" % (str(kpoi), str(lab), str(value), str(value2)) + command = "/LSPEC,%s,%s,%s" % (str(lcolor), str(linstl), str(xlnwid)) self.RunCommand(command, **kwargs) - def Remesh(self, action="", filename="", ext="", opt1="", opt2="", - **kwargs): + def Exunit(self, ldtype="", load="", untype="", name="", **kwargs): """ - APDL Command: REMESH + APDL Command: EXUNIT - Specifies the starting and ending remeshing points, and other options, - for rezoning. + Specifies the interface load unit labels to be written to the export + file for ANSYS to CFX transfer. Parameters ---------- - action - START + ldtype + Load type: - START - Starts the remeshing operation. + SURF - Surface load. - FINISH - Ends the remeshing operation. + VOLU - Volumetric load. - READ - Reads in a generic (.cdb format) new mesh file generated by a third-party - application. This remeshing option applies to both 2-D and - 3-D rezoning. + load + Surface loads: - SPLIT - Splits selected elements of an existing 2-D or 3-D mesh such that a - quadrilateral element is split into four quadrilaterals, a - degenerate quadrilateral is split into three - quadrilaterals, and a quadratic triangular element is split - into four quadratic triangles. A tetrahedral element is - split into eight tetrahedra. + DISP - Displacement in a static analysis. Mode shape in a modal analysis. - filename - Name of a .cdb generic mesh file. The default value is jobname. - Valid only when Action = READ. + TIME - Time. The unit for frequency is the inverse of the unit for time. - ext - File name extension. The only valid (and the default) extension is - CDB. Valid only when Action = READ. + MASS - Mass. - -- - Unused field. + TEMP - Temperature. - opt1 - Specifies options for the new mesh when using a generic imported - mesh file or the mesh-splitting remeshing method. Valid only when - Action = READ or Action = SPLIT. + HFLU - Heat flux. - REGE - Regenerates all node and element numbers on the new mesh using an offset of the - highest existing node and element numbers. This is the - default behavior when Action = READ; otherwise, this value - is ignored. + untype + Unit type: - KEEP - Keeps the similarly numbered nodes and elements in the new and the old meshes - unchanged. Valid only when Action = READ. + COMM - Predefined unit - TRAN - Generates transition elements to ensure nodal compatibility between split and - unsplit parts of the mesh. Valid only when Action = SPLIT - for 2-D analyses. + USER - User-specified unit - opt2 - Specifies transition options for the mesh when elements are split. - These options are valid only when Action = SPLIT for 2-D analyses. + name + Commonly used predefined unit name or user-specified unit name. - QUAD - Minimizes the number of degenerate elements in the transition mesh and tries to - maximize the number of quadrilateral transition elements - across several layers of elements from the split regions. - This is the default behavior. + SI - International System of units (meter-kilogram-second) (default) - DEGE - Creates transition zones between the split and unsplit parts of the mesh using - mostly degenerate elements with a single element layer. + FT - English System of units (feet-pound-second) Notes ----- - The REMESH command is valid only during the rezoning (REZONE) process. + This command only specifies which unit labels are to be written to the + file when the EXPROFILE is issued. It does not perform unit + conversions. - In rezoning, a REMESH,START command temporarily exits the /SOLU - solution processor and enters a special mode of the /PREP7 - preprocessor, after which a limited number of preprocessing commands - are available for mesh control, but no solution commands are valid. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - A REMESH,FINISH command exits the remeshing process and reenters the - solution processor, at which point no preprocessing commands are - available. If the new mesh exists, the command creates contact elements - if needed, and transfers all boundary conditions (BCs) and loads from - the original mesh to the new mesh. You can issue any list or plot - command to verify the created contact elements, transferred BCs, and - loads. A REMESH,FINISH command is valid only after a previously issued - REMESH,START command, and is the only way to safely end the remeshing - operation (and exit the special mode of the /PREP7 preprocessor). + """ + command = "EXUNIT,%s,%s,%s,%s" % (str(ldtype), str(load), str(untype), str(name)) + self.RunCommand(command, **kwargs) - A REMESH,READ command is valid only when you want to perform a rezoning - operation using a generic new mesh generated by a third-party - application (rather than a new mesh generated internally by the ANSYS - program). The command is valid between REMESH,START and REMESH,FINISH - commands. In this case, the only valid file extension is .cdb (Ext = - CDB). When Option = KEEP, ANSYS assumes that the common node and - element numbers between the old and the new mesh are topologically - similar (that is, these commonly numbered areas have the same element - connectivity and nodal coordinates). + def Exprofile(self, ldtype="", load="", value="", pname="", fname="", + fext="", fdir="", **kwargs): + """ + APDL Command: EXPROFILE - A REMESH,SPLIT command is valid only when you wish to perform a - rezoning operation by splitting the existing mesh. The command is valid - between REMESH,START and REMESH,FINISH commands. + Exports interface loads or loads on selected nodes to an ANSYS CFX + Profile file. - You can use REMESH,READ and REMESH,SPLIT commands for horizontal - multiple rezoning provided that the meshes used in REMESH,READ do not - intersect. (ANSYS recommends against issuing an AREMESH command after - issuing either of these commands.) + Parameters + ---------- + ldtype + Load type: - For more detailed about the remeshing options available to you during a - rezoning operation, see Rezoning in the Advanced Analysis Guide. + SURF - Surface load. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + VOLU - Volumetric load. - """ - command = "REMESH, %s, %s, %s, %s, %s" % (str(action), str(filename), str(ext), str(opt1), str(opt2)) - self.RunCommand(command, **kwargs) + load + Surface loads: - def Andscl(self, nfram="", delay="", ncycl="", **kwargs): - """ - APDL Command: ANDSCL + DISP - Displacement (in a static analysis) or mode shape and global parameters (in a + modal analysis). - Produces an animated sequence of a deformed shape. + MODE - Normalized mode shape and global parameters (in a modal analysis only). - Parameters - ---------- - nfram - Number of frames captured (defaults to 5). + TEMP - Temperature. - delay - Time delay during animation (defaults to 0.1 seconds). + HFLU - Heat flux. - ncycl - Number of animation cycles (defaults to 5). Available in non-UI - mode only. + value + If a positive integer, specifies the number of the surface or + volume interface. If 0 (zero), the selected nodes or Named + Selection are used. + + pname + Field name in CFX Profile file (32-character maximum). Defaults to + jobname_bcploadnumber for a surface load and jobname_subdloadnumber + for volumetric load. + + fname + The CFX Profile filename (248-character maximum). Defaults to + jobname_bcploadnumber for a surface load and jobname_subdloadnumber + for a volumetric load. + + fext + The Profile file extension (8-character maximum). Defaults to.csv. + + fdir + The Profile file directory (8-character maximum). Defaults to + current directory. Notes ----- - ANDSCL involves an ANSYS macro which produces an animation of - displacement of the last plot action command (for example, PLDISP). - This command operates only on graphic display platforms supporting the - /SEG command. After executing ANDSCL, you can replay the animated - sequence by issuing the ANIM command. + By default, the EXPROFILE command assumes the data it writes to the + Profile file are in SI units. For models not described in SI units, + issue the EXUNIT command as needed to write the correct unit labels on + the Profile file. - The command functions only in the postprocessor. + For a modal analysis, if Load = DISP or MODE, global parameters + including mass, frequency, and maximum displacement are also written to + the ANSYS CFX Profile file. You should therefore issue the EXUNIT + command for DISP, TIME, and MASS. - """ - command = "ANDSCL, %s, %s, %s" % (str(nfram), str(delay), str(ncycl)) - self.RunCommand(command, **kwargs) + Verify that the coordinate system is set to the global Cartesian + (RSYS,0) before using this command. - def Vinv(self, nv1="", nv2="", nv3="", nv4="", nv5="", nv6="", nv7="", - nv8="", nv9="", **kwargs): - """ - APDL Command: VINV + To transfer multiple loads across an interface, specify a unique file + name and extension for each load. - Finds the intersection of volumes. + Force (FORC) and heat generation (HGEN) are per-unit volume. - Parameters - ---------- - nv1, nv2, nv3, . . . , nv9 - Numbers of volumes to be intersected. If NV1 = ALL, NV2 to NV9 are - ignored, and the intersection of all selected volumes is found. If - NV1 = 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 NV1. + For modal analysis, this command does not support the following mode- + extraction methods (MODOPT): unsymmetric matrix (UNSYM), the damped + system (DAMP), or the QR-damped system (QRDAMP). - Notes - ----- - Finds the common (not pairwise) intersection of volumes. The common - intersection is defined as the regions shared (in common) by all - volumes listed on this command. New volumes will be generated where - the original volumes intersect. If the regions of intersection are - only areas, new areas will be generated instead. See the Modeling and - Meshing Guide for an illustration. See the BOPTN command for an - explanation of the options available to Boolean operations. Element - attributes and solid model boundary conditions assigned to the original - entities will not be transferred to the new entities generated. + To write the normalized (instead of non-normalized) mode shapes from a + modal analysis to the file: + + Use Load = MODE. + + Verify that the mode shapes are normalized to the mass matrix + (MODOPT,,,,,,OFF), the default behavior. + + Verify that the scale factor is set to 1.0 (SET,,,1.0), the default + value. + + For loads not specified directly via commands (such as SF and BF), + loads must first be read into the database (SET or LCASE). + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "VINV, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nv1), str(nv2), str(nv3), str(nv4), str(nv5), str(nv6), str(nv7), str(nv8), str(nv9)) + command = "EXPROFILE,%s,%s,%s,%s,%s,%s,%s" % (str(ldtype), str(load), str(value), str(pname), str(fname), str(fext), str(fdir)) self.RunCommand(command, **kwargs) - def Spval(self, tblno="", curvno="", sv1="", sv2="", sv3="", sv4="", - sv5="", sv6="", sv7="", **kwargs): + def Nwrite(self, fname="", ext="", kappnd="", **kwargs): """ - APDL Command: SPVAL + APDL Command: NWRITE - Defines multi-point response spectrum values. + Writes nodes to a file. Parameters ---------- - tblno - Input table number. It corresponds to TBLNO on the SPFREQ command. - - curvno - Input curve number. It corresponds to CURVNO on the SPDAMP command - (optional). + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - sv1, sv2, sv3, , , . . . , sv7 - Spectral values corresponding to the frequency points (SPFREQ) and - damping ratio (SPDAMP). Values are interpreted as defined with the - SPUNIT command. + ext + Filename extension (eight-character maximum). - Notes - ----- - Defines multi-point response spectrum values to be associated with the - previously defined frequency points (SPFREQ). It can also be associated - with the previously defined damping value (SPDAMP). If CURVNO is not - specified, the input spectrum is not associated with a damping value. + -- + Unused field. - Repeat SPVAL command for additional values, up to the number of - frequency points (SPFREQ). Values are added after the last nonzero - value. + kappnd + Append key: - The interpolation method between response spectrum points and curves is - specified using KeyInterp on the SPUNIT command. It is logarithmic by - default. + 0 - Rewind file before the write operation. - Use the SPTOPT and STAT commands to list current spectrum curve values. + 1 - Append data to the end of the existing file. - This command is also valid in PREP7. + Notes + ----- + Writes selected nodes [NSEL] to a file. The write operation is not + necessary in a standard ANSYS run but is provided as a convenience to + users wanting a coded node file. Data are written in a coded format. + The format used is (I8, 6G20.13) to write out + NODE,X,Y,Z,THXY,THYZ,THZX. If the last number is zero (i.e., THZX = + 0), or the last set of numbers are zero, they are not written but are + left blank. Therefore, you must use a formatted read to process this + file. Coordinate values are in the global Cartesian system. """ - command = "SPVAL, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(tblno), str(curvno), str(sv1), str(sv2), str(sv3), str(sv4), str(sv5), str(sv6), str(sv7)) + command = "NWRITE,%s,%s,%s" % (str(fname), str(ext), str(kappnd)) self.RunCommand(command, **kwargs) - def Layplot(self, iel="", layr1="", layr2="", **kwargs): + def Abextract(self, mode1="", mode2="", **kwargs): """ - APDL Command: LAYPLOT + APDL Command: ABEXTRACT - Displays the layer stacking sequence for layered elements. + Extracts the alpha-beta damping multipliers for Rayleigh damping. Parameters ---------- - iel - Element number for the display. If blank and the current element - type is a layered element type, display data from the current real - constant table. + mode1 + First mode number. - layr1, layr2 - Range of layer numbers to be displayed. If LAYR1 is greater than - LAYR2, a reversed order display is produced. Up to 20 layers may - be displayed at a time. LAYR1 defaults to 1. LAYR2 defaults to - LAYR1 if LAYR1 is input or to the number of layers (or to 19+LAYR1, - if smaller) if LAYR1 is not input. + mode2 + Second mode number. Notes ----- - Displays the layer-stacking sequence as defined in the real constant - table for layered shell and solid elements in a form where the layers - are visible (like a sheared deck of cards). - - The element x-axis is shown as 0.0 degrees. - - Layers are cross-hatched and color-coded for clarity. The hatch lines - indicate the layer angle (real constant THETA) and the color coding is - for material identification (real constant MAT). - - The actual orientation of a specific layer in three-dimensional space - can be seen using /PSYMB,LAYR. To use /PSYMB,LAYR with smeared - reinforcing elements (REINF265), first set the vector-mode graphics - option (/DEVICE,VECTOR,1). + ABEXTRACT calls the command macro DMPEXT to extract the damping ratio + of MODE1 and MODE2 and then computes the Alpha and Beta damping + multipliers for use in a subsequent structural harmonic or transient + analysis. See Damping in the Structural Analysis Guide for more + information on the alpha and beta damping multipliers. The damping + multipliers are stored in parameters ALPHADMP and BETADMP and can be + applied using the ALPHAD and BETAD commands. Before calling ABEXTRACT, + you must issue RMFLVEC to extract the modal displacements. In addition, + a node component FLUN must exist from all FLUID136 nodes. See + Introduction for more information on thin film analyses. - Layer thickness can be displayed using the /ESHAPE and EPLOT commands. + This command is also valid in PREP7. - This command is valid in any processor. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "LAYPLOT, %s, %s, %s" % (str(iel), str(layr1), str(layr2)) + command = "ABEXTRACT,%s,%s" % (str(mode1), str(mode2)) self.RunCommand(command, **kwargs) - def Dldele(self, line="", lab="", **kwargs): + def Dval(self, b_aseid="", lab="", value="", value2="", keycal="", + **kwargs): """ - APDL Command: DLDELE + APDL Command: DVAL - Deletes DOF constraints on a line. + Defines values at enforced motion base. Parameters ---------- - line - Line for which constraints are to be deleted. If ALL, delete for - all selected lines [LSEL]. If LINE = 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 LINE + baseid + The identification number of the enforced motion base (defined + using the D command in the modal analysis). lab - Constraint label: - - ALL - All constraints. + U - SYMM - Symmetry constraints. + U - Enforced displacement. - ASYM - Antisymmetry constraints. + ACC - Enforced acceleration. - UX - Displacement in X direction. + 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. - UY - Displacement in Y direction. + 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. - UZ - Displacement in Z direction. + keycal + Displacement result calculation key: - ROTX - Rotation about X axis. + ON - Calculate absolute displacement and acceleration results (default). - ROTY - Rotation about Y axis. + OFF - Calculate relative displacement and acceleration results. - ROTZ - Rotation about Z axis. + 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: - WARP - Warping magnitude. + In this case, the acceleration (ACC) applied in the last command will + override the displacement (U). - PRES - Pressure. + Issue LSCLEAR,LSOPT to delete DVAL command options from the database. - TEMP, TBOT, TE2, TE3, . . ., TTOP - Temperature. + 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. - VOLT - Electric scalar potential. + """ + command = "DVAL,%s,%s,%s,%s,%s" % (str(b_aseid), str(lab), str(value), str(value2), str(keycal)) + self.RunCommand(command, **kwargs) - AX - Magnetic vector potential in X direction. + def Mfpsimul(self, gname="", fname1="", fname2="", **kwargs): + """ + APDL Command: MFPSIMUL - AY - Magnetic vector potential in Y direction. + Sets up a field solver group to simultaneously process with code + coupling analyses. - AZ - Magnetic vector potential in Z direction. + Parameters + ---------- + gname + Sets the group name with a character string of up to 80 characters. - CONC - Concentration. + fname1, fname2 + Sets the field solver 1 and field solver 2 names, which are + processed simultaneously, with a character string of up to 80 + characters. Notes ----- - Deletes the degree of freedom constraints (and all corresponding finite - element constraints) on a line previously specified with the DL - command. See the DDELE command for delete details. + This command is used to define a group of simultaneously-processed + field solvers in an MFX analysis. For example, to define group g1 with + field solvers ansys-code and cfx-code, enter MFPS,g1,ansys-code,cfx- + code. - Warning:: : On previously meshed lines, all constraints on affected - nodes will also be deleted, whether or not they were specified by the - DL command. + To indicate groups of sequentially-processed field solvers for your MFX + analysis, create two groups (g1 and g2). - This command is also valid in PREP7. + A field solver refers to a specific instance of an ANSYS or CFX solver + execution that is defined by the respective input file(s) referenced + when starting the solver (through the launcher or from the command + line). The field solver names that are referenced in several MFX + commands must be consistent with the names that will be used when + starting the coupled simulation. + + Note:: : When running MFX from the launcher, you must use ANSYS and CFX + (uppercase) as the field solver names (MFPSIMUL) in your input file. + + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "DLDELE, %s, %s" % (str(line), str(lab)) + command = "MFPSIMUL,%s,%s,%s" % (str(gname), str(fname1), str(fname2)) self.RunCommand(command, **kwargs) - def Flist(self, node1="", node2="", ninc="", **kwargs): + def Vrotat(self, na1="", na2="", na3="", na4="", na5="", na6="", pax1="", + pax2="", arc="", nseg="", **kwargs): """ - APDL Command: FLIST + APDL Command: VROTAT - Lists force loads on the nodes. + Generates cylindrical volumes by rotating an area pattern about an + axis. Parameters ---------- - node1, node2, ninc - List forces for nodes NODE1 to NODE2 (defaults to NODE1) in steps - of NINC (defaults to 1). If ALL, list for all selected nodes - [NSEL] and NODE2 and NINC are ignored (default). 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. + na1, na2, na3, . . . , na6 + List of areas in the pattern to be rotated (6 maximum if using + keyboard entry). Areas must lie to one side of, and in the plane + of, the axis of rotation. If NA1 = P, graphical picking is enabled + and all remaining command fields are ignored (valid only in the + GUI). If NA1 = ALL, all selected areas will define the pattern to + be rotated. A component name may also be substituted for NA1. + + pax1, pax2 + Keypoints defining the axis about which the area pattern is to be + rotated. + + arc + Arc length (in degrees). Positive follows right-hand rule about + PAX1-PAX2 vector. Defaults to 360. + + nseg + Number of volumes (8 maximum) around circumference. Defaults to + minimum required for 90° (maximum) arcs, i.e., 4 for 360°, 3 for + 270°, etc. Notes ----- - Listing applies to the selected nodes [NSEL] and the selected force - labels [DOFSEL]. + Generates cylindrical volumes (and their corresponding keypoints, + lines, and areas) by rotating an area pattern (and its associated line + and keypoint patterns) about an axis. Keypoint patterns are generated + at regular angular locations (based on a maximum spacing of 90°). Line + patterns are generated at the keypoint patterns. Arc lines are also + generated to connect the keypoints circumferentially. Keypoint, line, + area, and volume numbers are automatically assigned (beginning with the + lowest available values). Adjacent lines use a common keypoint, + adjacent areas use a common line, and adjacent volumes use a common + area. - Caution:: : A list containing a node number that is larger than the - maximum defined node (NODE2), could deplete the system memory and - produce unpredictable results. + To generate a single volume with an arc greater than 180°, NSEG must be + greater than or equal to 2. - This command is valid in any processor. + If element attributes have been associated with the input area via the + AATT command, the opposite area generated by the VROTAT operation will + also have those attributes (i.e., the element attributes from the input + area are copied to the opposite area). Note that only the area + opposite the input area will have the same attributes as the input + area; the areas adjacent to the input area will not. + + If the given areas are meshed or belong to meshed volumes, the 2-D mesh + can be rotated (extruded) to a 3-D mesh. See the Modeling and Meshing + Guide for more information. Note that the NDIV argument on the ESIZE + command should be set before extruding the meshed areas. """ - command = "FLIST, %s, %s, %s" % (str(node1), str(node2), str(ninc)) + command = "VROTAT,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(pax1), str(pax2), str(arc), str(nseg)) self.RunCommand(command, **kwargs) - def Bfklist(self, kpoi="", lab="", **kwargs): + def Anorm(self, anum="", noeflip="", **kwargs): """ - APDL Command: BFKLIST + APDL Command: ANORM - Lists the body force loads at keypoints. + Reorients area normals. Parameters ---------- - kpoi - Keypoint at which body load is to be listed. If ALL (or blank), - list for all selected keypoints [KSEL]. If KPOI = 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 KPOI + anum + Area number having the normal direction that the reoriented areas + are to match. - lab - Valid body load label. If ALL, use all appropriate labels. Load - labels are listed under "Body Loads" in the input table for each - element type in the Element Reference. See the BFK command for - labels. + noeflip + Indicates whether you want to change the normal direction of the + existing elements on the reoriented area(s) so that they are + consistent with each area's new normal direction. - Notes - ----- - Lists the body force loads for the specified keypoint and label. - Keypoint body loads may be defined with the BFK command. + 0 - Make the normal direction of existing elements on the reoriented area(s) + consistent with each area's new normal direction (default). - This command is valid in any processor. + 1 - Do not change the normal direction of existing elements on the reoriented + area(s). - """ - command = "BFKLIST, %s, %s" % (str(kpoi), str(lab)) - self.RunCommand(command, **kwargs) + Notes + ----- + Reorients areas so that their normals are consistent with that of a + specified area. - def Genopt(self, **kwargs): - """ - APDL Command: GENOPT + If any of the areas have inner loops, the ANORM command will consider + the inner loops when it reorients the area normals. - Specifies "General options" as the subsequent status topic. + You cannot use the ANORM command to change the normal direction of any + element that has a body or surface load. We recommend that you apply + all of your loads only after ensuring that the element normal + directions are acceptable. - Notes - ----- - This is a status (STAT) topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Real constants (such as nonuniform shell thickness and tapered beam + constants) may be invalidated by an element reversal. - If entered directly into the program, the STAT command should - immediately follow this command. + See Revising Your Model of the Modeling and Meshing Guide for more + information. """ - command = "GENOPT, " % () + command = "ANORM,%s,%s" % (str(anum), str(noeflip)) self.RunCommand(command, **kwargs) - def Slashmap(self, **kwargs): + def Enddo(self, **kwargs): """ - APDL Command: /MAP + APDL Command: *ENDDO - Enters the mapping processor. + Ends a do-loop and starts the looping action. Notes ----- - Enters the mapping processor. This processor is used to read in source - data from an external file and map it to the existing geometry. - - The current database is saved (to BeforeMapping.DB) upon entering the - processor, and it is resumed upon exiting (FINISH command). Any nodes - or elements not on the target surface are deleted for easier viewing of - the mapping quantities. A database of this mapping geometry - (Mapping.DB) is also saved at the FINISH command. + One *ENDDO is required for each nested do-loop. The *ENDDO command + must appear on the same file as the *DO command, and all six + characters must be input. - This command is valid only at the Begin Level. + This command is valid in any processor. """ - command = "/MAP, " % () + command = "*ENDDO," % () self.RunCommand(command, **kwargs) - def Bfvdele(self, volu="", lab="", **kwargs): + def Sucr(self, surfname="", surftype="", nrefine="", radius="", tolout="", + **kwargs): """ - APDL Command: BFVDELE + APDL Command: SUCR - Deletes body force loads on a volume. + Create a surface. Parameters ---------- - volu - Volume at which body load is to be deleted. If ALL, delete for all - selected volumes [VSEL]. A component name may also be substituted - for VOLU. + surfname + Eight character surface name. - lab - Valid body load label. If ALL, use all appropriate labels. Load - labels are listed under "Body Loads" in the input table for each - element type in the Element Reference. See the BFV command for - labels. - - Notes - ----- - Deletes body force loads (and all corresponding finite element loads) - for a specified volume and label. Body loads may be defined on a - volume with the BFV command. - - Graphical picking is available only via the listed menu paths. + surftype + Surface type. - This command is also valid in PREP7. + CPLANE - Surface is defined by the cutting plane in window one (controlled by the + working plane (/CPLANE,1), NOT the view settings + (/CPLANE,0)). - """ - command = "BFVDELE, %s, %s" % (str(volu), str(lab)) - self.RunCommand(command, **kwargs) + SPHERE - Surface is defined by a spherical surface centered about the working plane + origin. - def Trtime(self, time="", spacing="", offset="", size="", length="", - **kwargs): - """ - APDL Command: TRTIME + INFC - Surface is defined by a cylindrical surface centered about the working plane + origin and extending indefinitely in the positive and + negative Z directions. - Defines the options used for the PLTRAC (particle flow or charged - particle trace) command. + nrefine + Refinement level. - Parameters - ---------- - time - Total Trace Time (seconds) (defaults to 0, which is the full flow - trace). + For SurfType = CPLANE - The refinement level of the surface "mesh". This will be an integer between 0 + and 3 (default = 0). See Notes below. - spacing - Particle spacing in seconds (defaults to 0). + For SurfType = SPHERE - The number of divisions along a 90° arc (minimum = 9). The default is 9. - offset - Particle offset in seconds (defaults to 0). It is used internally - in the ANFLOW macro to produce an animation of particle flow in a - flowing fluid or charged particle motion in an electric or magnetic - field. + For SurfType = INFC - The number of divisions along a 90° arc (minimum = 9). The default is 9. - size - Particle size (defaults to 0, which is a line). + radius + Appropriate radius value (for INFC or SPHERE). - length - Particle length fraction (defaults to .1). + tolout + Tolerance value for inclusion of element facets within a prescribed + volume. (for INFC) Notes ----- - The TRTIME command varies the type of PLTRAC display produced. - Particle flow or charged particle traces follow a particle's path in - the forward and backward direction of travel. The DOF selected - determines the color of the particle trace. SPACING defines the - particle spacing in seconds from adjacent particles in the stream line. - OFFSET defines the offset in seconds from the spacing set by the - SPACING argument. + This command creates a new surface and stores the following data for + that surface: - LENGTH defines the particle length fraction. The default value (.1), - means the particle occupies 10% of the flow region, and the other 90% - is a color-coded line. + For SurfType = CPLANE, nRefine refers to the number of points that + define the surface. An nRefine value of zero is used for points where + the element face intersects the cutting plane. - SIZE sets the radius of the particle. Use SPACING, OFFSET and LENGTH - only when SIZE is nonzero (i.e., the particle is bigger than the line). + If SurfType = CPLANE and nRefine = 0, the points reside at the section + cuts where the element intersects the cutting plane. Increasing nRefine + from 0 to 1 will subdivide each surface facet into 4 subfacets, and + increase the number of points at which results can be interpolated. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + For SurfType = CPLANE , the setting from the /EFACET command will + affect the creation of surface facets and the quality of the fit of the + surface in the model. SUCR employs geometry data from PowerGraphics to + aid in determining where the surface intersects the model. If + /EFACET,1 is in effect when the SUCR command is issued, then the + curvature of high order elements (that is, elements with midside nodes) + will be ignored. If your model contains high order elements, you can + see a better fit for your surface if /EFACET,2 is in effect when the + SUCR command is issued. Currently, the SUCR command interprets + /EFACET,4 to mean /EFACET,2. + + For SurfType = INFC, a default tolerance of 0.01 will be applied to + include the vertices of any facets that fall out of the cylinder + definition. This tolerance increases the facet size by one percent to + check for inclusion. Excluding facets under such a small tolerance may + yield unacceptable (aesthetically) results. Increasing the tolerance by + a larger amount (0.1 or 10%) will sometimes yield smother edges along + the surface you create. """ - command = "TRTIME, %s, %s, %s, %s, %s" % (str(time), str(spacing), str(offset), str(size), str(length)) + command = "SUCR,%s,%s,%s,%s,%s" % (str(surfname), str(surftype), str(nrefine), str(radius), str(tolout)) self.RunCommand(command, **kwargs) - def Hmagsolv(self, freq="", nramp="", cnva="", cnvv="", cnvc="", cnve="", - neqit="", **kwargs): + def Save(self, fname="", ext="", slab="", **kwargs): """ - APDL Command: HMAGSOLV + APDL Command: SAVE - Specifies 2-D or axisymmetric harmonic magnetic solution options and - initiates the solution. + Saves all current database information. Parameters ---------- - freq - Analysis frequency (Hz). + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - nramp - Number of ramped substeps for the first load step of a nonlinear - 2-D harmonic electromagnetic solution. Defaults to 3. If NRAMP = - -1, ignore the ramped load step entirely. + ext + Filename extension (eight-character maximum). - cnva - Convergence tolerance on the program calculated reference value for - the magnetic vector potential degree of freedom. Defaults to - 0.001. + -- + Unused field. - cnvv - Convergence tolerance on the program calculated reference value for - the time-integrated electric potential VOLT. Defaults to 0.001. + slab + Mode for saving the database: - cnvc - Convergence tolerance on the program calculated reference value for - the current degree of freedom CURR. Defaults to 0.001. + ALL - Save the model data, solution data and post data (element tables, etc.). This + value is the default. - cnve - Convergence tolerance on the program calculated reference value for - the voltage drop degree of freedom EMF. Defaults to 0.001. + MODEL - Save the model data (solid model, finite element model, loadings, etc.) only. - neqit - Maximum number of equilibrium iterations per load step. Defaults - to 50. + SOLU - Save the model data and the solution data (nodal and element results). Notes ----- - HMAGSOLV invokes an ANSYS macro which specifies harmonic - electromagnetic solution options and initiates the solution. The macro - is applicable to any ANSYS 2-D or axisymmetric linear or nonlinear - harmonic analysis. Results are only stored for the final converged - solution. (In POST1, issue *SET,LIST to identify the load step of - solution results.) The macro internally determines if a nonlinear - analysis is required based on magnetic material properties defined in - the database. - - The macro performs a two-load-step solution sequence. The first load - step ramps the applied loads over a prescribed number of substeps - (NRAMP), and the second load step calculates the converged solution. - For linear problems, only a single load step solution is performed. - The ramped load step can be bypassed by setting NRAMP to -1. + Saves all current database information to a file (File.DB). In + interactive mode, an existing File.DB is first written to a backup file + (File.DBB). In batch mode, an existing File.DB is replaced by the + current database information with no backup. The command should be + issued periodically to ensure a current file backup in case of a system + "crash" or a "line drop." It may also be issued before a "doubtful" + command so that if the result is not what was intended the database may + be easily restored to the previous state. A save may be time consuming + for large models. Repeated use of this command overwrites the previous + data on the file (but a backup file is first written during an + interactive run). When issued from within POST1, the nodal boundary + conditions in the database (which were read from the results file) will + overwrite the nodal boundary conditions existing on the database file. - A 3-D harmonic electromagnetic analysis is available for linear - solutions only and does not require this solution macro. + Internal nodes may be created during solution (for example, via the + mixed u-P formulation or generalized plane strain option for current- + technology elements, the Lagrangian multiplier method for contact + elements or the MPC184 elements, or the quadratic or cubic option of + the BEAM188 and PIPE288 elements). It is sometimes necessary to save + the internal nodes in the database for later operations, such as + cutting boundary interpolations (CBDOF) for submodeling. To do so, + issue the SAVE command after the first SOLVE command. - The following analysis options and nonlinear options are controlled by - this macro: KBC, NEQIT, NSUBST, CNVTOL, OUTRES. + In general, saving after solving is always a good practice. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "HMAGSOLV, %s, %s, %s, %s, %s, %s, %s" % (str(freq), str(nramp), str(cnva), str(cnvv), str(cnvc), str(cnve), str(neqit)) + command = "SAVE,%s,%s,%s" % (str(fname), str(ext), str(slab)) self.RunCommand(command, **kwargs) - def Abbsav(self, lab="", fname="", ext="", **kwargs): + def Xfrm(self, lab="", x1="", y1="", z1="", x2="", y2="", z2="", **kwargs): """ - APDL Command: ABBSAV + APDL Command: /XFRM - Writes the current abbreviation set to a coded file. + Controls the centroid or the axis of dynamic rotation. Parameters ---------- lab - Label that specifies the write operation: + The location or entity (centroid) used to define the center or axis + of rotation. - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + NODE - If NODE is chosen for the center of rotation, the node number will be X1. If + the rotation is to be about an axis, then X1 and Y1 define + the two nodes between which a line is drawn to determine the + axis. The remaining arguments are ignored. - ext - Filename extension (eight-character maximum). + ELEMENT - If ELEMENT is chosen for the center of rotation, the element number will be X1. + If the rotation is to be about an axis, then X1 and Y1 + define the two elements between which a line is drawn to + determine the axis. The remaining arguments are ignored. - -- - Unused field. + KP - If KP is chosen for the center of rotation, the keypoint number will be X1. If + the rotation is to be about an axis, then X1 and Y1 define the + two keypoints between which a line is drawn to determine the + axis. The remaining arguments are ignored. - Notes - ----- - Existing abbreviations on this file, if any, will be overwritten. The - abbreviation file may be read with the ABBRES command. + LINE - If LINE is chosen for the center of rotation, the line number will be X1. If + the rotation is to be about an axis, then X1 and Y1 define + the two lines between which a line is drawn to determine the + axis. The remaining arguments are ignored. - This command is valid in any processor. + AREA - If AREA is chosen for the center of rotation, the area number will be X1. If + the rotation is to be about an axis, then X1 and Y1 define + the two areas between which a line is drawn to determine the + axis. The remaining arguments are ignored. - """ - command = "ABBSAV, %s, %s, %s" % (str(lab), str(fname), str(ext)) - self.RunCommand(command, **kwargs) + VOLUME - If VOLUME is chosen for the center of rotation, the volume number will be X1. + If the rotation is to be about an axis, then X1 and Y1 + define the two volumes between which a line is drawn to + determine the axis. The remaining arguments are ignored. - def Cplane(self, key="", **kwargs): - """ - APDL Command: /CPLANE + XYZ - If XYZ is chosen for the center of rotation, the location of that center is + determined by the coordinates X1, Y1, Z1. If values are + specified for X2, Y2, Z2, then the axis of rotation will be + about the line between those two points. - Specifies the cutting plane for section and capped displays. + OFF - If LAB = OFF, DEFAULT, FOCUS or if no value is specified, then the center of + rotation is set at the FOCUS point, as defined by the /FOCUS + command. - Parameters - ---------- - key - Specifies the cutting plane: + x1 + The entity number or X coordinate for the center of rotation. - 0 - Cutting plane is normal to the viewing vector [/VIEW] and passes through the - focus point [/FOCUS] (default). + y1 + The entity number or Y coordinate for the center of rotation. - 1 - The working plane [WPLANE] is the cutting plane. + z1 + The Z coordinate for the center of rotation. + + x2 + The X coordinate for the axis of rotation. + + y2 + The Y coordinate for the axis of rotation. + + z2 + The Z coordinate for the axis of rotation. Notes ----- - Defines the cutting plane to be used for section and capped displays - [/TYPE,,(1, 5, or 7)]. + The /XFRM command is active only when the cumulative rotation key is + specified ON for the /ANGLE command (KINCR = 1). This command affects + dynamic manipulations only. + + For center rotation, the middle mouse button will rotate the model + about the screen Z axis and the right mouse button will rotate the + model about the screen X and Y axis. + + For rotation about an axis, the middle mouse button will rotate the + model about the defined axis of rotation and the right mouse button + will be deactivated. This command is valid in any processor. """ - command = "/CPLANE, %s" % (str(key)) + command = "/XFRM,%s,%s,%s,%s,%s,%s,%s" % (str(lab), str(x1), str(y1), str(z1), str(x2), str(y2), str(z2)) self.RunCommand(command, **kwargs) - def List(self, level="", **kwargs): + def Coriolis(self, option="", refframe="", rotdamp="", **kwargs): """ - APDL Command: LIST + APDL Command: CORIOLIS - Lists out the sets in the results file. + Applies the Coriolis effect to a rotating structure. - Notes - ----- - This command lists the results set number, the load step, substep, and - time step for each set. It also shows all sets marked for deletion. + Parameters + ---------- + option + Flag to activate or deactivate the Coriolis effect: - """ - command = "LIST, %s" % (str(level)) - self.RunCommand(command, **kwargs) + 1 (ON or YES) - Activate. This value is the default. - def Dvmorph(self, volu="", xarea="", rmshky="", **kwargs): - """ - APDL Command: DVMORPH + 0 (OFF or NO) - Deactivate. - Move nodes in selected volumes to conform to structural displacements. + --, -- + Unused fields. - Parameters - ---------- - volu - Non-structural volume to which mesh movement (morph) applies. If - ALL, apply morphing to all selected volumes [VSEL]. If VOLU = P, - graphical picking is enabled. A component may be substituted for - VOLU. + refframe + Flag to activate or deactivate a stationary reference frame. - xarea - Areas to be excluded from morphing. If ALL, exclude all selected - areas [ASEL]. If XAREA = P, graphical picking is enabled. A - component may be substituted for XAREA. If XAREA is blank - (default), allow morphing of nodes attached to areas of the - selected volumes (VOLU) which are not shared by unselected volumes. - (See Notes for clarification). + 1 (ON or YES) - Activate. - rmshky - Remesh flag option: + 0 (OFF or NO) - Deactivate. This value is the default. - 0 - Remesh the selected non-structural volumes only if mesh morphing fails. + rotdamp + Flag to activate or deactivate rotating damping effect. - 1 - Remesh the selected non-structural volumes and bypass mesh morphing. + 1 (ON or YES) - Activate. - 2 - Perform mesh morphing only and do not remesh. + 0 (OFF or NO) - Deactivate. This value is the default. Notes ----- - The selected volumes should include only non-structural regions - adjacent to structural regions. DVMORPH will morph the non-structural - volumes to coincide with the deflections of the structural regions. + The CORIOLIS command is used for analyses in either a rotating or a + stationary reference frame, and performs differently according to the + designated RefFrame value. Specific restrictions and elements apply to + each case, as follows: - Nodes in the structural regions move in accordance with computed - displacements. Displacements from a structural analysis must be in the - database prior to issuing DVMORPH. + ROTATING REFERENCE FRAME (RefFrame = OFF): - By default, nodes attached to areas can move along the areas. You can - use XAREA to restrain nodes on certain areas. + The command applies the Coriolis effect in the following structural + element types: MASS21, SHELL181, PLANE182, PLANE183, SOLID185, + SOLID186, SOLID187, BEAM188, BEAM189, SOLSH190, SHELL281, PIPE288 and + PIPE289. It also applies this effect in the PLANE223, SOLID226, and + SOLID227 analyses with structural degrees of freedom. - By default (RMSHKY = 0), DVMORPH will remesh the selected non- - structural volumes entirely if a satisfactory morphed mesh cannot be - provided. + In a rotating reference frame, both the Coriolis and spin-softening + effects contribute to the gyroscopic moment. Therefore, ANSYS applies + spin-softening by default for dynamic analyses. If a rotational + velocity is specified (OMEGA or CMOMEGA), centrifugal forces will be + included. - If boundary conditions and loads are applied directly to nodes and - elements, the DVMORPH command requires that these be removed before - remeshing can take place. + To include Coriolis effects in a large deflection prestressed analysis, + follow the procedure for linear perturbation detailed in Considerations + for Rotating Structures. In a nonlinear transient analysis + (ANTYPE,TRANS and NLGEOM, ON), any spinning motion applied through + either the IC of the D commands will include the Coriolis effect + without having to issue the CORIOLIS command. Refer to Rotating + Structure Analysis in the Advanced Analysis Guide for more information. - Exercise care with initial conditions defined by the IC command. Before - a structural analysis is performed for a sequentially coupled analysis, - the DVMORPH command requires that initial conditions be removed from - all null element type nodes in the non-structural regions. Use ICDELE - to delete the initial conditions. + STATIONARY REFERENCE FRAME (RefFrame = ON): - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The command activates the gyroscopic damping matrix in the following + structural elements: MASS21, BEAM188, SHELL181, BEAM189, SOLID185, + SOLID186, SOLID187, SOLID272, SOLID273, SHELL281, PIPE288, PIPE289, and + MATRIX50. + + The rotating structure must be axisymmetric about the axis of rotation. + + Static analysis (ANTYPE, STATIC) does not support Coriolis effects with + a stationary reference frame. However, you can include the gyroscopic + effects in a prestresses analysis follow the procedure detailed in + Considerations for Rotating Structures. + + Rotating damping effect (RotDamp = ON) applies only for the stationary + reference frame. Therefore, this effect is supported only by the + elements listed above that generate a gyroscopic damping matrix. + Proportional damping must be present in the element (MP,BETD or BETAD). + It is also supported by element COMBI214 with non zero and axisymmetric + damping characteristics (non zero real constants C11=C22 and + C21=C12=0). + + For more information about using the CORIOLIS command, see Rotating + Structure Analysis in the Advanced Analysis Guide and also in the + Rotordynamic Analysis Guide. For details about the Coriolis and + gyroscopic effect element formulations, see the Mechanical APDL Theory + Reference. + + This command is also valid in PREP7. """ - command = "DVMORPH, %s, %s, %s" % (str(volu), str(xarea), str(rmshky)) + command = "CORIOLIS,%s,%s,%s" % (str(option), str(refframe), str(rotdamp)) self.RunCommand(command, **kwargs) - def Secoffset(self, location="", offset1="", offset2="", cg_y="", cg_z="", - sh_y="", sh_z="", **kwargs): + def Nsle(self, type="", nodetype="", num="", **kwargs): """ - APDL Command: SECOFFSET + APDL Command: NSLE - Defines the section offset for cross sections. + Selects those nodes attached to the selected elements. Parameters ---------- - location, offset1, offset2, cg-y, cg-z, sh-y, sh-z - The location of the nodes in the section. All are dependent on the - type. See the "Notes" section of this command description for - details about these values for the various section types. + type + Label identifying the type of node select: - Notes - ----- - The SECOFFSET command is divided into three types: Beams, Pipes, and - Shells. + S - Select a new set (default). - The offsets defined by the SECOFFSET command are associated with the - section most recently defined using the SECTYPE command. Not all - SECOFFSET location values are valid for each subtype. + R - Reselect a set from the current set. - For the thermal shell elements, SHELL131 and SHELL132, the node offset - specified by SECOFFSET is used in thermal contact analyses. Otherwise, - the SECOFFSET command has no effect on the solution for these elements - and is used only for visualization purposes. + A - Additionally select a set and extend the current set. - This command is not valid with thermal solid elements SOLID278 and - SOLID279. + U - Unselect a set from the current set. - """ - command = "SECOFFSET, %s, %s, %s, %s, %s, %s, %s" % (str(location), str(offset1), str(offset2), str(cg_y), str(cg_z), str(sh_y), str(sh_z)) - self.RunCommand(command, **kwargs) + nodetype + Label identifying type of nodes to consider when selecting: - def Cyl5(self, xedge1="", yedge1="", xedge2="", yedge2="", depth="", - **kwargs): - """ - APDL Command: CYL5 + ALL - Select all nodes of the selected elements (default). - Creates a circular area or cylindrical volume by end points. + ACTIVE - Select only the active nodes. An active node is a node that contributes DOFs to + the model. - Parameters - ---------- - xedge1, yedge1 - Working plane X and Y coordinates of one end of the circle or - cylinder face. + INACTIVE - Select only inactive nodes (such as orientation or radiation). - xedge2, yedge2 - Working plane X and Y coordinates of the other end of the circle or - cylinder face. + CORNER - Select only corner nodes. - depth - The perpendicular distance (either positive or negative based on - the working plane Z direction) from the working plane representing - the depth of the cylinder. If DEPTH = 0 (default), a circular area - is created on the working plane. + MID - Select only midside nodes. + + POS - Select nodes in position Num. + + FACE - Select nodes on face Num. + + num + Position or face number for NodeType = POS or FACE. Notes ----- - Defines a circular area anywhere on the working plane or a cylindrical - volume with one face anywhere on the working plane by specifying - diameter end points. For a solid cylinder of 360°, the top and bottom - faces will be circular (each area defined with four lines) and they - will be connected with two surface areas (each spanning 180°). See the - CYL4, PCIRC, and CYLIND commands for alternate ways to create circles - and cylinders. + NSLE selects NodeType nodes attached to the currently-selected set of + elements. Only nodes on elements in the currently-selected element set + can be selected. + + Note:: : When using degenerate hexahedral elements, NSLE, U,CORNER and + NSLE,S,MID will not select the same set of nodes because some nodes + appear as both corner and midside nodes. + + This command is valid in any processor. """ - command = "CYL5, %s, %s, %s, %s, %s" % (str(xedge1), str(yedge1), str(xedge2), str(yedge2), str(depth)) + command = "NSLE,%s,%s,%s" % (str(type), str(nodetype), str(num)) self.RunCommand(command, **kwargs) - def Suvect(self, rsetname="", lab1="", oper="", lab2="", offset="", + def Xfdata(self, enrichmentid="", elemnum="", nodenum="", phi="", **kwargs): """ - APDL Command: SUVECT + APDL Command: XFDATA - Create new result data by operating on two existing result vectors on a - given surface. + Defines a crack in the model by specifying nodal level set values Parameters ---------- - rsetname - Eight character name of the result data output. There will be one - or three RSetName values depending on the operation specified in - Oper. + enrichmentid + Name of the enrichment specified via the associated XFENRICH + command. - lab1 - Eight character name of the mapped data that forms vector 1. - Specified sets must exist on all selected surfaces for this - operation to take place. The names NORM and GC will be reserved for - normals and for global (x, y, z). + lsm (or blank) + Specify LSM to indicate that level set values (PHI and optional + PSI) are specified. - oper - DOT + elemnum + Element number. - DOT - Computes dot product between lab1 and lab2 vectors. The result is a scalar - parameter (RSetName) and each value within the set can be - modified (incremented) via Offset. + nodenum + Node number associated with the specified element ELNUM. - CROSS - Computes cross product between lab1 and lab2 vectors. Each X, Y, Z value in the - result can be modified (incremented) via Offset. + phi + Signed normal distance of the node from the crack. - SMULT - Scales (lab1x, lab1y, lab1z) vector by scalar lab2. Each X,Y,Z value in the - result can be modified (incremented) via Offset. + Notes + ----- + Issue the XFDATA command multiple times as needed to specify nodal + level set values for all nodes of an element. - lab2 - Eight character name of the mapped data that forms vector 2. Sets - with names Lab2X, Lab2Y, and Lab2Z must exist on all selected - surfaces for operation to take place. For Oper = SMULT a scalar - value or another predefined scalar item (e.g., DA) can be supplied. + This command is valid in PREP7 (/PREP7) only. - offset - An offset value to be applied to the resultant RSetName. One value - is specified for Oper = DOT, and three values are specified for - Oper = SMULT. + """ + command = "XFDATA,%s,%s,%s,%s" % (str(enrichmentid), str(elemnum), str(nodenum), str(phi)) + self.RunCommand(command, **kwargs) + + def Eusort(self, **kwargs): + """ + APDL Command: EUSORT + + Restores original order of the element table. + + Notes + ----- + Changing the selected element set [ESEL] also restores the original + element order. """ - command = "SUVECT, %s, %s, %s, %s, %s" % (str(rsetname), str(lab1), str(oper), str(lab2), str(offset)) + command = "EUSORT," % () self.RunCommand(command, **kwargs) - def Etchg(self, cnv="", **kwargs): + def Endrelease(self, tolerance="", dof1="", dof2="", dof3="", dof4="", + **kwargs): """ - APDL Command: ETCHG + APDL Command: ENDRELEASE - Changes element types to their corresponding types. + Specifies degrees of freedom to be decoupled for end release. Parameters ---------- - cnv - Converts the element types to the corresponding type. Valid labels - are: + -- + Unused field. - ETI - Explicit to Implicit + tolerance + Angle tolerance (in degrees) between adjacent elements. Defaults to + 20°. Set TOLERANCE to -1 to indicate all selected elements. - ITE - Implicit to Explicit + dof1, dof2, dof3, dof4 + Degrees of freedom to release. If Dof1 is blank, WARP is assumed + and Dof2, Dof3, and Dof4 are ignored. - TTE - Thermal to Explicit + WARP - Release the warping degree of freedom (default). - TTS - Thermal to Structural + ROTX - Release rotations in the X direction. - STT - Structural to Thermal + ROTY - Release rotations in the Y direction. - MTT - Magnetic to Thermal + ROTZ - Release rotations in the Z direction. - FTS - Fluid to Structural + UX - Release displacements in the X direction. - ETS - Electrostatic to Structural + UY - Release displacements in the Y direction. - ETT - Electrical to Thermal + UZ - Release displacements in the Z direction. + + BALL - Create ball joints (equivalent to releasing WARP, ROTX, ROTY, and ROTZ). Notes ----- - Changes the currently defined element types to their corresponding - types. Elements without a companion element (listed above) are not - switched and should be switched with the ET command to an appropriate - element type or to a null element. The KEYOPT values for the switched - element types are reset to zero or to their default values. You must - check these values to see if they are still meaningful. Additionally, - if Cnv = ETI, ITE, or TTE, all real constants are set to zero. + This command specifies end releases for the BEAM188, BEAM189, PIPE288, + and PIPE289 elements. The command works on currently selected nodes and + elements. It creates end releases on any two connected beam elements + whose angle at connection exceeds the specified tolerance. From within + the GUI, the Picked node option generates an end release at the + selected node regardless of the angle of connection (angle tolerance is + set to -1). - If Cnv = ITE, you will need to choose a material model that corresponds - to your previously-defined material properties. If working - interactively, you will be prompted to do so. + Use the CPLIST command to list the coupled sets generated by the + ENDRELEASE command. + + Note:: : You should exercise due engineering judgement when using this + command, as improper use may result in mechanics that render a solution + impossible. """ - command = "ETCHG, %s" % (str(cnv)) + command = "ENDRELEASE,%s,%s,%s,%s,%s" % (str(tolerance), str(dof1), str(dof2), str(dof3), str(dof4)) self.RunCommand(command, **kwargs) - def Etdele(self, ityp1="", ityp2="", inc="", **kwargs): + def Pmlsize(self, freqb="", freqe="", dmin="", dmax="", thick="", angle="", + **kwargs): """ - APDL Command: ETDELE + APDL Command: PMLSIZE - Deletes element types. + Determines number of PML layers. Parameters ---------- - ityp1, ityp2, inc - Deletes element types from ITYP1 to ITYP2 (defaults to ITYP1) in - steps of INC (defaults to 1). If ITYP1 = ALL, ITYP2 and INC are - ignored and all element types are deleted. Element types are - defined with the ET command. + freqb + Minimum operating frequency - """ - command = "ETDELE, %s, %s, %s" % (str(ityp1), str(ityp2), str(inc)) - self.RunCommand(command, **kwargs) + freqe + Maximum operating frequency - def Irlist(self, **kwargs): - """ - APDL Command: IRLIST + dmin + Minimum distance from radiation source to PML interface. - Prints inertia relief summary table. + dmax + Maximum distance from radiation source to PML interface. + + thick + Thickness of PML region. Defaults to 0. + + angle + Incident angle of wave to the PML interface. Defaults to 0. Notes ----- - Prints the inertia relief summary data, including the mass summary - table, the total load summary table, and the inertia relief summary - table resulting from the inertia relief calculations. These - calculations are performed in the solution phase [SOLVE] as specified - by the IRLF command. - - Inertia relief output is stored in the database rather than in the - results file (Jobname.RST). When you issue IRLIST, ANSYS pulls the - information from the database, which contains the inertia relief output - from the most recent solution [SOLVE]. + PMLSIZE determines the number of PML layers for acceptable numerical + accuracy. - This command is valid in any processor. + PMLSIZE must be issued before any meshing commands. If the thickness of + the PML region is known, it determines an element edge length (h) and + issues ESIZE,h. If the thickness of the PML region is unknown, it + determines the number of layers (n) and issues ESIZE,,n. """ - command = "IRLIST, " % () + command = "PMLSIZE,%s,%s,%s,%s,%s,%s" % (str(freqb), str(freqe), str(dmin), str(dmax), str(thick), str(angle)) self.RunCommand(command, **kwargs) - def Sallow(self, strs1="", strs2="", strs3="", strs4="", strs5="", - strs6="", **kwargs): + def Cplgen(self, nsetf="", lab1="", lab2="", lab3="", lab4="", lab5="", + **kwargs): """ - APDL Command: SALLOW + APDL Command: CPLGEN - Defines the allowable stress table for safety factor calculations. + Generates sets of coupled nodes from an existing set. Parameters ---------- - strs1, strs2, strs3, . . . , strs6 - Input up to six allowable stresses corresponding to the temperature - points [TALLOW]. + nsetf + Generate sets from existing set NSETF. + + lab1, lab2, lab3, . . . , lab5 + Generate sets with these labels (see CP command for valid labels). + Sets are numbered as the highest existing set number + 1. Notes ----- - Defines the allowable stress table for safety factor calculations - [SFACT,SFCALC]. Use the STAT command to list current allowable stress - table. Repeat SALLOW to zero table and redefine points (6 maximum). - - Safety factor calculations are not supported by PowerGraphics. Both the - SALLOW and TALLOW commands must be used with the Full Model Graphics - display method active. + Generates additional sets of coupled nodes (with different labels) from + an existing set [CP, CPNGEN]. The same node numbers are included in + the generated sets. If all labels of nodes are to be coupled and the + nodes are coincident, the NUMMRG command should be used to + automatically redefine the node number (for efficiency). """ - command = "SALLOW, %s, %s, %s, %s, %s, %s" % (str(strs1), str(strs2), str(strs3), str(strs4), str(strs5), str(strs6)) + command = "CPLGEN,%s,%s,%s,%s,%s,%s" % (str(nsetf), str(lab1), str(lab2), str(lab3), str(lab4), str(lab5)) self.RunCommand(command, **kwargs) - def Abs(self, ir="", ia="", name="", facta="", **kwargs): + def Cpsgen(self, itime="", inc="", nset1="", nset2="", ninc="", **kwargs): """ - APDL Command: ABS + APDL Command: CPSGEN - Forms the absolute value of a variable. + Generates sets of coupled nodes from existing sets. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. - - ia - Reference number of the variable to be operated on. + itime, inc + Do this generation operation a total of ITIMEs, incrementing all + nodes in the existing sets by INC each time after the first. ITIME + must be > 1 for generation to occur. - --, -- - Unused fields. + nset1, nset2, ninc + Generate sets from sets beginning with NSET1 to NSET2 (defaults to + NSET1) in steps of NINC (defaults to 1). If NSET1 is negative, + NSET2 and NINC are ignored and the last |NSET1| sets (in sequence + from the maximum set number) are used as the sets to be repeated. - name - Thirty-two character name for identifying the variable on the - printout and displays. Embedded blanks are compressed upon output. + Notes + ----- + Generates additional sets of coupled nodes (with the same labels) from + existing sets. Node numbers between sets may be uniformly incremented. - --, -- - Unused fields. + """ + command = "CPSGEN,%s,%s,%s,%s,%s" % (str(itime), str(inc), str(nset1), str(nset2), str(ninc)) + self.RunCommand(command, **kwargs) - facta - Scaling factor (positive or negative) applied to variable IA - (defaults to 1.0). + def Suvect(self, rsetname="", lab1="", oper="", lab2="", offset="", + **kwargs): + """ + APDL Command: SUVECT - Notes - ----- - The new variable is calculated as: + Create new result data by operating on two existing result vectors on a + given surface. - IR = | FACTA x IA | + Parameters + ---------- + rsetname + Eight character name of the result data output. There will be one + or three RSetName values depending on the operation specified in + Oper. - For a complex number (a + ib), the absolute value is the magnitude, - where the IA values are obtained from: + lab1 + Eight character name of the mapped data that forms vector 1. + Specified sets must exist on all selected surfaces for this + operation to take place. The names NORM and GC will be reserved for + normals and for global (x, y, z). - See POST26 - Data Operations in the Mechanical APDL Theory Reference - for details. + oper + DOT - """ - command = "ABS, %s, %s, %s, %s" % (str(ir), str(ia), str(name), str(facta)) - self.RunCommand(command, **kwargs) + DOT - Computes dot product between lab1 and lab2 vectors. The result is a scalar + parameter (RSetName) and each value within the set can be + modified (incremented) via Offset. - def Sbclist(self, **kwargs): - """ - APDL Command: SBCLIST + CROSS - Computes cross product between lab1 and lab2 vectors. Each X, Y, Z value in the + result can be modified (incremented) via Offset. - Lists solid model boundary conditions. + SMULT - Scales (lab1x, lab1y, lab1z) vector by scalar lab2. Each X,Y,Z value in the + result can be modified (incremented) via Offset. - Notes - ----- - Lists all solid model boundary conditions for the selected solid model - entities. See also DKLIST, DLLIST, DALIST, FKLIST, SFLLIST, SFALIST, - BFLLIST, BFALIST, BFVLIST, and BFKLIST to list items separately. + lab2 + Eight character name of the mapped data that forms vector 2. Sets + with names Lab2X, Lab2Y, and Lab2Z must exist on all selected + surfaces for operation to take place. For Oper = SMULT a scalar + value or another predefined scalar item (e.g., DA) can be supplied. - This command is valid in any processor. + offset + An offset value to be applied to the resultant RSetName. One value + is specified for Oper = DOT, and three values are specified for + Oper = SMULT. """ - command = "SBCLIST, " % () + command = "SUVECT,%s,%s,%s,%s,%s" % (str(rsetname), str(lab1), str(oper), str(lab2), str(offset)) self.RunCommand(command, **kwargs) - def Plls(self, labi="", labj="", fact="", kund="", viewup="", **kwargs): + def Cyl4(self, xcenter="", ycenter="", rad1="", theta1="", rad2="", + theta2="", depth="", **kwargs): """ - APDL Command: PLLS + APDL Command: CYL4 - Displays element table items as contoured areas along elements. + Creates a circular area or cylindrical volume anywhere on the working + plane. Parameters ---------- - labi - Label of element table item (ETABLE) for node I magnitude. - - labj - Label of element table item for node J magnitude. - - fact - Scale factor for display (defaults to 1). A negative scaling - factor may be used to invert the display. - - kund - Undisplaced shape key: - - 0 - Display selected items on undeformed shape. - - 1 - Display selected items on deformed shape. + xcenter, ycenter + Working plane X and Y coordinates of the center of the circle or + cylinder. - viewup - View Up key: + rad1, rad2 + Inner and outer radii (either order) of the circle or cylinder. A + value of zero or blank for either RAD1 or RAD2, or the same value + for both RAD1 and RAD2, defines a solid circle or cylinder. - 0 - Ignore the view-up (/VUP) vector when calculating trapezoid orientation - (default). + theta1, theta2 + Starting and ending angles (either order) of the circle or faces of + the cylinder. Used for creating a partial annulus or partial + cylinder. The sector begins at the algebraically smaller angle, + extends in a positive angular direction, and ends at the larger + angle. The starting angle defaults to 0° and the ending angle + defaults to 360°. See the Modeling and Meshing Guide for an + illustration. - 1 - Use the view-up (/VUP) vector to calculate trapezoid orientation. + depth + The perpendicular distance (either positive or negative based on + the working plane Z direction) from the working plane representing + the depth of the cylinder. If DEPTH = 0 (default), a circular area + is created on the working plane. Notes ----- - Displays selected items (such as shears and moments) as a contoured - area (trapezoid) display along line elements and 2-D axisymmetric shell - elements (such as shear and moment diagrams). Three sides of the - trapezoid are formed by the element (one side) and lines at nodes I and - J of length proportional to the item magnitude and displayed normal to - the element and the viewing direction (the two parallel sides). - - When ViewUP = 1, the trapezoid is oriented within the plane created by - the element and the global Cartesian coordinate system reference - orientation (/VUP or view up) vector. In this case, the program does - not perform the calculation involving the element and view direction. + Defines a circular area anywhere on the working plane or a cylindrical + volume with one face anywhere on the working plane. For a solid + cylinder of 360°, the top and bottom faces will be circular (each area + defined with four lines) and they will be connected with two surface + areas (each spanning 180°). See the CYL5, PCIRC, and CYLIND commands + for alternate ways to create circles and cylinders. - Portions of this command are not supported by PowerGraphics - [/GRAPHICS,POWER]. + When working with a model imported from an IGES file (DEFAULT import + option), you must provide a value for DEPTH or the command will be + ignored. """ - command = "PLLS, %s, %s, %s, %s, %s" % (str(labi), str(labj), str(fact), str(kund), str(viewup)) + command = "CYL4,%s,%s,%s,%s,%s,%s,%s" % (str(xcenter), str(ycenter), str(rad1), str(theta1), str(rad2), str(theta2), str(depth)) self.RunCommand(command, **kwargs) - def Cnvtol(self, lab="", value="", toler="", norm="", minref="", **kwargs): + def Mmass(self, option="", zpa="", **kwargs): """ - APDL Command: CNVTOL + APDL Command: MMASS - Sets convergence values for nonlinear analyses. + Specifies the missing mass response calculation. Parameters ---------- - lab - Valid convergence labels. If STAT, list the status of the currently - specified criteria. - - value - Typical reference value for the specified convergence label (Lab). - - toler - Tolerance; defaults to 0.005 (0.5%) for force and moment, 1.0E-4 - (0.01%) for DVOL, 0.05 (5%) for displacement when rotational DOFs - are not present, and 0.05 (5%) for HDSP. - - norm - Specifies norm selection: - - 2 - L2 norm (check SRSS value). Default, except for Lab = U. + option + Flag to activate or deactivate missing mass response calculation. - 1 - L1 norm (check absolute value sum). + 0 (OFF or NO) - Deactivate (default). - 0 - Infinite norm (check each DOF separately). Default for Lab = U. + 1 (ON or YES) - Activate. - minref - The minimum value allowed for the program calculated reference - value. If negative, no minimum is enforced. Used only if VALUE is - blank. Defaults to 0.01 for force, moment, and volume convergence, - 1.0E-6 for heat flow, 1.0E-12 for VLTG and CHRG, 1.0E-6 for HDSP, - and 0.0 otherwise. + zpa + Zero Period Acceleration Value. If a scale factor FACT is defined + on the SVTYP command, it is applied to this value. Notes ----- - This command is usually not needed because the default convergence - criteria are sufficient for most nonlinear analyses. In rare cases, you - may need to use this command to diagnose convergence difficulties. + The missing mass calculation is valid only for single point excitation + response spectrum analysis (SPOPT, SPRS) and for multiple point + response spectrum analysis (SPOPT, MPRS) performed with base excitation + using acceleration response spectrum loading. Missing mass is supported + in a spectrum analysis only when the preceding modal analysis is + performed with the Block Lanczos, PCG Lanczos, Supernode, or Subspace + eigensolver (Method =LANB, LANPCG, SNODE, or SUBSP on the MODOPT + command). - Values may be set for the degrees of freedom (DOF) and/or the out-of- - balance load for the corresponding forcing quantities. + The velocity solution is not available (Label = VELO on the combination + command: SRSS, CQC...) when the missing mass calculation is activated. - Issuing CNVTOL to set a convergence criterion for a specific - convergence label (Lab) does not affect the convergence criterion for - any other label. All other convergence criteria will remain at their - default setting or at the value set by a previous CNVTOL command. + The missing mass calculation is not supported when the spectrum + analysis is based on a linear perturbation modal analysis performed + after a nonlinear base analysis. - When the GUI is on, if a "Delete" operation in a Nonlinear Convergence - Criteria dialog box writes this command to a log file (Jobname.LOG or - Jobname.LGW), you will observe that Lab is blank, VALUE = -1, and TOLER - is an integer number. In this case, the GUI has assigned a value of - TOLER that corresponds to the location of a chosen convergence label in - the dialog box's list. It is not intended that you type in such a - location value for TOLER in an ANSYS session. However, a file that - contains a GUI-generated CNVTOL command of this form can be used for - batch input or with the /INPUT command. + The missing mass is not supported when superelements are present. - Convergence norms specified with CNVTOL may be graphically tracked - while the solution is in process using the ANSYS program's Graphical - Solution Tracking (GST) feature. Use the /GST command to turn GST on - or off. By default, GST is ON for interactive sessions and OFF for - batch runs. + To take into account the contribution of the truncated modes, the + residual vector (RESVEC) can be used in place of the missing mass + response. This is of particular interest if the velocity solution is + requested or if a nonlinear prestress is included in the analysis + (linear perturbation), or if a superelement is present, since the + missing mass cannot be used in these cases. + + In a multiple point response spectrum analysis (SPOPT,MPRS), the MMASS + command must precede the participation factor calculation command + (PFACT). This command is also valid in PREP7. """ - command = "CNVTOL, %s, %s, %s, %s, %s" % (str(lab), str(value), str(toler), str(norm), str(minref)) + command = "MMASS,%s,%s" % (str(option), str(zpa)) self.RunCommand(command, **kwargs) - def Cmap(self, fname="", ext="", kywrd="", ncntr="", **kwargs): + def Outres(self, item="", freq="", cname="", nsvar="", dsubres="", + **kwargs): """ - APDL Command: /CMAP + APDL Command: OUTRES - Changes an existing or creates a new color mapping table. + Controls the solution data written to the database. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + item + Results item for database and file write control: - ext - Filename extension (eight-character maximum). + ALL - All solution items except LOCI and SVAR. This behavior is the default. - -- - Unused field. + CINT - All available results generated by the CINT command - kywrd - Keyword indicating the disposition of the color map file. + ERASE - Resets OUTRES specifications to their default values. - (blank) - Loads existing color map file. + STAT - Lists the current OUTRES specifications. - CREATE - Starts the CMAP utility and modifies or creates the specified file. + BASIC - Write only NSOL, RSOL, NLOAD, STRS, FGRAD, and FFLUX records to the results + file and database. - SAVE - Writes the active color map to the specified file, which can be imported into - future sessions. + NSOL - Nodal DOF solution. - ncntr - Number of contours to be defined. Default = 9 (even if an existing - file is being modified). Maximum = 128. + RSOL - Nodal reaction loads. - Notes - ----- - Reads the color map file (RGB index specifications) to change from - current specifications. Only one color map may be active at a time. + V - Nodal velocity (applicable to structural full transient analysis only + (ANTYPE,TRANS)). - For 2-D drivers (especially Win32c), modifying the color map can - produce anomalies, including legend/contour disagreement. + A - Nodal acceleration (applicable to structural full transient analysis only + (ANTYPE,TRANS)). - When Kywrd equals CREATE, the 2-D drivers (X11c and Win32c) display the - CMAP utility with an additional contour color picker called CONTOURS. - Colors selected via the CONTOURS picker affect result contour displays - (such as stresses). No other drivers offer the CONTOURS picker in the - CMAP utility. + ESOL - Element solution (includes all items following): - Changing the color map using the /CMAP command changes the meaning of - the color labels on the /COLOR command. See /COLOR for other color - controls. + NLOAD - Element nodal, input constraint, and force loads (also used with the /POST1 + commands PRRFOR, NFORCE, and FSUM to calculate reaction + loads). - This command is valid anywhere. + STRS - Element nodal stresses. - """ - command = "/CMAP, %s, %s, %s, %s" % (str(fname), str(ext), str(kywrd), str(ncntr)) - self.RunCommand(command, **kwargs) + EPEL - Element elastic strains. - def Prange(self, linc="", vmin="", vmax="", xvar="", **kwargs): - """ - APDL Command: PRANGE + EPTH - Element thermal, initial, and swelling strains. - Determines the path range. + EPPL - Element plastic strains. - Parameters - ---------- - linc, vmin, vmax - Set the range for listing or displaying the table locations between - a minimum value (VMIN) and a maximum value (VMAX) of the path - distance with a location increment of LINC (defaults to 1). The - first location begins at VMIN. + EPCR - Element creep strains. - xvar - Path variable item to be used as the x-axis plot variable. Any - valid path variable may be used (PDEF command). Default variable - is the path distance, S. + EPDI - Element diffusion strains. - Notes - ----- - Determines the path distance range for use with the PRPATH and PLPATH - commands. + FGRAD - Element nodal gradients. - """ - command = "PRANGE, %s, %s, %s, %s" % (str(linc), str(vmin), str(vmax), str(xvar)) - self.RunCommand(command, **kwargs) + FFLUX - Element nodal fluxes. - def Dl(self, line="", area="", lab="", value1="", value2="", **kwargs): - """ - APDL Command: DL + LOCI - Integration point locations. - Defines DOF constraints on lines. + SVAR - State variables (used only by UserMat). - Parameters - ---------- - line - Line at which constraints are to be specified. If ALL, apply to all - selected lines [LSEL]. If LINE = 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 LINE. + MISC - Element miscellaneous data (SMISC and NMISC items of the ETABLE command). - area - Area containing line. The normal to the symmetry or antisymmetry - surface is assumed to lie on this area. Defaults to the lowest - numbered selected area containing the line number. + freq + Specifies how often (that is, at which substeps) to write the + specified solution results item. The following values are valid: - lab - Symmetry label (see 2): + cname + The name of the component, created with the CM command, defining + the selected set of elements or nodes for which this specification + is active. If blank, the set is all entities. A component name is + not allowed with the ALL, BASIC, or RSOL items. - SYMM - Generate symmetry constraints. + -- + Reserved for future use. - ASYM - Generate antisymmetry constraints. + nsvar + The number of user-defined state variables (TB,STATE) to be written + to the results file. Valid only when Item = SVAR and user-defined + state variables exist. The specified value cannot exceed the total + number of state variables defined; if no value is specified, all + user-defined state variables are written to the results file. This + argument acts on all sets of user-defined state variables that + exist for the model. - value1 - Value of DOF (real part) or table name reference on the line. - Valid for all DOF labels. To specify a table, enclose the table - name in % signs (e.g., DL,LINE,AREA,TEMP,%tabname%). Use the *DIM - command to define a table. + dsubres + Specifies whether to write additional results in Jobname.DSUB + during a substructure or CMS use pass in transient or harmonic + analysis. - value2 - For VOLT DOFs: + Blank - Write the nodal DOF solution in Jobname.DSUB (default). + + ALL - In addition to the nodal DOF solution, also write necessary data to compute + quantities using nodal velocity and nodal acceleration + (damping force, inertial force, kinetic energy, etc.) in the + subsequent expansion pass. For more information, see Step 3: + Expansion Pass in the Substructuring Analysis Guide. Notes ----- - You can transfer constraints from lines to nodes with the DTRAN or - SBCTRAN commands. See the DK command for information about generating - other constraints at lines. + The OUTRES command allows you to specify the following: - Symmetry and antisymmetry constraints are generated as described on the - DSYM command. + The solution item (Item) to write to the database (and to the reduced + displacement and results files) - Setting Lab = VOLT and Value1 = 0 applies the J-normal boundary - condition (current density vector (J) flows normal to the line). No - input is required for the J-parallel condition because it is the - natural boundary condition. + The frequency (Freq) at which the solution item is written (applicable + to static, transient, or full harmonic analyses) - Tabular boundary conditions (Value1 = %tabname%) are available only for - the following degree of freedom labels: Electric (VOLT), Structural - (UX, UY, UZ, ROTX, ROTY, ROTZ), Acoustic (PRES, UX, UY, UZ), and - temperature (TEMP, TBOT, TE2, TE3, . . ., TTOP). + The set of elements or nodes (Cname) to which your specification + applies. - Constraints specified by the DL command can conflict with other - specified constraints. See Resolution of Conflicting Constraint - Specifications in the Basic Analysis Guide for details. + The command generates a specification for controlling data storage for + each substep, activating storage of the specified results item for the + specified substeps of the solution and suppressing storage of that item + for all other substeps. - This command is also valid in PREP7. + You can issue multiple OUTRES commands in an analysis. After the + initial command creating the storage specification, subsequent OUTRES + commands modify the specification set for each substep. The command + processes your specifications at each substep in the order in which you + input them. If you specify a given solution item twice, output is based + upon the last specification. Therefore, issue multiple OUTRES commands + carefully and in the proper sequence. - """ - command = "DL, %s, %s, %s, %s, %s" % (str(line), str(area), str(lab), str(value1), str(value2)) - self.RunCommand(command, **kwargs) + Besides OUTRES, another output-control command named OUTPR exists which + controls solution printout. You can issue up to 50 output-control + commands (either OUTRES or OUTPR, or some combination of both) in an + analysis. - def Vitrp(self, parr="", part="", pari="", parj="", park="", **kwargs): - """ - APDL Command: *VITRP + Issuing OUTRES,ERASE erases the existing output specifications and + resets the counted number of OUTRES commands to zero. Issuing + OUTPR,ERASE affects the OUTPR command in the same way. - Forms an array parameter by interpolation of a table. + A given OUTRES command has no effect on results items not specified. + For example, an OUTRES,ESOL,LAST command does not affect NSOL data; + that is, it neither activates nor suppresses NSOL data storage in any + substep. - Parameters - ---------- - parr - The name of the resulting array parameter. See *SET for name - restrictions. + Additional results in the Jobname.DSUB file (DSUBres = ALL) can only be + requested in the first load step. - part - The name of the TABLE array parameter. The parameter must exist as - a dimensioned array of type TABLE [*DIM]. + Important:: : In the results-item hierarchy, certain items are subsets + of other items. For example, element solution (ESOL) data is a subset + of all (ALL) solution data. An OUTRES,ALL command can therefore affect + ESOL data. Likewise, an OUTRES command that controls ESOL data can + affect a portion of all data. - pari - Array parameter vector of I (row) index values for interpolation in - ParT. + The example OUTRES commands illustrate the interrelationships between + results items and the necessity of issuing the OUTRES command + thoughtfully. - parj - Array parameter vector of J (column) index values for interpolation - in ParT (which must be at least 2-D). + To suppress all data at every substep, issue an OUTRES,ALL,NONE + command. (An OUTRES,ERASE command does not suppress all data at every + substep.) - park - Array parameter vector of K (depth) index values for interpolation - in ParT (which must be 3-D). + The NSOL, RSOL, V, and A solution items are associated with nodes. All + remaining solution items are associated with elements. - Notes - ----- - Forms an array parameter (of type ARRAY) by interpolating values of an - array parameter (of type TABLE) at specified table index locations - according to: + The boundary conditions (constraints and force loads) are written to + the results file only if either nodal or reaction loads (NLOAD or RSOL + items) are also written. - ParR = f(ParT, Parl, ParJ, ParK) + When specifying a Freq value, observe the following: - where ParT is the type TABLE array parameter, and ParI, ParJ, ParK are - the type ARRAY array parameter vectors of index values for - interpolation in ParT. See the *DIM command for TABLE and ARRAY - declaration types. Linear interpolation is used. The starting array - element number for the TABLE array (ParT) is not used (but a value must - be input). Starting array element numbers must be defined for each - array parameter vector if it does not start at the first location. For - example, *VITRP,R(5),TAB(1,1),X(2),Y(4) uses the second element of X - and the fourth element of Y as index values (row and column) for a 2-D - interpolation in TAB and stores the result in the fifth element of R. - Operations continue on successive array elements [*VLEN, *VMASK] with - the default being all successive elements. Absolute values and scale - factors may be applied to the result parameter [*VABS, *VFACT]. - Results may be cumulative [*VCUM]. See the *VOPER command for details. + For a modal analysis, the only valid values are NONE or ALL. - This command is valid in any processor. + If you issue multiple OUTRES commands during an analysis, you cannot + specify a key time array parameter (%array%) in a given OUTRES command + and then specify a different Freq option in a subsequent OUTRES + command. + + For a coupled-field analysis using the ANSYS Multi-field Solver, Freq + cannot be NONE for Item = NSOL or ESOL because interface loads have to + be retrieved from the database. + + The OUTRES command is also valid in /PREP7. """ - command = "*VITRP, %s, %s, %s, %s, %s" % (str(parr), str(part), str(pari), str(parj), str(park)) + command = "OUTRES,%s,%s,%s,%s,%s" % (str(item), str(freq), str(cname), str(nsvar), str(dsubres)) self.RunCommand(command, **kwargs) - def Rmclist(self, **kwargs): + def Rmflvec(self, **kwargs): """ - APDL Command: RMCLIST + APDL Command: RMFLVEC - Lists all lumped capacitance pairs defined. + Writes eigenvectors of fluid nodes to a file for use in damping + parameter extraction. Notes ----- + RMFLVEC extracts the modal information from the modal results file for + all nodes specified in a node component called 'FLUN'. This component + should include all nodes which are located at the fluid-structural + interface. Mode shapes, element normal orientation, and a scaling + factor are computed and stored in a file Jobname.EFL. For damping + parameter extraction, use the DMPEXT command macro. See Introduction + for more information on thin film analyses. + + FLUID136 and FLUID138 are used to model the fluid interface. Both the + structural and fluid element types must be active. The fluid interface + nodes must be grouped into a component 'FLUN'. A results file of the + last modal analysis must be available. + Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "RMCLIST, " % () + command = "RMFLVEC," % () self.RunCommand(command, **kwargs) - def Dsym(self, lab="", normal="", kcn="", **kwargs): + def Emodif(self, iel="", stloc="", i1="", i2="", i3="", i4="", i5="", + i6="", i7="", i8="", **kwargs): """ - APDL Command: DSYM + APDL Command: EMODIF - Specifies symmetry or antisymmetry degree-of-freedom constraints on - nodes. + Modifies a previously defined element. 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. + iel + Modify nodes and/or attributes for element number IEL. If ALL, + modify all selected elements [ESEL]. If IEL = 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 IEL. - Z - Surface is normal to coordinate Z direction.  Φ direction for spherical or - toroidal coordinate systems. + stloc + Starting location (n) of first node to be modified or the attribute + label. - kcn - Reference number of global or local coordinate system used to - define surface orientation. + i1, i2, i3, . . . , i8 + Replace the previous node numbers assigned to this element with + these corresponding values. A (blank) retains the previous value + (except in the I1 field, which resets the STLOC node number to + zero). 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). + The nodes and/or attributes (MAT, TYPE, REAL, ESYS, and SECNUM values) + of an existing element may be changed with this command. """ - command = "DSYM, %s, %s, %s" % (str(lab), str(normal), str(kcn)) + command = "EMODIF,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(iel), str(stloc), str(i1), str(i2), str(i3), str(i4), str(i5), str(i6), str(i7), str(i8)) self.RunCommand(command, **kwargs) - def Nsubst(self, nsbstp="", nsbmx="", nsbmn="", carry="", **kwargs): + def Lsbv(self, nl="", nv="", sepo="", keepl="", keepv="", **kwargs): """ - APDL Command: NSUBST + APDL Command: LSBV - Specifies the number of substeps to be taken this load step. + Subtracts volumes from lines. Parameters ---------- - nsbstp - Number of substeps to be used for this load step (i.e., the time - step size or frequency increment). If automatic time stepping is - used (AUTOTS), NSBSTP defines the size of the first substep. + nl + Line (or lines, if picking is used) to be subtracted from. If ALL, + use all selected lines. If NL = 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 NL. - nsbmx - Maximum number of substeps to be taken (i.e., the minimum time step - size) if automatic time stepping is used. The program automatically - determines the default based on the physics of the model. + nv + Volume (or volumes, if picking is used) to be subtracted. If ALL, + use all selected volumes. A component name may also be substituted + for NV. - nsbmn - Minimum number of substeps to be taken (i.e., the maximum time step - size) if automatic time stepping is used. The program automatically - determines the default based on the physics of the model. + sepo + Behavior if the intersection of the NL lines and the NV volumes is + a keypoint or keypoints: - carry - Time step carryover key (program-determined default depending on - the problem physics): + (blank) - The resulting lines will share keypoint(s) where they touch. - OFF - Use NSBSTP to define time step at start of each load step. + SEPO - The resulting lines will have separate, but coincident keypoint(s) where they + touch. - ON - Use final time step from previous load step as the starting time step (if - automatic time stepping is used). + keepl + Specifies whether NL lines are to be deleted: - Notes - ----- - See DELTIM for an alternative input. It is recommended that all fields - of this command be specified for solution efficiency and robustness. + (blank) - Use the setting of KEEP on the BOPTN command. - When the arc-length method is active (ARCLEN command), the NSBMX and - NSBMN arguments are ignored. + DELETE - Delete NL lines after LSBV operation (override BOPTN command settings). - This command is also valid in PREP7. + KEEP - Keep NL lines after LSBV operation (override BOPTN command settings). + + keepv + Specifies whether NV volumes are to be deleted: + + (blank) - Use the setting of KEEP on the BOPTN command. + + DELETE - Delete NV volumes after LSBV operation (override BOPTN command settings). + + KEEP - Keep NV volumes after LSBV operation (override BOPTN command settings). + + Notes + ----- + Generates new lines by subtracting the regions common to both NL lines + and NV volumes (the intersection) from the NL lines. The intersection + can be a line(s) or point(s). If the intersection is a point and SEPO + is blank, the NL1 line is divided at the point and the resulting lines + will be connected, sharing a common keypoint where they touch. If SEPO + is set to SEPO, NL1 is divided into two unconnected lines with separate + keypoints where they touch. See the Modeling and Meshing Guide for an + illustration. See the BOPTN command for an explanation of the options + available to Boolean operations. Element attributes and solid model + boundary conditions assigned to the original entities will not be + transferred to the new entities generated. LSBL,ALL,ALL will have no + effect since all the lines (in NL1) will be unavailable as NL2 lines. """ - command = "NSUBST, %s, %s, %s, %s" % (str(nsbstp), str(nsbmx), str(nsbmn), str(carry)) + command = "LSBV,%s,%s,%s,%s,%s" % (str(nl), str(nv), str(sepo), str(keepl), str(keepv)) self.RunCommand(command, **kwargs) - def Format(self, ndigit="", ftype="", nwidth="", dsignf="", line="", - char="", **kwargs): + def Prnear(self, lab="", opt="", kcn="", val1="", val2="", val3="", + val4="", val5="", val6="", val7="", val8="", val9="", **kwargs): """ - APDL Command: /FORMAT + APDL Command: PRNEAR - Specifies format controls for tables. + Prints the pressure in the near zone exterior to the equivalent source + surface. Parameters ---------- - ndigit - Number of digits (3 to 32) in first table column (usually the node - or element number). Initially defaults to 7. - - ftype - FORTRAN format types (initially defaults to G): + lab + Print the maximum pressure or sound pressure level: - G - Gxx.yy. xx and yy are described below. + POINT - at the point (x,y,z) - F - Fxx.yy + SPHERE - on the spherical structure - E - Exx.yy + PATH - along the path - nwidth - Total width (9 to 32) of the field (the xx in Ftype). Initially - defaults to 12. + opt + PSUM - dsignf - Number of digits after the decimal point (yy in F or E format) or - number of significant digits in G format. Range is 2 to xx-7 for - Ftype = G or E; and 0 to xx-4 for Ftype = F. Initially defaults to - 5. + PSUM - Maximum complex pressure for acoustics. - line - Number of lines (11 minimum) per page. Defaults to ILINE or BLINE - from the /PAGE command. + PHAS - Phase angle of complex pressure for acoustics. - char - Number of characters (41 to 240, system-dependent) per line before - wraparound. Defaults to ICHAR or BCHAR from the /PAGE command. + SPL - Sound pressure level for acoustics. - Notes - ----- - Specifies various format controls for tables printed with the POST1 - PRNSOL, PRESOL, PRETAB, PRRSOL, PRPATH, and CYCCALC commands. A blank - (or out-of-range) field on the command retains the current setting. - Issue /FORMAT,STAT to display the current settings. Issue /FORMAT,DEFA - to reestablish the initial default specifications. + SPLA - A-weighted sound pressure level for acoustics (dBA). - For the POST26 PRVAR command, the Ftype, NWIDTH, and DSIGNF fields - control the time output format. + kcn + KCN is the coordinate system reference number. It may be 0 + (Cartesian) or any previously defined local coordinate system + number (>10). Defaults to 0. - This command is valid in any processor. + val1, val2, val3, . . . , val9 + For Lab = POINT: - """ - command = "/FORMAT, %s, %s, %s, %s, %s, %s" % (str(ndigit), str(ftype), str(nwidth), str(dsignf), str(line), str(char)) - self.RunCommand(command, **kwargs) + VAL1 - x coordinate value - def Bfdele(self, node="", lab="", **kwargs): - """ - APDL Command: BFDELE + VAL2 - y coordinate value - Deletes nodal body force loads. + VAL3 - z coordinate value - Parameters - ---------- - node - Node at which body load is to be deleted. If ALL, delete for 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. + VAL4 - VAL8 - not used - lab - Valid body load label. If ALL, use all appropriate labels. See the - BF command for labels. In an explicit dynamic analysis, the only - valid body load label is TEMP. + VAL9 - Thickness of model in z direction (defaults to 0). Notes ----- - Deletes nodal body force loads for a specified node and label. Nodal - body loads may be defined with the BF command (except in an explicit - dynamic analysis). + The command uses the equivalent source principle to calculate the + pressure in the near zone exterior to the equivalent source surface + (flagged with the Maxwell surface flag in the preprocessor) for one of + the following locations: - The command BFDELE,TEMP can be used in an explicit dynamic analysis to - delete temperature loads that are read in by the LDREAD command. BFDELE - cannot be used to delete temperature loads defined by the EDLOAD - command (use EDLOAD,DELE to delete this type of load). + A point X, Y, Z in the KCN coordinate system - This command is also valid in PREP7. + A spherical surface in the KCN coordinate system + + A path defined by the PATH and PPATH commands + + To list the pressure results for a path, use the PRPATH command. See + HFSYM command for the model symmetry. + + To retrieve saved equivalent source data, issue the + SET,Lstep,Sbstep,,REAL command. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "BFDELE, %s, %s" % (str(node), str(lab)) + command = "PRNEAR,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(lab), str(opt), str(kcn), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9)) self.RunCommand(command, **kwargs) - def Slashclog(self, fname="", ext="", **kwargs): + def Pscr(self, kywrd="", key="", **kwargs): """ - APDL Command: /CLOG + APDL Command: PSCR - Copies the session log file to a named file. + Specifies various PostScript options. Parameters ---------- - fname - File name and directory path to which the log file is to be copied - (248 characters maximum, including directory). If you do not - specify a directory path, it will default to your working directory - and you can use all 248 characters for the file name. + index + Color map index (0 to 15, 128 to 255). - ext - Filename extension (eight-character maximum). + ired + Red intensity (0 to 100). - -- - Unused field. + igrn + Green intensity (0 to 100). + + iblu + Blue intensity (0 to 100). Notes ----- - This command is valid in any processor, but only during an interactive - run. + This command is available in both the ANSYS and DISPLAY programs. It + is valid for postscript format files chosen in ANSYS with the + /SHOW,PSCR command, or in DISPLAY with /SHOWDISP,POSTSCRIPT. + + An output file is generated for each plot. The ANSYS file is named + JobnameNN.pscr. In the DISPLAY program, this file is named PSCRnn. + This file remains open for a subsequent /NOERASE plot, and will be + incomplete until the program is closed (/EXIT), or until the next file + is opened by the next /ERASE plot request. + + Issuing PSCR,STAT will list paper size, orientation and resolution + modes. """ - command = "/CLOG, %s, %s" % (str(fname), str(ext)) + command = "PSCR,%s,%s" % (str(kywrd), str(key)) self.RunCommand(command, **kwargs) - def Icdele(self, **kwargs): + def Dmprat(self, ratio="", **kwargs): """ - APDL Command: ICDELE + APDL Command: DMPRAT - Deletes initial conditions at nodes. + Sets a constant modal damping ratio. + + Parameters + ---------- + ratio + Modal damping ratio (for example, 2% is input as 0.02). Notes ----- - Deletes all initial conditions previously specified with the IC command - at all nodes. + Sets a constant damping ratio for use in the mode-superposition + transient (ANTYPE,TRANS) or harmonic (ANTYPE,HARMIC) analysis and the + spectrum (ANTYPE,SPECTR) analysis. This command is also valid in PREP7. """ - command = "ICDELE, " % () + command = "DMPRAT,%s" % (str(ratio)) self.RunCommand(command, **kwargs) - def Edhgls(self, hgco="", **kwargs): + def Mfrstart(self, time="", **kwargs): """ - APDL Command: EDHGLS + APDL Command: MFRSTART - Specifies the hourglass coefficient for an explicit dynamics analysis. + Specifies restart status for an ANSYS Multi-field solver analysis. Parameters ---------- - hgco - Hourglass coefficient value (defaults to 0.1). Values greater than - 0.15 may cause instabilities. + time + Restart time - Notes + 0  - New analysis (Default) + + -1  - Restart from the last result set from a previous run. + + n  - Specify any positive number for the actual time point from which the ANSYS + Multi-field solver will restart. ANSYS checks the availability + of the result set and database file. + + Notes ----- - This command is also valid in PREP7. + For MFX analyses, ANSYS always passes an actual time value to CFX (zero + for a new analysis or a positive value for a restart run) and CFX + verifies the consistency with the initial results file. For more + details about ANSYS restart capabilities, please see Restarting an + Analysis in the Basic Analysis Guide. + + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "EDHGLS, %s" % (str(hgco)) + command = "MFRSTART,%s" % (str(time)) self.RunCommand(command, **kwargs) - def Pdwrite(self, file="", fnam="", lnam="", **kwargs): + def Pstatus(self, wn="", **kwargs): """ - APDL Command: PDWRITE + APDL Command: /PSTATUS - Generates an HTML report for the probabilistic analyses. + Displays the global or window display specifications. Parameters ---------- - file - File name and directory path (248 characters maximum, including - directory) from which to read the report. If you do not specify a - directory path, it will default to your working directory and you - can use all 248 characters for the file name. - - fnam - First name of the author of the report (32 characters maximum). - This first name must not include blanks. - - lnam - Last name of the author of the report (32 characters maximum). This - last name must not include blanks. + wn + Window number for status (defaults to global specifications). Notes ----- - Generates an HTML report for the probabilistic analysis. An HTML report - includes a description of the deterministic model, the probabilistic - model, the probabilistic methods used for the analyses and the results - obtained from the analyses. + Displays the current global or window display specifications. Global + display specifications are common to all windows (e.g. /SHOW, etc.). + Window display specifications are specific to one window (e.g. /VIEW, + /TYPE, etc.). + + This command is valid in any processor. """ - command = "PDWRITE, %s, %s, %s" % (str(file), str(fnam), str(lnam)) + command = "/PSTATUS,%s" % (str(wn)) self.RunCommand(command, **kwargs) - def Sort(self, **kwargs): + def Vitrp(self, parr="", part="", pari="", parj="", park="", **kwargs): """ - APDL Command: SORT + APDL Command: *VITRP - Specifies "Sort settings" as the subsequent status topic. + Forms an array parameter by interpolation of a table. + + Parameters + ---------- + parr + The name of the resulting array parameter. See *SET for name + restrictions. + + part + The name of the TABLE array parameter. The parameter must exist as + a dimensioned array of type TABLE [*DIM]. + + pari + Array parameter vector of I (row) index values for interpolation in + ParT. + + parj + Array parameter vector of J (column) index values for interpolation + in ParT (which must be at least 2-D). + + park + Array parameter vector of K (depth) index values for interpolation + in ParT (which must be 3-D). Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Forms an array parameter (of type ARRAY) by interpolating values of an + array parameter (of type TABLE) at specified table index locations + according to: - If entered directly into the program, the STAT command should - immediately follow this command. + ParR = f(ParT, Parl, ParJ, ParK) + + where ParT is the type TABLE array parameter, and ParI, ParJ, ParK are + the type ARRAY array parameter vectors of index values for + interpolation in ParT. See the *DIM command for TABLE and ARRAY + declaration types. Linear interpolation is used. The starting array + element number for the TABLE array (ParT) is not used (but a value must + be input). Starting array element numbers must be defined for each + array parameter vector if it does not start at the first location. For + example, *VITRP,R(5),TAB(1,1),X(2),Y(4) uses the second element of X + and the fourth element of Y as index values (row and column) for a 2-D + interpolation in TAB and stores the result in the fifth element of R. + Operations continue on successive array elements [*VLEN, *VMASK] with + the default being all successive elements. Absolute values and scale + factors may be applied to the result parameter [*VABS, *VFACT]. + Results may be cumulative [*VCUM]. See the *VOPER command for details. + + This command is valid in any processor. """ - command = "SORT, " % () + command = "*VITRP,%s,%s,%s,%s,%s" % (str(parr), str(part), str(pari), str(parj), str(park)) self.RunCommand(command, **kwargs) - def Tbmodif(self, row="", col="", value="", **kwargs): + def Fvmesh(self, keep="", **kwargs): """ - APDL Command: TBMODIF + APDL Command: FVMESH - Modifies data for the material data table (GUI). + Generates nodes and tetrahedral volume elements from detached exterior + area elements (facets). Parameters ---------- - row, col - The row and column numbers of the table entry to be modified. + keep + Specifies whether to keep the area elements after the tetrahedral + meshing operation is complete. - value - The new value to be used in the ROW, COL location. + 0 - Delete area elements (default). + + 1 - Keep area elements. Notes ----- - The TBMODIF command modifies data for the table specified on the last - TB command. - - For temperature-dependent data, the temperature specified on the last - TBTEMP command is used. - - TBMODIF is a command generated by the Graphical User Interface (GUI). - It appears in the log file (Jobname.LOG) if a TB material data table is - graphically edited in spreadsheet fashion. - - The TBMODIF command is not intended to be typed in directly during an - analysis session (although it can be included in an input file for - batch input or for use with the /INPUT command). + The FVMESH command generates a tetrahedral volume mesh from a selected + set of detached exterior area elements (facets). (Detached elements + have no solid model associativity.) The area elements can be + triangular-shaped, quadrilateral-shaped, or a mixture of the two. - This command is also valid in SOLUTION. + The FVMESH command is in contrast to the VMESH command, which requires + a volume to be input. - """ - command = "TBMODIF, %s, %s, %s" % (str(row), str(col), str(value)) - self.RunCommand(command, **kwargs) + The main tetrahedra mesher [MOPT,VMESH,MAIN] is the only tetrahedra + mesher that supports the FVMESH command. The alternate tetrahedra + mesher [MOPT,VMESH,ALTERNATE] does not support FVMESH. MESH200 elements + do not support FVMESH. - def Datadef(self, **kwargs): - """ - APDL Command: DATADEF + Tetrahedral mesh expansion [MOPT,TETEXPND,Value] is supported for both + the FVMESH and VMESH commands. Tet-mesh expansion is the only mesh + control supported by FVMESH. - Specifies "Directly defined data status" as the subsequent status - topic. + Triangle- or quadrilateral-shaped elements may be used as input to the + FVMESH command. Where quadrilaterals are used, the default behavior is + for the pyramid-shaped elements to be formed at the boundary when the + appropriate element type is specified. See the MOPT,PYRA command for + details. - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + The FVMESH command does not support multiple "volumes." If you have + multiple volumes in your model, select the surface elements for one + "volume," while making sure that the surface elements for the other + volumes are deselected. Then use FVMESH to generate a mesh for the + first volume. Continue this procedure by selecting one volume at a + time and meshing it, until all of the volumes in the model have been + meshed. - If entered directly into the program, the STAT command should - immediately follow this command. + If an error occurs during the meshing operation, the area elements are + kept even if KEEP = 0. """ - command = "DATADEF, " % () + command = "FVMESH,%s" % (str(keep)) self.RunCommand(command, **kwargs) - def Lcsel(self, type="", lcmin="", lcmax="", lcinc="", **kwargs): + def Bsax(self, val1="", val2="", t="", **kwargs): """ - APDL Command: LCSEL + APDL Command: BSAX - Selects a subset of load cases. + Specifies the axial strain and axial force relationship for beam + sections. Parameters ---------- - type - Label identifying the type of select: + val1 + Axial strain component (ε). - S - Select a new set. + val2 + Axial force component (N). - R - Reselect a set from the current set. + t + Temperature. - A - Additionally select a set and extend the current set. + Notes + ----- + The behavior of beam elements is governed by the generalized- + stress/generalized-strain relationship of the form: - U - Unselect a set from the current set. + The BSAX command, one of several nonlinear general beam section + commands, specifies the relationship of axial strain and axial force + for a beam section. The section data defined is associated with the + section most recently defined (via the SECTYPE command). - ALL - Restore the full set. + Unspecified values default to zero. - NONE - Unselect the full set. + Related commands are BSM1, BSM2, BSTQ, BSS1, BSS2, BSMD, and BSTE. - INVE - Invert the current set (selected becomes unselected and vice versa). + For complete information, see Using Nonlinear General Beam Sections. - STAT - Display the current select status. + """ + command = "BSAX,%s,%s,%s" % (str(val1), str(val2), str(t)) + self.RunCommand(command, **kwargs) - lcmin - Minimum value of load case pointer range. + def Psdwav(self, tblno="", vx="", vy="", vz="", **kwargs): + """ + APDL Command: PSDWAV - lcmax - Maximum value of load case pointer range. LCMAX defaults to LCMIN. + Defines a wave propagation excitation in a PSD analysis. - lcinc - Value increment within range. Defaults to 1. LCINC cannot be - negative. + Parameters + ---------- + tblno + Input PSD table number defined with PSDVAL command. + + vx + Global Cartesian X-velocity of traveling wave. + + vy + Global Cartesian Y-velocity of traveling wave. + + vz + Global Cartesian Z-velocity of traveling wave. Notes ----- - Selects a subset of load cases for other operations. For example, to - select a new set of load cases based on load cases 1 through 7, use - LCSEL,S,1,7. The subset is used when the ALL label is entered (or - implied) on other commands, such as LCFACT, LCABS, LCOPER, etc. Load - cases are flagged as selected and unselected; no load case pointers - [LCDEF, LCWRITE, LCFILE] are actually deleted from the database. + Defines a traveling wave in a PSD analysis. This command is not + available for a pressure PSD analysis. + + This command is also valid in PREP7. """ - command = "LCSEL, %s, %s, %s, %s" % (str(type), str(lcmin), str(lcmax), str(lcinc)) + command = "PSDWAV,%s,%s,%s,%s" % (str(tblno), str(vx), str(vy), str(vz)) self.RunCommand(command, **kwargs) - def Nlhist(self, key="", name="", item="", comp="", node="", elem="", - shell="", layer="", stop_value="", stop_cond="", **kwargs): + def Awave(self, wavenum="", wavetype="", opt1="", opt2="", val1="", + val2="", val3="", val4="", val5="", val6="", val7="", val8="", + val9="", val10="", val11="", val12="", val13="", **kwargs): """ - APDL Command: NLHIST + APDL Command: AWAVE - Specify result items to track during solution. + Specifies input data for an acoustic incident wave. Parameters ---------- - key - Specifies the command operation: - - NSOL - Nodal solution data. - - ESOL - Element nodal data. + wavenum + Wave number. You specify the integer number for an acoustic + incident wave inside or outside the model. The number must be + between 1 and 20. - PAIR - Contact data (for pair-based contact). + wavetype + Wave type: - GCN - Contact data (for general contact). + PLAN - Planar incident wave - STAT - Displays a list of items to track. + MONO - Monopole or pulsating sphere incident wave - OFF or 0 - Deactivates tracking of all variables. This value is the default. + DIPO - Dipole incident wave - ON or 1 - Activates tracking of all variables. Tracking also activates whenever any - specification changes. + BACK - Back enclosed loudspeaker - DEL - Removes the specified variable from the set of result items to track. If Name = - ALL (default), all specifications are removed. + BARE - Bare loudspeaker - name - The 32-character user-specified name. + STATUS - Displays the status of the acoustic wave settings if Wavenum = a number between + 1 and 20 or ALL. - item, comp - Predetermined output item and component label for valid elements. - See the Element Reference for more information. + DELE - Deletes the acoustic wave settings if Wavenum = a number between 1 and 20 or + ALL. - node - Number identifying one of the following: + opt1 + PRES - elem - Valid element number for element results. Used for ESOL items. If - ELEM is specified, then a node number that belongs to the element - must also be specified in the NODE field. + PRES - Pressure - shell - Valid labels are TOP, MID or BOT. This field can specify the - location on shell elements for which to retrieve data. Used only - for element nodal data (ESOL). + VELO - Velocity - layer - Layer number (for layered elements only). Used only for element - nodal data (ESOL). + opt2 + EXT - stop_value - Critical value of the tracked variable. This value is used to - determine if the analysis should be terminated. This field is only - valid for contact data (Key = PAIR or GCN). + EXT - Incident wave outside the model. - stop_cond - Specifies the conditional relationship between the variable being - tracked and the STOP_VALUE upon which the analysis will be - terminated: + INT - Incident wave inside the model. This option is only available for pure + scattered pressure formulation. - -1 - Terminate the analysis when the tracked variable is less than or equal to - STOP_VALUE. + val1, val2, val3, . . . , val13 + If Wavetype = PLAN, MONO, DIPO, BACK, or BARE: - 0 - Terminate the analysis when the tracked variable equals STOP_VALUE. + VAL1 - Amplitude of pressure or normal velocity to the sphere surface. - 1 - Terminate the analysis when the tracked variable is greater than or equal to - STOP_VALUE. + VAL2 - Phase angle of the applied pressure or velocity (in degrees). Defaults to 0 + degrees. Notes ----- - The NLHIST command is a nonlinear diagnostics tool that enables you to - monitor diagnostics results of interest in real time during a solution. + Use the ASOL command to activate the scattered field algorithm and the + ASCRES command for output control with the scattered field algorithm. + Refer to Acoustics in the Mechanical APDL Theory Reference for more + information about pure scattered field formulation. - You can track a maximum of 50 variables during solution. The specified - result quantities are written to the file Jobname.nlh. Nodal results - and contact results are written for every converged substep - (irrespective of the OUTRES command setting) while element results are - written only at time points specified via the OUTRES command. For time - points where element results data is not available, a very small number - is written instead. If the conditions for contact to be established are - not satisfied, 0.0 will be written for contact results. + """ + command = "AWAVE,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(wavenum), str(wavetype), str(opt1), str(opt2), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9), str(val10), str(val11), str(val12), str(val13)) + self.RunCommand(command, **kwargs) - Results tracking is available only for a nonlinear structural analysis - (static or transient), a nonlinear steady-state thermal analysis, or a - transient thermal analysis (linear or nonlinear). All results are - tracked in the Solution Coordinate System (that is, nodal results are - in the nodal coordinate system and element results are in the element - coordinate system). + def Nooffset(self, label="", **kwargs): + """ + APDL Command: NOOFFSET - Contact results can be tracked for elements CONTA171 through CONTA177; - they cannot be tracked for CONTA178. + Prevents the CDREAD command from offsetting specified data items - When contact results are tracked (Key = PAIR or GCN), the user- - specified name (Name argument) is used to create a user-defined - parameter. This enables you to monitor the parameter during solution. - As an example, you can use a named parameter to easily convert the - contact stiffness units from FORCE/LENGTH3 to FORCE/LENGTH based on the - initial contact area CAREA. Be sure to specify Name using the APDL - parameter naming convention. + Parameters + ---------- + label + Specifies items not to be offset. - The STOP_VALUE and STOP_COND arguments enable you to automatically - terminate the analysis when a desired value for a tracked contact - result has been reached. This capability is only available for contact - variables (Key = PAIR or GCN). + NODE - Node numbers - The Jobname.nlh file is an ASCII file that lists each time point at - which a converged solution occurs along with the values of the relevant - result quantities. + ELEM - Element numbers - The GUI option Solution> Results tracking provides an interface to - define the result items to be tracked. The GUI also allows you to graph - one or more variables against time or against other variables during - solution. You can use the interface to graph or list variables from any - .nlh file generated by the ANSYS program. + KP - Keypoint numbers - You can also track results during batch runs. Either access the ANSYS - Launcher and select File Tracking from the Tools menu, or type - nlhist162 at the command line. Use the supplied file browser to - navigate to your Jobname.nlh file, and click on it to invoke the - tracking utility. You can use this utility to read the file at any - time, even after the solution is complete (the data in the file must be - formatted correctly). + LINE - Line numbers - Table: 205:: : NLHIST - Valid NSOL Item and Component Labels + AREA - Area numbers - For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the - labels TBOT, TE2, TE3, . . ., TTOP instead of TEMP. + VOLU - Volume numbers - For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the - labels HBOT, HE2, HE3, . . ., HTOP instead of HEAT. + MAT - Material numbers - Table: 206:: : NLHIST - Valid ESOL Item and Component Labels + TYPE - Element type numbers - ETABLE items are not supported for ESOL items. + REAL - Real constant numbers - PAIR solution quantities are output on a "per contact pair" basis. GCN - solution quantities are output on a “per general contact section” - basis. As a consequence, the corresponding values listed in the - Jobname.nlh file represent a minimum or a maximum over the associated - contact pair or general contact surface, as detailed in the table - below. + CSYS - Coordinate system numbers - Table: 207:: : NLHIST - Valid Contact (PAIR or GCN) Item and Component - Labels + SECN - Section numbers - For PENE, a positive value indicates a penetration, and a negative - value indicates a gap. If the contact pair (or GCN surface) has a far- - field contact status, penetration and gap are not available, and the - value stored for PENE is the current pinball radius. + CP - Coupled set numbers + + CE - Constraint equation numbers + + CLEAR - All items will be offset + + STATUS - Shows which items are specified notto be offset. + + Notes + ----- + The NOOFFSET command specifies data items not to be offset by a set of + data read from a CDREAD command. """ - command = "NLHIST, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(key), str(name), str(item), str(comp), str(node), str(elem), str(shell), str(layer), str(stop_value), str(stop_cond)) + command = "NOOFFSET,%s" % (str(label)) self.RunCommand(command, **kwargs) - def Edcgen(self, option="", cont="", targ="", fs="", fd="", dc="", vc="", - vdc="", v1="", v2="", v3="", v4="", btime="", dtime="", - boxid1="", boxid2="", **kwargs): + def Rigid(self, dof1="", dof2="", dof3="", dof4="", dof5="", dof6="", + **kwargs): """ - APDL Command: EDCGEN + APDL Command: RIGID - Specifies contact parameters for an explicit dynamics analysis. + Specifies known rigid body modes (if any) of the model. Parameters ---------- - option - Label identifying the contact behavior (dictates the meaning of V1 - through V4). + dof1, dof2, dof3, . . . , dof6 + Up to six global Cartesian directions of the rigid modes. For a + completely free 2-D model, use ALL or UX, UY, ROTZ. For a + completely free 3-D model, use ALL or UX, UY, UZ, ROTX, ROTY, ROTZ. + For a constrained model, use UX, UY, UZ, ROTX, ROTY, or ROTZ, as + appropriate, to specify each and every unconstrained direction + which exists in the model (not specifying every direction may cause + difficulties in extracting the modes). - AG - Automatic general contact. + Notes + ----- + Specifies known rigid body modes (if any) of the model. This command + applies only to a component mode synthesis (CMS) analysis (see the + CMSOPT command). Any rigid body modes specified must be permitted by + the applied displacement constraints (i.e., do not specify a rigid body + mode in a constrained direction). Reissue the command to redefine the + specification. If used in SOLUTION, this command is valid only within + the first load step. - ANTS - Automatic nodes-to-surface contact. + This command is also valid in PREP7. - ASSC - Automatic single surface contact. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - ASS2D - Automatic 2-D single surface contact. + """ + command = "RIGID,%s,%s,%s,%s,%s,%s" % (str(dof1), str(dof2), str(dof3), str(dof4), str(dof5), str(dof6)) + self.RunCommand(command, **kwargs) - ASTS - Automatic surface-to-surface contact. + def Cutcontrol(self, lab="", value="", option="", **kwargs): + """ + APDL Command: CUTCONTROL - DRAWBEAD - Drawbead contact + Controls time-step cutback during a nonlinear solution. - ENTS - Eroding nodes-to-surface contact. + Parameters + ---------- + lab + Specifies the criteria for causing a cutback. Valid labels are: - ESS - Eroding single surface contact. + PLSLIMIT  - Maximum equivalent plastic strain allowed within a time-step (substep). If the + calculated value exceeds the VALUE, the program + performs a cutback (bisection). VALUE defaults to 0.15 + (15%). - ESTS - Eroding surface-to-surface contact. + CRPLIMIT  - Set values for calculating the maximum equivalent creep ratio allowed within a + time step. If the calculated maximum creep ratio + exceeds the defined creep ratio limit, the program + performs a cutback. - FNTS - Forming nodes-to-surface contact. + DSPLIMIT  - Maximum incremental displacement within the solution field in a time step + (substep). If the maximum calculated value exceeds + VALUE, the program performs a cutback (bisection). + VALUE defaults to 1.0 x 107. - FOSS - Forming one way surface-to-surface contact. + NPOINT  - Number of points in a cycle for a second order dynamic equation, used to + control automatic time stepping. If the number of + solution points per cycle is less than VALUE, the program + performs a cutback in time step size. VALUE defaults to + 13 for linear analysis, 5 for nonlinear analysis. A + larger number of points yields a more accurate solution + but also increases the solution run time. - FSTS - Forming surface-to-surface contact. + This option works well for linear problems. For nonlinear analyses, other factors such as contact status changes and solution convergence rate can overwrite NPOINT. See Automatic Time Stepping in the Mechanical APDL Theory Reference for more information on automatic time stepping. - NOITERPREDICT - NTS - Nodes-to-surface contact. + If VALUE is 0 (default), an internal auto time step scheme will predict the number of iterations for nonlinear convergence and perform a cutback earlier than the number of iterations specified by the NEQIT command. This is the recommended option. If VALUE is 1, the solution will iterate (if nonconvergent) to NEQIT number of iterations before a cutback is invoked. It is sometimes useful for poorly-convergent problems, but rarely needed in general. - Bisection is also controlled by contact status change, plasticity or creep + strain limit, and other factors. If any of these + factors occur, bisection will still take place, + regardless of the NOITERPREDICT setting. - OSTS - One way surface-to-surface contact. - - RNTR - Rigid nodes to rigid body contact. - - ROTR - Rigid body to rigid body (one way) contact. - - SE - Single edge contact. - - SS - Single surface contact. - - STS - Surface-to-surface contact. - - TDNS - Tied nodes-to-surface contact. - - TSES - Tied shell edge-to-surface contact. - - TDSS - Tied surface-to-surface contact. - - TNTS - Tiebreak nodes-to-surface contact - - TSTS - Tiebreak surface-to-surface contact. - - cont - Contact surface identified by a component name [CM] , a part ID - number [EDPART], or an assembly ID number [EDASMP]. If a component - name is input, the component must contain nodes that represent the - contact surface (assemblies are not valid for a component name). - Alternatively, a part number may be input that identifies a group - of elements as the contact surface, or an assembly number may be - input containing a maximum of 16 parts. The assembly ID number must - be greater than the highest number used for the part ID. Cont is - not required for automatic general contact, single edge contact, - and single surface contact options (Option = AG, SE, ASSC, ESS, and - SS). For automatic 2-D single surface contact (ASS2D), Cont must be - defined as a part assembly. For eroding node-to-surface contact - (ENTS), Cont must be defined as a nodal component. For eroding - single surface contact (ESS) and eroding surface-to-surface contact - (ESTS), Cont must be defined as a part ID or part assembly. - - targ - Target surface identified by a component name [CM] , a part ID - number [EDPART], or an assembly ID number [EDASMP]. If a component - name is input, the component must contain nodes that represent the - target surface (assemblies are not valid for a component name). - Alternatively, a part number may be input that identifies a group - of elements as the target surface, or an assembly number may be - input containing a maximum of 16 parts. The assembly ID number must - be greater than the highest number used for the part ID. Targ is - not defined for automatic general contact, single edge contact, - automatic single surface contact, eroding single surface contact, - single surface contact, and automatic 2-D single surface contact - options (Option = AG, SE, ASSC, ESS, SS, and ASS2D). For eroding - node-to-surface contact (ENTS) and eroding surface-to-surface - contact (ESTS), Targ must be defined as a part ID or part assembly. + CUTBACKFACTOR  - Changes the cutback value for bisection. Default is 0.5. VALUE must be greater + than 0.0 and less than 1.0. This option is active + only if AUTOTS,ON is set. - fs - Static friction coefficient (defaults to 0). + value + Numeric value for the specified cutback criterion. For Lab = + CRPLIMIT, VALUE is the creep criteria for the creep ratio limit. - fd - Dynamic friction coefficient (defaults to 0). + option + Type of creep analysis. Valid for Lab = CRPLIMIT only. - dc - Exponential decay coefficient (defaults to 0). + IMPRATIO  - Set the maximum creep ratio value for implicit creep. The default is 0.0 (i.e., + no creep limit control) and any positive value is + valid. (See Implicit Creep Procedure in the Structural + Analysis Guide for information on how to define + implicit creep.) - vc - Coefficient for viscous friction (defaults to 0). + EXPRATIO   - Set the maximum creep ratio value for explicit creep. The default value is 0.1 + and any positive value up to 0.25 is allowed. (See + Explicit Creep Procedure in the Structural Analysis + Guide for information on how to define explicit + creep.) - vdc - Viscous damping coefficient in percent of critical damping - (defaults to 0). + STSLIMIT   - Stress threshold for calculating the creep ratio. For integration points with + effective stress below this threshold, the creep ratio + does not cause cutback. The default value is 0.0 and + any positive value is valid. - v1, v2, v3, v4 - Additional input for drawbead, eroding, rigid, and tiebreak - contact. The meanings of V1-V4 will vary, depending on Option. See - the table below for V1-V4 definitions. + STNLIMIT   - Elastic strain threshold for calculating the creep ratio. For integration + points with effective elastic strain below this + threshold, the creep ratio does not cause cutback. The + default value is 0.0 and any positive value is valid. - V1 - Load curve ID giving the bending component of the restraining force per unit - draw bead length as a function of draw bead displacement. V1 - must be specified. + Notes + ----- + A cutback is a method for automatically reducing the step size when + either the solution error is too large or the solution encounters + convergence difficulties during a nonlinear analysis. - V2 - Load curve ID giving the normal force per unit draw bead length as a function - of draw bead displacement. V2 is optional. + Should a convergence failure occur, the program reduces the time step + interval to a fraction of its previous size and automatically continues + the solution from the last successfully converged time step. If the + reduced time step again fails to converge, the program again reduces + the time step size and proceeds with the solution. This process + continues until convergence is achieved or the minimum specified time + step value is reached. - V3 - Draw bead depth. + For creep analysis, the cutback procedure is similar; the process + continues until the minimum specified time step size is reached. + However, if the creep ratio limit is exceeded, the program issues a + warning but continues the substep until the analysis is complete. In + this case, convergence is achieved but the creep ratio criteria is not + satisfied. - V4 - Number of equally spaced integration points along the draw bead (default = 0, - in which case ANSYS LS-DYNA calculates this value based on the - size of the elements that interact with the draw bead). + The CRPLIM command is functionally equivalent to Lab = CRPLIMIT with + options IMPRATIO and EXPRATIO - btime - Birth time for which contact definition will become active - (defaults to 0.0). + """ + command = "CUTCONTROL,%s,%s,%s" % (str(lab), str(value), str(option)) + self.RunCommand(command, **kwargs) - dtime - Death time for which contact definition will become inactive - (defaults to 1e21). + def Vlist(self, nv1="", nv2="", ninc="", **kwargs): + """ + APDL Command: VLIST - boxid1 - Contact volume as defined using the EDBX command (valid only when - defining contact with parts or assemblies). + Lists the defined volumes. - boxid2 - Target volume as defined using the EDBX command (valid only when - defining contact with parts or assemblies). + Parameters + ---------- + nv1, nv2, ninc + List volumes from NV1 to NV2 (defaults to NV1) in steps of NINC + (defaults to 1). If NV1 = ALL (default), NV2 and NINC are ignored + and all selected volumes [VSEL] are listed. If NV1 = 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 NV1 (NV2 and NINC are ignored). Notes ----- - The frictional coefficient used for contact is determined from FS, FD, - and DC, and is assumed to be dependent on the relative velocity of the - surfaces in contact: - - µc = FD+(FS-FD) e-DC(vrel) - - The coefficient for viscous friction, VC, is necessary to limit the - friction force to a maximum. A limiting force is computed: - - Flim = VC(Acont) - - where Acont is the area of the segment contacted by the node in - contact. The suggested value for VC is to use the yield stress in - shear: + An attribute (TYPE, MAT, REAL, or ESYS) listed as a zero is unassigned; + one listed as a positive value indicates that the attribute was + assigned with the VATT command (and will not be reset to zero if the + mesh is cleared); one listed as a negative value indicates that the + attribute was assigned using the attribute pointer [TYPE, MAT, REAL, or + ESYS] that was active during meshing (and will be reset to zero if the + mesh is cleared). A "-1" in the "nodes" column indicates that the + volume has been meshed but there are no interior nodes. The volume + size is listed only if a VSUM command has been performed on the volume. + Volume orientation attributes (KZ1 and KZ2) are listed only if a + VEORIENT command was previously used to define an orientation for the + volume. + This command is valid in any processor. + """ + command = "VLIST,%s,%s,%s" % (str(nv1), str(nv2), str(ninc)) + self.RunCommand(command, **kwargs) - where σo is the yield stress of the contacted material. + def Cgloc(self, xloc="", yloc="", zloc="", **kwargs): + """ + APDL Command: CGLOC - If a part number is input for Cont or Targ, it must represent a valid - explicit dynamics part definition. For example, an elastic material for - explicit dynamics requires EX, NUXY, and DENS. If any part of the - material definition is missing for the part, the EDCGEN command will be - ignored. + Specifies the origin location of the acceleration coordinate system. - In addition to the contact parameters on this command, you can specify - penalty scale factors for the contact (slave) and target (master) - surfaces by using the EDCMORE command. + Parameters + ---------- + xloc, yloc, zloc + Global Cartesian X, Y, and Z coordinates of the acceleration + coordinate system origin. - Duplicate definitions of the same contact type on the same components - or parts will cause only one contact to be defined (previous - definitions will be ignored). Duplicate definitions of different - contact types on the same components or parts will cause multiple - contact types to be defined. + Notes + ----- + Specifies the origin location of the acceleration coordinate system + with respect to the global Cartesian system. The axes of this + acceleration coordinate system are parallel to the global Cartesian + axes. - Use the EDCLIST and EDDC commands to list and delete contact surface - specifications. Use the EDPC command to select and plot contact - entities. + A structure may be rotating about the global Cartesian origin [OMEGA, + DOMEGA], which may in turn be rotating about another point (the origin + of the acceleration coordinate system), introducing Coriolis effects. + The location of this point (relative to the global Cartesian origin) is + specified with this CGLOC command. For example, if Y is vertical and + the global system origin is at the surface of the earth while the + acceleration system origin is at the center of the earth, YLOC should + be -4000 miles (or equivalent) if the rotational effects of the earth + are to be included. The rotational velocity of the global Cartesian + system about this point is specified with the CGOMGA command, and the + rotational acceleration is specified with the DCGOMG command. - The EDCGEN command is not supported in an explicit dynamic full restart - analysis (EDSTART,3). Thus, you cannot add new contact specifications - in a full restart. You can use the EDCLIST command to list any contact - specifications that were defined in the previous analysis. + The rotational velocities and accelerations are mainly intended to + include mass effects in a static (ANTYPE,STATIC) analysis. If used in + dynamic analyses, no coupling exists between the user input terms and + the time history response of the structure. See Acceleration Effect in + the Mechanical APDL Theory Reference for details. Related commands are + ACEL, CGOMGA, DCGOMG, DOMEGA, and OMEGA. - EDCGEN is also valid in SOLUTION. + See Analysis Tools in the Mechanical APDL Theory Reference for more + information. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is also valid in PREP7. """ - command = "EDCGEN, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(cont), str(targ), str(fs), str(fd), str(dc), str(vc), str(vdc), str(v1), str(v2), str(v3), str(v4), str(btime), str(dtime), str(boxid1), str(boxid2)) + command = "CGLOC,%s,%s,%s" % (str(xloc), str(yloc), str(zloc)) self.RunCommand(command, **kwargs) - def Voffst(self, narea="", dist="", kinc="", **kwargs): + def Bflist(self, node="", lab="", **kwargs): """ - APDL Command: VOFFST + APDL Command: BFLIST - Generates a volume, offset from a given area. + Lists the body force loads on nodes. Parameters ---------- - narea - Area from which generated volume is to be offset. If NAREA = P, - graphical picking is enabled and all remaining command fields are - ignored (valid only in the GUI). - - dist - Distance normal to given area at which keypoints for generated - volume are to be located. Positive normal is determined from the - right-hand rule keypoint order. + node + Node at which body load is to be listed. If ALL (or blank), list + for 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. - kinc - Increment to be applied to the keypoint numbers between sets. If - zero, keypoint numbers will be automatically assigned beginning - with the lowest available value [NUMSTR]. + lab + Valid body load label. If ALL (or blank), use all appropriate + labels. See the BF command for labels. In an explicit dynamic + analysis, the only valid body load label is TEMP. Notes ----- - Generates a volume (and its corresponding keypoints, lines, and areas) - by offsetting from an area. The direction of the offset varies with - the given area normal. End slopes of the generated lines remain the - same as those of the given pattern. + Lists the body force loads for the specified node and label. Nodal + body loads may be defined with the BF command (except in an explicit + dynamic analysis). - If element attributes have been associated with the input area via the - AATT command, the opposite area generated by the VOFFST operation will - also have those attributes (i.e., the element attributes from the input - area are copied to the opposite area). Note that only the area - opposite the input area will have the same attributes as the input - area; the areas adjacent to the input area will not. + The command BFLIST,TEMP can be used in an explicit dynamic analysis to + list temperature loads that are read in by the LDREAD command. BFLIST + cannot be used to list temperature loads defined by the EDLOAD command + (use EDLOAD,LIST to list this type of load). - If the areas are meshed or belong to meshed volumes, a 3-D mesh can be - extruded with this command. Note that the NDIV argument on the ESIZE - command should be set before extruding the meshed areas. + This command is valid in any processor. """ - command = "VOFFST, %s, %s, %s" % (str(narea), str(dist), str(kinc)) + command = "BFLIST,%s,%s" % (str(node), str(lab)) self.RunCommand(command, **kwargs) - def Rcyc(self, ir="", ia="", sector="", name="", **kwargs): + def Elbow(self, transkey="", tol="", dof="", cons1="", cons2="", cons3="", + cons4="", **kwargs): """ - APDL Command: RCYC + APDL Command: ELBOW - Calculates cyclic results for a mode-superposition harmonic solution. + Specifies degrees of freedom to be coupled for end release and applies + section constraints to elbow elements. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previous - variable, the previous variable will be overwritten with this - result. + transkey + Pipe-to-elbow transition flag: - ia - Reference number of the variable to be operated on. + OFF - Do not automatically transition pipes to elbows. (This behavior is the + default.) - sector - Sector number to calculate the results for. + ON - Automatically convert straight PIPE289 elements to ELBOW290 elements where it + is beneficial. The program converts elements in transition + regions where curved ELBOW290 elements are connected to + straight PIPE289 elements. - name - Thirty-two character name identifying the variable on listings and - displays. Embedded blanks are compressed for output. + tol + Angle tolerance (in degrees) between adjacent ELBOW290 elements. + The default value is 20. A value of -1 specifies all selected + ELBOW290 elements. - Notes - ----- - This command calculates the harmonic response in the sector specified - by SECTOR for the variable referenced by the reference number IA. Only - component values for IA are valid (no principles or sums). The variable - specified by IR will contain the harmonic solution. Jobname.RFRQ from - the cyclic mode-superposition harmonic solve and Jobname.RST or - Jobname.RSTP from the cyclic modal solve must be available for the - calculations to occur. The Jobname must be the same for the cyclic - modal solve and the cyclic mode-superposition harmonic solve. + dof + Degrees of freedom to couple: - For SECTOR > 1, the result is in the nodal coordinate system of the - base sector, and it is rotated to the expanded sector’s location. Refer - to Using the /CYCEXPAND Command in the Cyclic Symmetry Analysis Guide - for more information. + ALL - Couple all nodal degrees of freedom (UX, UY, UZ, ROTX, ROTY, and ROTZ). This + behavior is the default. - See also Mode-Superposition Harmonic Cyclic Symmetry Analysis in the - Cyclic Symmetry Analysis Guide. + BALL - Create ball joints (equivalent to releasing ROTX, ROTY, and ROTZ). - """ - command = "RCYC, %s, %s, %s, %s" % (str(ir), str(ia), str(sector), str(name)) - self.RunCommand(command, **kwargs) + cons1, cons2, cons3, cons4 + Section degrees of freedoms to constrain. If Cons1 through Cons4 + are unspecified, no section constraints are applied: - def Kesize(self, npt="", size="", fact1="", fact2="", **kwargs): - """ - APDL Command: KESIZE + SECT - All section deformation - Specifies the edge lengths of the elements nearest a keypoint. + SE - Section radial expansion - Parameters - ---------- - npt - Number of the keypoint whose lines will be adjusted. If ALL, use - all selected keypoints [KSEL]. If NPT = P, graphical picking is - enabled and all remaining command fields are ignored (valid only in - the GUI). + SO - Section ovalization - size - Size of elements along lines nearest keypoint NPT (overrides any - other specified size). If SIZE is zero (or blank), use FACT1 or - FACT2. + SW - Section warping - fact1 - Scale factor applied to a previously defined SIZE. Not used if - SIZE is input. + SRA - Local shell normal rotation about cylindrical axis t2 - fact2 - Scale factor applied to the minimum element division at keypoint - NPT for any attached line. This feature is useful with adaptive - mesh refinement. Not used if SIZE or FACT1 is input. + SRT - Local shell normal rotation about cylindrical axis t1 Notes ----- - Affects only the line divisions adjacent to the keypoint on lines not - previously assigned divisions by other line commands [LESIZE, etc.]. - The remaining line divisions are determined from the division nearest - the keypoint at the other end of the line (specified by another KESIZE - command or the ESIZE command). Divisions are transferred to the lines - during the mesh operation. If smart element sizing is being used - [SMRTSIZE], KESIZE specifications may be overridden (i.e., a smaller - element size may be used) to accommodate curvature and small features. + The ELBOW command specifies end releases and section constraints for + ELBOW290 elements and converts straight PIPE289 elements to ELBOW290 + elements. - This command is valid in any processor. The command is also valid for - rezoning. + Curved PIPE289 elements are not converted to ELBOW290 elements. - """ - command = "KESIZE, %s, %s, %s, %s" % (str(npt), str(size), str(fact1), str(fact2)) - self.RunCommand(command, **kwargs) + ELBOW290 elements are generated only if there are existing ELBOW290 + elements in the curved areas. - def User(self, wn="", **kwargs): - """ - APDL Command: /USER + The command works on currently selected nodes and elements. It creates + end releases on any two connected elbow elements whose angle at + connection exceeds the specified tolerance. From within the GUI, the + Picked node option generates an end release and section constraints at + the selected node regardless of the angle of connection (that is, the + angle tolerance [TOL ] is set to -1). - Conveniently resets /FOCUS and /DIST to USER. + Elbow and pipe elements must share the same section ID in order for the + pipe-to-elbow transition to occur. - Parameters - ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). + To list the elements altered by the ELBOW command, issue an ELIST + command. - Notes - ----- - Conveniently resets scale parameters to USER on the /FOCUS and /DIST - commands. Scale parameters will be internally respecified to those - used for the last display. Convenient when the last scale parameters - were automatically calculated. User specified parameters hold until - changed or removed [/AUTO]. Parameters may be reset on the individual - commands after this command has been issued. + To list the coupled sets generated by the ELBOW command, issue a CPLIST + command. - This command is valid in any processor. + To list the section constraints generated by the ELBOW command, issue a + DLIST command. """ - command = "/USER, %s" % (str(wn)) + command = "ELBOW,%s,%s,%s,%s,%s,%s,%s" % (str(transkey), str(tol), str(dof), str(cons1), str(cons2), str(cons3), str(cons4)) self.RunCommand(command, **kwargs) - def Small(self, ir="", ia="", ib="", ic="", name="", facta="", factb="", - factc="", **kwargs): + def Syp(self, string="", arg1="", arg2="", arg3="", arg4="", arg5="", + arg6="", arg7="", arg8="", **kwargs): """ - APDL Command: SMALL + APDL Command: /SYP - Finds the smallest of three variables. + Passes a command string and arguments to the operating system. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. - - ia, ib, ic - Reference numbers of the three variables to be operated on. If - only two, leave IC blank. If only one, leave IB blank also. - - name - Thirty-two character name identifying the variable on printouts and - displays. Embedded blanks are compressed for output. - - --, -- - Unused fields. + string + Command string (cannot include commas). See also the /SYS command. - facta, factb, factc - Scaling factors (positive or negative) applied to the corresponding - variables (defaults to 1.0). + arg1, arg2, arg3, . . . , arg8 + Arguments to be appended to the command string, separated by + blanks, commas, or other delimiter characters (see the Operations + Guide). The arguments may be numbers, parameters, or parametric + expressions. Notes ----- - Finds the smallest of three variables according to the operation: + Passes a command string to the operating system for execution, along + with arguments to be appended to the command string. See the + Operations Guide for details. ANSYS may not be aware of your specific + user environment. For example, on Linux this command may not recognize + aliases, depending on the hardware platform and user environment. - IR = smallest of (FACTA x IA, FACTB x IB, FACTC x IC) + This command is valid in any processor. """ - command = "SMALL, %s, %s, %s, %s, %s, %s, %s, %s" % (str(ir), str(ia), str(ib), str(ic), str(name), str(facta), str(factb), str(factc)) + command = "/SYP,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(string), str(arg1), str(arg2), str(arg3), str(arg4), str(arg5), str(arg6), str(arg7), str(arg8)) self.RunCommand(command, **kwargs) - def Aclear(self, na1="", na2="", ninc="", **kwargs): + def Cmwrite(self, fname="", ext="", fmat="", **kwargs): """ - APDL Command: ACLEAR + APDL Command: CMWRITE - Deletes nodes and area elements associated with selected areas. + Writes node and element components and assemblies to a file. Parameters ---------- - na1, na2, ninc - Delete mesh for areas NA1 to NA2 (defaults to NA1) in steps of NINC - (defaults to 1). If NA1 = ALL, NA2 and NINC are ignored and the - mesh for all selected areas [ASEL] is deleted. If NA1 = P, - graphical picking is enabled and all remaining arguments are - ignored (valid only in the GUI). A component name may also be - substituted for NA1 (NA2 and NINC are ignored). + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - Notes - ----- - Deletes all nodes and area elements associated with selected areas - (regardless of whether the nodes or elements are selected). Nodes - shared by adjacent meshed areas and nodes associated with non-area - elements will not be deleted. Attributes assigned as a result of AATT - are maintained. In the program's response to the command, if an area, - line, or keypoint is tallied as "cleared," it means either its node or - element reference was deleted. + ext + Filename extension (eight-character maximum). - This command is also valid for rezoning. When issued during rezoning - (after the REMESH,START command and before the REMESH,FINISH command), - ACLEAR clears only the area generated by the AREMESH command. + -- + Unused field. + + fmat + Format of the output file (defaults to BLOCKED). + + BLOCKED - Blocked format. This format allows faster reading of the file. + + UNBLOCKED - Unblocked format. """ - command = "ACLEAR, %s, %s, %s" % (str(na1), str(na2), str(ninc)) + command = "CMWRITE,%s,%s,%s" % (str(fname), str(ext), str(fmat)) self.RunCommand(command, **kwargs) - def Esize(self, size="", ndiv="", **kwargs): + def Rstoff(self, lab="", offset="", **kwargs): """ - APDL Command: ESIZE + APDL Command: RSTOFF - Specifies the default number of line divisions. + Offsets node or element IDs in the FE geometry record. Parameters ---------- - size - Default element edge length on surface boundaries (i.e., lines). - Divisions are automatically calculated (rounded upward to next - integer) from line lengths. If SIZE is zero (or blank), use NDIV. + lab + The offset type: - ndiv - Default number of element divisions along region boundary lines. - Not used if SIZE is input. + NODE - Offset the node IDs. + + ELEM - Offset the element IDs. + + offset + A positive integer value specifying the offset value to apply. The + value must be greater than the number of nodes or elements in the + existing superelement results file. Notes ----- - Specifies the default number of line divisions (elements) to be - generated along the region boundary lines. The number of divisions may - be defined directly or automatically calculated. Divisions defined - directly for any line [LESIZE, KESIZE, etc.] are retained. For adjacent - regions, the divisions assigned to the common line for one region are - also used for the adjacent region. See the MOPT command for additional - meshing options. + The RSTOFF command offsets node or element IDs in the FE geometry + record saved in the .rst results file. Use the command when expanding + superelements in a bottom-up substructuring analysis (where each + superelement is generated individually in a generation pass, and all + superelements are assembled together in the use pass). - For free meshing operations, if smart element sizing is being used - [SMRTSIZE] and ESIZE,SIZE has been specified, SIZE will be used as a - starting element size, but will be overridden (i.e., a smaller size may - be used) to accommodate curvature and small features. + With appropriate offsets, you can write results files with unique node + or element IDs and thus display the entire model even if the original + superelements have overlapping element or node ID sets. (Such results + files are incompatible with the .db database file saved at the + generation pass.) - This command is also valid for rezoning. + The offset that you specify is based on the original superelement node + or element numbering, rather than on any offset specified via a SESYMM + or SETRAN command. When issuing an RSTOFF command, avoid specifying an + offset that creates conflicting node or element numbers for a + superelement generated via a SESYMM or SETRAN command. + + If you issue the command to set non-zero offsets for node or element + IDs, you must bring the geometry into the database via the SET command + so that ANSYS can display the results. You must specify appropriate + offsets to avoid overlapping node or element IDs with other + superelement results files. + + The command is valid only in the first load step of a superelement + expansion pass. """ - command = "ESIZE, %s, %s" % (str(size), str(ndiv)) + command = "RSTOFF,%s,%s" % (str(lab), str(offset)) self.RunCommand(command, **kwargs) - def Bfelist(self, elem="", lab="", **kwargs): + def Mfiter(self, maxiter="", miniter="", target="", **kwargs): """ - APDL Command: BFELIST + APDL Command: MFITER - Lists the element body force loads. + Sets the number of stagger iterations for an ANSYS Multi-field solver + analysis. Parameters ---------- - elem - Element at which body load is to be listed. If ALL (or blank), - list for all selected elements [ESEL]. If ELEM = 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 ELEM. + maxiter + Maximum number of iterations. Defaults to 10. - lab - Valid body load label. If ALL (or blank), use all appropriate - labels. See BFE command for labels. + miniter + Minimum number of iterations. Defaults to 1. + + target + Target number of iterations. Defaults to 5. Notes ----- - Lists the element body force loads for the specified element and label. - Element body loads may be defined with the BFE command. + The number of stagger iterations applies to each time step in an ANSYS + Multi-field solver analysis. MINITER and TARGET are valid only when + multi-field auto time stepping is on (MFDTIME). - This command is valid in any processor. + This command is also valid in PREP7. + + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "BFELIST, %s, %s" % (str(elem), str(lab)) + command = "MFITER,%s,%s,%s" % (str(maxiter), str(miniter), str(target)) self.RunCommand(command, **kwargs) - def Secjoint(self, kywrd="", val1="", val2="", val3="", val4="", val5="", - val6="", **kwargs): + def Fscale(self, rfact="", ifact="", **kwargs): """ - APDL Command: SECJOINT + APDL Command: FSCALE - Defines local coordinate systems at joint element nodes and other data - for joint elements. + Scales force load values in the database. Parameters ---------- - kywrd - Keyword that indicates the type of joint element data being - defined. - - LSYS or blank - Define local coordinate systems at the nodes that form the MPC184 joint - element. + rfact + Scale factor for the real component. Zero (or blank) defaults to + 1.0. Use a small number for a zero scale factor. - RDOF - Define the relative degrees of freedom to be fixed for an MPC184-General joint - element. + ifact + Scale factor for the imaginary component. Zero (or blank) defaults + to 1.0. Use a small number for a zero scale factor. - PITC - Define the pitch of an MPC184-Screw joint element. + Notes + ----- + Scales force load (force, heat flow, etc.) values in the database. + Scaling applies to the previously defined values for the selected nodes + [NSEL] and the selected force labels [DOFSEL]. Issue FLIST command to + review results. Solid model boundary conditions are not scaled by this + command, but boundary conditions on the FE model are scaled. - FRIC - Define the geometric quantities required for Coulomb frictional behavior in the - MPC184-Revolute or MPC184-Translational joint element. + Note:: : Such scaled FE boundary conditions may still be overwritten by + unscaled solid model boundary conditions if a subsequent boundary + condition transfer occurs. - val1, val2, val3, val4, val5, val6 - The meaning of Val1 through Val6 changes, depending on the value of - Kywrd. + FSCALE does not work for tabular boundary conditions. - Notes - ----- - Use this command to define additional section data for MPC184 joint - elements. To overwrite the current values, issue another SECJOINT - command with the same Kywrd value. The data input on this command is - interpreted based on the most recently issued SECTYPE command. + This command is also valid in PREP7. """ - command = "SECJOINT, %s, %s, %s, %s, %s, %s, %s" % (str(kywrd), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6)) + command = "FSCALE,%s,%s" % (str(rfact), str(ifact)) self.RunCommand(command, **kwargs) - def Adapt(self, nsoln="", stargt="", ttargt="", facmn="", facmx="", - kykps="", kymac="", **kwargs): + def Mail(self, address="", fname="", ext="", **kwargs): """ - APDL Command: ADAPT + APDL Command: /MAIL - Adaptively meshes and solves a model. + Mails file to the specified address. Parameters ---------- - nsoln - Number of solutions allowed (1 or more) (defaults to 5). - - stargt - Target percentage for structural percent error in energy norm - (SEPC) (defaults to 5). If -1, no target value is used. - - ttargt - Target percentage for thermal percent error in energy norm (TEPC) - (defaults to 1). If -1, no target value is used. - - facmn - Minimum factor for the keypoint element size changes (defaults to - 0.25). + -- + Unused field. - facmx - Maximum factor for the keypoint element size changes (defaults to - 2.0). + address + Email address (up to 64 characters) of the intended recipient of + the file. - kykps - Specifies whether element size is to be modified at selected - keypoints: + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - 0 - Modify element size regardless of selected keypoint set (default). + ext + Filename extension (eight-character maximum). - 1 - Modify element size only at selected keypoints. + Notes + ----- + Issue the /MAIL command to alert someone when a long-running job has + completed, as shown in this example: - kymac - Specifies which user-written auxiliary macro files are to be used: + If you are running ANSYS in a Microsoft Windows environment, you must + configure BLAT (a freeware program provided with ANSYS). Before issuing + the /MAIL command, enter this command from the C:\Program Files\Ansys + Inc\V162\Ansys\Bin\Intel directory: - 0 - Ignore user-written auxiliary macro files, if any (default). + If you are running ANSYS in a Windows x64 environment, enter this + command from the C:\Program Files\Ansys Inc\V162\Ansys\Bin\Winx64 + directory: - 1 - Use user-written auxiliary macro files (if they exist) as follows: Use - ADAPTMSH.MAC instead of the default meshing command sequence. - Use ADAPTSOL.MAC instead of the default solution command - sequence (/SOLU ... SOLVE ... FINISH). + where: - Notes - ----- - ADAPT invokes a predefined ANSYS macro for adaptive meshing and - solution. The macro causes repeated runs of the PREP7, SOLUTION, and - POST1 phases of the ANSYS program with mesh density refinements based - upon the percentage error in energy norm. See the Advanced Analysis - Guide for additional details. After the adaptive meshing process is - complete, the ADAPT macro automatically turns element shape checking on - (SHPP,ON). + is the name of the user’s email server; for + example, smtphost.xyz.com - A copy of the macro, called UADAPT.MAC, is available on the ANSYS - distribution medium (system dependent), and may be copied and modified - by the user to suit a particular need. The modified file should be - given a suitable name (cmd.MAC) and run as described above with the - ADAPT command name replaced by your "cmd" name. + @ is the email address of the user; for example, + john.doe@xyz.com - This command is also valid at the Begin level. + Because Windows cannot operate on a busy file, you cannot mail standard + ANSYS output. Instead, redirect the output to a file and then mail + that file, as shown in this example: """ - command = "ADAPT, %s, %s, %s, %s, %s, %s, %s" % (str(nsoln), str(stargt), str(ttargt), str(facmn), str(facmx), str(kykps), str(kymac)) + command = "/MAIL,%s,%s,%s" % (str(address), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Plnear(self, lab="", opt="", kcn="", val1="", val2="", val3="", - val4="", val5="", val6="", val7="", val8="", val9="", **kwargs): + def Swadd(self, ecomp="", shrd="", ncm1="", ncm2="", ncm3="", ncm4="", + ncm5="", ncm6="", ncm7="", ncm8="", ncm9="", **kwargs): """ - APDL Command: PLNEAR + APDL Command: SWADD - Plots the pressure in the near zone exterior to the equivalent source - surface. + Adds more surfaces to an existing spot weld set. Parameters ---------- - lab - Plot the maximum pressure or sound pressure level: - - SPHERE - on the spherical structure - - PATH - along the path + ecomp + Name of an existing spot weld set that was previously defined using + SWGEN. - opt - PSUM + shrd + Search radius. Defaults to 4 times the spot weld radius defined for + the spot weld set (SWRD on SWGEN). - PSUM - Maximum complex pressure for acoustics. + ncm1, ncm2, ncm3, . . . , ncm9 + Surfaces to be added to the spot weld set. Each surface can be + input as a predefined node component or a meshed area number. - PHAS - Phase angle of complex pressure for acoustics. + Notes + ----- + This command adds surfaces to an existing spot weld set defined by the + SWGEN command. You can add additional surfaces by repeating the SWADD + command. However, the maximum number of allowable surfaces (including + the 2 surfaces used for the original set defined by SWGEN) for each + spot weld set is 11. See Adding Surfaces to a Basic Set for more + information. - SPL - Sound pressure level for acoustics. + """ + command = "SWADD,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(ecomp), str(shrd), str(ncm1), str(ncm2), str(ncm3), str(ncm4), str(ncm5), str(ncm6), str(ncm7), str(ncm8), str(ncm9)) + self.RunCommand(command, **kwargs) - SPLA - A-weighted sound pressure level for acoustics (dBA). + def Display(self, **kwargs): + """ + APDL Command: DISPLAY - kcn - KCN is the coordinate system reference number. It may be 0 - (Cartesian) or any previously defined local coordinate system - number (>10). Defaults to 0. + Specifies "Display settings" as the subsequent status topic. - val1, val2, val3, . . . , val9 - For LAB = SPHERE: + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - VAL1 - Radius of spherical surface in spherical coordinate system. + If entered directly into the program, the STAT command should + immediately follow this command. - VAL2 - Starting φ angle (degree) in the spherical coordinate system. Defaults to 0. + """ + command = "DISPLAY," % () + self.RunCommand(command, **kwargs) - VAL3 - Ending φ angle (degree) in the spherical coordinate system. Defaults to 0. + def Lsla(self, type="", **kwargs): + """ + APDL Command: LSLA - VAL4 - Number of divisions between the starting and ending φ angles for data - computations. Defaults to 0. + Selects those lines contained in the selected areas. - VAL5 - Starting θ angle (degrees) in the spherical coordinate system. Defaults to 0 in - 3-D and 90 in 2-D extension. + Parameters + ---------- + type + Label identifying the type of line select: - VAL6 - Ending θ angle (degrees) in the spherical coordinate system. Defaults to 0 in - 3-D and 90 in 2-D extension. + S - Select a new set (default). - VAL7 - Number of divisions between the starting and ending θ angles for data - computations. Defaults to 0. + R - Reselect a set from the current set. - VAL8 - Reference rms sound pressure. Defaults to 2x10-5 Pa. + A - Additionally select a set and extend the current set. - VAL9 - Thickness of 2-D model extension in z direction (defaults to 0). + U - Unselect a set from the current set. Notes ----- - PLNEAR uses the equivalent source principle to calculate the pressure - in the near zone exterior to the equivalent source surface (flagged - with the Maxwell surface flag in the preprocessor) for one of the - following locations: - - A spherical surface in the KCN coordinate system - - A path defined by the PATH and PPATH commands - - To plot the pressure results for a path, use the PLPAGM or PLPATH - commands. See the HFSYM command for the model symmetry. - - To retrieve saved equivalent source data, issue the - SET,Lstep,Sbstep,,REAL command. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "PLNEAR, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(lab), str(opt), str(kcn), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9)) + command = "LSLA,%s" % (str(type)) self.RunCommand(command, **kwargs) - def Light(self, wn="", num="", int="", xv="", yv="", zv="", refl="", - **kwargs): + def Prorb(self, **kwargs): """ - APDL Command: /LIGHT - - Specifies the light direction for the display window. - - Parameters - ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). - - num - Ambient or directional light key: + APDL Command: PRORB - 0 - Ambient light (default). + Prints the orbital motion characteristics of a rotating structure - 1 - Directional light. + Notes + ----- + When a structure is rotating and the Coriolis or gyroscopic effect is + taken into account (CORIOLIS), nodes lying on the rotation axis + generally exhibit an elliptical orbital motion. The PRORB command + prints out the orbit characteristics A, B, PSI, PHI, YMAX and ZMAX of + each rotating node, where - int - Light intensity factor (defaults to 0.3 for ambient, 1.0 for - directional). This option is valid only for 3-D devices). + Angles PSI and PHI are in degrees and within the range of -180 through + +180. For more information about orbit definition, see Orbits in the + Advanced Analysis Guide. - xv, yv, zv - Light direction (valid only for NUM = 1). The directional light - source is parallel to the line from point XV, YV, ZV to the origin, - in the global Cartesian system origin. Defaults to the viewing - direction [/VIEW]. + To display the characteristics of the orbital path traversed by each + node, issue the PLORB command. - refl - Light reflectance factor (valid only for NUM = 1 and 3-D devices). + The PRORB command is valid for line elements (such as BEAM188, BEAM189, + PIPE288, and PIPE289). - Notes - ----- - Defines the light direction for the window. Use this command only with - 3-D graphics devices or 2-D devices when Z-buffering is used [/TYPE,,(6 - or 7)]. The ambient light has no direction, only an intensity. You - can position the directional light source by defining a point (in the - global Cartesian coordinate system) representing a point along the - light directional line. This point, and the global Cartesian - coordinate system origin, define the line along which the light is - positioned looking toward the origin. You can use any point along the - light line; for example, both (1.,1.,1.) and (2.,2.,2.) give the same - light effect. For 3-D graphics devices only, the directional light - source also has intensity and reflectance factors. + Your model must also involve a rotational velocity (OMEGA or CMOMEGA) + with Coriolis enabled in a stationary reference frame + (CORIOLIS,,,,RefFrame = ON). - By choosing the highest intensity ambient light for 3-D graphics - devices (via the command /LIGHT,WN,0,1), you can nullify color shading - and other effects of directional lighting. + A SET command should be issued after PRORB to ensure proper output for + subsequent postprocessing commands. - This command is valid in any processor. + The coordinate system for displaying nodal results must be global + Cartesian (RSYS,KCN = 0). """ - command = "/LIGHT, %s, %s, %s, %s, %s, %s, %s" % (str(wn), str(num), str(int), str(xv), str(yv), str(zv), str(refl)) + command = "PRORB," % () self.RunCommand(command, **kwargs) - def Edcurve(self, option="", lcid="", par1="", par2="", **kwargs): + def Inres(self, item1="", item2="", item3="", item4="", item5="", item6="", + item7="", item8="", **kwargs): """ - APDL Command: EDCURVE + APDL Command: INRES - Specifies data curves for an explicit dynamic analysis. + Identifies the data to be retrieved from the results file. Parameters ---------- - option - Label identifying the option to be performed. + item1, item2, item3, . . . , item8 + Data to be read into the database from the results file. May + consist of any of the following labels: - ADD - Define a data curve (default). If Option = ADD, Par1 and Par2 must be - previously defined array parameters. + ALL - All solution items (default). - DELE - Delete the specified data curve (LCID). If LCID is blank, all data curves are - deleted. Par1 and Par2 are ignored for this option. + BASIC - NSOL, RSOL, NLOAD, STRS, FGRAD, and FFLUX items. - LIST - List defined data curve (LCID). If LCID is blank, all data curves are listed. - Par1 and Par2 are ignored for this option. + NSOL - Nodal DOF solution. - PLOT - Plot defined data curve (LCID). If Option = PLOT, LCID must be previously - defined with an EDCURVE command. Otherwise a warning message - will report that LCID has not been defined. Par1 and Par2 - are ignored for this option. + RSOL - Nodal reaction loads. - lcid - Data curve ID number (no default). Must be a positive integer. + ESOL - Element solution items (includes all of the following): - par1 - Name of user-defined array parameter that contains the abscissa - values of the curve data (e.g., time, effective plastic strain, - effective strain rate, displacement, etc.). + NLOAD - Element nodal loads. - par2 - Name of user-defined array parameter that contains the ordinate - values of the curve data (e.g., damping coefficients, initial yield - stress, elastic modulus, force, etc.) corresponding to the abscissa - values in Par1. + STRS - Element nodal stresses. - Notes - ----- - EDCURVE can be used to define material data curves (e.g., stress- - strain) and load data curves (force-deflection) associated with - material models in an explicit dynamics analysis. Material data - specified by this command is typically required to define a particular - material behavior (e.g., TB,HONEY), and the LCID number is used as - input on the TBDATA command. + EPEL - Element elastic strains. - EDCURVE can also be used to define load curves that represent time - dependent loads (force, displacement, velocity, etc.). Par1 must - contain the time values, and Par2 must contain the corresponding load - values. The LCID number assigned to the load curve can be used as input - on the EDLOAD command. + EPTH - Element thermal, initial, and swelling strains. - Note:: : You cannot update a previously defined data curve by changing - the array parameters that were input as Par1 and Par2. The data curve - definition is written to the database at the time EDCURVE is issued. - Therefore, subsequent changes to the array parameters that were used as - input on EDCURVE will not affect the load curve definition. If you need - to change the load curve definition, you must delete the load curve - (EDCURVE,DELE,LCID) and define it again. + EPPL - Element plastic strains. - LCID identifies the data curve. If the value input for LCID is the same - as the ID number for a data curve previously defined by EDCURVE, the - previous data will be overwritten. Use EDCURVE,LIST and EDCURVE,PLOT to - check existing data curves. + EPCR - Element creep strains. - A starting array element number must be specified for Par1 and Par2. - The input for these fields must be a single column array parameter, or - a specific column from a multi-column array parameter. When using the - GUI with multi-column parameters, you must specify the parameter name - and starting position for Par1 and Par2 by typing the EDCURVE command - in the Input Window. This is because only the parameter name is - available through the dialog box, which pulls in the first position of - a single-column array parameter. + FGRAD - Element nodal gradients. - If you need to change a curve definition in an explicit dynamic small - restart analysis, issue EDSTART,2 first (to specify the restart), then - issue the EDCURVE command. The revised curve must contain the same - number of points as the curve it replaces. This limitation does not - apply to a full restart analysis (EDSTART,3). + FFLUX - Element nodal fluxes. - This command is also valid in SOLUTION. + MISC - Element miscellaneous data (SMISC and NMISC). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Notes + ----- + Identifies the type of data to be retrieved from the results file for + placement into the database through commands such as SET, SUBSET, and + APPEND. INRES is a companion command to the OUTRES command controlling + data written to the database and the results file. Since the INRES + command can only flag data that has already been written to the results + file, care should be taken when using the OUTRES command to include all + data you wish to retrieve for postprocessing later on. """ - command = "EDCURVE, %s, %s, %s, %s" % (str(option), str(lcid), str(par1), str(par2)) + command = "INRES,%s,%s,%s,%s,%s,%s,%s,%s" % (str(item1), str(item2), str(item3), str(item4), str(item5), str(item6), str(item7), str(item8)) self.RunCommand(command, **kwargs) - def Tref(self, tref="", **kwargs): + def Slashlarc(self, xcentr="", ycentr="", xlrad="", angle1="", angle2="", + **kwargs): """ - APDL Command: TREF + APDL Command: /LARC - Defines the reference temperature for the thermal strain calculations. + Creates annotation arcs (GUI). Parameters ---------- - tref - Reference temperature for thermal expansion. + xcentr + Arc X center location (-1.0 < X < 1.0). - Notes - ----- - Defines the reference temperature for the thermal strain calculations - in structural analyses and explicit dynamic analyses. Thermal strains - are given by : α *(T-TREF), where α is the coefficient of thermal - expansion (for more on this see the Mechanical APDL Theory Reference). - Input the strain via ALPX, ALPY, ALPZ (the secant or mean coefficient - value), or CTEX, CTEY, CTEZ (the instantaneous coefficient value), or - the thermal strain value (THSX, THSY, THSZ). T is the element - temperature. If α is temperature-dependent, TREF should be in the range - of temperatures you define using the MPTEMP command. + ycentr + Arc Y center location (-1.0 < Y < 1.0). - Reference temperatures may also be input per material by specifying a - value on the MP material property command: + xlrad + Arc radius length. - MP,REFT,MAT,C0. + angle1 + Starting angle of arc. - Only a constant (non-temperature-dependent) value is valid. The value - input on the TREF command applies to all materials not having a - specified material property definition. + angle2 + Ending angle of arc. The arc is drawn counterclockwise from the + starting angle, ANGLE1, to the ending angle, ANGLE2. - To convert temperature-dependent secant coefficients of thermal - expansion (SCTE) data (properties ALPX, ALPY, ALPZ) from the definition - temperature to the reference temperature defined via a TREF (or - MP,REFT) command, issue the MPAMOD command. + Notes + ----- + Defines annotation arcs to be written directly onto the display at a + specified location. This is a command generated by the Graphical User + Interface (GUI) and will appear in the log file (Jobname.LOG) if + annotation is used. This command is not intended to be typed in + directly in an ANSYS session (although it can be included in an input + file for batch input or for use with the /INPUT command). - This command is also valid in PREP7. + All arcs are shown on subsequent displays unless the annotation is + turned off or deleted. Use the /LSPEC command to set the attributes of + the arc. + + This command is valid in any processor. """ - command = "TREF, %s" % (str(tref)) + command = "/LARC,%s,%s,%s,%s,%s" % (str(xcentr), str(ycentr), str(xlrad), str(angle1), str(angle2)) self.RunCommand(command, **kwargs) - def Fecons(self, **kwargs): + def Export(self, matrix="", format="", fname="", val1="", val2="", val3="", + **kwargs): """ - APDL Command: FECONS + APDL Command: *EXPORT - Specifies "Constraints on nodes" as the subsequent status topic. + Exports a matrix to a file in the specified format. + + Parameters + ---------- + matrix + Name of the matrix to export (must be a matrix previously created + with *DMAT or *SMAT, or a vector previously created with *VEC). + + format + Format of the output file: + + Export the matrix in the Matrix Market Format. - Export the matrix in the SUB file format. + + Export the matrix in the Harwell-Boeing file format. - Export the matrix in a native format, to be re-imported using the *DMAT or + *SMAT command. + + Export the matrix to an existing EMAT file. - Export the matrix to an APDL array parameter. + + Export the matrix profile to a Postscript file. - Export the matrix in the DMIG file format. + + fname + Name of the file, or name of the array parameter if Format = APDL. + + val1, val2, val3 + Additional input. The meaning of Val1 through Val3 will vary + depending on the specified Format. See table below for details. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Only sparse matrices can be exported to Postscript files. This option + plots the matrix profile as a series of dots. - If entered directly into the program, the STAT command should - immediately follow this command. + If you want to create a .SUB file from several matrices, you need to + set Val3 = WAIT for all matrices but the last, and Val3 = DONE for the + last one. The export will be effective at the last *EXPORT command. + + To create a .SUB file or .DMIG file from scratch, you must supply the + row information array. (Specify this array in the Val2 field for .SUB + or in the Val1 field for .DMIG.) This must be an m x 2 array, where m + is the size of the matrix. The first column is the node number and the + second column is the DOF number corresponding to each row of the + matrix. + + The *EXPORT command is not applicable to sparse matrices initialized + from .FULL files by means of the NOD2BCS option on the *SMAT command + (i.e., *SMAT,,,IMPORT,FULL,,NOD2BCS). """ - command = "FECONS, " % () + command = "*EXPORT,%s,%s,%s,%s,%s,%s" % (str(matrix), str(format), str(fname), str(val1), str(val2), str(val3)) self.RunCommand(command, **kwargs) - def Rsfit(self, rslab="", slab="", name="", rmod="", ytrans="", yval="", - xfilt="", conf="", **kwargs): + def Anmres(self, delay="", min="", max="", inc="", autocntrky="", freq="", + ext="", **kwargs): """ - APDL Command: RSFIT + APDL Command: ANMRES - Fit a response surface for an output parameter in a solution set. + Performs animation of results over multiple results files in an + explicit dynamic structural analysis or fluid flow analysis with + remeshing. Parameters ---------- - rslab - Response surface set label. Identifies the response surface results - for later postprocessing. This label can be used as Rlab for - postprocessing response surface results, and for evaluating the fit - results with RSPLOT and RSPRNT. You must have separate - identification labels for the solution sets and for the response - surface sets, because you can perform a response surface fit based - on Monte Carlo results. For this case, the original Monte Carlo - results are identified by the solution set label provided in the - PDEXE command and the results generated with the fitted response - surfaces are identified by the response surface set label (RSlab) - provided here. RSlab must not contain blanks. Maximum length of - this field is 16 characters; if this field contains more than 16 - characters, it will be truncated to 16 characters. - - slab - Solution set label that identifies the probabilistic analysis - containing the results to be fitted. This solution set label is - defined with the PDEXE command. - - name - Parameter name. The parameter must have been previously defined as - a random output parameter with the PDVAR command. The result values - of this parameter (stored in the solution set identified by Slab) - are fitted as a function of all random input variables. + delay + Time delay during animation (default = 0.5 seconds). - rmod - Regression model to use for the evaluation of the response surface. + min + Minimum results file number to animate. Default = 1 (for + Jobname.RS01). - LIN - Regression model with linear terms only. + max + Maximum results file number to animate. Defaults to the highest + numbered results file, Jobname.RSnn. - QUAD - Regression model with linear and pure quadratic terms (no cross-terms). + inc + Increment between results file numbers. Default = 1. - QUAX - Regression model with linear and all quadratic terms (including cross-terms). - (Default.) + autocntrky + Automatic contour scaling option. - ytrans - Option for the transformation type applied to the output parameter - identified with Name. + 0 - No auto-scaling (default). - NONE - The values of the output parameter Name are not transformed (default). + 1 - Auto-scaling on. - EXP - The values of the output parameter Name are transformed according to Y* = - exp(Y). The transformed values Y* are used for the fitting - process. + freq + Results frequency key. - LOGA - The values of the output parameter Name are transformed according to Y* = - loga(Y), where the basis a is specified by Yval. The - transformed values Y* are used for the fitting process. + 0 or 1 - Animate every results set in each Jobname.EXT file (default). - yval - Value needed for Ytrans = LOGA, Ytrans = POW, and Ytrans = BOX. - Ignored for all other options of Ytrans. For Ytrans = LOGA and - Ytrans = POW, the default value is Yval = 1.0. For Ytrans = BOX, - the default value is Yval = 0.01. + 2 - Animate every other results set in each Jobname.EXT file. - xfilt - Option that specifies if irrelevant terms of the regression model - should be filtered out. + n - Animate every nth results set in each Jobname.EXT file. - NONE - Regression term filtering is not done. A full regression model as specified - with the Rmod option is evaluated. + ext + Extension of result files - FSR - Use the "forward-stepwise-regression" to automatically filter out individual - and irrelevant terms of the regression model. If irrelevant - terms are sorted out this leads to a smaller number of - coefficients to be determined in the regression analysis, - which then leads to increased accuracy of the coefficients of - the remaining terms in the regression model (default). + 'rfl' - Animate Jobname.rflnn - conf - Confidence level that is used to filter the terms of the regression - model if the Xfilt = FSR option has been selected. The value of - CONF must be between 0.0 and 1.0 (default is 0.95). The higher this - value, the more terms will be filtered out. Consequently, higher - CONF values lead to a fewer terms in the regression model. - Likewise, lower CONF values lead to more terms being included in - the regression model. + 'rs' - Animate Jobname.rsnn. Default = 'rs'. Notes ----- - Evaluates a response surface for a random output parameter Name. The - result values for the parameter Name as stored in the solution set Slab - are fitted as a function of all random input parameters. There can be - only one response surface set for each solution set. A response surface - set can include the fitted response surfaces of one or more output - parameters. + ANMRES invokes an ANSYS macro that performs animation across multiple + results files (Jobname.EXT, Jobname.EXT, etc.) produced by an explicit + dynamic structural analysis or fluid flow analysis with remeshing. + Multiple results files typically occur when adaptive meshing is used in + an explicit dynamic structural analysis or fluid flow analysis with + remeshing. Each results file must have more than one set of results. + ANMRES cannot be used for multiple results files that are caused by + file splitting. - Note:: : If the RSFIT command is used for an existing response surface - set for which Monte Carlo simulations have already been generated using - the RSSIMS command then these Monte Carlo samples are deleted by the - RSFIT command. In this case they need to be generated again using the - RSSIMS command. It is necessary to delete the Monte Carlo simulations - in order to make sure that the samples, their statistics and - correlations are consistent with the response surfaces. + ANMRES animates results from files having the currently specified + jobname (Jobname.EXT - Jobname.EXT). To change the current jobname, + use the /FILNAME command. The animation is based on the last plot + command (e.g., PLDISP). + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "RSFIT, %s, %s, %s, %s, %s, %s, %s, %s" % (str(rslab), str(slab), str(name), str(rmod), str(ytrans), str(yval), str(xfilt), str(conf)) + command = "ANMRES,%s,%s,%s,%s,%s,%s,%s" % (str(delay), str(min), str(max), str(inc), str(autocntrky), str(freq), str(ext)) self.RunCommand(command, **kwargs) - def Cfopen(self, fname="", ext="", loc="", **kwargs): + def Nodes(self, **kwargs): """ - APDL Command: *CFOPEN - - Opens a "command" file. - - Parameters - ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. - - ext - Filename extension (eight-character maximum). - - -- - Unused field. - - loc - Determines whether existing file will be overwritten or appended: + APDL Command: NODES - The existing file will be overwritten. - The file will be appended to the existing file. + Specifies "Nodes" as the subsequent status topic. Notes ----- - Data processed with the *VWRITE command will also be written to this - file if the file is open when the *VWRITE command is issued. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - This command is valid in any processor. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "*CFOPEN, %s, %s, %s" % (str(fname), str(ext), str(loc)) + command = "NODES," % () self.RunCommand(command, **kwargs) - def Pivcheck(self, key="", prntcntrl="", **kwargs): + def Nrlsum(self, signif="", label="", labelcsm="", forcetype="", **kwargs): """ - APDL Command: PIVCHECK + APDL Command: NRLSUM - Controls the behavior of an analysis when a negative or zero equation - solver pivot value is encountered. + Specifies the Naval Research Laboratory (NRL) sum mode combination + method. Parameters ---------- - key - Determines whether to stop or continue an analysis when a negative - or zero equation solver pivot value is encountered: + signif + Combine only those modes whose significance level exceeds the + SIGNIF threshold. For single point, multipoint, or DDAM response + (SPOPT,SPRS, MPRS or DDAM), the significance level of a mode is + defined as the mode coefficient of the mode, divided by the maximum + mode coefficient of all modes. Any mode whose significance level is + less than SIGNIF is considered insignificant and is not contributed + to the mode combinations. The higher the SIGNIF threshold, the + fewer the number of modes combined. SIGNIF defaults to 0.001. If + SIGNIF is specified as 0.0, it is taken as 0.0. (This mode + combination method is not valid for SPOPT,PSD.) - AUTO - Check for negative or zero pivot values for analyses performed with the sparse - and PCG solvers. When one is encountered, an error or - warning is issued, per various criteria relating to the type - of analysis being solved. An error causes the analysis to - stop; a warning allows the analysis to continue. A negative - pivot value may be valid for some nonlinear and multiphysics - analyses (for example, electromagnetic and thermal - analyses); this key has no effect in these cases. + label + Label identifying the combined mode solution output. - ERROR - Check for negative or zero pivot values for analyses performed with the sparse - and PCG solvers. When one is encountered, an error is - issued, stopping the analysis. A negative pivot value may - be valid for some nonlinear and multiphysics analyses (for - example, electromagnetic and thermal analyses); this key - has no effect in these cases. + DISP - Displacement solution (default). Displacements, stresses, forces, etc., are + available. - WARN - Check for negative or zero pivot values for analyses performed with the sparse - and PCG solvers. When one is encountered, a warning is - issued and the analysis continues. A negative pivot value - may be valid for some nonlinear and multiphysics analyses - (for example, electromagnetic and thermal analyses); this - key has no effect in these cases. + VELO - Velocity solution. Velocities, "stress velocities," "force velocities," etc., + are available. - OFF - Pivot values are not checked. This key causes the analysis to continue in spite - of a negative or zero pivot value. + ACEL - Acceleration solution. Accelerations, "stress accelerations," "force + accelerations," etc., are available. - prntcntrl - Provides print options. Print output with these options will be - sent to the default output file, not to the files created by the - nonlinear diagnostic tools (NLDIAG). + labelcsm + Label identifying the CSM (Closely Spaced Modes) method. - ONCE - Print only the maximum and minimum pivot information on the first call to the - sparse solver (which is the default solver). This is the - default behavior. + CSM - Use the CSM method. - EVERY - Print the maximum and minimum pivot information at every call to the sparse - solver. This option is provided for nonlinear analysis - diagnostics. + Blank - Do not use the CSM method (default). + + forcetype + Label identifying the forces to be combined: + + STATIC - Combine the modal static forces (default). + + TOTAL - Combine the modal static plus inertial forces. Notes ----- - This command is valid for all analyses. In a nonlinear analysis, a - negative pivot may be valid. In some cases, rigid body motions in a - nonlinear analysis will be trapped by error routines checking - infinitely large displacements (DOF limit exceeded) or nonconvergence - status. An under-constrained model may avoid the pivot check, but fail - with a DOF limit exceeded error. - - Machine precision may affect whether a small pivot triggers an error or - bypasses this checking logic. You may wish to review the ratio of the - maximum to absolute minimum pivot values. For ratios exceeding 12 to 14 - orders of magnitude, the accuracy of the computed solution may be - degraded by the severe ill-conditioning of the assembled matrix. + This command is also valid in PREP7. This mode combination method is + usually used for SPOPT,DDAM. - Note that negative pivots corresponding to Lagrange multiplier based - mixed u-P elements are not checked or reported by this command. - Negative pivots arising from the u-P element formulation and related - analyses can occur and lead to correct solutions. + This CSM method is only applicable in a DDAM analysis (SPOPT,DDAM). The + CSM method combines two closely spaced modes into one mode when their + frequencies are within 10 percent of the common mean frequency and + their responses are opposite in sign. The contribution of these closely + spaced modes is then included in the NRL sum as a single effective + mode. Refer to Closely Spaced Modes (CSM) Method in the Mechanical APDL + Theory Reference for more information. - This command is also valid in PREP7. + NRLSUM is not allowed in ANSYS Professional. """ - command = "PIVCHECK, %s, %s" % (str(key), str(prntcntrl)) + command = "NRLSUM,%s,%s,%s,%s" % (str(signif), str(label), str(labelcsm), str(forcetype)) self.RunCommand(command, **kwargs) - def Type(self, itype="", **kwargs): + def Vmesh(self, nv1="", nv2="", ninc="", **kwargs): """ - APDL Command: TYPE + APDL Command: VMESH - Sets the element type attribute pointer. + Generates nodes and volume elements within volumes. Parameters ---------- - itype - Assign this type number to the elements (defaults to 1). + nv1, nv2, ninc + Mesh volumes from NV1 to NV2 (defaults to NV1) in steps of NINC + (defaults to 1). If NV1 = ALL, NV2 and NINC are ignored and all + selected volumes [VSEL] are meshed. If NV1 = 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 NV1 (NV2 + and NINC are ignored). Notes ----- - Activates an element type number to be assigned to subsequently defined - elements. This number refers to the element type number (ITYPE) - defined with the ET command. Type numbers may be displayed [/PNUM]. + Missing nodes required for the generated elements are created and + assigned the lowest available numbers [NUMSTR]. During a batch run and + if elements already exist, a mesh abort will write an alternative + database file (File.DBE) for possible recovery. - In some cases, ANSYS can proceed with a meshing operation even when no - logical element type has been assigned via TYPE or XATT,,,TYPE. For - more information, see the discussion on setting element attributes in - Meshing Your Solid Model in the Modeling and Meshing Guide. + Tetrahedral mesh expansion [MOPT,TETEXPND,Value] is supported for both + the VMESH and FVMESH commands. """ - command = "TYPE, %s" % (str(itype)) + command = "VMESH,%s,%s,%s" % (str(nv1), str(nv2), str(ninc)) self.RunCommand(command, **kwargs) - def Cutcontrol(self, lab="", value="", option="", **kwargs): + def Wpcsys(self, wn="", kcn="", **kwargs): """ - APDL Command: CUTCONTROL + APDL Command: WPCSYS - Controls time-step cutback during a nonlinear solution. + Defines the working plane location based on a coordinate system. Parameters ---------- - lab - Specifies the criteria for causing a cutback. Valid labels are: + wn + Window number whose viewing direction will be modified to be normal + to the working plane (defaults to 1). If WN is a negative value, + the viewing direction will not be modified. - PLSLIMIT  - Maximum equivalent plastic strain allowed within a time-step (substep). If the - calculated value exceeds the VALUE, the program - performs a cutback (bisection). VALUE defaults to 0.15 - (15%). + kcn + Coordinate system number. KCN may be 0,1,2 or any previously + defined local coordinate system number (defaults to the active + system). - CRPLIMIT  - Set values for calculating the maximum equivalent creep ratio allowed within a - time step. If the calculated maximum creep ratio - exceeds the defined creep ratio limit, the program - performs a cutback. + Notes + ----- + Defines a working plane location and orientation based on an existing + coordinate system. If a Cartesian system is used as the basis (KCN) + for the working plane, the working plane will also be Cartesian, in the + X-Y plane of the base system. If a cylindrical, spherical, or toroidal + base system is used, the working plane will be a polar system in the + R-θ plane of the base system. - DSPLIMIT  - Maximum incremental displacement within the solution field in a time step - (substep). If the maximum calculated value exceeds - VALUE, the program performs a cutback (bisection). - VALUE defaults to 1.0 x 107. + If working plane tracking has been activated (CSYS,WP or CSYS,4), the + updated active coordinate system will be of a similar type, except that + a toroidal system will be updated to a cylindrical system. See the + Modeling and Meshing Guide for more information on working plane + tracking. - NPOINT  - Number of points in a cycle for a second order dynamic equation, used to - control automatic time stepping. If the number of - solution points per cycle is less than VALUE, the program - performs a cutback in time step size. VALUE defaults to - 13 for linear analysis, 5 for nonlinear analysis. A - larger number of points yields a more accurate solution - but also increases the solution run time. + This command is valid in any processor. - This option works well for linear problems. For nonlinear analyses, other factors such as contact status changes and solution convergence rate can overwrite NPOINT. See Automatic Time Stepping in the Mechanical APDL Theory Reference for more information on automatic time stepping. - NOITERPREDICT + Some primitive generation commands will not honor R-theta + transformations for non-cartesian coordinate systems. Refer to the + primitive commands table for more information. - If VALUE is 0 (default), an internal auto time step scheme will predict the number of iterations for nonlinear convergence and perform a cutback earlier than the number of iterations specified by the NEQIT command. This is the recommended option. If VALUE is 1, the solution will iterate (if nonconvergent) to NEQIT number of iterations before a cutback is invoked. It is sometimes useful for poorly-convergent problems, but rarely needed in general. - Bisection is also controlled by contact status change, plasticity or creep - strain limit, and other factors. If any of these - factors occur, bisection will still take place, - regardless of the NOITERPREDICT setting. + """ + command = "WPCSYS,%s,%s" % (str(wn), str(kcn)) + self.RunCommand(command, **kwargs) - CUTBACKFACTOR  - Changes the cutback value for bisection. Default is 0.5. VALUE must be greater - than 0.0 and less than 1.0. This option is active - only if AUTOTS,ON is set. + def Plpagm(self, item="", gscale="", nopt="", **kwargs): + """ + APDL Command: PLPAGM - value - Numeric value for the specified cutback criterion. For Lab = - CRPLIMIT, VALUE is the creep criteria for the creep ratio limit. + Displays path items along the path geometry. - option - Type of creep analysis. Valid for Lab = CRPLIMIT only. + Parameters + ---------- + item + The path data item to be displayed on the currently active path + (defined by the PATH command). Valid path items are those defined + with the PDEF or PLNEAR commands. - IMPRATIO  - Set the maximum creep ratio value for implicit creep. The default is 0.0 (i.e., - no creep limit control) and any positive value is - valid. (See Implicit Creep Procedure in the Structural - Analysis Guide for information on how to define - implicit creep.) + gscale + Scale factor for the offset from the path for the path data item + displays. Defaults to 1.0. - EXPRATIO   - Set the maximum creep ratio value for explicit creep. The default value is 0.1 - and any positive value up to 0.25 is allowed. (See - Explicit Creep Procedure in the Structural Analysis - Guide for information on how to define explicit - creep.) + nopt + Determines how data is displayed: - STSLIMIT   - Stress threshold for calculating the creep ratio. For integration points with - effective stress below this threshold, the creep ratio - does not cause cutback. The default value is 0.0 and - any positive value is valid. + (blank) - Do not display nodes, and scale the display based on the currently selected + node set (default). - STNLIMIT   - Elastic strain threshold for calculating the creep ratio. For integration - points with effective elastic strain below this - threshold, the creep ratio does not cause cutback. The - default value is 0.0 and any positive value is valid. + NODE - Display path item data along with the currently selected set of nodes. The + display geometry is scaled to the selected node set. Notes ----- - A cutback is a method for automatically reducing the step size when - either the solution error is too large or the solution encounters - convergence difficulties during a nonlinear analysis. - - Should a convergence failure occur, the program reduces the time step - interval to a fraction of its previous size and automatically continues - the solution from the last successfully converged time step. If the - reduced time step again fails to converge, the program again reduces - the time step size and proceeds with the solution. This process - continues until convergence is achieved or the minimum specified time - step value is reached. - - For creep analysis, the cutback procedure is similar; the process - continues until the minimum specified time step size is reached. - However, if the creep ratio limit is exceeded, the program issues a - warning but continues the substep until the analysis is complete. In - this case, convergence is achieved but the creep ratio criteria is not - satisfied. - - The CRPLIM command is functionally equivalent to Lab = CRPLIMIT with - options IMPRATIO and EXPRATIO + You can use the Gscale argument to scale the contour display offset + from the path for clarity. You need to type all six characters to issue + this command. """ - command = "CUTCONTROL, %s, %s, %s" % (str(lab), str(value), str(option)) + command = "PLPAGM,%s,%s,%s" % (str(item), str(gscale), str(nopt)) self.RunCommand(command, **kwargs) - def Laylist(self, iel="", layr1="", layr2="", mplab1="", mplab2="", - **kwargs): + def Efacet(self, num="", **kwargs): """ - APDL Command: LAYLIST + APDL Command: /EFACET - Lists real constants material properties for layered elements. + Specifies the number of facets per element edge for PowerGraphics + displays. Parameters ---------- - iel - Element number to be listed. If ALL, list all selected elements - [ESEL] of the appropriate type. If blank and the current element - type is a layered element type, list data from the current real - constant table in the layered format. + num + Number of facets per element edge for element plots. - layr1, layr2 - Range of layer numbers to be listed. If LAYR1 is greater than - LAYR2, a reverse order list is produced. LAYR1 defaults to 1. - LAYR2 defaults to LAYR1 if LAYR1 is input or to the number of - layers if LAYR1 is not input. + 1 - Use 1 facet per edge (default for h-elements). - mplab1, mplab2 - Material property labels (e.g., EX) to be listed along with the - layer real constants. + 2 - Use 2 facets per edge. + + 4 - Use 4 facets per edge. Notes ----- - Lists real constants and any two material properties for layered shell - and solid elements. + /EFACET is valid only when PowerGraphics is enabled [/GRAPHICS,POWER], + except that it can be used in FULL graphics mode for element CONTA174. + (See the /GRAPHICS command and element CONTA174 in the Element + Reference for more information.) The /EFACET command is only applicable + to element type displays. - If matrix input is selected (KEYOPT(2) = 2 or 3), LAYR1, LAYR2, Mplab1, - and Mplab2 are not used. + /EFACET controls the fineness of the subgrid that is used for element + plots. The element is subdivided into smaller portions called facets. + Facets are piecewise linear surface approximations of the actual + element face. In their most general form, facets are warped planes in + 3-D space. A greater number of facets will result in a smoother + representation of the element surface for element plots. /EFACET may + affect results averaging. See Contour Displays in the Basic Analysis + Guide for more information. + + For midside node elements, use NUM = 2; if NUM = 1, no midside node + information is output. For non-midside node elements, NUM should be set + to 1. See the PLNSOL and PRNSOL commands for more information. + + With PowerGraphics active (/GRAPHICS,POWER), the averaging scheme for + surface data with interior element data included (AVRES,,FULL) and + multiple facets per edge (/EFACET,2 or /EFACET,4) will yield differing + minimum and maximum contour values depending on the Z-Buffering + options (/TYPE,,6 or /TYPE,,7). When the Section data is not included + in the averaging schemes (/TYPE,,7), the resulting absolute value for + the midside node is significantly smaller. + + For cyclic symmetry mode-superposition harmonic solutions, only NUM = 1 + is supported in postprocessing. + + Caution:: : If you specify /EFACET,1, PowerGraphics does not plot + midside nodes. You must use /EFACET,2 to make the nodes visible. This command is valid in any processor. """ - command = "LAYLIST, %s, %s, %s, %s, %s" % (str(iel), str(layr1), str(layr2), str(mplab1), str(mplab2)) + command = "/EFACET,%s" % (str(num)) self.RunCommand(command, **kwargs) - def Djdele(self, elem="", lab="", **kwargs): + def Hrocean(self, type="", nph_ase="", **kwargs): """ - APDL Command: DJDELE + APDL Command: HROCEAN - Deletes boundary conditions on the components of relative motion of a - joint element. + Perform the harmonic ocean wave procedure (HOWP). Parameters ---------- - elem - Element number or ALL. ALL (or leaving this field blank) will - delete all joint element boundary conditions specified by LAB. + type + Specifies how to include ocean wave information in a harmonic + analysis: - lab - Valid labels are: + HARMONIC - Performs a harmonic analysis using both real and imaginary load vectors + calculated via the harmonic ocean wave procedure (HOWP). + This behavior is the default. This option performs a + harmonic analysis running at a frequency determined by + the wave period (specified via OCTABLE command input). - UX - Displacement in local x direction. + STATIC - Performs a static analysis using both real and imaginary load vectors + (calculated via HOWP). This option works by performing a + harmonic analysis running at a frequency of 0.0. - UY - Displacement in local y direction. + OFF - Deactivates a previously activated HOWP and performs a standard harmonic + analysis. - UZ - Displacement in local z direction. + nphase + Positive number specifying the number of phases to calculate + forces. This value must be at least 8. The default value is 20. - ROTX - Rotation about local x axis. + Notes + ----- + The HROCEAN command applies ocean wave information (obtained via the + OCDATA and OCTABLE commands) in a harmonic analysis (ANTYPE,HARMIC) as + real and imaginary forces. - ROTY - Rotation about local y axis. + You can apply only one ocean load at a time. - ROTZ - Rotation about local z axis. + The applied frequency in the harmonic (Type = HARMONIC) analysis is + based on the wave period input on the OCTABLE command (and not on + HARFRQ command input, which cannot be used). Phase-shift input on the + OCTABLE command is ignored. - VELX - Linear velocity in local x direction. + HOWP does not generate a damping matrix. If you require a damping + matrix, you must add it separately. - VELY - Linear velocity in local y direction. + The command applies to regular wave types only (Airy with one wave + component, Wheeler with one wave component, Stokes, and stream + function). Irregular wave types are not supported. For information + about wave types, see Hydrodynamic Loads in the Mechanical APDL Theory + Reference. - VELZ - Linear velocity in local z direction. + The program calculates the forces on each load component of each + element at NPHASE solutions, spread evenly over one wave cycle. Then, + the minimum and maximum, and the phase between them, are calculated. + The command uses the resulting information to generate the real and + imaginary loads. - OMGX - Angular velocity in local x direction. + HOWP cannot be used with stress stiffening. - OMGY - Angular velocity in local y direction. + HOWP works with the full harmonic analysis method (HROPT,FULL) only. - OMGZ - Angular velocity in local z direction. + For more information, see Harmonic Ocean Wave Procedure (HOWP) in the + Mechanical APDL Theory Reference. - ACCX - Linear acceleration in local x direction. + This command is also valid in PREP7. - ACCY - Linear acceleration in local y direction. + """ + command = "HROCEAN,%s,%s" % (str(type), str(nph_ase)) + self.RunCommand(command, **kwargs) - ACCZ - Linear acceleration in local z direction. + def Avprin(self, key="", effnu="", **kwargs): + """ + APDL Command: AVPRIN - DMGX - Angular acceleration in local x direction. + Specifies how principal and vector sums are to be calculated. - DMGY - Angular acceleration in local y direction. + Parameters + ---------- + key + Averaging key: - DMGZ - Angular acceleration in local z direction. + 0 - Average the component values from the elements at a common node, then calculate + the principal or vector sum from the averaged components + (default). - ALL, or (blank) - Delete all applied boundary conditions. + 1 - Calculate the principal or vector sum values on a per element basis, then + average these values from the elements at a common node. + + effnu + Effective Poisson's ratio used for computing the von Mises + equivalent strain (EQV). This command option is intended for use + with line elements or in load case operations (LCOPER) only; ANSYS + automatically selects the most appropriate effective Poisson's + ratio, as discussed below. 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 = "DJDELE, %s, %s" % (str(elem), str(lab)) - self.RunCommand(command, **kwargs) + Selects the method of combining components for certain derived nodal + results when two or more elements connect to a common node. The + methods apply to the calculations of derived nodal principal stresses, + principal strains, and vector sums for selects, sorts, and output + [NSEL, NSORT, PRNSOL, PLNSOL, etc.]. - def Lswrite(self, lsnum="", **kwargs): - """ - APDL Command: LSWRITE + This command also defines the effective Poisson's ratio (EFFNU) used + for equivalent strain calculations. If you use EFFNU, the default + effective Poisson's ratios shown below will be overridden for all + elements by the EFFNU value. To return to the default settings, issue + the RESET command. The default value for EFFNU is: - Writes load and load step option data to a file. + Poisson's ratio as defined on the MP commands for EPEL and EPTH - Parameters - ---------- - lsnum - Number to be assigned to the load step file name for identification - purposes. Defaults to 1 + highest LSNUM used in the current - session. Issue LSWRITE,STAT to list the current value of LSNUM. - Issue LSWRITE,INIT to reset to 1. The load step file will be named - Jobname.Sn, where n is the specified LSNUM value (preceded by "0" - for values 1-9). On systems with a 3-character limit on the file - name extension, the "S" is dropped for LSNUM > 99. + 0.5 for EPPL and EPCR - Notes - ----- - Writes all load and load step option data for the selected model to a - load step file for later use. LSWRITE does not capture changes made to - real constants (R), material properties (MP), couplings (CP), or - constraint equations (CE). + 0.5 if the referenced material is hyperelastic - Solid model loads will not be saved if the model is not meshed. Solid - model loads, if any, are transferred to the finite element model. Issue - LSCLEAR,FE to delete finite element loads. + 0.0 for line elements (includes beam, link, and pipe elements, as well + as discrete elements), cyclic symmetry analysis, mode superposition + analyses (with MSUPkey = YES on the MXPAND command), and load case + operations (LCOPER). - One file is written for each load step. Use the LSREAD command to read - a single load step file, and the LSDELE command to delete load step - files. Use the LSSOLVE command to read and solve the load steps - sequentially. + For the von Mises equivalent strain (EQV), it is always computed using + the average of the equivalent strains from the elements at a common + node irrespective of the value of the averaging KEY. If EFFNU is input, + though, the calculation will be performed according to the KEY setting. - Solution control commands are typically not written to the file unless - you specifically change a default solution setting. + For a random vibration (PSD) analysis, issuing either AVPRIN,0 or + AVPRIN,1 calculates the principal stresses using the appropriate + averaging method. They are then used to determine SEQV. The output + will have non-zero values for the principal stresses. - LSWRITE does not support the following commands: DJ, FJ, GSBDATA, - GSGDATA, ESTIF, EKILL, EALIVE, MPCHG, and OUTRES. These commands will - not be written to the load step file. + If AVPRIN is not issued, the Segalman-Fulcher method is used to + calculate SEQV. This method does not calculate principal stresses, but + directly calculates SEQV from the component stresses; therefore, the + output will have zero values for the principal stresses. Beam and pipe + elements are excluded - LSWRITE cannot be used with the birth-death option. + This command is also valid in POST26, where applicable. - This command is also valid in PREP7. + See Combined Stresses and Strains in the Mechanical APDL Theory + Reference for more information. """ - command = "LSWRITE, %s" % (str(lsnum)) + command = "AVPRIN,%s,%s" % (str(key), str(effnu)) self.RunCommand(command, **kwargs) - def Sfldele(self, line="", lab="", **kwargs): + def Rmrplot(self, refname="", type="", mode1="", mode2="", **kwargs): """ - APDL Command: SFLDELE + APDL Command: RMRPLOT - Deletes surface loads from lines. + Plots response surface of ROM function or its derivatives with respect + to the dominant mode(s). Parameters ---------- - line - Line to which surface load deletion applies. If ALL, delete load - from all selected lines [LSEL]. If LINE = P, graphical picking is - enabled and all remaining command fields are ignored (valid only in - the GUI). A component name may be substituted for LINE. + refname + Reference name of ROM function. Valid reference names are "SENE" + for the strain energy of the mechanical domain and any capacitance + definition, previously defined by means of the RMCAP command, for + the electrostatic domain. - lab - Valid surface load label. If ALL, use all appropriate labels. See - the SFL command for labels. + type + Type of data to be plotted. Valid types are: + + FUNC - Response surface (default) + + mode1 + First mode number (used for Type = "FIRST" and Type = "SECOND" + only). + + mode2 + Second mode number (used for Type = "SECOND" only). Notes ----- - Deletes surface loads (and all corresponding finite element loads) from - selected lines. + The objective of response surface fit is to compute an analytical + expression for the strain energy and the capacitance as functions of + modal amplitudes. This command assumes that the coefficient files + jobnam_ijk.pcs are available [RMRGENERATE]. Visualization of the + response surface will help to evaluate the validity of the function + fit. - This command is also valid in PREP7. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "SFLDELE, %s, %s" % (str(line), str(lab)) + command = "RMRPLOT,%s,%s,%s,%s" % (str(refname), str(type), str(mode1), str(mode2)) self.RunCommand(command, **kwargs) - def Ltan(self, nl1="", p3="", xv3="", yv3="", zv3="", **kwargs): + def Domega(self, domgx="", domgy="", domgz="", **kwargs): """ - APDL Command: LTAN + APDL Command: DOMEGA - Generates a line at the end of, and tangent to, an existing line. + Specifies the rotational acceleration of the structure. Parameters ---------- - nl1 - Number of the line the generated line is tangent to. If negative, - assume P1 (see below), instead of P2, is the second keypoint of - line NL1. If NL1 = P, graphical picking is enabled and all - remaining command fields are ignored (valid only in the GUI). - - p3 - Keypoint at which generated line must end. + domgx, domgy, domgz + Rotational acceleration of the structure about the global Cartesian + X , Y, and Z axes. Notes ----- - Generates a line (P2-P3) tangent at end point (P2) of line NL1 (P1-P2). + Specifies the rotational acceleration of the structure about each of + the global Cartesian axes. Rotational accelerations may be defined in + analysis types ANTYPE,STATIC, HARMIC (full or mode-superposition), + TRANS (full or mode-superposition), and SUBSTR. See Acceleration + Effect in the Mechanical APDL Theory Reference for details. Units are + radians/time2. + + The DOMEGA command supports tabular boundary conditions (%TABNAME_X%, + %TABNAME_Y%, and %TABNAME_Z%) for DOMEGA_X, DOMEGA_Y, and DOMEGA_Z + input values (*DIM) for full transient and harmonic analyses. + + Related commands are ACEL, CGLOC, CGOMGA, DCGOMG, and OMEGA. + + See Analysis Tools in the Mechanical APDL Theory Reference for more + information. + + In a modal harmonic or transient analysis, you must apply the load in + the modal portion of the analysis. Mechanical APDL calculates a load + vector and writes it to the mode shape file, which you can apply via + the LVSCALE command. + + This command is also valid in PREP7. """ - command = "LTAN, %s, %s, %s, %s, %s" % (str(nl1), str(p3), str(xv3), str(yv3), str(zv3)) + command = "DOMEGA,%s,%s,%s" % (str(domgx), str(domgy), str(domgz)) self.RunCommand(command, **kwargs) - def Anmres(self, delay="", min="", max="", inc="", autocntrky="", freq="", - ext="", **kwargs): + def Pldisp(self, kund="", **kwargs): """ - APDL Command: ANMRES + APDL Command: PLDISP - Performs animation of results over multiple results files in an - explicit dynamic structural analysis or fluid flow analysis with - remeshing. + Displays the displaced structure. Parameters ---------- - delay - Time delay during animation (default = 0.5 seconds). - - min - Minimum results file number to animate. Default = 1 (for - Jobname.RS01). - - max - Maximum results file number to animate. Defaults to the highest - numbered results file, Jobname.RSnn. + kund + Undisplaced shape key: - inc - Increment between results file numbers. Default = 1. + 0 - Display only displaced structure. - autocntrky - Automatic contour scaling option. + 1 - Overlay displaced display with similar undisplaced display (appearance is + system-dependent). - 0 - No auto-scaling (default). + 2 - Same as 1 except overlay with undisplaced edge display (appearance is system- + dependent). - 1 - Auto-scaling on. + Notes + ----- + Displays the displaced structure for the selected elements. - freq - Results frequency key. + For information on true scale plots, refer to the description of the + /DSCALE command [/DSCALE,,1.0]. - 0 or 1 - Animate every results set in each Jobname.EXT file (default). + """ + command = "PLDISP,%s" % (str(kund)) + self.RunCommand(command, **kwargs) - 2 - Animate every other results set in each Jobname.EXT file. + def Larea(self, p1="", p2="", narea="", **kwargs): + """ + APDL Command: LAREA - n - Animate every nth results set in each Jobname.EXT file. + Generates the shortest line between two keypoints on an area. - ext - Extension of result files + Parameters + ---------- + p1 + First keypoint of line to be generated. If P1 = P, graphical + picking is enabled and all remaining command fields are ignored + (valid only in the GUI). - 'rfl' - Animate Jobname.rflnn + p2 + Second keypoint of line to be generated. - 'rs' - Animate Jobname.rsnn. Default = 'rs'. + narea + Area containing P1 and P2, or area to which generated line is to be + parallel. Notes ----- - ANMRES invokes an ANSYS macro that performs animation across multiple - results files (Jobname.EXT, Jobname.EXT, etc.) produced by an explicit - dynamic structural analysis or fluid flow analysis with remeshing. - Multiple results files typically occur when adaptive meshing is used in - an explicit dynamic structural analysis or fluid flow analysis with - remeshing. Each results file must have more than one set of results. - ANMRES cannot be used for multiple results files that are caused by - file splitting. - - ANMRES animates results from files having the currently specified - jobname (Jobname.EXT - Jobname.EXT). To change the current jobname, - use the /FILNAME command. The animation is based on the last plot - command (e.g., PLDISP). - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Generates the shortest line between two keypoints, P1 and P2, both of + which lie on an area. The generated line will also lie on the area. + P1 and P2 may also be equidistant (in global Cartesian space) from the + area (and on the same side of the area), in which case a line parallel + to the area is generated. """ - command = "ANMRES, %s, %s, %s, %s, %s, %s, %s" % (str(delay), str(min), str(max), str(inc), str(autocntrky), str(freq), str(ext)) + command = "LAREA,%s,%s,%s" % (str(p1), str(p2), str(narea)) self.RunCommand(command, **kwargs) - def Pras(self, quantity="", loadstep="", substep="", **kwargs): + def Mlist(self, node1="", node2="", ninc="", **kwargs): """ - APDL Command: PRAS + APDL Command: MLIST - Calculates a specified acoustic quantity on the selected exterior - surface or the frequency-band sound pressure level (SPL). + Lists the MDOF of freedom. Parameters ---------- - quantity - The acoustic quantity to calculate: + node1, node2, ninc + List master degrees of freedom from NODE1 to NODE2 (defaults + toNODE1) in steps of NINC (defaults to 1). If NODE1 = ALL + (default), NODE2 and NINC are ignored and masters 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). - SIMP - Specific acoustic impedance on the selected surface. + Notes + ----- + Lists the master degrees of freedom. - AIMP - Acoustic impedance on the selected surface. + """ + command = "MLIST,%s,%s,%s" % (str(node1), str(node2), str(ninc)) + self.RunCommand(command, **kwargs) - MIMP - Mechanical impedance on the selected surface. + def Deact(self, **kwargs): + """ + APDL Command: DEACT - PRES - Average pressure on the selected surface. + Specifies "Element birth and death" as the subsequent status topic. - FORC - Force on the selected surface. + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - POWE - Acoustic power on the selected surface. + If entered directly into the program, the STAT command should + immediately follow this command. - BSPL - Frequency-band sound pressure level. + """ + command = "DEACT," % () + self.RunCommand(command, **kwargs) - BSPA - A-weighted frequency-band sound pressure level. + def Lcsl(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nl7="", + nl8="", nl9="", **kwargs): + """ + APDL Command: LCSL - loadstep - Specified load step. Default = 1. + Divides intersecting lines at their point(s) of intersection. - substep - Specified substep. Default = All substeps at the specified load - step. Not valid for Quantity = BSPL or BSPA. + Parameters + ---------- + nl1, nl2, nl3, . . . , nl9 + Numbers of lines to be intersected. If NL1 = ALL, NL2 to NL9 are + ignored and the intersection of all selected lines is found. If + NL1 = P, use graphical picking to specify lines (NL2 to NL9 are + ignored). Notes ----- - The PRAS command calculates a specified acoustic quantity on the - selected exterior surface in postprocessing. The calculation is based - on the pressure and velocity solution or the frequency-band sound - pressure level (SPL). - - The total pressure and velocity are used if the selected surface is the - excitation source surface. To calculate the incoming and outgoing - acoustic power, and other sound power parameters, on the excitation - source surface, issue the SF,,PORT and SPOWER commands. - - The sound pressure level of the octave bands and general frequency band - (defined via the HARFRQ command) is calculated at the selected nodes in - the model. + Divides intersecting (classifies) lines at their point(s) of + intersection. The original lines (and their corresponding keypoint(s)) + will be deleted by default. See the BOPTN command for the options + available to Boolean operations. Element attributes and solid model + boundary conditions assigned to the original entities will not be + transferred to the new entities generated. """ - command = "PRAS, %s, %s, %s" % (str(quantity), str(loadstep), str(substep)) + command = "LCSL,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nl7), str(nl8), str(nl9)) self.RunCommand(command, **kwargs) - def Units(self, label="", lenfact="", m_assfact="", timefact="", - tempfact="", toffset="", chargefact="", forcefact="", - heatfact="", **kwargs): + def Rgb(self, kywrd="", pred="", pgrn="", pblu="", n1="", n2="", ninc="", + ncntr="", **kwargs): """ - APDL Command: /UNITS + APDL Command: /RGB - Annotates the database with the system of units used. + Specifies the RGB color values for indices and contours. Parameters ---------- - label - Label to denote the system of units used in this job: + kywrd + Determines how RGB modifications will be applied. - USER - User-defined system (default). + INDEX - Specifies that subsequent color values apply to ANSYS color indices (0-15). - SI - International system (m, kg, s, K). + CNTR - Specifies that subsequent color values apply to contours (1-128). Applies to + C-option devices only (i.e. X11C or Win32C). - MKS - MKS system (m, kg, s, °C). + pred + Intensity of the color red, expressed as a percentage. - uMKS - μMKS system (μm, kg, s, °C). + pgrn + Intensity of the color green, expressed as a percentage. - CGS - CGS system (cm, g, s, °C). + pblu + Intensity of the color blue, expressed as a percentage. - MPA - MPA system (mm, Mg, s, °C). + n1 + First index (0-15), or contour (1-128) to which the designated RGB + values apply. - BFT - U. S. Customary system using feet (ft, slug, s, °F). + n2 + Final index (0-15), or contour (1-128) to which the designated RGB + values apply. - BIN - U. S. Customary system using inches (in, lbf*s2/in, s, °F). + ninc + The step increment between the values N1 and N2 determining which + contours or indices will be controlled by the specified RGB values. + + ncntr + The new maximum number of contours (1-128). Notes ----- - Allows the user to set a marker in the database indicating the system - of units used. The setting may be reviewed with the /STATUS command at - the Begin level. The units label and conversion factors on this - command are for user convenience only and have no effect on the - analysis or data. That is, /UNITS will not convert database items from - one system to another (e.g., from U. S. Customary to SI, etc.). The - units setting will be written to the file of IGES data [IGESOUT or - CDWRITE], which can then be read by many programs that read IGES files. - The user must still use consistent units for the results to be valid. + Issuing the /CMAP command (with no filename) will restore the default + color settings. - If you choose the MKS system of units, the EPZRO option for the EMUNIT - command is set to 8.85 e-12 F/m. (EPZRO specifies alternate free-space - permittivity.) + """ + command = "/RGB,%s,%s,%s,%s,%s,%s,%s,%s" % (str(kywrd), str(pred), str(pgrn), str(pblu), str(n1), str(n2), str(ninc), str(ncntr)) + self.RunCommand(command, **kwargs) + + def Emunit(self, lab="", value="", **kwargs): + """ + APDL Command: EMUNIT + + Specifies the system of units for magnetic field problems. + + Parameters + ---------- + lab + Label specifying the type of units: + + MKS - Rationalized MKS system of units (meters, amperes, henries, webers, etc.). + Free-space permeability is set to 4 πe-7 henries/meter. Free- + space permittivity is set to 8.85 e-12 F/m. + + MUZRO - User defined system of units. Free-space permeability is set to the value input + for VALUE. Other units must correspond to the permeability + units. Relative permeability may be altered to absolute + values. + + EPZRO - User defined system of units. Free-space permittivity is set to the value input + for VALUE. Other units must correspond to the permittivity + units. + + value + User value of free-space permeability (defaults to 1) if Lab = + MUZRO, or free-space permittivity (defaults to 1) if Lab = EPZRO. + + Notes + ----- + Specifies the system of units to be used for electric and magnetic + field problems. The free-space permeability and permittivity values may + be set as desired. These values are used with the relative property + values [MP] to establish absolute property values. + + Note:: : If the magnetic source field strength (Hs) has already been + calculated [BIOT], switching EMUNIT will not change the values. For micro-electromechanical systems (MEMS), where dimensions are on the order of microns, see the conversion factors in System of Units in the Coupled-Field Analysis Guide. - If you use the ANSYS ADAMS Interface to export model information to the - ADAMS program, the /UNITS command is required to ensure the correct - transfer of data between ANSYS and ADAMS. You may choose a predefined - unit system label (Label = SI, CGS, etc.) or you can select the user- - defined system option (Label = USER) and input the appropriate - conversion factors (LENFACT, MASSFACT, TIMEFACT, and FORCEFACT). The - conversion factors will be written to the ADAMS input file Jobname.MNF - in order to correctly generate the load. For more information, see - Export to ADAMS in the Substructuring Analysis Guide. - - All differences between the base solution units used by the ANSYS and - CFX solvers will be noted in the ANSYS output file. Unit conversions - are automatically applied to all loads transferred unless Label = USER. - Unit conversions are not applied to any of the loads transferred - between the ANSYS and CFX solvers if they use a user-defined unit - system. - - This command is valid in any processor. + This command is also valid in SOLUTION. """ - command = "/UNITS, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(label), str(lenfact), str(m_assfact), str(timefact), str(tempfact), str(toffset), str(chargefact), str(forcefact), str(heatfact)) + command = "EMUNIT,%s,%s" % (str(lab), str(value)) self.RunCommand(command, **kwargs) - def Vinp(self, nv1="", nv2="", nv3="", nv4="", nv5="", nv6="", nv7="", - nv8="", nv9="", **kwargs): + def E(self, i="", j="", k="", l="", m="", n="", o="", p="", **kwargs): """ - APDL Command: VINP + APDL Command: E - Finds the pairwise intersection of volumes. + Defines an element by node connectivity. Parameters ---------- - nv1, nv2, nv3, . . . , nv9 - Numbers of volumes to be intersected pairwise. If NV1 = ALL, NV2 - to NV9 are ignored and the pairwise intersection of all selected - volumes is found. If NV1 = 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 NV1. + i + Number of node assigned to first nodal position (node I). If I = P, + graphical picking is enabled and all remaining command fields are + ignored (valid only in the GUI). + + j, k, l, m, n, o, p + Number assigned to second (node J) through eighth (node P) nodal + position, if any. Notes ----- - Finds the pairwise intersection of volumes. The pairwise intersection - is defined as all regions shared by any two or more volumes listed on - this command. New volumes will be generated where the original volumes - intersect pairwise. If the regions of pairwise intersection are only - areas, new areas will be generated. See the Modeling and Meshing Guide - for an illustration. See the BOPTN command for an explanation of the - options available to Boolean operations. Element attributes and solid - model boundary conditions assigned to the original entities will not be - transferred to the new entities generated. + Defines an element by its nodes and attribute values. Up to 8 nodes may + be specified with the E command. If more nodes are needed for the + element, use the EMORE command. The number of nodes required and the + order in which they should be specified are described in Chapter 4 of + the Element Reference for each element type. Elements are + automatically assigned a number [NUMSTR] as generated. The current (or + default) MAT, TYPE, REAL, SECNUM and ESYS attribute values are also + assigned to the element. + + When creating elements with more than 8 nodes using this command and + the EMORE command, it may be necessary to turn off shape checking using + the SHPP command before issuing this command. If a valid element type + can be created without using the additional nodes on the EMORE command, + this command will create that element. The EMORE command will then + modify the element to include the additional nodes. If shape checking + is active, it will be performed before the EMORE command is issued. + Therefore, if the shape checking limits are exceeded, element creation + may fail before the EMORE command modifies the element into an + acceptable shape. """ - command = "VINP, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nv1), str(nv2), str(nv3), str(nv4), str(nv5), str(nv6), str(nv7), str(nv8), str(nv9)) + command = "E,%s,%s,%s,%s,%s,%s,%s,%s" % (str(i), str(j), str(k), str(l), str(m), str(n), str(o), str(p)) self.RunCommand(command, **kwargs) - def Ancntr(self, nfram="", delay="", ncycl="", **kwargs): + def Get(self, par="", entity="", entnum="", item1="", it1num="", item2="", + it2num="", **kwargs): """ - APDL Command: ANCNTR + APDL Command: *GET - Produces an animated sequence of a contoured deformed shape. + Retrieves a value and stores it as a scalar parameter or part of an + array parameter. Parameters ---------- - nfram - Number of frames captures (defaults to 5). + par + The name of the resulting parameter. See *SET for name + restrictions. - delay - Time delay during animation (defaults to 0.1 seconds). + entity + Entity keyword. Valid keywords are NODE, ELEM, KP, LINE, AREA, + VOLU, PDS, etc., as shown for Entity = in the tables below. - ncycl - Number of animation cycles (defaults to 5). Available in non-UI - mode only. + entnum + The number or label for the entity (as shown for ENTNUM = in the + tables below). In some cases, a zero (or blank) ENTNUM represents + all entities of the set. + + item1 + The name of a particular item for the given entity. Valid items are + as shown in the Item1 columns of the tables below. + + it1num + The number (or label) for the specified Item1 (if any). Valid + IT1NUM values are as shown in the IT1NUM columns of the tables + below. Some Item1 labels do not require an IT1NUM value. + + item2, it2num + A second set of item labels and numbers to further qualify the item + for which data are to be retrieved. Most items do not require this + level of information. Notes ----- - ANCNTR involves an ANSYS macro which produces an animation of a - contoured deformed shape of the last plot action command. This command - operates only on graphic display platforms supporting the /SEG command. - After executing ANCNTR, you can replay the animated sequence by issuing - the ANIM command. + *GET retrieves a value for a specified item and stores the value as a + scalar parameter, or as a value in a user-named array parameter. An + item is identified by various keyword, label, and number combinations. + Usage is similar to the *SET command except that the parameter values + are retrieved from previously input or calculated results. For example, + *GET,A,ELEM,5,CENT,X returns the centroid x-location of element 5 and + stores the result as parameter A. *GET command operations, along with + the associated Get functions return values in the active coordinate + system unless stated otherwise. A Get function is an alternative in- + line function that can be used to retrieve a value instead of the *GET + command (see Using In-line Get Functions for more information). - The command functions only in the postprocessor. + Both *GET and *VGET retrieve information from the active data stored in + memory. The database is often the source, and sometimes the information + is retrieved from common memory blocks that the program uses to + manipulate information. Although POST1 and POST26 operations use a + *.rst file, *GET data is accessed from the database or from the common + blocks. Get operations do not access the *.rst file directly. For + repeated gets of sequential items, such as from a series of elements, + see the *VGET command. + + Most items are stored in the database after they are calculated and are + available anytime thereafter. Items are grouped according to where they + are usually first defined or calculated. Preprocessing data will often + not reflect the calculated values generated from section data. Do not + use *GET to obtain data from elements that use calculated section data, + such as beams or shells. Most of the general items listed below are + available from all modules. Each of the sections for accessing *GET + parameters are shown in the following order: + + *GET General Entity Items + + *GET Preprocessing Entity Items + + *GET Solution Entity Items + + *GET Postprocessing Entity Items + + *GET Probabilistic Design Entity Items + + The *GET command is valid in any processor. """ - command = "ANCNTR, %s, %s, %s" % (str(nfram), str(delay), str(ncycl)) + command = "*GET,%s,%s,%s,%s,%s,%s,%s" % (str(par), str(entity), str(entnum), str(item1), str(it1num), str(item2), str(it2num)) self.RunCommand(command, **kwargs) - def Mlist(self, node1="", node2="", ninc="", **kwargs): + def Catiain(self, name="", extension="", path="", **kwargs): """ - APDL Command: MLIST + APDL Command: ~CATIAIN - Lists the MDOF of freedom. + Transfers a CATIA model into the ANSYS program. Parameters ---------- - node1, node2, ninc - List master degrees of freedom from NODE1 to NODE2 (defaults - toNODE1) in steps of NINC (defaults to 1). If NODE1 = ALL - (default), NODE2 and NINC are ignored and masters 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). + name + The name of a valid CATIA model, created with CATIA 4.x or lower. + The first character of the file name must be an alphanumeric. + Special characters such as & - and * and spaces are not permitted + in the part name. + + extension + The extension for the file. The default extension is .model. + + path + The path name of the directory in which the file resides, enclosed + in single quotes. The default path name is the current working + directory. + + -- + Unused field. + + -- + Unused field. + + blank + Sets whether to import “blanked” entities. + + 0 - Does not import “blanked” (suppressed) CATIA entities (default). + + 1 - Imports “blanked” entities. The portions of CATIA data that were suppressed + will be included in the import. + + -- + Unused field. Notes ----- - Lists the master degrees of freedom. + More information on importing CATIA parts is available in CATIA V4 in + the Connection User's Guide. """ - command = "MLIST, %s, %s, %s" % (str(node1), str(node2), str(ninc)) + command = "~CATIAIN,%s,%s,%s" % (str(name), str(extension), str(path)) self.RunCommand(command, **kwargs) - def Edasmp(self, option="", _asmid="", part1="", part2="", part3="", - part4="", part5="", part6="", part7="", part8="", part9="", - part10="", part11="", part12="", part13="", part14="", - part15="", part16="", **kwargs): + def Cmmod(self, cname="", keyword="", value="", **kwargs): """ - APDL Command: EDASMP + APDL Command: CMMOD - Creates a part assembly to be used in an explicit dynamic analysis. + Modifies the specification of a component. Parameters ---------- - option - Label identifying the part assembly option to be performed. - - ADD - Adds a part assembly (default). - - DELETE - Deletes a part assembly. - - LIST - Lists each part assembly number, and the part numbers that make up each part - assembly. + cname + Name of the existing component or assembly to be modified. - asmid - User defined part assembly ID number. The part assembly number - cannot be the same as any currently defined part ID number. + keyword + The label identifying the type of value to be modified. - part1, part2, part3, . . . , part16 - Part numbers to be included in the assembly (up to 16 different - parts). + value + If Keyword is NAME, then the value is the alphanumeric label to be + applied. See the CM command for naming convention details. If a + component named Value already exists, the command will be ignored + and an error message will be generated. Notes ----- - Several ANSYS LS-DYNA commands (such as EDCGEN, EDPVEL, and EDIS) refer - to assembly ID numbers. If you intend to use assembly ID numbers with - these commands, you must first define the assembly ID numbers using - EDASMP. + The naming conventions for components, as specified in the CM command, + apply for CMMOD (32 characters, “ALL”, “STAT” and “DEFA” are not + allowed, etc.). However, if you choose a component name that is already + designated for another component, an error message will be issued and + the command will be ignored. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "EDASMP, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(_asmid), str(part1), str(part2), str(part3), str(part4), str(part5), str(part6), str(part7), str(part8), str(part9), str(part10), str(part11), str(part12), str(part13), str(part14), str(part15), str(part16)) + command = "CMMOD,%s,%s,%s" % (str(cname), str(keyword), str(value)) self.RunCommand(command, **kwargs) - def Ce(self, neqn="", const="", node1="", lab1="", c1="", node2="", - lab2="", c2="", node3="", lab3="", c3="", **kwargs): + def Inistate(self, action="", val1="", val2="", val3="", val4="", val5="", + val6="", val7="", val8="", val9="", **kwargs): """ - APDL Command: CE + APDL Command: INISTATE - Defines a constraint equation relating degrees of freedom. + Defines initial state data and parameters. Parameters ---------- - neqn - Set equation reference number: - - n - Arbitrary set number. - - HIGH - The highest defined constraint equation number. This option is especially - useful when adding nodes to an existing set. + action + Specifies action for defining or manipulating initial state data: - NEXT - The highest defined constraint equation number plus one. This option - automatically numbers coupled sets so that existing sets are - not modified. + SET - Use Action = SET to designate initial state coordinate system, data type, and + material type parameters. See "Command Specification for + Action = SET". - const - Constant term of equation. + DEFINE - Use Action = DEFINE to specify the actual state values, and the corresponding + element, integration point, or layer information. See + "Command Specifications for Action = DEFINE". - node1 - Node for first term of equation. If -NODE1, this term is deleted - from the equation. + WRITE - Use Action = WRITE to write the initial state values to a file when the SOLVE + command is issued. See "Command Specifications for Action = + WRITE". - lab1 - Degree of freedom label for first term of equation. Structural - labels: UX, UY, or UZ (displacements); ROTX, ROTY, or ROTZ - (rotations, in radians). Thermal labels: TEMP, TBOT, TE2, TE3, . . - ., TTOP (temperature). Electric labels: VOLT (voltage). Magnetic - labels: MAG (scalar magnetic potential); AX, AY, or AZ (vector - magnetic potentials). Diffusion label: CONC (concentration). + READ - Use Action = READ to read the initial state values from a file. See "Command + Specifications for Action = READ". - c1 - Coefficient for first node term of equation. If zero, this term is - ignored. + LIST - Use Action = LIST to read out the initial state data. See "Command + Specifications for Action = LIST". - node2, lab2, c2 - Node, label, and coefficient for second term. + DELETE - Use Action = DELE to delete initial state data from a selected set of elements. + See "Command Specifications for Action = DELETE" - node3, lab3, c3 - Node, label, and coefficient for third term. + val1, val2, ..., val9 + Input values based on the Action type. Notes ----- - Repeat the CE command to add additional terms to the same equation. To - change only the constant term, repeat the command with no node terms - specified. Only the constant term can be changed during solution, and - only with the CECMOD command. - - Linear constraint equations may be used to relate the degrees of - freedom of selected nodes in a more general manner than described for - nodal coupling [CP]. The constraint equation is of the form: - - where U(I) is the degree of freedom (displacement, temperature, etc.) - of term (I). The following example is a set of two constraint - equations, each containing three terms: - - 0.0 = 3.0* (1 UX) + 3.0* (4 UX) + (-2.0)* (4 ROTY) + The INISTATE command is available for current-technology elements. + Initial state supported for a given element is indicated in the + documentation for the element under “Special Features.” - 2.0 = 6.0* (2 UX) + 10.0* (4 UY) + 1.0* (3 UZ) + The command is not for use with kinematic hardening material properties + (TB,BKIN, TB,KINH, TB,PLAS,,,,KINH) or the shape memory alloy material + model (TB,SMA). - The first unique degree of freedom in the equation is eliminated in - terms of all other degrees of freedom in the equation. A unique degree - of freedom is one which is not specified in any other constraint - equation, coupled node set, specified displacement set, or master - degree of freedom set. It is recommended that the first term of the - equation be the degree of freedom to be eliminated. The first term of - the equation cannot contain a master degree of freedom, and no term can - contain coupled degrees of freedom. The same degree of freedom may be - specified in more than one equation but care must be taken to avoid - over-specification (over-constraint). + INISTATE with elastic strain alone is not supported for gasket + materials (TB,GASK) and hyperelastic materials (TB,HYPER, TB,BB, + TB,AHYPER, TB,CDM, TB,EXPE). - The degrees of freedom specified in the equation (i.e., UX, UY, ROTZ, - etc.) must also be included in the model (as determined from the - element types [ET]). Also, each node in the equation must be defined - on an element (any element type containing that degree of freedom will - do). + INISTATE with initial stress alone is not supported for gasket + materials (TB,GASK). - For buckling and modal analyses, the constant term of the equation will - not be taken into account (that is, CONST is always zero). + INISTATE with plastic strain (which must include initial strain or + stress, plastic strain, and accumulated plastic strain) does not + support gasket materials (TB,GASK), porous media (TB,PM), rate- + dependent plasticity (TB,RATE), and viscoplasticity (TB,PRONY, + TB,SHIFT). - Note that under certain circumstances a constraint equation generated - by CE may be modified during the solution. See Program Modification of - Constraint Equations for more information. + For detailed information about using the initial state capability, see + Initial State in the Basic Analysis Guide. """ - command = "CE, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(neqn), str(const), str(node1), str(lab1), str(c1), str(node2), str(lab2), str(c2), str(node3), str(lab3), str(c3)) + command = "INISTATE,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(action), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9)) self.RunCommand(command, **kwargs) - def Outres(self, item="", freq="", cname="", nsvar="", dsubres="", - **kwargs): + def Magopt(self, value="", **kwargs): """ - APDL Command: OUTRES + APDL Command: MAGOPT - Controls the solution data written to the database. + Specifies options for a 3-D magnetostatic field analysis. Parameters ---------- - item - Results item for database and file write control: + value + Option key: - ALL - All solution items except LOCI and SVAR. This behavior is the default. + 0 - Calculate a complete H field solution in the entire domain using a single + (reduced) potential. - CINT - All available results generated by the CINT command + Caution:When used in problems with both current sources and iron regions, errors may result due to numerical cancellation. - 1 - ERASE - Resets OUTRES specifications to their default values. + Calculate and store a preliminary H field in "iron" regions (μr ≠ 1). Requires flux-parallel boundary conditions to be specified on exterior iron boundaries. Used in conjunction with subsequent solutions with VALUE = 2 followed by VALUE = 3. Applicable to multiply-connected iron domain problems. - 2 - STAT - Lists the current OUTRES specifications. + Calculate and store a preliminary H field in "air" regions (μr = 1). The air-iron interface is appropriately treated internally by the program. Used in conjunction with a subsequent solution with VALUE = 3. Applicable to singly-connected iron domain problems (with subsequent solution with VALUE = 3) or to multiply-connected iron domain problems (when preceded by a solution with VALUE = 1 and followed by a solution with VALUE = 3). - 3 - BASIC - Write only NSOL, RSOL, NLOAD, STRS, FGRAD, and FFLUX records to the results - file and database. + Notes + ----- + Specifies the solution sequence options for a 3-D magnetostatic field + analysis using a scalar potential (MAG). The solution sequence is + determined by the nature of the problem. - NSOL - Nodal DOF solution. + You cannot use constraint equations with Value = 1. - RSOL - Nodal reaction loads. + This command is also valid in PREP7. - V - Nodal velocity (applicable to structural full transient analysis only - (ANTYPE,TRANS)). + Distributed ANSYS Restriction: The MAGOPT,3 option is not supported in + Distributed ANSYS when the following contact elements are present in + the model: CONTA173, CONTA174, CONTA175, CONTA176, or CONTA177. - A - Nodal acceleration (applicable to structural full transient analysis only - (ANTYPE,TRANS)). + """ + command = "MAGOPT,%s" % (str(value)) + self.RunCommand(command, **kwargs) - ESOL - Element solution (includes all items following): + def Wrfull(self, ldstep="", **kwargs): + """ + APDL Command: WRFULL - NLOAD - Element nodal, input constraint, and force loads (also used with the /POST1 - commands PRRFOR, NFORCE, and FSUM to calculate reaction - loads). + Stops solution after assembling global matrices. - STRS - Element nodal stresses. + Parameters + ---------- + ldstep + Specify action to take: - EPEL - Element elastic strains. + OFF or 0 - Turn off feature (default) - EPTH - Element thermal, initial, and swelling strains. + N - Turn on feature and set it to stop after assembling the global matrices and + writing the .FULL file for load step N. - EPPL - Element plastic strains. + Notes + ----- + This command is used in conjunction with the SOLVE command to generate + the assembled matrix file (.FULL file) only. The element matrices are + assembled into the relevant global matrices for the particular analysis + being performed and the .FULL file is written. Equation solution and + the output of data to the results file are skipped. To dump the + matrices written on the .FULL file into Harwell-Boeing format, use the + HBMAT command in /AUX2. To copy the matrices to a postscript format + that can be viewed graphically, use the PSMAT command. - EPCR - Element creep strains. + To use the LSSOLVE macro with this command, you may need to modify the + LSSOLVE macro to properly stop at the load step of interest. - EPDI - Element diffusion strains. + This command only valid for linear static, full harmonic, and full + transient analyses when the sparse direct solver is selected. This + command is also valid for buckling or modal analyses with any mode + extraction method. This command is not valid for nonlinear analyses. + It is not supported in a linear perturbation analysis. - FGRAD - Element nodal gradients. + In general, the assembled matrix file .FULL contains stiffness, mass, + and damping matrices. However, the availability of the matrices depends + on the analysis type chosen when the file is written. - FFLUX - Element nodal fluxes. + """ + command = "WRFULL,%s" % (str(ldstep)) + self.RunCommand(command, **kwargs) - LOCI - Integration point locations. + def Nladaptive(self, component="", action="", criterion="", option="", + val1="", val2="", val3="", **kwargs): + """ + APDL Command: NLADAPTIVE - SVAR - State variables (used only by UserMat). + Defines the criteria under which the mesh is refined or modified during + a nonlinear solution. - MISC - Element miscellaneous data (SMISC and NMISC items of the ETABLE command). + Parameters + ---------- + component + Specifies the element component upon which this command should act: - freq - Specifies how often (that is, at which substeps) to write the - specified solution results item. The following values are valid: + ALL - All selected components, or all selected elements if no component is selected + (default). - cname - The name of the component, created with the CM command, defining - the selected set of elements or nodes for which this specification - is active. If blank, the set is all entities. A component name is - not allowed with the ALL, BASIC, or RSOL items. + Name - Component name. - -- - Reserved for future use. + action + The action to perform on the selected component(s): - nsvar - The number of user-defined state variables (TB,STATE) to be written - to the results file. Valid only when Item = SVAR and user-defined - state variables exist. The specified value cannot exceed the total - number of state variables defined; if no value is specified, all - user-defined state variables are written to the results file. This - argument acts on all sets of user-defined state variables that - exist for the model. + ADD - Add a criterion to the database. - dsubres - Specifies whether to write additional results in Jobname.DSUB - during a substructure or CMS use pass in transient or harmonic - analysis. + LIST - List the criteria defined for the specified component(s). - Blank - Write the nodal DOF solution in Jobname.DSUB (default). + DELETE - Delete the criteria defined for the specified component(s). - ALL - In addition to the nodal DOF solution, also write necessary data to compute - quantities using nodal velocity and nodal acceleration - (damping force, inertial force, kinetic energy, etc.) in the - subsequent expansion pass. For more information, see Step 3: - Expansion Pass in the Substructuring Analysis Guide. + ON - Enable the defined criteria for the specified component(s) and specify how + frequently and when to check them (via ON,,,VAL1,VAL2,VAL3): - Notes - ----- - The OUTRES command allows you to specify the following: + VAL1 -- Checking frequency. If > 0, check criteria at every VAL1 substeps. If < 0, check criteria at each of the VAL1 points (approximately equally spaced) between VAL2 and VAL3. (Default = -1.) - VAL2 -- Checking start time, where VAL2 < VAL3. (Default is the start time of + the load step.) - The solution item (Item) to write to the database (and to the reduced - displacement and results files) + VAL3 -- Checking end time, where VAL3 > VAL2. (Default is the end time of the load step.) - OFF - The frequency (Freq) at which the solution item is written (applicable - to static, transient, or full harmonic analyses) + criterion + The type of criterion to apply to the selected component(s): - The set of elements or nodes (Cname) to which your specification - applies. + CONTACT - Contact-based. (Valid only for Action = ADD, Action = LIST, or Action = + DELETE.) - The command generates a specification for controlling data storage for - each substep, activating storage of the specified results item for the - specified substeps of the solution and suppressing storage of that item - for all other substeps. + ENERGY - Energy-based. (Valid only for Action = ADD, Action = LIST, or Action = DELETE.) - You can issue multiple OUTRES commands in an analysis. After the - initial command creating the storage specification, subsequent OUTRES - commands modify the specification set for each substep. The command - processes your specifications at each substep in the order in which you - input them. If you specify a given solution item twice, output is based - upon the last specification. Therefore, issue multiple OUTRES commands - carefully and in the proper sequence. + BOX - A position-based criterion, defined by a box. (Valid only for Action = ADD, + Action = LIST, or Action = DELETE.) - Besides OUTRES, another output-control command named OUTPR exists which - controls solution printout. You can issue up to 50 output-control - commands (either OUTRES or OUTPR, or some combination of both) in an - analysis. + MESH - A mesh-quality-based criterion. (Valid only for Action = LIST, or Action = + DELETE.) - Issuing OUTRES,ERASE erases the existing output specifications and - resets the counted number of OUTRES commands to zero. Issuing - OUTPR,ERASE affects the OUTPR command in the same way. + ALL - All criteria and options. (Valid only for Action = LIST or Action = DELETE. + Option and all subsequent arguments are ignored.) - A given OUTRES command has no effect on results items not specified. - For example, an OUTRES,ESOL,LAST command does not affect NSOL data; - that is, it neither activates nor suppresses NSOL data storage in any - substep. + option + Criterion option to apply to the selected component(s): - Additional results in the Jobname.DSUB file (DSUBres = ALL) can only be - requested in the first load step. + NUMELEM - For target elements only, define the minimum number of contact elements to + contact with each target element. If this criterion is + not satisfied, the program refines the contact elements + and the associated solid elements. For this option, VAL1 + must be a positive integer. (Valid only for Action = + ADD, Action = LIST, or Action = DELETE. ) - Important:: : In the results-item hierarchy, certain items are subsets - of other items. For example, element solution (ESOL) data is a subset - of all (ALL) solution data. An OUTRES,ALL command can therefore affect - ESOL data. Likewise, an OUTRES command that controls ESOL data can - affect a portion of all data. + MEAN - Check the strain energy of any element that is part of the defined component + for the condition Ee ≥ c1 * Etotal / NUME (where c1 = VAL1, + Etotal is the total strain energy of the component, and + NUME is the number of elements of the component). If this + criterion is satisfied at an element, the program refines + the element. For this option, VAL1 must be non-negative and + defaults to 1. (Valid only for Action = ADD, Action = LIST, + or Action = DELETE.) - The example OUTRES commands illustrate the interrelationships between - results items and the necessity of issuing the OUTRES command - thoughtfully. + XYZRANGE - Define the location box in which all elements within are to be split or + refined. Up to six values following the Option argument + (representing the x1, x2, y1, y2, z1, and z2 + coordinates) are allowed. An unspecified coordinate is + not checked. (Valid only for Action = ADD, Action = + LIST, or Action = DELETE.) - To suppress all data at every substep, issue an OUTRES,ALL,NONE - command. (An OUTRES,ERASE command does not suppress all data at every - substep.) + SKEWNESS - Mesh-quality control threshold for element SOLID285. Valid values (VAL1) are + 0.0 through 1.0. Default = 0.9. (Valid only for Action = + ADD, Action = LIST, or Action = DELETE.) - The NSOL, RSOL, V, and A solution items are associated with nodes. All - remaining solution items are associated with elements. + WEAR - This option is valid only for contact elements having surface wear specified + (TB,WEAR). Define VAL1 as a critical ratio of magnitude of + wear to the average depth of the solid element underlying + the contact element. Once this critical ratio is reached for + any element, the program morphs the mesh to improve the + quality of the elements. VAL1 must be a positive integer. + (Valid only for Action = ADD, Action = LIST, or Action = + DELETE.) The WEAR criterion cannot be combined with any + other criterion. - The boundary conditions (constraints and force loads) are written to - the results file only if either nodal or reaction loads (NLOAD or RSOL - items) are also written. + ALL - All options. (Valid only for Action = LIST or Action = DELETE. All subsequent + arguments are ignored.) - When specifying a Freq value, observe the following: + Notes + ----- + If a specified component (Component) is an assembly, the defined + criterion applies to all element components included in the assembly. - For a modal analysis, the only valid values are NONE or ALL. + All components must be defined and selected before the first solve + (SOLVE), although their nonlinear adaptivity criteria can be modified + from load step to load step, and upon restart. For nonlinear adaptivity + to work properly, ensure that all components are selected before each + solve. - If you issue multiple OUTRES commands during an analysis, you cannot - specify a key time array parameter (%array%) in a given OUTRES command - and then specify a different Freq option in a subsequent OUTRES - command. + After using this command to define a new criterion, the new criterion + becomes active and is checked one time during each load step, roughly + in mid-loading (unless this behavior is changed via Action = ON). - For a coupled-field analysis using the ANSYS Multi-field Solver, Freq - cannot be NONE for Item = NSOL or ESOL because interface loads have to - be retrieved from the database. + When a criterion is defined, it overwrites a previously defined + criterion (if one exists) through the same component, or through the + component assembly that includes the specified component. - The OUTRES command is also valid in /PREP7. + During solution, the same criteria defined for an element through + different components are combined, and the tightest criteria and action + control (Action,ON,,,VAL1) are used. If an ON action is defined by a + positive VAL1 value through one component and a negative VAL1 value + through another, the program uses the positive value. + + For Action = ON, if VAL2 (start time) and/or VAL3 (end time) are + unspecified or invalid, the program uses the start and/or end time + (respectively) of the load step. If VAL1 < 0, the program checks VAL1 + points between VAL2 and VAL3. The time interval between each check + points is determined by (VAL3 - VAL2) / (VAL1 + 1), with the first + check point as close to VAL2 + (VAL3 - VAL2) / (VAL1 + 1) as possible. + Fewer check points can be used if the number of substeps during + solution is insufficient (as the program can only check at the end of a + substep). + + Option = SKEWNESS applies to linear tetrahedral element SOLID285 only. + When the skewness of a SOLID285 element is >= the defined value, the + element is used as the core (seed) element of the remeshed region(s). + If this criterion is used together with any other criteria for the same + component, the other criteria defined for the component are ignored. + The most desirable skewness value is 0, applicable when the element is + a standard tetrahedral element; the highest value is 1, applicable when + the element becomes flat with zero volume. For more information about + skewness and remeshing, see Mesh Nonlinear Adaptivity in the Advanced + Analysis Guide. + + For more granular control of the source mesh geometry, see NLMESH. """ - command = "OUTRES, %s, %s, %s, %s, %s" % (str(item), str(freq), str(cname), str(nsvar), str(dsubres)) + command = "NLADAPTIVE,%s,%s,%s,%s,%s,%s,%s" % (str(component), str(action), str(criterion), str(option), str(val1), str(val2), str(val3)) self.RunCommand(command, **kwargs) - def Edcts(self, dtms="", tssfac="", **kwargs): + def Vlscale(self, nv1="", nv2="", ninc="", rx="", ry="", rz="", kinc="", + noelem="", imove="", **kwargs): """ - APDL Command: EDCTS + APDL Command: VLSCALE - Specifies mass scaling and scale factor of computed time step for an - explicit dynamics analysis. + Generates a scaled set of volumes from a pattern of volumes. Parameters ---------- - dtms - Time step size for mass scaled solutions (defaults to 0). - - tssfac - Scale factor for computed time step. Defaults to 0.9; if high - explosives are used, the default is lowered to 0.67. - - Notes - ----- - If DTMS is positive, the same time step size will be used for all - elements and mass scaling will be done for all elements. Therefore, - positive values should only be used if inertial effects are - insignificant. + nv1, nv2, ninc + Set of volumes (NV1 to NV2 in steps of NINC) that defines the + pattern to be scaled. NV2 defaults to NV1, NINC defaults to 1. If + NV1 = ALL, NV2 and NINC are ignored and the pattern is defined by + all selected volumes. If NV1 = 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 NV1 (NV2 and NINC are + ignored). - If DTMS is negative, mass scaling is applied only to elements whose - calculated time step size is smaller than DTMS. Negative values should - only be used in transient analyses if the mass increases are - insignificant. + rx, ry, rz + Scale factors to be applied to the X, Y, and Z keypoint coordinates + in active coordinate system (RR, Rθ, RZ for cylindrical; RR, Rθ, RΦ + for spherical). Note that the Rθ and RΦ scale factors are + interpreted as angular offsets. For example, if CSYS = 1, RX, RY, + RZ input of (1.5,10,3) would scale the specified keypoints 1.5 + times in the radial and 3 times in the Z direction, while adding an + offset of 10 degrees to the keypoints. Zero, blank, or negative + scale factor values are assumed to be 1.0. Zero or blank angular + offsets have no effect. - In order to use mass scaling in an explicit dynamic small restart - analysis (EDSTART,2) or full restart analysis (EDSTART,3), mass scaling - must have been active in the original analysis. The time step and scale - factor used in the original analysis will be used by default in the - restart. You can issue EDCTS in the restart analysis to change these - settings. + kinc + Increment to be applied to keypoint numbers for generated set. If + zero, the lowest available keypoint numbers will be assigned + [NUMSTR]. - This command is also valid in PREP7. + noelem + Specifies whether nodes and elements are also to be generated: - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + 0 - Nodes and elements associated with the original volumes will be generated + (scaled) if they exist. - """ - command = "EDCTS, %s, %s" % (str(dtms), str(tssfac)) - self.RunCommand(command, **kwargs) + 1 - Nodes and elements will not be generated. - def Lsread(self, lsnum="", **kwargs): - """ - APDL Command: LSREAD + imove + Specifies whether volumes will be moved or newly defined: - Reads load and load step option data into the database. + 0 - Additional volumes will be generated. - Parameters - ---------- - lsnum - Identification number of the load step file to be read. Defaults - to 1 + highest number read in the current session. Issue - LSREAD,STAT to list the current value of LSNUM. Issue LSREAD,INIT - to reset LSNUM to 1. The load step files are assumed to be named - Jobname.Sn, where n is a number assigned by the LSWRITE command (01 - --09,10,11, etc.). On systems with a 3-character limit on the - extension, the "S" is dropped for LSNUM > 99. + 1 - Original volumes will be moved to new position (KINC and NOELEM are ignored). + Use only if the old volumes are no longer needed at their + original positions. Corresponding meshed items are also moved + if not needed at their original position. Notes ----- - Reads load and load step option data from the load step file into the - database. LSREAD will not clear the database of all current loads. - However, if a load is respecified with LSREAD, then it will overwrite - the existing load. See the LSWRITE command to write load step files, - and the LSDELE command to delete load step files. LSREAD removes any - existing SFGRAD specification. - - This command is also valid in PREP7. + Generates a scaled set of volumes (and their corresponding keypoints, + lines, areas, and mesh) from a pattern of volumes. The MAT, TYPE, + REAL, and ESYS attributes are based on the volumes in the pattern and + not the current settings. Scaling is done in the active coordinate + system. Volumes in the pattern could have been generated in any + coordinate system. However, solid modeling in a toroidal coordinate + system is not recommended. """ - command = "LSREAD, %s" % (str(lsnum)) + command = "VLSCALE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nv1), str(nv2), str(ninc), str(rx), str(ry), str(rz), str(kinc), str(noelem), str(imove)) self.RunCommand(command, **kwargs) - def Vimp(self, vol="", chgbnd="", implevel="", **kwargs): + def Asbv(self, na="", nv="", sepo="", keepa="", keepv="", **kwargs): """ - APDL Command: VIMP + APDL Command: ASBV - Improves the quality of the tetrahedral elements in the selected - volume(s). + Subtracts volumes from areas. Parameters ---------- - vol - Number of the volume containing the tetrahedral elements to be - improved. If VOL = ALL (default), improve the tetrahedral elements - in all selected volumes. If VOL = 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 VOL. + na + Area (or areas, if picking is used) to be subtracted from. If ALL, + use all selected areas. If P, graphical picking is enabled (valid + only in the GUI) and remaining fields are ignored. A component + name may also be substituted for NA. - chgbnd - Specifies whether to allow boundary modification. Boundary - modification includes such things as changes in the connectivity of - the element faces on the boundary and the addition of boundary - nodes. (Also see "Notes" below for important usage information for - CHGBND.) + nv + Volume (or volumes, if picking is used) to subtract. If ALL, use + all selected volumes. A component name may also be substituted for + NV. - 0 - Do not allow boundary modification. + sepo + Behavior if the intersection of the areas and the volumes is a line + or lines: - 1 - Allow boundary modification (default). + (blank) - The resulting areas will share line(s) where they touch. - implevel - Identifies the level of improvement to be performed on the - elements. (Improvement occurs primarily through the use of face - swapping and node smoothing techniques.) + SEPO - The resulting areas will have separate, but coincident line(s) where they + touch. - 0 - Perform the least amount of swapping/smoothing. + keepa + Specifies whether NA areas are to be deleted: - 1 - Perform an intermediate amount of swapping/smoothing. + (blank) - Use the setting of KEEP on the BOPTN command. - 2 - Perform the greatest amount of swapping/smoothing. + DELETE - Delete NA areas after ASBV operation (override BOPTN command settings). - 3 - Perform the greatest amount of swapping/smoothing, plus additional improvement - techniques (default). + KEEP - Keep NA areas after ASBV operation (override BOPTN command settings). - Notes - ----- - VIMP is useful for further improving a volume mesh created in ANSYS - [VMESH], especially quadratic tetrahedral element meshes. + keepv + Specifies whether NV volumes are to be deleted: - The VIMP command enables you to improve a given tetrahedral mesh by - reducing the number of poorly-shaped tetrahedral elements (in - particular, the number of sliver tetrahedral elements)--as well as the - overall number of elements--in the mesh. It also improves the overall - quality of the mesh. + (blank) - Use the setting of KEEP on the BOPTN command. - Regardless of the value of the CHGBND argument, boundary mid-nodes can - be moved. + DELETE - Delete volumes after ASBV operation (override BOPTN command settings). - When loads or constraints have been placed on boundary nodes or mid- - nodes, and boundary mid-nodes are later moved, ANSYS issues a warning - message to let you know that it will not update the loads or - constraints. + KEEP - Keep volumes after ASBV operation (override BOPTN command settings). - Even when CHGBND = 1, no boundary modification is performed on areas - and lines that are not modifiable (for example, areas that are adjacent - to other volumes or that contain shell elements, or lines that are not - incident on modifiable areas, contain beam elements, or have line - divisions specified for them [LESIZE]). + Notes + ----- + Generates new areas by subtracting the regions common to both NA areas + and NV volumes (the intersection) from the NA areas. The intersection + can be an area(s) or line(s). If the intersection is a line and SEPO + is blank, the NA area is divided at the line and the resulting areas + will be connected, sharing a common line where they touch. If SEPO is + set to SEPO, NA is divided into two unconnected areas with separate + lines where they touch. See Solid Modeling in the Modeling and Meshing + Guide for an illustration. See the BOPTN command for an explanation of + the options available to Boolean operations. Element attributes and + solid model boundary conditions assigned to the original entities will + not be transferred to the new entities generated. """ - command = "VIMP, %s, %s, %s" % (str(vol), str(chgbnd), str(implevel)) + command = "ASBV,%s,%s,%s,%s,%s" % (str(na), str(nv), str(sepo), str(keepa), str(keepv)) self.RunCommand(command, **kwargs) - def Gpdele(self, gap1="", gap2="", ginc="", **kwargs): + def Tbfield(self, type="", value="", **kwargs): """ - APDL Command: GPDELE + APDL Command: TBFIELD - Deletes gap conditions. + Defines values of field variables for material data tables. Parameters ---------- - gap1, gap2, ginc - Delete gap conditions from GAP1 to GAP2 (defaults to GAP1) in steps - of GINC (defaults to 1). + type + Type of field variable: - Notes - ----- - Deletes gap conditions defined with the GP command. Gap conditions - following those deleted are automatically compressed and renumbered. - If used in SOLUTION, this command is valid only within the first load - step. + FREQ - A frequency is to be specified in Value - This command is also valid in PREP7. + TEMP - A temperature is to be specified in Value - """ - command = "GPDELE, %s, %s, %s" % (str(gap1), str(gap2), str(ginc)) - self.RunCommand(command, **kwargs) + TIME - A time is to be specified in Value - def Resvec(self, key="", **kwargs): - """ - APDL Command: RESVEC + NPRES - A normal pressure is to be specified in Value - Calculates or includes residual vectors. + SLDA - A total sliding distance (algebraic) is to be specified in Value - Parameters - ---------- - key - Residual vector key: + SLDI - A total sliding distance (absolute) is to be specified in Value - OFF - Do not calculate or include residual vectors. This option is the default. + SLRV - A sliding velocity is to be specified in Value - ON - Calculate or include residual vectors. + CYCLE - A healing cycle number is to be specified in Value + + UFXX - User-defined field variable (UF01,UF02, ..., UF09) + + value + The field value to be referenced (use this command multiple times + to enter values of different field variables). Notes ----- - In a modal analysis, the RESVEC command calculates residual vectors. In - a mode-superposition transient dynamic, mode-superposition harmonic, - PSD or spectrum analysis, the command includes residual vectors. + Define your data tables as field-variable-dependent (via the + appropriate TB command shown below), then issue the TBFIELD command to + define the field values. - In a component mode synthesis (CMS) generation pass, the RESVEC command - calculates one residual vector which is included in the normal modes - basis used in the transformation matrix. It is supported for the three - available CMS methods. RESVEC,ON can only be specified in the first - load step of a generation pass and is ignored if issued at another load - step. + Define data values in ascending order for all field quantities. If a + field value is to be held constant, define it only once; subsequent + definitions are ignored. - If rigid-body modes exist, pseudo-constraints are required for the - calculation. Issue the D,,,SUPPORT command to specify only the minimum - number of pseudo-constraints necessary to prevent rigid-body motion. + There is no limit on the number of values you can specify. The + specified field value remains active until the next TBFIELD command is + input. - For more information about residual vector formulation, see Residual - Vector Method in the Mechanical APDL Theory Reference. + After you have defined the field value(s), define your data for the + data tables (TBDATA). + + See Understanding Field Variables in the Material Reference for more + information about the interpolation scheme used for field-dependent + material properties. + + See Full Harmonic Analysis in the Structural Analysis Guide for more + information about using TBFIELD with TB,ELASTIC or TB,SDAMP. + + The TBFIELD command supports the following material models (TB,Lab + commands): + + The TEMP value specified on this command corresponds to the average + temperature on the contact surface for contact elements CONTA171, + CONTA172, CONTA173, CONTA174, CONTA175, CONTA176, and CONTA177. For + contact element CONTA178, the TEMP value corresponds to the average + temperature of the nodes. + + The TIME value specified on this command corresponds to the analysis + time specified on the TIME command. + + The algebraic sliding distance (SLDA) specified on this command is the + total sliding distance (the algebraic sum) as reported in the element + output definitions table for the contact elements (for example, TASS + and TASR output items for CONTA174). + + The absolute sliding distance (SLDI) specified on this command is the + total accumulated sliding distance (the absolute sum) as reported in + the element output definitions table for the contact elements (for + example, AASS and AASR output items for CONTA174). + + When used with TB,FRIC, field variables defined by TBFIELD are only + available for isotropic friction (TBOPT = ISO) and orthotropic friction + (TBOPT = ORTHO); they are not available for user-defined friction + (TBOPT = USER). + + See Contact Friction in the Material Reference for more information + about using TBFIELD with TB,FRIC. """ - command = "RESVEC, %s" % (str(key)) + command = "TBFIELD,%s,%s" % (str(type), str(value)) self.RunCommand(command, **kwargs) - def Dump(self, nstrt="", nstop="", **kwargs): + def L2tan(self, nl1="", nl2="", **kwargs): """ - APDL Command: DUMP + APDL Command: L2TAN - Dumps the contents of a binary file. + Generates a line tangent to two lines. Parameters ---------- - nstrt, nstop - Dump file from record NSTRT (defaults to 1) to NSTOP (defaults to - NSTRT). If NSTRT = HEAD, dump only record 1 of the file (NSTOP and - the format specification are ignored). If NSTRT = ALL, dump the - entire file. + nl1 + Number of the first line generated line is tangent to. If + negative, assume P1 (see below) is the second keypoint of the line + instead of the first. If NL1 = P, graphical picking is enabled and + all remaining command fields are ignored (valid only in the GUI). + + nl2 + Number of the second line generated line is tangent to. If + negative, assume P3 is the second keypoint of the line instead of + the first. Notes ----- - Dumps the file named on the AUX2 FILEAUX2 command according the format - specified on the FORM command. + Generates a line (P2-P3) tangent at point P2 to line NL1 (P1-P2) and + tangent at point P3 to line NL2 (P3-P4). """ - command = "DUMP, %s, %s" % (str(nstrt), str(nstop)) + command = "L2TAN,%s,%s" % (str(nl1), str(nl2)) self.RunCommand(command, **kwargs) - def Bstq(self, val1="", val2="", t="", **kwargs): + def Pdshis(self, rlab="", name="", type="", conf="", **kwargs): """ - APDL Command: BSTQ + APDL Command: PDSHIS - Specifies the cross section twist and torque relationship for beam - sections. + Plots the sample history values. Parameters ---------- - val1 - Twist component (χ). + rlab + Result set label. Identifies the result set to be used for + postprocessing. A result set label can be the solution set label + you defined in a PDEXE command, or the response surface set label + defined in an RSFIT command. - val2 - Torque component (τ). + name + Parameter name. The parameter must have been previously defined as + a random input variable or a random output parameter using the + PDVAR command. - t - Temperature. + type + Keyword to identify which type of data is to be plotted: - Notes - ----- - The behavior of beam elements is governed by the generalized- - stress/generalized-strain relationship of the form: + SAMP - Sampled values (default). - The BSTQ command, one of several nonlinear general beam section - commands, specifies the cross section twist and torque relationship for - a beam section. The section data defined is associated with the section - most recently defined (via the SECTYPE command). + MEAN - Mean values for results based on Monte Carlo simulation methods only. - Unspecified values default to zero. + STDV - Standard deviations for results based on Monte Carlo simulation methods only. - Related commands are BSAX, BSM1, BSM2, BSS1, BSS2, BSMD, and BSTE. + MIN - Minimum values for results based on Monte Carlo simulation methods only. - For complete information, see Using Nonlinear General Beam Sections. + MAX - Maximum values for results based on Monte Carlo simulation methods only. + + conf + Confidence level. The confidence level is used to plot confidence + bounds for the history value. The value for the confidence level + must be between 0.0 and 1.0 and it defaults to 0.95 (95%). + Confidence bound(s) plotting is suppressed for CONF 0.5. This + option is ignored for Type = SAMP (no confidence bounds are + plotted). + + Notes + ----- + Plots the sample history values as a function of the number of + simulation loops. + + If Rlab is left blank, then the result set label is inherited from the + last PDEXE command (Slab), RSFIT command (RSlab), or the most recently + used PDS postprocessing command where a result set label was explicitly + specified. + + The confidence level is a probability expressing the confidence that + the value for the requested probability is in fact between the + confidence bounds. The larger the confidence level, the wider the + confidence bounds. For Type = MEAN and Type = STDV, lower and upper + confidence curves are plotted. For Type = MEAN, the mean value curve + starts at the first simulation and the confidence bounds start with + simulation number 2. For Type = MIN only the upper confidence bound is + shown (the interpretation is that by a certain probability the true + minimum value is below this curve). This probability (or confidence) is + set using CONF. Likewise, for Type = MAX, only the lower confidence + bound is shown. For all Type options, confidence curves are plotted + starting with the simulation at which enough data is available to + calculate the bounds. However, for scaling reasons, no confidence + bounds are plotted for simulation numbers 1 to 5 even if they might be + available. """ - command = "BSTQ, %s, %s, %s" % (str(val1), str(val2), str(t)) + command = "PDSHIS,%s,%s,%s,%s" % (str(rlab), str(name), str(type), str(conf)) self.RunCommand(command, **kwargs) - def Mmass(self, option="", zpa="", **kwargs): + def Wfront(self, kprnt="", kcalc="", **kwargs): """ - APDL Command: MMASS + APDL Command: WFRONT - Specifies the missing mass response calculation. + Estimates wavefront statistics. Parameters ---------- - option - Flag to activate or deactivate missing mass response calculation. - - 0 (OFF or NO) - Deactivate (default). - - 1 (ON or YES) - Activate. - - zpa - Zero Period Acceleration Value. If a scale factor FACT is defined - on the SVTYP command, it is applied to this value. + kprnt + Wavefront history print key: - Notes - ----- - The missing mass calculation is valid only for single point excitation - response spectrum analysis (SPOPT, SPRS) and for multiple point - response spectrum analysis (SPOPT, MPRS) performed with base excitation - using acceleration response spectrum loading. Missing mass is supported - in a spectrum analysis only when the preceding modal analysis is - performed with the Block Lanczos, PCG Lanczos, Supernode, or Subspace - eigensolver (Method =LANB, LANPCG, SNODE, or SUBSP on the MODOPT - command). + 0 - Print current wavefront statistics. - The velocity solution is not available (Label = VELO on the combination - command: SRSS, CQC...) when the missing mass calculation is activated. + 1 - Print current wavefront statistics but also print wavefront history (wavefront + at each element). Elements are listed in the reordered + sequence. - The missing mass calculation is not supported when the spectrum - analysis is based on a linear perturbation modal analysis performed - after a nonlinear base analysis. + kcalc + Calculation options: - The missing mass is not supported when superelements are present. + 0 - Wavefront estimate assumes maximum model DOF set at each node and does not + include the effects of master degrees of freedom and specified + displacement constraints. - To take into account the contribution of the truncated modes, the - residual vector (RESVEC) can be used in place of the missing mass - response. This is of particular interest if the velocity solution is - requested or if a nonlinear prestress is included in the analysis - (linear perturbation), or if a superelement is present, since the - missing mass cannot be used in these cases. + 1 - Wavefront estimate uses the actual DOF set at each node and does not include + the effects of master degrees of freedom and specified + displacement constraints. More time consuming than estimated + wavefront. KPRNT = 1 is not available with this option. - In a multiple point response spectrum analysis (SPOPT,MPRS), the MMASS - command must precede the participation factor calculation command - (PFACT). + Notes + ----- + Estimates wavefront statistics of the model as currently ordered. - This command is also valid in PREP7. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "MMASS, %s, %s" % (str(option), str(zpa)) + command = "WFRONT,%s,%s" % (str(kprnt), str(kcalc)) self.RunCommand(command, **kwargs) - def Fesurf(self, **kwargs): + def Emf(self, **kwargs): """ - APDL Command: FESURF + APDL Command: EMF - Specifies "Surface loads on elements" as the subsequent status topic. + Calculates the electromotive force (emf), or voltage drop along a + predefined path. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + EMF invokes an ANSYS macro which calculates the electromotive force + (emf), or voltage drop along a predefined path (specified with the PATH + command). It is valid for both 2-D and 3-D electric field analysis or + high-frequency electromagnetic field analysis. The calculated emf value + is stored in the parameter EMF. - If entered directly into the program, the STAT command should - immediately follow this command. + You must define a line path (via the PATH command) before issuing the + EMF command macro. The macro uses calculated values of the electric + field (EF), and uses path operations for the calculations. All path + items are cleared when the macro finishes executing. + + The EMF macro sets the "ACCURATE" mapping method and "MAT" + discontinuity option on the PMAP command. The ANSYS program retains + these settings after executing the macro. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "FESURF, " % () + command = "EMF," % () self.RunCommand(command, **kwargs) - def Amesh(self, na1="", na2="", ninc="", **kwargs): + def Starexit(self, **kwargs): """ - APDL Command: AMESH - - Generates nodes and area elements within areas. + APDL Command: *EXIT - Parameters - ---------- - na1, na2, ninc - Mesh areas from NA1 to NA2 (defaults to NA1) in steps of NINC - (defaults to 1). If NA1 = ALL, NA2 and NINC are ignored and all - selected areas [ASEL] are meshed. If NA1 = P, graphical picking is - enabled and all remaining arguments are ignored (valid only in the - GUI). A component name may also be substituted for NA1 (NA2 and - NINC are ignored). + Exits a do-loop. Notes ----- - Any undefined nodes required for the generated elements are created and - assigned the lowest available numbers. + The command following the *ENDDO is executed next. The exit option may + also be conditional [Use the *IF]. The *EXIT command must appear on + the same file as the *DO command. - This command is also valid for rezoning. + This command is valid in any processor. """ - command = "AMESH, %s, %s, %s" % (str(na1), str(na2), str(ninc)) + command = "*EXIT," % () self.RunCommand(command, **kwargs) - def Aremesh(self, lcomb="", angle="", **kwargs): + def Layplot(self, iel="", layr1="", layr2="", **kwargs): """ - APDL Command: AREMESH + APDL Command: LAYPLOT - Generates an area in which to create a new mesh for rezoning. + Displays the layer stacking sequence for layered elements. Parameters ---------- - lcomb - Specifies how to combine adjacent line segments: - -  0 - Line segments combined by connecting ends to ends. This value is the default. - - -1 - No line segments combined. + iel + Element number for the display. If blank and the current element + type is a layered element type, display data from the current real + constant table. - angle - The maximum angle (in degrees) allowed for connecting two line - segments together. The default value is 30. This value is valid - only when LCOMB = 0. + layr1, layr2 + Range of layer numbers to be displayed. If LAYR1 is greater than + LAYR2, a reversed order display is produced. Up to 20 layers may + be displayed at a time. LAYR1 defaults to 1. LAYR2 defaults to + LAYR1 if LAYR1 is input or to the number of layers (or to 19+LAYR1, + if smaller) if LAYR1 is not input. Notes ----- - Issue the AREMESH command after issuing a REMESH,START command and - before issuing a REMESH,FINISH command. + Displays the layer-stacking sequence as defined in the real constant + table for layered shell and solid elements in a form where the layers + are visible (like a sheared deck of cards). - The AREMESH command cannot account for an open area (or “hole”) inside - a completely enclosed region. Instead, try meshing around an open area - by selecting two adjoining regions; for more information, see Hints for - Remeshing Multiple Regions . + The element x-axis is shown as 0.0 degrees. + + Layers are cross-hatched and color-coded for clarity. The hatch lines + indicate the layer angle (real constant THETA) and the color coding is + for material identification (real constant MAT). + + The actual orientation of a specific layer in three-dimensional space + can be seen using /PSYMB,LAYR. To use /PSYMB,LAYR with smeared + reinforcing elements (REINF265), first set the vector-mode graphics + option (/DEVICE,VECTOR,1). + + Layer thickness can be displayed using the /ESHAPE and EPLOT commands. + + This command is valid in any processor. """ - command = "AREMESH, %s, %s" % (str(lcomb), str(angle)) + command = "LAYPLOT,%s,%s,%s" % (str(iel), str(layr1), str(layr2)) self.RunCommand(command, **kwargs) - def Presol(self, item="", comp="", **kwargs): + def Number(self, nkey="", **kwargs): """ - APDL Command: PRESOL + APDL Command: /NUMBER - Prints the solution results for elements. + Specifies whether numbers, colors, or both are used for displays. Parameters ---------- - item - Label identifying the item. Valid item labels are shown in Table - 224: PRESOL - Valid Item and Component Labels for Element Results - below. Some items also require a component label. - - comp - Component of the item (if required). Valid component labels are - shown in Table 224: PRESOL - Valid Item and Component Labels for - Element Results below. - - Notes - ----- - Prints the solution results for the selected elements in the sorted - sequence. For example, PRESOL,S prints the stress items SX, SY, SZ, - SXY, SYZ, and SXZ for the node locations of the element. Component - results are in the global Cartesian coordinate directions unless - transformed (RSYS). + nkey + Numbering style: - Shell elements print values at the top, then bottom of the element (or - layer). If KEYOPT(8) = 2 (for SHELL181, SHELL208, SHELL209, SHELL281, - or ELBOW290), the results are printed in the order TOP, BOT and then - MID of each element, (or layer). The MID value will be the actual value - as written to the results file. +  0  - Color (terminal dependent) the numbered items and show numbers. - Items are listed as columns of a table versus element number. An - exception occurs for item ELEM which uses an element format (all - applicable line element results are listed per element) instead of a - tabular format. +  1  - Color the numbered items. Do not show the numbers. - The FORCE command can be used to define which component of the nodal - load is to be used (static, damping, inertia, or total). See the - ETABLE and PRETAB commands for printing items not available through - this command (such as line element results). +  2  - Show the numbers. Do not color the items. - For PowerGraphics [/GRAPHICS,POWER], results are listed only for the - element surface. The items marked with [1] are not supported by - PowerGraphics. + -1  - Do not color the items or show the numbers. For contour plots, the resulting + display will vary (see below). - Table: 224:: : PRESOL - Valid Item and Component Labels for Element - Results + Notes + ----- + Specifies whether numbers, colors, or both are used for numbering + displays [/PNUM] of nodes, elements, keypoints, lines, areas, and + volumes. - Failure criteria for virgin material [1][2]. + Shading is also available for terminals configured with more than 4 + color planes [/SHOW]. Color automatically appears for certain items + and may be manually controlled (off or on) for other items. - Default components: Maximum of all failure criteria defined at current - location (MAX), maximum strain (EMAX), maximum stress (SMAX), Tsai-Wu - Strength Index (TWSI), inverse of Tsai-Wu Strength Ratio Index (TWSR). + When you suppress color (NKEY = -1) your contour plots will produce + different results, depending on your graphics equipment. For non-3-D + devices (X11, Win32, etc.) your contour plot will be white (no color). + For 3-D devices, such as OpenGL, the resulting display will be in + color. - Other available components: Hashin Fiber Failure (HFIB), Hashin Matrix - Failure (HMAT), Puck Fiber Failure (PFIB), Puck Matrix Failure (PMAT), - LaRc03 Fiber Failure (L3FB), LaRc03 Matrix Failure (L3MT), LaRc04 - Fiber Failure (L4FB), LaRc04 Matrix Failure (L4MT), and any user- - defined failure criteria (USR1 through USR9) [4]. + The following items are automatically given discrete colors: Boundary + condition symbols [/PBC], curves on graph displays, and distorted + geometry on postprocessing displays. Contour lines in postprocessing + displays are automatically colored based upon a continuous, rather than + a discrete, spectrum so that red is associated with the highest contour + value. On terminals with raster capability [/SHOW], the area between + contour lines is filled with the color of the higher contour. - Issue the FCTYP command to activate or remove failure criteria. + Explicit entity colors or the discrete color mapping may be changed + with the /COLOR command. - Failure criteria based on the effective stresses in the damaged - material. + This command is valid in any processor. - Components: Maximum of all failure criteria defined at current location - (MAX), fiber tensile failure (FT), fiber compressive failure (FC), - matrix tensile failure (MT), and matrix compressive (MC). + """ + command = "/NUMBER,%s" % (str(nkey)) + self.RunCommand(command, **kwargs) - Progressive damage parameters. + def Clocal(self, kcn="", kcs="", xl="", yl="", zl="", thxy="", thyz="", + thzx="", par1="", par2="", **kwargs): + """ + APDL Command: CLOCAL - Components: Damage status (STAT, 0 - undamaged, 1 - damaged, 2 - - complete damage), fiber tensile damage variable (FT), fiber compressive - damage variable (FC), matrix tensile damage variable (MT), matrix - compressive damage variable (MC), shear damage variable (S), energy - dissipated per unit volume (SED), energy per unit volume due to viscous - damping (SEDV). + Defines a local coordinate system relative to the active coordinate + system. - Not supported by PowerGraphics + Parameters + ---------- + kcn + Arbitrary reference number assigned to this coordinate system. + Must be greater than 10. A coordinate system previously defined + with this number will be redefined. - Works only if failure criteria information is provided. (For more - information, see the documentation for the FC and TB commands.) + kcs + Coordinate system type: - Some element- and material-type limitations apply. (For more - information, see the documentation for the PRERR command.) + 0 or CART - Cartesian - Works only if user failure criteria routine is provided. + 1 or CYLIN - Cylindrical (circular or elliptical) - Do not use the PRESOL command to obtain contact forces for contact - elements. The force values reported by this command may not be accurate - for these elements. Instead, use the ETABLE command to obtain contact - force values. + 2 or SPHE - Spherical (or spheroidal) - """ - command = "PRESOL, %s, %s" % (str(item), str(comp)) - self.RunCommand(command, **kwargs) + 3 or TORO - Toroidal - def Secwrite(self, fname="", ext="", elem_type="", **kwargs): - """ - APDL Command: SECWRITE + xl, yl, zl + Location (in the active coordinate system) of the origin of the new + coordinate system (R, θ, Z for cylindrical, R, θ,Φ for spherical or + toroidal). - Creates an ASCII file containing user mesh section information. + thxy + First rotation about local Z (positive X toward Y). - Parameters - ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + thyz + Second rotation about local X (positive Y toward Z). - ext - Filename extension (eight-character maximum). + thzx + Third rotation about local Y (positive Z toward X). - -- - Unused field. + par1 + Used for elliptical, spheroidal, or toroidal systems. If KCS = 1 + or 2, PAR1 is the ratio of the ellipse Y-axis radius to X-axis + radius (defaults to 1.0 (circle)). If KCS = 3, PAR1 is the major + radius of the torus. - elem_type - Element type attribute pointer (ET) for the elements that are part - of the section. See SECREAD for a detailed description. + par2 + Used for spheroidal systems. If KCS = 2, PAR2 = ratio of ellipse + Z-axis radius to X-axis radius (defaults to 1.0 (circle)). Notes ----- - Before creating a user mesh file, first create a model using 2-D - meshing. Use PLANE183 or MESH200 with KEYOPT(1) = 7 (quadrilateral with - 8 nodes option) to model the cells. SECWRITE creates an ASCII file - that contains information about the nodes and cells that describe a - beam section. For detailed information on how to create a user mesh - file, see Creating Custom Cross Sections with a User-defined Mesh in - the Structural Analysis Guide. + Defines and activates a local coordinate system by origin location and + orientation angles relative to the active coordinate system. This + local system becomes the active coordinate system, and is automatically + aligned with the active system (i.e., x is radial if a cylindrical + system is active, etc.). Nonzero rotation angles (degrees) are + relative to this automatic rotation. See the CS, CSKP, CSWPLA, and + LOCAL commands for alternate definitions. Local coordinate systems may + be displayed with the /PSYMB command. + + This command is valid in any processor. """ - command = "SECWRITE, %s, %s, %s" % (str(fname), str(ext), str(elem_type)) + command = "CLOCAL,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(kcn), str(kcs), str(xl), str(yl), str(zl), str(thxy), str(thyz), str(thzx), str(par1), str(par2)) self.RunCommand(command, **kwargs) - def Sucalc(self, rsetname="", lab1="", oper="", lab2="", fact1="", - fact2="", const="", **kwargs): + def Asbl(self, na="", nl="", keepa="", keepl="", **kwargs): """ - APDL Command: SUCALC + APDL Command: ASBL - Create new result data by operating on two existing result data sets on - a given surface. + Subtracts lines from areas. Parameters ---------- - rsetname - Eight character name for new result data. - - lab1 - First result data upon which to operate. - - oper - Mathematical operation to perform. + na + Area (or areas, if picking is used) to be subtracted from. If ALL, + use all selected areas. If P, graphical picking is enabled (valid + only in the GUI) and remaining fields are ignored. A component + name may also be substituted for NA. - ADD - (lab1 + lab2 + const) + nl + Line (or lines, if picking is used) to subtract. If ALL, use all + selected lines. A component name may also be substituted for NL. - SUB - (lab1 - lab2 + const) + -- + Unused field. - MULT - (lab1 * lab2 + const) + keepa + Specifies whether NA areas are to be deleted: - DIV - (lab1 / lab2 + const) + (blank) - Use the setting of KEEP on the BOPTN command. - EXP - (lab1 ^ fact1 + lab2 ^ fact2 + const) + DELETE - Delete NA areas after ASBL operation (override BOPTN command settings). - COS - (cos (lab1) + const) + KEEP - Keep NA areas after ASBL operation (override BOPTN command settings). - SIN - (sin (lab1) + const) + keepl + Specifies whether NL lines are to be deleted: - ACOS - (acos (lab1) + const) + (blank) - Use the setting of KEEP on the BOPTN command. - ASIN - (asin (lab1) + const) + DELETE - Delete NL lines after ASBL operation (override BOPTN command settings). - ATAN - (atan (lab1) + const) + KEEP - Keep NL lines after ASBL operation (override BOPTN command settings). - ATA2 - (atan2 (lab1 / lab2) + const) + Notes + ----- + Generates new areas by subtracting the regions common to both the areas + and lines (the intersection) from the NA areas. The intersection will + be a line(s). See Solid Modeling in the Modeling and Meshing Guide for + an illustration. See the BOPTN command for an explanation of the + options available to Boolean operations. Element attributes and solid + model boundary conditions assigned to the original entities will not be + transferred to the new entities generated. - LOG - (log (lab1) + const) + """ + command = "ASBL,%s,%s,%s,%s" % (str(na), str(nl), str(keepa), str(keepl)) + self.RunCommand(command, **kwargs) - ABS - (abs (lab1) + const) + def Kscale(self, kinc="", np1="", np2="", ninc="", rx="", ry="", rz="", + **kwargs): + """ + APDL Command: KSCALE - ZERO - (0 + const) + Generates a scaled pattern of keypoints from a given keypoint pattern. - lab2 - Second result data upon which to operate. + Parameters + ---------- + kinc + Do this scaling operation one time, incrementing all keypoints in + the given pattern by KINC. If KINC = 0, keypoints will be + redefined at the scaled locations. - fact1 - First scaling factor (for EXP option only). + np1, np2, ninc + Scale keypoints from pattern beginning with NP1 to NP2 (defaults to + NP1) in steps of NINC (defaults to 1). If NP1 = ALL, NP2 and NINC + are ignored and pattern is all selected keypoints [KSEL]. If NP1 = + 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 NP1 (NP2 and NINC are ignored). - fact2 - Second scaling factor (for EXP option only). + rx, ry, rz + Scale factor ratios. Scaling is relative to the origin of the + active coordinate system (RR, Rθ, RZ for cylindrical, RR, Rθ, RΦ + for spherical). If > 1.0, pattern is enlarged. If < 1.0, pattern + is reduced. Ratios each default to 1.0. - const - Constant added to the values in the resulting data. + Notes + ----- + Generates a scaled pattern of keypoints from a given keypoint pattern. + Scaling is done in the active coordinate system (see analogous node + scaling [NSCALE]). Solid modeling in a toroidal coordinate system is + not recommended. """ - command = "SUCALC, %s, %s, %s, %s, %s, %s, %s" % (str(rsetname), str(lab1), str(oper), str(lab2), str(fact1), str(fact2), str(const)) + command = "KSCALE,%s,%s,%s,%s,%s,%s,%s" % (str(kinc), str(np1), str(np2), str(ninc), str(rx), str(ry), str(rz)) self.RunCommand(command, **kwargs) - def Lspec(self, lcolor="", linstl="", xlnwid="", **kwargs): + def Cs(self, kcn="", kcs="", norig="", nxax="", nxypl="", par1="", par2="", + **kwargs): """ - APDL Command: /LSPEC + APDL Command: CS - Specifies annotation line attributes (GUI). + Defines a local coordinate system by three node locations. Parameters ---------- - lcolor - Line color: + kcn + Arbitrary reference number assigned to this coordinate system. + Must be greater than 10. A coordinate system previously defined + with this number will be redefined. - 0 - Black + kcs + Coordinate system type: - 1 - Red-Magenta + 0 or CART - Cartesian - 2 - Magenta + 1 or CYLIN - Cylindrical (circular or elliptical) - 3 - Blue-Magenta + 2 or SPHE - Spherical (or spheroidal) - 4 - Blue + 3 or TORO - Toroidal - 5 - Cyan-Blue + norig + Node defining the origin of this coordinate system. If NORIG = P, + graphical picking is enabled and all remaining command fields are + ignored (valid only in the GUI). - 6 - Cyan + nxax + Node defining the positive x-axis orientation of this coordinate + system. - 7 - Green-Cyan + nxypl + Node defining the x-y plane (with NORIG and NXAX) in the first or + second quadrant of this coordinate system. - 8 - Green + par1 + Used for elliptical, spheroidal, or toroidal systems. If KCS = 1 + or 2, PAR1 is the ratio of the ellipse Y-axis radius to X-axis + radius (defaults to 1.0 (circle)). If KCS = 3, PAR1 is the major + radius of the torus. - 9 - Yellow-Green + par2 + Used for spheroidal systems. If KCS = 2, PAR2 = ratio of ellipse + Z-axis radius to X-axis radius (defaults to 1.0 (circle)). - 10 - Yellow + Notes + ----- + Defines and activates a local right-handed coordinate system by + specifying three existing nodes: to locate the origin, to locate the + positive x-axis, and to define the positive x-y plane. This local + system becomes the active coordinate system. See the CLOCAL, CSKP, + CSWPLA, and LOCAL commands for alternate definitions. Local coordinate + systems may be displayed with the /PSYMB command. - 11 - Orange + This command is valid in any processor. - 12 - Red + """ + command = "CS,%s,%s,%s,%s,%s,%s,%s" % (str(kcn), str(kcs), str(norig), str(nxax), str(nxypl), str(par1), str(par2)) + self.RunCommand(command, **kwargs) - 13 - Dark Gray + def Mfmap(self, lab1="", lab2="", filename="", opt="", **kwargs): + """ + APDL Command: MFMAP - 14 - Light Gray + Calculates, saves, resumes, or deletes mapping data in an ANSYS Multi- + field solver analysis. - 15 - White + Parameters + ---------- + lab1 + Operation label: - linstl - Line style: + CALC - Calculate mapping data and keep it in memory (default). - 0 - Solid line. + SAVE - Calculate mapping data, keep it in memory, and save it to a file. (If + MFMAP,CALC or MFMAP,RESU have been issued, just save it to + a file.) - 1 - Dashed line. + RESU - Resume the mapping from a file and keep it in memory. - xlnwid - Line width multiplier (1.0 to 20.0). Defaults to 1.0. + DELE - Free the mapping memory. + + lab2 + Applicable mapping label: + + ALL - Surface and volumetric mapping. + + SURF - Surface mapping only. + + VOLU - Volumetric mapping only. + + filename + The file name for a mapping data file (filename.sur for surface + mapping and filename.vol for volumetric mapping). Defaults to + Jobname. Applies to the commands MFMAP,SAVE and MFMAP,RESU only. + + opt + File format: + + BINA - Binary file (default). + + ASCI - ASCII file. Notes ----- - Specifies annotation line attributes to control certain characteristics - of the lines created via the /LINE, /LARC, /LSYMBOL, /POLYGON, /PMORE, - /PCIRCLE, and /PWEDGE commands. This is a command generated by the - Graphical User Interface (GUI) and will appear in the log file - (Jobname.LOG) if annotation is used. This command is not intended to - be typed in directly in an ANSYS session (although it can be included - in an input file for batch input or for use with the /INPUT command). + This command calculates, saves, resumes, or deletes mapping data. It + defaults to calculating the mapping data. If MFMAP has not been + previously issued, the mapping data will be automatically calculated + during the solution process. On the other hand, the ANSYS Multi-field + solver will use previously created mapping data. Resumed mapping files + must have load transfer specifications that are consistent with those + of the current MFSURFACE and MFVOLUME commands and the ANSYS database. - This command is valid in any processor. + This command is also valid in PREP7. + + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/LSPEC, %s, %s, %s" % (str(lcolor), str(linstl), str(xlnwid)) + command = "MFMAP,%s,%s,%s,%s" % (str(lab1), str(lab2), str(filename), str(opt)) self.RunCommand(command, **kwargs) - def Susave(self, lab="", fname="", fext="", fdir="", **kwargs): + def Gcolumn(self, curve="", string="", **kwargs): """ - APDL Command: SUSAVE + APDL Command: /GCOLUMN - Saves surface definitions to a file. + Allows the user to apply a label to a specified curve. Parameters ---------- - lab - Eight-character surface name. - - fname - File name and directory path (248 character maximum, including - directory). If you do not specify a directory path, the default is - your working directory and you can use all 248 characters for the - file name. The file name defaults to the jobname. - - fext - File name extension (eight-character maximum). The extension - defaults to “surf”. + curve + Curve number on which label will be applied (integer value between + 1 and 10). - fdir - Optional path specification. + string + Name or designation that will be applied to the curve (8 characters + max). Notes ----- - The SUSAVE command saves surface definitions (geometry - information)--and any result items mapped onto the surfaces--to a file. - - Issuing the SUSAVE command has no effect on the database. The database - remains unchanged. - - Subsequent executions of the SUSAVE command overwrite previous data in - the file. - - To read the contents of the file created via the SUSAVE command, issue - the SURESU command. + This command is used for an array parameter plot (a plot created by the + *VPLOT command). Normally the label for curve 1 is "COL 1", the label + for curve 2 is "COL 2" and so on; the column number is the field + containing the dependent variables for that particular curve. Issuing + /GCOLUMN,CURVE, with no string value specified resets the label to the + original value. """ - command = "SUSAVE, %s, %s, %s, %s" % (str(lab), str(fname), str(fext), str(fdir)) + command = "/GCOLUMN,%s,%s" % (str(curve), str(string)) self.RunCommand(command, **kwargs) - def Plcint(self, action="", id="", node="", cont="", dtype="", **kwargs): + def Mfclear(self, option="", value="", **kwargs): """ - APDL Command: PLCINT + APDL Command: MFCLEAR - Plots the fracture parameter (CINT) result data. + Deletes ANSYS Multi-field solver analysis settings. Parameters ---------- - action - PATH - - PATH - Plots CINT quantities according to path number (default). - - FRONT - Plots CINT quantities distribution along the crack front. + option + SOLU - id - Crack ID number. + SOLU - Resets all ANSYS solution commands except KBC to their default states. This + option clears analysis options when setting up different + fields for an ANSYS Multi-field solver analysis. - node - Crack tip node number (default = ALL). + FIELD - Deletes all ANSYS Multi-field solver specifications for the specified field + number. - cont - Contour number (Default = ALL). + SINT - Deletes all ANSYS Multi-field solver specifications for the specified surface + interface number. - dtype - Data type to output: + VINT - Deletes all ANSYS Multi-field solver specifications for the volumetric + interface number. - JINT - J-integral (default) + ORD - Deletes the analysis order specified by the MFORDER command. - IIN1 - Interaction integral 1 + EXT - Deletes external fields specified by the MFEXTER command - IIN2 - Interaction integral 2 + MFLC - Deletes load transfers specified by the MFLCOMM command - IIN3 - Interaction integral 3 + value + Use only for Option = FIELD, SINT, or VINT. - K1 - Mode 1 stress-intensity factor + Notes + ----- + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. - K2 - Mode 2 stress-intensity factor + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - K3 - Mode 3 stress-intensity factor + """ + command = "MFCLEAR,%s,%s" % (str(option), str(value)) + self.RunCommand(command, **kwargs) - G1 - Mode 1 energy release rate + def Rmore(self, r7="", r8="", r9="", r10="", r11="", r12="", **kwargs): + """ + APDL Command: RMORE - G2 - Mode 2 energy release rate + Adds real constants to a set. - G3 - Mode 3 energy release rate + Parameters + ---------- + r7, r8, r9, . . . , r12 + Add real constants 7 to 12 (numerical values or table names) to the + most recently defined set. - GT - Total energy release rate + Notes + ----- + Adds six more real constants to the most recently defined set. Repeat + the RMORE command for constants 13 to 18, again for 19-24, etc. - MFTX - Total material force X + If using table inputs (SURF151, SURF152, FLUID116, CONTA171, CONTA172, + CONTA173, CONTA174, and CONTA175 only), enclose the table name in % + signs (e.g., %tabname%). - MFTY - Total material force Y + When copying real constants to new sets, ANSYS, Inc. recommends that + you use the command input. If you do use the GUI, restrict the real + constant copy to only the first six real constants (real constants + seven and greater will be incorrect for both the master and copy set). - MFTZ - Total material force Z + This command is also valid in SOLUTION. - TSTRESS - T-stress + """ + command = "RMORE,%s,%s,%s,%s,%s,%s" % (str(r7), str(r8), str(r9), str(r10), str(r11), str(r12)) + self.RunCommand(command, **kwargs) - CEXT - Crack extension + def Werase(self, **kwargs): + """ + APDL Command: WERASE - CSTAR - C*-integral + Erases all reordering wave lists. Notes ----- - The PLCINT command is not available for XFEM-based crack growth - analyses results processing. + The REORDER then STAT commands will display the current wave lists. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "PLCINT, %s, %s, %s, %s, %s" % (str(action), str(id), str(node), str(cont), str(dtype)) + command = "WERASE," % () self.RunCommand(command, **kwargs) - def Cgrow(self, action="", par1="", par2="", **kwargs): + def Spower(self, inletport="", outletport="", **kwargs): """ - APDL Command: CGROW + APDL Command: SPOWER - Defines crack-growth information + Calculates sound power parameters. Parameters ---------- - action - Specifies the action for defining or manipulating crack-growth - data: + inletport + Inlet source port number. - NEW - Initiate a new set of crack-growth simulation data (default). + outletport + Outlet port number. - CID - Specify the crack-calculation (CINT) ID for energy-release rates to be used in - the fracture criterion calculation. + Notes + ----- + The SPOWER command calculates the input sound power level, reflected + sound power level, return loss, and absorption coefficient for an inlet + port. - FCOPTION - Specify the fracture criterion for crack-growth/delamination. + If a matched outlet port is defined, the command also calculates the + transmission loss. - CPATH - Specify the element component for crack growth. + The sound power parameters are output to the file + jobname%ARG1%%ARG2%.anp (where n = 1 or 2). - DTIME - Specify the initial time step for crack growth. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - DTMIN - Specify the minimum time step for crack growth. + """ + command = "SPOWER,%s,%s" % (str(inletport), str(outletport)) + self.RunCommand(command, **kwargs) - DTMAX - Specify the maximum time step for crack growth. + def Layer(self, num="", **kwargs): + """ + APDL Command: LAYER - FCRAT - Fracture criterion ratio (fc). + Specifies the element layer for which data are to be processed. - STOP - Stops the analysis when the specified maximum crack extension is reached. + Parameters + ---------- + num + Layer-processing mode: - METHOD - Define the method of crack propagation. + N - The layer number to process. The default value is 0. + + FCMAX - Processes the layer with the largest failure criteria. Notes ----- - When Action = NEW, the CGROW command initializes a crack-growth - simulation set. Subsequent CGROW commands define the parameters - necessary for the simulation. - - For multiple cracks, issue multiple CGROW,NEW commands (and any - subsequent CGROW commands necessary to define the parameters) for each - crack. + Specifies the element layer for which results data are to be listed, + plotted, or otherwise processed. - If the analysis is restarted (ANTYPE,,RESTART), the CGROW command must - be re-issued. + Applies to stress and strain data for layered elements SHELL163, + SHELL181, SHELL281, ELBOW290, SOLID185, SOLID186, SOLSH190, SHELL208, + SHELL209, REINF264, and REINF265; heat flux and heat gradient for + SHELL131 and SHELL132. - For VCCT crack growth: + The SHELL command may then be used (with shell elements) to specify a + location (TOP, MID, BOT) within the layer for output. (The SHELL + command does not apply to thermal shell elements SHELL131 and + SHELL132.) Transverse shear stresses for MID are linearly averaged from + TOP and BOT, and do not reflect a parabolic distribution. Setting + KEYOPT(8) = 2 for SHELL181, SHELL281, SHELL208, SHELL209, and ELBOW290 + writes the mid-surface values directly to the results file and yields + more accurate values than linear averaging. - Crack-growth element components must use the crack tip nodes as the - starting nodes of the crack path. + Because energy is a per-element quantity, you cannot use this command + for energy output. - Fracture criteria (Action = FCOPTION) use energy-release rates - calculated via VCCT technology (CINT,TYPE,VCCT). For information about - the fracture criteria available, see Fracture Criteria in the Fracture - Analysis Guide or the documentation for the TB,CGCR command. + When using the LAYER command with SHELL181, SOLID185, SOLID186, + SOLSH190, SHELL208, SHELL209, SHELL281, and ELBOW290, KEYOPT(8) must be + set to 1 (or 2 for SHELL181, SHELL281, ELBOW290, SHELL208, and + SHELL209) in order to store results for all layers. - For XFEM-based crack growth: + When NUM = FCMAX, you must provide the failure criterion input. If + specifying input via the FC command, all structural elements are + processed. For more information, see the documentation for the FC + command. - When using XFEM to grow the crack (CGROW,METHOD,XFEM), the crack - specification originates via the XFENRICH and XFDATA commands. + Use this command with RSYS,LSYS to display results in the layer + coordinate system for a particular layer. - In an XFEM-based crack growth analysis, Action = CPATH,DTMIN,DTMAX and - STOP have no effect. + For the ANSYS LS-DYNA product, this command works differently than + described above. For SHELL163, you must first use EDINT during the + solution phase to define the integration points for which you want + output data. Be aware that the output location for SHELL163 data is + always at the integration point, so "top" and "bottom" refer to the top + or bottom integration point, not necessarily the top or bottom surface. + For more information, see the ANSYS LS-DYNA User's Guide. """ - command = "CGROW, %s, %s, %s" % (str(action), str(par1), str(par2)) + command = "LAYER,%s" % (str(num)) self.RunCommand(command, **kwargs) - def D(self, node="", lab="", value="", value2="", nend="", ninc="", - lab2="", lab3="", lab4="", lab5="", lab6="", **kwargs): + def Dflx(self, node="", bx="", by="", bz="", bx2="", by2="", bz2="", + **kwargs): """ - APDL Command: D + APDL Command: DFLX - Defines degree-of-freedom constraints at nodes. + Imposes a uniform magnetic flux B on an edge-element electromagnetic + model. 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. + 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). - 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). + bx, by, bz + Real components of magnetic flux B. - lab2, lab3, lab4, lab5, lab6 - Additional degree-of-freedom labels. The same values are applied to - the nodes for these labels. + bx2, by2, bz2 + Imaginary components of magnetic flux B. 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. + 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. - 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. + 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: - 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. + where r is the position of the mid-side node. - 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. + 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 = "D, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(node), str(lab), str(value), str(value2), str(nend), str(ninc), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6)) + command = "DFLX,%s,%s,%s,%s,%s,%s,%s" % (str(node), str(bx), str(by), str(bz), str(bx2), str(by2), str(bz2)) self.RunCommand(command, **kwargs) - def Ftype(self, filetype="", prestype="", **kwargs): + def Campbell(self, action="", **kwargs): """ - APDL Command: FTYPE + APDL Command: CAMPBELL - Specifies the file type and pressure type for the subsequent import of - source points and pressures. + Prepares the result file for a subsequent Campbell diagram of a + prestressed structure. Parameters ---------- - filetype - Type of file from which the pressure data will be retrieved (no - default): + action + Campbell action: - CFXTBR - File from a CFX Transient Blade Row (TBR) analysis export. + NONE - Do not prepare the result file. This option is the default behavior. - CFDPOST - File from a CFD-Post BC Profile export. + RSTP - Prepare the result file (Jobname.RSTP) for a subsequent Campbell diagram of a + prestressed structure. - FORMATTED - Formatted file. + Notes + ----- + For an analysis involving a prestressed structure, the CAMPBELL command + specifies whether or not to prepare the result file to support a + Campbell diagram analysis (PRCAMP or PLCAMP). - CSV - Comma-Separated Values file. + To prestress a structure, the program performs a static solution before + the linear perturbation modal solution. - prestype - Type of pressure data contained in the file: - - 0 - Only real-valued pressures are on the file. - - 1 - Real-valued and imaginary-valued pressures are on the file (default). - - Notes - ----- - CFX Transient Blade Row files (FileType = CFXTBR) are obtained from the - Export Results Tab in CFX-Pre, with [Export Surface Name]: Option set - to Harmonic Forced Response. - - CFD-Post files (FileType = CFDPOST) are obtained from the Export action - in CFD-Post with Type set to BC Profile. - - Formatted files (FileType = FORMATTED) contain the coordinates and - pressure data in fixed-format columns in the order x, y, z, pressure. - You may have other columns of data in the file which can be skipped - over in the Format specifier on the READ command, but the data must be - in that order. + The CAMPBELL command requires that modal and static analyses be + performed alternately. It works only when the number of static analyses + is the same as the number of modal analyses. Any number of analyses can + be performed, but the same number of each (static and modal) is + expected. The modal solutions are appended in the results file + (Jobname.RSTP). - Comma-separated values files (FileType = CSV) contain the coordinates - and pressure data in comma-separated fields. The data can be in any - order, and other fields of data may also be present. + For an example of PLCAMP command usage, see Example Campbell Diagram + Analysis in the Advanced Analysis Guide. """ - command = "FTYPE, %s, %s" % (str(filetype), str(prestype)) + command = "CAMPBELL,%s" % (str(action)) self.RunCommand(command, **kwargs) - def Vcol(self, ncol1="", ncol2="", **kwargs): + def Tbtemp(self, temp="", kmod="", **kwargs): """ - APDL Command: *VCOL + APDL Command: TBTEMP - Specifies the number of columns in matrix operations. + Defines a temperature for a material data table. Parameters ---------- - ncol1 - Number of columns to be used for Par1 with *MXX operations. - Defaults to whatever is needed to fill the result array. + temp + Temperature value (defaults to 0.0 if KMOD is blank). - ncol2 - Number of columns to be used for Par2 with *MXX operations. - Defaults to whatever is needed to fill the result array. + kmod + If blank, TEMP defines a new temperature. (Issue TBLIST to list + temperatures and data.) Notes ----- - Specifies the number of columns to be used in array parameter matrix - operations. The size of the submatrix used is determined from the - upper left starting array element (defined on the operation command) to - the lower right array element (defined by the number of columns on this - command and the number of rows on the *VLEN command). + The TBTEMP command defines a temperature to be associated with the data + on subsequent TBPT or TBDATA commands. - The default NCOL is calculated from the maximum number of columns of - the result array (the *DIM column dimension) minus the starting - location + 1. For example, *DIM,R,,1,10 and a starting location of - R(1,7) gives a default of 4 columns ( starting with R(1,7), R(1,8), - R(1,9), and R(1,10)). Repeat operations automatically terminate at the - last column of the result array. Existing values in the rows and - columns of the results matrix remain unchanged where not overwritten by - the requested input or operation values. + The defined temperature remains active until the next TBTEMP command is + issued. - The column control settings are reset to the defaults after each *MXX - operation. Use *VSTAT to list settings. + Data values must be defined with the temperatures in ascending order. - This command is valid in any processor. + This command is also valid in SOLUTION. """ - command = "*VCOL, %s, %s" % (str(ncol1), str(ncol2)) + command = "TBTEMP,%s,%s" % (str(temp), str(kmod)) self.RunCommand(command, **kwargs) - def Lcase(self, lcno="", **kwargs): + def Pdmeth(self, method="", samp="", **kwargs): """ - APDL Command: LCASE + APDL Command: PDMETH - Reads a load case into the database. + Specifies the probabilistic analysis method. Parameters ---------- - lcno - Load case pointer number [LCDEF,STAT]. Defaults to 1. - - Notes - ----- - Reads a load case into the database. Load cases are created as - described on the LCDEF or LCWRITE commands. The results portion of the - database and the applied forces and displacements are cleared before - reading the data in. Absolute values [LCABS] and scale factors - [LCFACT] can be applied during the read operation. - - """ - command = "LCASE, %s" % (str(lcno)) - self.RunCommand(command, **kwargs) - - def Srss(self, signif="", label="", abssumkey="", forcetype="", **kwargs): - """ - APDL Command: SRSS - - Specifies the square root of sum of squares mode combination method. + method + Label for the probabilistic analysis method. - Parameters - ---------- - signif - Combine only those modes whose significance level exceeds the - SIGNIF threshold. For single point, multipoint, or DDAM response - (SPOPT,SPRS, MPRS or DDAM), the significance level of a mode is - defined as the mode coefficient of the mode, divided by the maximum - mode coefficient of all modes. Any mode whose significance level - is less than SIGNIF is considered insignificant and is not - contributed to the mode combinations. The higher the SIGNIF - threshold, the fewer the number of modes combined. SIGNIF defaults - to 0.001. If SIGNIF is specified as 0.0, it is taken as 0.0. - (This mode combination method is not valid for SPOPT,PSD.) + MCS - Monte Carlo Simulation - label - Label identifying the combined mode solution output. + RSM - Response Surface Method - DISP - Displacement solution (default). Displacements, stresses, forces, etc., are - available. + samp + Label for the sampling techniques. The sampling technique + determines the values of the random input variables during the + simulation loops. - VELO - Velocity solution. Velocities, "stress velocities," "force velocities," etc., - are available. + DIR - Direct or Crude Monte Carlo Sampling. This technique randomly samples the + random input variables according to their distribution + functions without "memory" of previous simulations. - ACEL - Acceleration solution. Accelerations, "stress accelerations," "force - accelerations," etc., are available. + The parameters for a Monte Carlo Simulation using direct sampling are specified with the PDDMCS command. - LHS - abssumkey - Absolute Sum combination key (for SPOPT,MPRS only): + Latin Hypercube Sampling (default). Valid only for Method = MCS. For this sampling technique the random input variables are sampled randomly according to their distribution functions, efficiently stratifying the samples into layers and avoiding the re-use of those layers. The sampling process has a "memory" of previous simulations, which prevents accumulation of clusters of samples. In addition, this sampling strategy forces the extreme ends of a distribution function to participate in the sampling. This generally leads to smoother distribution functions of the sampled set. - The parameters for a Monte Carlo Simulation using Latin-Hypercube sampling are + specified with the PDLHS command. - NO - Do not use the Absolute Sum method (default). + USER - User specified sampling. Valid only for Method = MCS. In this case you provide + a file containing the sampling "points" (values) of all + random input variables for all simulation loops. These + samples are simply executed and it is your responsibility to + specify the samples correctly. The probabilistic design + system can perform only limited checks on the samples you + provide. ANSYS allows Monte Carlo specific postprocessing + operations on the results generated with user-specified + samples. The parameters for the user-supplied sampling + technique are specified with the PDUSER command. - YES - Combine the modes per excitation direction using the Absolute Sum method, then - combine the resulting quantities using the square root of sum - of squares method. + CCD - Central Composite Design. Valid only for Method = RSM. A central composite + design is composed of a center point, axis points, and corner + points, called factorial points. Using large numbers of + random input variables produces prohibitively large numbers + of factorial points; therefore, ANSYS automatically reduces + the number of factorial points by switching to a fractional + plan for the factorial part of the design. See the PDDOEL + command for more information. - forcetype - Label identifying the forces to be combined: + Note:This option is only valid for 2 to 20 random input variables. You will receive an error if you have specified fewer than 2 or more than 20 random input variables. - BBM - STATIC - Combine the modal static forces (default). + Box-Behnken Matrix Design. Valid only for Method = RSM. A Box-Behnken Matrix design is composed of a center point plus the points at the middle of the edges of the hypercube in the space of random input variables. A Box-Behnken design might be advantageous if the corner points of the hypercube represent very extreme conditions that are undesirable and therefore should not be used for the sampling. See the PDDOEL command for more information. - Note:  This option is only valid for 3 to 12 random input variables. You will + receive an error if you have specified fewer than + 3 or more than 12 random input variables. - TOTAL - Combine the modal static plus inertial forces. + USER - User specified sampling. In this case you provide a file containing the + sampling "points" (values) of all random input variables for + all simulation loops. These samples are simply executed and + it is your responsibility to specify the samples correctly. + The PDS can perform only limited checks on the samples you + provide, if user-supplied sampling technique are specified + with the PDUSER command. Notes ----- - This command is also valid for PREP7. + Specifies the probabilistic analysis method and the sampling technique + used for the individual probabilistic analysis method. """ - command = "SRSS, %s, %s, %s, %s" % (str(signif), str(label), str(abssumkey), str(forcetype)) + command = "PDMETH,%s,%s" % (str(method), str(samp)) self.RunCommand(command, **kwargs) - def Ldread(self, lab="", lstep="", sbstep="", time="", kimg="", fname="", - ext="", **kwargs): + def Ocdata(self, val1="", val2="", val3="", val14="", **kwargs): """ - APDL Command: LDREAD + APDL Command: OCDATA - Reads results from the results file and applies them as loads. + Defines an ocean load using non-table data. Parameters ---------- - lab - Valid load label: + val1, val2, val3, . . . , val14 + Values describing the basic ocean load or a wave condition. - TEMP - Temperatures from a thermal analysis are applied as body force nodal loads (BF) - in a structural analysis, an explicit dynamic analysis, or - other type of analysis. + Notes + ----- + The OCDATA command specifies non-table data that defines the ocean + load, such as the depth of the ocean to the mud line, the ratio of + added mass over added mass for a circular cross section, or the wave + type to apply. The terms VAL1, VAL2, etc. are specialized according to + the input set required for the given ocean load. - If the thermal analysis uses SHELL131 or SHELL132, temperatures are applied as body force element loads (BFE). In most cases, only the top and bottom temperatures from SHELL131 and SHELL132 are used by the structural shell elements; any interior temperatures are ignored. - All temperatures are used for SHELL181 using section input, and SHELL281 using - section input; for these elements, therefore, the - number of temperature points at a node generated - in the thermal model must match the number of - temperature points at a node needed by the - structural model. + The program interprets the data input via the OCDATA command within the + context of the most recently issued OCTYPE command. - When using SHELL131 or SHELL132 information for the LDREAD operation, all element types should specify the same set of thermal degrees of freedom. - When used in conjunction with KIMG=1 and KIMG=2, temperatures can be applied to - a subsequent thermal analysis as nodal loads (D) - or initial conditions (IC), respectively. + Input values in the order indicated. - FORC - Forces from an electromagnetic analysis are applied as force loads (F) in a - structural analysis. LDREAD,FORC reads coupling forces. See - the discussion on force computation in the Low-Frequency - Electromagnetic Analysis Guide. + This command is also valid in PREP7. - For a full harmonic magnetic analysis, FORC represents the time-averaged force (use in conjunction with KIMG = 2). Values are in the nodal coordinate system for the force loads (F). - HGEN + You can define the following ocean data types: - Heat generations from an electromagnetic analysis are applied as body force loads (BFE) in a thermal analysis. For a full harmonic analysis, HGEN represents the time-averaged heat generation load (use in conjunction with KIMG = 2). - JS + For a better understanding of how to set up a basic ocean type, see + Figure: 5:: Basic Ocean Data Type Components . - Source current density from a current-conduction analysis are applied as body force loads (BFE). Values are in the global Cartesian coordinate system. - EF + DEPTH -- The depth of the ocean (that is, the distance between the mean + sea level and the mud line). The water surface is assumed to be level + in the XY plane, with Z being positive upwards. This value is required + and must be positive. - Electric field element centroid values from an electrostatic analysis are applied as body force loads (BFE) in a magnetic analysis. Values are in the global Cartesian coordinate system. - REAC + MATOC -- The material number of the ocean. This value is required and + is used to input the required density. It is also used to input the + viscosity if the Reynolds number is used (OCTABLE). - Reaction loads from any analysis are applied as force loads (F) in any analysis. Values are in the nodal coordinate system. - CONC + KFLOOD -- The inside-outside fluid-interaction key: - lstep - Load step number of the data set to be read. Defaults to 1. If - LAST, ignore SBSTEP and TIME and read the last data set. + For beam subtype CTUBE and HREC used with BEAM188 or BEAM189 and ocean + loading, KFLOOD is always set to 1. - sbstep - Substep number (within LSTEP). If zero (or blank), LSTEP - represents the last substep of the load step. + Cay -- The ratio of added mass of the external fluid over the mass of + the fluid displaced by the element cross section in the y direction + (normal). The added mass represents the mass of the external fluid + (ocean water) that moves with the pipe, beam, or link element when the + element moves in the element y direction during a dynamic analysis. - time - Time-point identifying the data set to be read. Used only if both - LSTEP and SBSTEP are zero (or blank). If TIME is between two - solution time points on the results file, a linear interpolation is - done between the two data sets. If TIME is beyond the last time - point on the file, use the last time point. + If no value is specified, and the coefficient of inertia CMy is not + specified (OCTABLE), both values default to 0.0. - kimg - When used with results from harmonic analyses (ANTYPE,HARMIC) KIMG - establishes which set of data to read: + If no value is specified, but CMy is specified, this value defaults to + Cay = CMy - 1.0. - 0 - Read the real part of the solution. Valid also for Lab = EHFLU to read in - time-average heat flux. + If this value should be 0.0, enter 0.0. - 1 - Read the imaginary part of the solution. + Caz -- The ratio of added mass of the external fluid over the mass of a + cross section in the element z direction (normal). The added mass + represents the mass of the external fluid (ocean water) that moves with + the pipe, beam, or link element when the element moves in the element z + direction during a dynamic analysis. - 2 - Calculate and read the time-average part. Meaningful for Lab = HGEN or FORC. + If no value is specified, and Cay is specified, this value defaults to + Cay. - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + If no value is specified, and the coefficient of inertia CMz is not + specified (OCTABLE), both values default to 0.0. - ext - Filename extension (eight-character maximum). + If no value is specified, but CMz is specified, this value defaults to + Cay = CMz - 1.0. - -- - Unused field. + If this value should be 0.0, enter 0.0. - Notes - ----- - The LDREAD command reads results data from the results file and applies - them as loads. + Cb -- The ratio of buoyancy force used over buoyancy force based on the + outside diameter and water density. Accept the default value in most + cases. Adjust this option only when you must account for additional + hardware (such as a control valve) attached to the pipe exterior. A + non-default value may lead to small non-physical inconsistencies; + testing is therefore recommended for non-default values. - The command can also apply results from an analysis defined with one - physics environment as loads on a second analysis using a different - physics environment. Results values are applied as loads for field- - coupling effects (for example, output temperatures from a thermal - analysis as input to a structural analysis). + If no value is specified, this value defaults to 1.0. - The command works based on the assumption that the meshes have not - changed. + If this value should be 0.0 (useful when troubleshooting your input), + enter 0.0. - Nodal loads are applied only to selected nodes. Element loads are - applied only to selected elements. Element surface loads are applied - only to selected elements where all face nodes for that surface are - selected. + Zmsl -- A vertical offset from the global origin to the mean sea level. + The default value is zero (meaning that the origin is located at the + mean sea level). - To assure proper distribution of the surface loads, select only the - nodes on the element face where the surface load is to be applied. + Two example cases for Zmsl are: - Scaling and accumulation specifications are applied as the loads are - read via the following commands: + A structure with its origin on the sea floor (Zmsl = DEPTH). - BFCUM for body force loads. (Heat-generation loads are not - accumulated.) + A tidal change (tc) above the mean sea level (Zmsl = tc, and DEPTH + becomes DEPTH + tc) - SFCUM for surface loads. + Ktable -- The dependency of VAL1 on the OCTABLE command: - FCUM for force loads. + Figure: 5:: : Basic Ocean Data Type Components - The BFCUM, SFCUM, and FCUM commands do not work for tabular boundary - conditions or temperature loads applied to an explicit dynamics - analysis via LDREAD. + KWAVE -- The incident wave type: - List the results via the appropriate list command: + THETA -- Angle of the wave direction θ from the global Cartesian X axis + toward the global Cartesian Y axis (in degrees). - BFLIST or BFELIST for body force loads. + WAVELOC (valid when KWAVE = 0 through 3, and 101+) -- The wave location + type: - SFELIST for surface loads. + SPECTRUM (valid when KWAVE = 5 through 7) -- The wave spectrum type: - FLIST for force loads. + KCRC -- The wave-current interaction key. - Values may be redefined after being read by issuing LDREAD again with a - different load step and substep, or time value. + Adjustments to the current profile are available via the KCRC constant + of the water motion table. Typically, these options are used only when + the wave amplitude is large relative to the water depth, such that + significant wave-current interaction exists. - When using LDREAD in an explicit dynamic analysis to read in - temperatures, temperature loading cannot be applied via the - EDLOAD,,TEMP command. Furthermore, any temperature loading defined by - LDREAD cannot be listed or deleted by EDLOAD. + KMF -- The MacCamy-Fuchs adjustment key, typically used only for + larger-diameter pipes in relatively shallow water: - This command is also valid in PREP7. + PRKEY -- The wavelength wave-printout key: - """ - command = "LDREAD, %s, %s, %s, %s, %s, %s, %s" % (str(lab), str(lstep), str(sbstep), str(time), str(kimg), str(fname), str(ext)) - self.RunCommand(command, **kwargs) + The following input values are valid only when (KWAVE = 5 through 7: - def Amap(self, area="", kp1="", kp2="", kp3="", kp4="", **kwargs): - """ - APDL Command: AMAP + APC -- Activate apparent period calculation when a wave is superimposed + upon a current: - Generates a 2-D mapped mesh based on specified area corners. + DSA -- Stretching depth factor: - Parameters - ---------- - area - Area number of area to be meshed. If AREA = P, graphical picking - is enabled and all remaining arguments are ignored (valid only in - the GUI). + DELTA -- Delta stretching parameter (0.0 DELTA 1.0): - kp1, kp2, kp3, kp4 - Keypoints defining corners of the mapped mesh. Three or four - corners may be specified, and may be input in any order. + Wave kinematics factor or wave spreading angle: - Notes - ----- - Only one area at a time can be meshed with this command. The program - internally concatenates all lines between the specified keypoints, then - meshes the area with all quadrilateral elements. If line divisions are - set, the mesh will follow the rules for mapped meshing (see Meshing - Your Solid Model in the Modeling and Meshing Guide). + Random seed value for phase angle generation, or wave crest amplitude + value: - If the area being meshed has concatenated lines, the program will ask - if those concatenations should be removed (in batch, the concatenations - will automatically be removed). Nodes required for the generated - elements are created and assigned the lowest available node numbers. - If a mapped mesh is not possible due to mismatched line divisions or - poor element shapes, the meshing operation is aborted. + The following input values are valid only when KWAVE = 6 or 7: - """ - command = "AMAP, %s, %s, %s, %s, %s" % (str(area), str(kp1), str(kp2), str(kp3), str(kp4)) - self.RunCommand(command, **kwargs) + TOFF -- Time offset at which the maximum wave crest will occur. + (Default = 0.0.) - def Parres(self, lab="", fname="", ext="", **kwargs): - """ - APDL Command: PARRES + ROFF -- Position offset along the wave direction where the maximum wave + crest will occur. (Default = 0.0.) - Reads parameters from a file. + EVOLVING (KWAVE = 6) -- Activate evolving wave: - Parameters - ---------- - lab - Read operation: + SEED (KWAVE = 7) -- Initial seed for random phase angle generation. + (Default = 1.) - Replace current parameter set with these parameters (default). - Extend current parameter set with these parameters, replacing any that already - exist. + Usage Hints for KWAVE = 5 Through 7 - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + Recommendations given in API RP 2A Codes of Practice for Designing and + Constructing Fixed Offshore Platforms can be enforced via the following + settings (valid only when KWAVE = 5 through 7): - ext - Filename extension (eight-character maximum). + Set KCRC = 3 (VAL4) to apply nonlinear current stretching. - -- - Unused field. + Set APC = 1 (VAL7) to enable automatic computation of apparent wave + period when a wave is superimposed upon a current. - Notes - ----- - Reads parameters from a coded file. The parameter file may have been - written with the PARSAV command. The parameters read may replace or - change the current parameter set. + If KWAVE = 5 or 7, specify wave kinematics factor KINE (VAL10) to + modify the horizontal velocities and accelerations due to wave + spreading. The factor can be estimated from measurement or hindcast + directional spectral wave data as , where n is the exponent in the + cosine wave spreading function at the spectral peak frequency. - This command is valid in any processor. + If KWAVE = 6, specify wave spreading angle SPANGLE (VAL10) to modify + the horizontal velocities and accelerations due to wave spreading. This + parameter differs from the wave kinematics factor indicated in the API + codes, but the principle is similar nevertheless. - """ - command = "PARRES, %s, %s, %s" % (str(lab), str(fname), str(ext)) - self.RunCommand(command, **kwargs) + For VAL11 (when KWAVE = 6 or 7), if no maximum or constrained wave + crest amplitude (AMPCONST or AMPMAX) is defined, the value is + calculated based on the significant wave height obtained from the + spectrum data (OCTABLE). For further information, see Hydrodynamic + Loads in the Mechanical APDL Theory Reference. - def Va(self, a1="", a2="", a3="", a4="", a5="", a6="", a7="", a8="", a9="", - a10="", **kwargs): - """ - APDL Command: VA + For VAL14, the Shell new wave model (KWAVE = 6) is evolving (or + dispersive) in that the crest height varies with time. By default, + however, the wave is “frozen” so that it can be stepped through in a + quasi-static manner. - Generates a volume bounded by existing areas. + When using waves in a superelement generation run (ANTYPE,SUBSTR), + consider whether you should take the ocean level into account (SeOcLvL + on the SEOPT command). - Parameters - ---------- - a1, a2, a3, . . . , a10 - List of areas defining volume. The minimum number of areas is 4. - If A1 = ALL, use all selected [ASEL] areas and ignore A2 to A10. - If A1 = 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 A1. + An ocean zone is a local space where you can override global ocean- + loading parameters. The following arguments specifying the ocean zone + values are described in more detail under "Ocean Data Type: Basic + (OCTYPE,BASIC)". - Notes - ----- - This command conveniently allows generating volumes from regions having - more than eight keypoints (which is not allowed with the V command). - Areas may be input in any order. The exterior surface of a VA volume - must be continuous, but holes may pass completely through it. + KFLOOD -- The inside-outside fluid-interaction key. + + Cay -- The ratio of added mass of the external fluid over the mass of a + cross section in the element y direction (normal). + + Caz -- The ratio of added mass of the external fluid over the mass of a + cross section in the element z direction (normal). + + Cb -- The ratio of buoyancy force used over buoyancy force based on the + outside diameter and water density. + + Ocean zone values specified via the OCDATA command override global + ocean-loading parameters. + + Arguments not specified default to the global values specified for the + basic ocean type. Therefore, the relationship between Ca and CM values + (Ca = CM - 1.0) is not applied to ocean zones. + + For a pipe-type ocean zone (OCZONE,PIP), KFLOOD is the only valid + option. """ - command = "VA, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(a1), str(a2), str(a3), str(a4), str(a5), str(a6), str(a7), str(a8), str(a9), str(a10)) + command = "OCDATA,%s,%s,%s,%s" % (str(val1), str(val2), str(val3), str(val14)) self.RunCommand(command, **kwargs) - def Parsav(self, lab="", fname="", ext="", **kwargs): + def Tshap(self, shape="", **kwargs): """ - APDL Command: PARSAV + APDL Command: TSHAP - Writes parameters to a file. + Defines simple 2-D and 3-D geometric surfaces for target segment + elements. Parameters ---------- - lab - Write operation: + shape + Specifies the geometric shapes for target segment elements TARGE169 + and TARGE170. - Write only scalar parameters (default). - Write scalar and array parameters. Parameters may be numeric or alphanumeric. + LINE - Straight line (2-D, 3-D) (Default for 2-D) - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + PARA - Parabola (2-D, 3-D) - ext - Filename extension (eight-character maximum). + ARC - Clockwise arc (2-D) - -- - Unused field. + CARC - Counterclockwise arc (2-D) - Notes - ----- - Writes the current parameters to a coded file. Previous parameters on - this file, if any, will be overwritten. The parameter file may be read - with the PARRES command. + CIRC - Complete circle (2-D) - PARSAV/PARRES operations truncate some long decimal strings, and can - cause differing values in your solution data when other operations are - performed. A good practice is to limit the number of decimal places you - will use before and after these operations. + TRIA - Three-node triangle (3-D) (Default for 3-D) - This command is valid in any processor. + TRI6 - Six-node triangle (3-D) - """ - command = "PARSAV, %s, %s, %s" % (str(lab), str(fname), str(ext)) - self.RunCommand(command, **kwargs) + QUAD - Four-node quadrilateral (3-D) - def Pdprob(self, rlab="", name="", relation="", limit="", conf="", - **kwargs): - """ - APDL Command: PDPROB + QUA8 - Eight-node quadrilateral (3-D) - Prints a probability result. + CYLI - Cylinder (3-D) - Parameters - ---------- - rlab - Result set label. Identifies the result set to be used for - postprocessing. A result set label can be the solution set label - you defined in a PDEXE command (if you are directly postprocessing - Monte Carlo Simulation results), or the response surface set label - defined in an RSFIT command (for Response Surface Analyses). + CONE - Cone (3-D) - name - Parameter name. The parameter must have been previously defined as - a random input variable or a random output parameter using the - PDVAR command. + SPHE - Sphere (3-D) - relation - Relation label for the relation between probabilistic design - parameter Name and the limit value LIMIT: + PILO - Pilot node (2-D, 3-D) - LT - Less than (default). + POINT - Point (rigid surface node) (2-D, 3-D) - GT - Greater than. + Notes + ----- + Use this command to specify the target segment shapes for the rigid + target surface associated with surface-to-surface contact (TARGE169, + CONTA171, CONTA172 (2-D) and TARGE170, CONTA173, CONTA174 (3-D)), 3-D + beam-to-beam contact (TARGE170 and CONTA176), and 3-D line-to-surface + contact (TARGE170 and CONTA177). Once you issue TSHAP, all subsequent + target elements generated via the direct element generation technique + will have the same shape, until you issue TSHAP again with a different + Shape value. - limit - Limit value. + """ + command = "TSHAP,%s" % (str(shape)) + self.RunCommand(command, **kwargs) - -- - Unused field. + def Bss1(self, val1="", val2="", t="", **kwargs): + """ + APDL Command: BSS1 - conf - Confidence level. The confidence level is used to print the - confidence bounds on the probability. The value for the confidence - level must be between 0.0 and 1.0 and it defaults to 0.95 (95%). - Printing of confidence bound is suppressed for CONF 0.5. This - parameter is ignored for response surface methods results - postprocessing. + Specifies the transverse shear strain and force relationship in plane + XZ for beam sections. + + Parameters + ---------- + val1 + Transverse shear strain component (γ1). + + val2 + Transverse shear force component (S1). + + t + Temperature. Notes ----- - Prints the probability that the probabilistic design input or output - variable denoted with Name is smaller or larger than a certain limit - value. + The behavior of beam elements is governed by the generalized- + stress/generalized-strain relationship of the form: - If Rlab is left blank, then the result set label is inherited from the - last PDEXE command (Slab), RSFIT command (RSlab), or the most recently - used PDS postprocessing command where a result set label was explicitly - specified. + The BSS1 command, one of several nonlinear general beam section + commands, specifies the transverse shear strain and transverse shear + force relationship for plane XZ of a beam section. The section data + defined is associated with the section most recently defined (via the + SECTYPE command). - Use the relation label Relation to specify if you want to print a - traditional probability value (LT) or the exceedence probability (GT). - The LIMIT directly specifies at which value of Name (the design - parameter) the probability should be evaluated. If LIMIT is between two - sample values of Name the resulting probability is linearly - interpolated between the sample values. If LIMIT is smaller than all - sample values of Name the probability is 0.0 for Relation = LT and 1.0 - for Relation = GT. If LIMIT is greater than all sample values for Name - the probability is 1.0 for Relation = LT and 0.0 for Relation = GT. + Unspecified values default to zero. - The confidence level is a probability expressing the confidence that - the value for the requested probability is in fact between the - confidence bounds. The larger the confidence level, the wider the - confidence bounds. Printing the confidence bounds only makes sense for - postprocessing Monte Carlo simulation results, where the confidence - bounds represent the accuracy of the results. With increasing sample - sizes, the width of the confidence bounds gets smaller for the same - confidence level. For response surface analysis methods, the number of - simulations done on the response surface is usually very large; - therefore, the accuracy of the results is determined by the response - surface fit and not by the confidence level. + Related commands are BSAX, BSM1, BSM2, BSTQ, BSS2, BSMD, and BSTE. - The PDPROB command cannot be used to postprocess the results in a - solution set that is based on Response Surface Methods, only Monte - Carlo Simulations. + For complete information, see Using Nonlinear General Beam Sections. """ - command = "PDPROB, %s, %s, %s, %s, %s" % (str(rlab), str(name), str(relation), str(limit), str(conf)) + command = "BSS1,%s,%s,%s" % (str(val1), str(val2), str(t)) self.RunCommand(command, **kwargs) - def Avprin(self, key="", effnu="", **kwargs): + def Nmodif(self, node="", x="", y="", z="", thxy="", thyz="", thzx="", + **kwargs): """ - APDL Command: AVPRIN + APDL Command: NMODIF - Specifies how principal and vector sums are to be calculated. + Modifies an existing node. Parameters ---------- - key - Averaging key: + node + Modify coordinates of this node. If ALL, modify coordinates of 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. - 0 - Average the component values from the elements at a common node, then calculate - the principal or vector sum from the averaged components - (default). + x, y, z + Replace the previous coordinate values assigned to this node with + these corresponding coordinate values. Values are interpreted in + the active coordinate system (R, θ, Z for cylindrical; R, θ, Φ for + spherical or toroidal). Leaving any of these fields blank retains + the previous value(s). - 1 - Calculate the principal or vector sum values on a per element basis, then - average these values from the elements at a common node. + thxy + First rotation of nodal coordinate system about nodal Z (positive X + toward Y). Leaving this field blank retains the previous value. - effnu - Effective Poisson's ratio used for computing the von Mises - equivalent strain (EQV). This command option is intended for use - with line elements or in load case operations (LCOPER) only; ANSYS - automatically selects the most appropriate effective Poisson's - ratio, as discussed below. + thyz + Second rotation of nodal coordinate system about nodal X (positive + Y toward Z). Leaving this field blank retains the previous value. + + thzx + Third rotation of nodal coordinate system about nodal Y (positive Z + toward X). Leaving this field blank retains the previous value. Notes ----- - Selects the method of combining components for certain derived nodal - results when two or more elements connect to a common node. The - methods apply to the calculations of derived nodal principal stresses, - principal strains, and vector sums for selects, sorts, and output - [NSEL, NSORT, PRNSOL, PLNSOL, etc.]. - - This command also defines the effective Poisson's ratio (EFFNU) used - for equivalent strain calculations. If you use EFFNU, the default - effective Poisson's ratios shown below will be overridden for all - elements by the EFFNU value. To return to the default settings, issue - the RESET command. The default value for EFFNU is: - - Poisson's ratio as defined on the MP commands for EPEL and EPTH - - 0.5 for EPPL and EPCR + Modifies an existing node. Nodal coordinate system rotation angles are + in degrees and redefine any existing rotation angles. Nodes can also + be redefined with the N command. - 0.5 if the referenced material is hyperelastic + See the NROTAT, NANG, and NORA commands for other rotation options. - 0.0 for line elements (includes beam, link, and pipe elements, as well - as discrete elements), cyclic symmetry analysis, mode superposition - analyses (with MSUPkey = YES on the MXPAND command), and load case - operations (LCOPER). + This command is also valid in the /MAP processor. - For the von Mises equivalent strain (EQV), it is always computed using - the average of the equivalent strains from the elements at a common - node irrespective of the value of the averaging KEY. If EFFNU is input, - though, the calculation will be performed according to the KEY setting. + """ + command = "NMODIF,%s,%s,%s,%s,%s,%s,%s" % (str(node), str(x), str(y), str(z), str(thxy), str(thyz), str(thzx)) + self.RunCommand(command, **kwargs) - For a random vibration (PSD) analysis, issuing either AVPRIN,0 or - AVPRIN,1 calculates the principal stresses using the appropriate - averaging method. They are then used to determine SEQV. The output - will have non-zero values for the principal stresses. + def Smbody(self, **kwargs): + """ + APDL Command: SMBODY - If AVPRIN is not issued, the Segalman-Fulcher method is used to - calculate SEQV. This method does not calculate principal stresses, but - directly calculates SEQV from the component stresses; therefore, the - output will have zero values for the principal stresses. Beam and pipe - elements are excluded + Specifies "Body loads on the solid model" as the subsequent status + topic. - This command is also valid in POST26, where applicable. + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - See Combined Stresses and Strains in the Mechanical APDL Theory - Reference for more information. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "AVPRIN, %s, %s" % (str(key), str(effnu)) + command = "SMBODY," % () self.RunCommand(command, **kwargs) - def Nforce(self, item="", **kwargs): + def Rlist(self, nset1="", nset2="", ninc="", **kwargs): """ - APDL Command: NFORCE + APDL Command: RLIST - Sums the nodal forces and moments of elements attached to nodes. + Lists the real constant sets. Parameters ---------- - item - Specifies the selected set of nodes for summing forces and moments - for contact elements. - - (blank) - Sums the nodal forces of elements for all selected nodes and excludes contact - elements (elements 169-177). - - CONT - Sums the nodal forces of elements for contact nodes only. - - BOTH - Sums the nodal forces of elements for all selected nodes, including contact - elements. + nset1, nset2, ninc + List real constant sets from NSET1 to NSET2 (defaults to NSET1) in + steps of NINC (defaults to 1). If NSET1 = ALL (default), ignore + NSET2 and NINC and list all real constant sets [R]. Notes ----- - Sums and prints, in each component direction for each selected node, - the nodal force and moment contributions of the selected elements - attached to the node. If all elements are selected, the sums are - usually zero except where constraints or loads are applied. The nodal - forces and moments may be displayed [/PBC,FORC and /PBC,MOME]. Use - PRESOL to print nodal forces and moments on an element-by-element - basis. You can use the FORCE command to specify which component - (static, damping, inertia, or total) of the nodal load is to be used. - Nodal forces associated with surface loads are not included. - - This vector sum is printed in the global Cartesian system. Moment - summations are about the global origin unless another point is - specified with the SPOINT command. The summations for each node are - printed in the global Cartesian system unless transformed [RSYS]. This - command is generally not applicable to axisymmetric models because - moment information from the NFORCE command is not correct for - axisymmetric elements. - - Selecting a subset of elements [ESEL] and then issuing this command - will give the forces and moments required to maintain equilibrium of - that set of elements. The effects of nodal coupling and constraint - equations are ignored. The option ITEM = CONT provides the forces and - moments for the contact elements (CONTA171, CONTA172, CONTA173, - CONTA174, CONTA175, CONTA176, and CONTA177). Setting ITEM = BOTH - provides the forces and moments for all selected nodes, including - contact elements. + The real constant sets listed contain only those values specifically + set by the user. Default values for real constants set automatically + within the various elements are not listed. - This command also includes the FSUM command function which vectorially - sums and prints, in each component direction for the total selected - node set, the nodal force and moment contributions of the selected - elements attached to the selected node set. + This command is valid in any processor. """ - command = "NFORCE, %s" % (str(item)) + command = "RLIST,%s,%s,%s" % (str(nset1), str(nset2), str(ninc)) self.RunCommand(command, **kwargs) - def Atran(self, kcnto="", na1="", na2="", ninc="", kinc="", noelem="", - imove="", **kwargs): + def Vovlap(self, nv1="", nv2="", nv3="", nv4="", nv5="", nv6="", nv7="", + nv8="", nv9="", **kwargs): """ - APDL Command: ATRAN + APDL Command: VOVLAP - Transfers a pattern of areas to another coordinate system. + Overlaps volumes. Parameters ---------- - kcnto - Reference number of coordinate system where the pattern is to be - transferred. Transfer occurs from the active coordinate system. - The coordinate system type and parameters of KCNTO must be the same - as the active system. + nv1, nv2, nv3, . . . , nv9 + Numbers of volumes to be operated on. If NV1 = ALL, NV2 to NV9 are + ignored and all selected volumes are used. If NV1 = 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 NV1. - na1, na2, ninc - Transfer area pattern beginning with NA1 to NA2 (defaults to NA1) - in steps of NINC (defaults to 1). If NA1 = ALL, NA2 and NINC are - ignored and the pattern is all selected areas [ASEL]. If NA1 = P, - graphical picking is enabled and all remaining arguments are - ignored (valid only in the GUI). A component name may also be - substituted for NA1 (NA2 and NINC are ignored). + Notes + ----- + Overlaps volumes. Generates new volumes which encompass the geometry of + all the input volumes. The new volumes are defined by the regions of + intersection of the input volumes, and by the complementary (non- + intersecting) regions. See the Modeling and Meshing Guide for an + illustration. This operation is only valid when the region of + intersection is a volume. See the BOPTN command for an explanation of + the options available to Boolean operations. Element attributes and + solid model boundary conditions assigned to the original entities will + not be transferred to the new entities generated. - kinc - Keypoint increment between sets. If zero, the lowest available - keypoint numbers are assigned [NUMSTR]. + """ + command = "VOVLAP,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nv1), str(nv2), str(nv3), str(nv4), str(nv5), str(nv6), str(nv7), str(nv8), str(nv9)) + self.RunCommand(command, **kwargs) - noelem - Specifies whether elements and nodes are also to be generated: + def Rprism(self, z1="", z2="", nsides="", lside="", majrad="", minrad="", + **kwargs): + """ + APDL Command: RPRISM - 0 - Generate nodes and elements associated with the original areas, if they exist. + Creates a regular prism volume centered about the working plane origin. - 1 - Do not generate nodes and elements. + Parameters + ---------- + z1, z2 + Working plane Z coordinates of the prism. - imove - Specifies whether to redefine the existing areas: + nsides + Number of sides in the polygon defining the top and bottom faces of + the prism. Must be greater than 2. - 0 - Generate additional areas. + lside + Length of each side of the polygon defining the top and bottom + faces of the prism. - 1 - Move original areas to new position retaining the same keypoint numbers (KINC - and NOELEM are ignored). Valid only if the old areas are no - longer needed at their original positions. Corresponding - meshed items are also moved if not needed at their original - position. + majrad + Radius of the major (or circumscribed) circle of the polygon + defining the top and bottom faces of the prism. Not used if LSIDE + is input. + + minrad + Radius of the minor (or inscribed circle) of the polygon defining + the top and bottom faces of the prism. Not used if LSIDE or MAJRAD + is input. Notes ----- - Transfers a pattern of areas (and their corresponding lines, keypoints - and mesh) from one coordinate system to another (see analogous node - TRANSFER command). The MAT, TYPE, REAL, and ESYS attributes are based - upon the areas in the pattern and not upon the current settings. - Coordinate systems may be translated and rotated relative to each - other. Initial pattern may be generated in any coordinate system. - However, solid modeling in a toroidal coordinate system is not - recommended. Coordinate and slope values are interpreted in the active - coordinate system and are transferred directly. Areas are generated as - described in the AGEN command. + Defines a regular prism volume centered about the working plane origin. + The prism must have a spatial volume greater than zero. (i.e., this + volume primitive command cannot be used to create a degenerate volume + as a means of creating an area.) The top and bottom faces are + polygonal areas that are parallel to the working plane but neither face + need be coplanar with (i.e., "on") the working plane. The first + keypoint defined for each face is at : θ = 0°. See the RPR4 and PRISM + commands for other ways to create prisms. """ - command = "ATRAN, %s, %s, %s, %s, %s, %s, %s" % (str(kcnto), str(na1), str(na2), str(ninc), str(kinc), str(noelem), str(imove)) + command = "RPRISM,%s,%s,%s,%s,%s,%s" % (str(z1), str(z2), str(nsides), str(lside), str(majrad), str(minrad)) self.RunCommand(command, **kwargs) - def Rexport(self, target="", lstep="", sbstep="", fname="", ext="", - **kwargs): + def Bfk(self, kpoi="", lab="", val1="", val2="", val3="", ph_ase="", + **kwargs): """ - APDL Command: REXPORT + APDL Command: BFK - Exports displacements from an implicit run to ANSYS LS-DYNA. + Defines a body force load at a keypoint. Parameters ---------- - target - The type of analysis run to which displacements are exported. - - OFF - Ignore initial displacements. - - DYNA - Get initial displacements from an earlier implicit (ANSYS) run and export to an - explicit ANSYS LS-DYNA run (Default). + kpoi + Keypoint to which body load applies. If ALL, apply to all selected + keypoints [KSEL]. A component name may also be substituted for + Kpoi. - --, -- - Unused fields. + lab + Valid body load label. Load labels are listed under "Body Loads" in + the input table for each element type in the Element Reference. - lstep - Load step number of data to be exported. Defaults to the last load - step. + val1, val2, val3 + Value associated with the Lab item or a table name for specifying + tabular boundary conditions. Use only VAL1 for TEMP, FLUE, HGEN, + MVDI and CHRGD. For magnetics, use VAL1, VAL2, and VAL3 for the X, + Y, and Z components of JS . For acoustics, if Lab = JS, use VAL1 + for mass source in a harmonic analysis or mass source rate in a + transient analysis, and ignoreVAL2 and VAL3. When specifying a + table name, you must enclose the table name in percent signs (%), + e.g., BFK,Kpoi,Lab,%tabname%. Use the *DIM command to define a + table. - sbstep - Substep number of data to be exported. Defaults to the last - substep. + phase + Phase angle in degrees associated with the JS label. - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + Notes + ----- + Defines a body force load (such as temperature in a structural + analysis, heat generation rate in a thermal analysis, etc.) at a + keypoint. Body loads may be transferred from keypoints to nodes with + the BFTRAN or SBCTRAN commands. Interpolation will be used to apply + loads to the nodes on the lines between keypoints. All keypoints on a + given area (or volume) must have the same BFK specification, with the + same values, for the loads to be transferred to interior nodes in the + area (or volume). If only one keypoint on a line has a BFK + specification, the other keypoint defaults to the value specified on + the BFUNIF command. - ext - Filename extension (eight-character maximum). + You can specify a table name only when using temperature (TEMP) and + heat generation rate (HGEN) body load labels. - -- - Unused field. + Body loads specified by the BFK command can conflict with other + specified body loads. See Resolution of Conflicting Body Load + Specifications in the Basic Analysis Guide for details. - Notes - ----- - This command exports the displacements, rotations, and temperatures - calculated in an ANSYS implicit analysis into the `drelax' file, which - is subsequently read in by ANSYS LS-DYNA when a dynamic relaxation or - stress initialization is conducted [EDDRELAX]. + Graphical picking is available only via the listed menu paths. - This command is not written to the Jobname.CDB file when the CDWRITE - command is issued. + This command is also valid in PREP7. """ - command = "REXPORT, %s, %s, %s, %s, %s" % (str(target), str(lstep), str(sbstep), str(fname), str(ext)) + command = "BFK,%s,%s,%s,%s,%s,%s" % (str(kpoi), str(lab), str(val1), str(val2), str(val3), str(ph_ase)) self.RunCommand(command, **kwargs) - def Msg(self, lab="", val1="", val2="", val3="", val4="", val5="", val6="", - val7="", val8="", **kwargs): + def Yrange(self, ymin="", ymax="", num="", **kwargs): """ - APDL Command: *MSG + APDL Command: /YRANGE - Writes an output message via the ANSYS message subroutine. + Specifies a linear ordinate (Y) scale range. Parameters ---------- - lab - Label for output and termination control: - - Writes the message with no heading (default). - Writes the message with a "NOTE" heading. - - Writes the message with a "WARNING" heading. Also writes the message to the errors file, Jobname.ERR. - Writes the message with a "ERROR" heading and causes run termination (if batch) - at earliest "clean exit" point. Also writes the - message to the errors file, Jobname.ERR. + ymin + Minimum ordinate scale value. - Writes the message with a "FATAL ERROR" heading and causes run termination immediately. Also writes the message to the errors file, Jobname.ERR. - Writes the message with a "NOTE" heading and displays it in the message dialog - box. This option is most useful in GUI mode. + ymax + Maximum ordinate scale value. - val1, val2, val3, . . . , val8 - Numeric or alphanumeric character values to be included in message. - Values may be the results of parameter evaluations. All numeric - values are assumed to be double precision. The FORTRAN nearest - integer (NINT) function is used to form integers for the %I - specifier. + num + Y-axis number to which range applies (defaults to 1). Valid + numbers are 1 to 3 for /GRTYP,2 and 1 to 6 for /GRTYP,3. If ALL, + apply to all Y-axes. Notes ----- - Allows writing an output message via the ANSYS message subroutine. - Also allows run termination control. This command is used only when - contained in a prepared file read into the ANSYS program (i.e., - *USE,/INPUT, etc.). A message format must immediately follow the *MSG - command (on a separate line, without parentheses, as described below). + Specifies a linear ordinate (Y) scale range for the line graph display. + Use /YRANGE,DEFAULT to return to automatic scaling. For multiple + Y-axes graphs [/GRTYP], see /GROPT, ASCAL to automatically scale the + additional Y-axes. - The message format may be up to 80 characters long, consisting of text - strings and predefined "data descriptors" between the strings where - numeric or alphanumeric character data are to be inserted. The normal - descriptors are %I for integer data, %G for double precision data, %C - for alphanumeric character data, and %/ for a line break. The - corresponding FORTRAN data descriptors are I9, 1PG16.9 and A8, - respectively. Each descriptor must be preceded by a blank. There must - be one data descriptor for each specified value (8 maximum) in the - order of the specified values. + Automatic scaling will often yield inappropriate range values for + logarithmic scales (/GROPT, LOGY). - Enhanced descriptions may also be used: - - Do not begin *MSG format lines with *IF, *ELSE , *ELSEIF , or *ENDIF . - If the last nonblank character of the message format is an ampersand - (&), a second line will also be read as a continuation of the format. - Up to nine continuations (ten total lines) may be read. If normal - descriptions are used, then consecutive blanks are condensed into one - blank upon output, and a period is appended. Up to ten lines of output - of 72 characters each may be produced (using the %/ descriptor). Two - examples follow. - - Here is an example of the *MSG command and a format to print a message - with two integer values and one real value: - - The output line is: - - Here is an example illustrating multiline displays in GUI message - windows: - - Note:: : The /UIS,MSGPOP command controls which messages are displayed - in the message dialog box when the GUI is active. All messages - produced by the *MSG command are subject to the /UIS specification, - with one exception, If Lab = UI, the message will be displayed in the - dialog box regardless of the /UIS specification. - - This command is valid in any processor. - - """ - command = "*MSG, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(lab), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8)) - self.RunCommand(command, **kwargs) - - def Smrtsize(self, sizlvl="", fac="", expnd="", trans="", angl="", angh="", - gratio="", smhlc="", smanc="", mxitr="", sprx="", **kwargs): - """ - APDL Command: SMRTSIZE - - Specifies meshing parameters for automatic (smart) element sizing. - - Parameters - ---------- - sizlvl - Overall element size level for meshing. The level value controls - the fineness of the mesh. (Any input in this field causes - remaining arguments to be ignored.) Valid inputs are: - - n - Activate SmartSizing and set the size level to n. Must be an integer value - from 1 (fine mesh) to 10 (coarse mesh). Remaining arguments - are ignored, and argument values are set as shown in Table 229: - SMRTSIZE - Argument Values for h-elements . - - STAT - List current SMRTSIZE settings. - - DEFA - Set all SMRTSIZE settings to default values (as shown in Table 229: SMRTSIZE - - Argument Values for h-elements for size level 6). - - OFF - Deactivate SmartSizing. Current settings of DESIZE will be used. To - reactivate SmartSizing, issue SMRTSIZE,n. - - fac - Scaling factor applied to the computed default mesh sizing. - Defaults to 1 for h-elements (size level 6), which is medium. - Values from 0.2 to 5.0 are allowed. - - expnd - Mesh expansion (or contraction) factor. (This factor is the same - as MOPT,EXPND,Value.) EXPND is used to size internal elements in - an area based on the size of the elements on the area's boundaries. - For example, issuing SMRTSIZE,,,2 before meshing an area will allow - a mesh with elements that are approximately twice as large in the - interior of an area as they are on the boundary. If EXPND is less - than 1, a mesh with smaller elements on the interior of the area - will be allowed. EXPND should be greater than 0.5 but less than 4. - EXPND defaults to 1 for h-elements (size level 6), which does not - allow expansion or contraction of internal element sizes (except - when using AESIZE element sizing). (If EXPND is set to zero, the - default value of 1 will be used.) The actual size of the internal - elements will also depend on the TRANS option or upon AESIZE or - ESIZE sizing, if used. - - trans - Mesh transition factor. (This factor is the same as - MOPT,TRANS,Value.) TRANS is used to control how rapidly elements - are permitted to change in size from the boundary to the interior - of an area. TRANS defaults to 2.0 for h-elements (size level 6), - which permits elements to approximately double in size from one - element to the next as they approach the interior of the area. (If - TRANS is set to zero, the default value will be used.) TRANS must - be greater than 1 and, for best results, should be less than 4. - The actual size of the internal elements will also depend on the - EXPND option or upon AESIZE or ESIZE sizing, if used. - - angl - Maximum spanned angle per lower-order element for curved lines. - Defaults to 22.5 degrees per element (size level 6). This angle - limit may be exceeded if the mesher encounters a small feature - (hole, fillet, etc.). (This value is not the same as that set by - DESIZE,,,,ANGL.) - - angh - Maximum spanned angle per higher-order element for curved lines. - Defaults to 30 degrees per element (size level 6). This angle - limit may be exceeded if the mesher encounters a small feature - (hole, fillet, etc.). (This value is NOT the same as that set by - DESIZE,,,,,ANGH.) - - gratio - Allowable growth ratio used for proximity checking. Defaults to - 1.5 for h-elements (size level 6). Values from 1.2 to 5.0 are - allowed; however, values from 1.5 to 2.0 are recommended. - - smhlc - Small hole coarsening key, can be ON (default for size level 6) or - OFF. If ON, this feature suppresses curvature refinement that - would result in very small element edges (i.e., refinement around - small features). - - smanc - Small angle coarsening key, can be ON (default for all levels) or - OFF. If ON, this feature restricts proximity refinement in areas - where it is ill-advised (that is, in tight corners on areas, - especially those that approach 0 degrees). - - mxitr - Maximum number of sizing iterations (defaults to 4 for all levels). - - sprx - Surface proximity refinement key, can be off (SPRX = 0, which is - the default for all levels) or on via two different values (SPRX = - 1 or SPRX = 2). If SPRX = 1, surface proximity refinement is - performed and any shell elements that need to be modified are - modified. If SPRX=2, surface proximity refinement is performed but - no shell elements are altered. - - Notes - ----- - If a valid level number (1 (fine) to 10 (coarse)) is input on SIZLVL, - inputs for remaining arguments are ignored, and the argument values are - set as shown in Table: 229:: SMRTSIZE - Argument Values for h-elements - . - - The settings shown are for h-elements. The first column contains SIZLV - data, ranging from 10 (coarse) to 1 (fine). The default is 6 (indicated - by the shaded row). - - Table: 229:: : SMRTSIZE - Argument Values for h-elements - - Where appropriate, SmartSizing will start with AESIZE settings. - Elsewhere, it will start with any defined ESIZE,SIZE setting. It will - locally override AESIZE or ESIZE for proximity and curvature. - SmartSizing ignores any ESIZE,,NDIV setting. - - LESIZE line division and spacing specifications will be honored by - SmartSizing, unless you give permission for SmartSizing to override - them (for proximity or curvature) by setting KYNDIV to 1. Lines not - having an LESIZE specification are meshed as well as they can be. - - This command is also valid for rezoning. - - """ - command = "SMRTSIZE, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(sizlvl), str(fac), str(expnd), str(trans), str(angl), str(angh), str(gratio), str(smhlc), str(smanc), str(mxitr), str(sprx)) - self.RunCommand(command, **kwargs) - - def Emagerr(self, **kwargs): - """ - APDL Command: EMAGERR - - Calculates the relative error in an electrostatic or electromagnetic - field analysis. - - Notes - ----- - The relative error is an approximation of the mesh discretization error - associated with a solution. It is based on the discrepancy between the - unaveraged, element-nodal field values and the averaged, nodal field - values. The calculation is valid within a material boundary and does - not consider the error in continuity of fields across dissimilar - materials. - - For electrostatics, the field values evaluated are the electric field - strength (EFSUM) and the electric flux density (DSUM). A relative error - norm of each is calculated on a per-element basis and stored in the - element table [ETABLE] with the labels EF_ERR and D_ERR. Normalized - error values EFN_ERR and DN_ERR are also calculated and stored in the - element table. Corresponding quantities for electromagnetics are H_ERR, - B_ERR, HN_ERR, and BN_ERR, which are calculated from the magnetic field - intensity (HSUM) and the magnetic flux density (BSUM). The normalized - error value is the relative error norm value divided by the peak - element-nodal field value for the currently selected elements. - - Use the PLETAB and PRETAB commands to plot and list the error norms and - normalized error values. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. - - """ - command = "EMAGERR, " % () - self.RunCommand(command, **kwargs) - - def Cbmx(self, row="", s_r__r_="", s_r__r_plus_1_="", s_r__r_plus_2_="", - s_r__r_plus_3_="", s_r__r_plus_4_="", s_r__r_plus_5_="", - s_r__r_plus_6_="", **kwargs): - """ - APDL Command: CBMX - - Specifies preintegrated cross-section stiffness for composite beam - sections. - - Parameters - ---------- - row - Row number of the matrix. - - s(r)(r), . . . , s(r)(r+6) - Upper triangle of the cross-section stiffness matrix [S]. - - Notes - ----- - The behavior of beam elements is governed by the generalized- - stress/generalized-strain relationship of the form: - - The CBMX command, one of several composite beam section commands, - specifies the cross-section stiffness matrix (submatrix [S] data) for a - composite beam section. The section data defined is associated with the - section most recently defined (SECTYPE) at the specified temperature - (CBTMP). - - Unspecified values default to zero. - - Related commands are CBTMP, CBTE, and CBMD. - - For complete information, see Using Preintegrated Composite Beam - Sections. - - """ - command = "CBMX, %s, %s, %s, %s, %s, %s, %s, %s" % (str(row), str(s_r__r_), str(s_r__r_plus_1_), str(s_r__r_plus_2_), str(s_r__r_plus_3_), str(s_r__r_plus_4_), str(s_r__r_plus_5_), str(s_r__r_plus_6_)) - self.RunCommand(command, **kwargs) - - def Knode(self, npt="", node="", **kwargs): - """ - APDL Command: KNODE - - Defines a keypoint at an existing node location. - - Parameters - ---------- - npt - Arbitrary reference number for keypoint. If zero, the lowest - available number is assigned [NUMSTR]. - - node - Node number defining global X, Y, Z keypoint location. 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. - - """ - command = "KNODE, %s, %s" % (str(npt), str(node)) - self.RunCommand(command, **kwargs) - - def Radopt(self, fluxtol="", solver="", maxiter="", toler="", overrlex="", - maxfluxiter="", **kwargs): - """ - APDL Command: RADOPT - - Specifies Radiosity Solver options. - - Parameters - ---------- - -- - Unused field. - - fluxtol - Convergence tolerance for radiation flux. Defaults to 0.0001. This - value is a relative tolerance. - - solver - Choice of solver for radiosity calculation: - - 0 - Gauss-Seidel iterative solver (default). - - 1 - Direct solver. - - 2 - Jacobi solver. - - maxiter - Maximum number of iterations for iterative solver (SOLVER = 0 or - 2). Defaults to 1000. - - toler - Convergence tolerance for the iterative solver (SOLVER = 0 or 2). - Defaults to 0.1. - - overrlex - Over-relaxation factor applied to the iterative solver (SOLVER = 0 - or 2). Defaults to 0.1. - - --, --, --, -- - Unused fields - - maxfluxiter - Maximum number of flux iterations to be performed according to the - specified solver type: - - 0 - If the FULL solver is specified (THOPT,FULL), convergence criteria are - monitored and iterations are performed until convergence - occurs. If the QUASI solver is specified (THOPT,QUASI), - convergence criteria are ignored and one iteration is - performed. This value is the default. - - 1, 2, 3, ...N - If the FULL solver is specified (THOPT,FULL), convergence criteria are - monitored and iterations are performed until - convergence occurs, or until the specified number - of iterations has been completed, whichever comes - first. If the QUASI solver is specified - (THOPT,QUASI), convergence criteria are ignored - and the specified number of iterations are - completed. - - Notes - ----- - The radiation heat flux is linearized, resulting in robust convergence. - - The radiation flux norm for FLUXTOL is expressed as: - - where i is the pass or iteration number and j is the surface facet for - radiation. - - For a sufficiently small absolute tolerance value, relative tolerance - converges in fewer iterations than absolute tolerance. For a - sufficiently large absolute tolerance value, relative tolerance may - cause convergence difficulties. - - For more information about FLUXTOL and MAXFLUXITER usage, see Figure: - 3.5:: FULL Solution Method When Radiosity Is Present and Figure: 3.6:: - QUASI Solution Method When Radiosity Is Present in the Thermal Analysis - Guide. - - In Figure: 3.5:: FULL Solution Method When Radiosity Is Present and - Figure: 3.6:: QUASI Solution Method When Radiosity Is Present (under - Solving for Temperature and Radiosity in the Thermal Analysis Guide), - refer to the KQQ = FQ equation system via the iterative method: - - If TOLER ≥ 0, the iterative solver is converged for maximum value over - a different j as shown: - - If TOLER < 0, the iterative solver is converged for maximum value over - a different j as shown: - - where: - - The Jacobi solver (SOLVER = 2) is suitable when using Distributed - ANSYS. This option is only available for 3-D models; if SOLVER is set - to 2 for a 2-D analysis, the Gauss-Seidel iterative solver (SOLVER = 0) - is used. - - """ - command = "RADOPT, %s, %s, %s, %s, %s, %s" % (str(fluxtol), str(solver), str(maxiter), str(toler), str(overrlex), str(maxfluxiter)) - self.RunCommand(command, **kwargs) - - def Free(self, name="", **kwargs): - """ - APDL Command: *FREE - - Deletes a matrix or a solver object and frees its memory allocation. - - Parameters - ---------- - name - Name of the matrix or solver object to delete. Use Name = ALL to - delete all APDL Math matrices and solver objects. Use Name = WRK - to delete all APDL Math matrices and solver objects that belong to - a given workspace. - - val1 - If Name = WRK, Val1 is to set the memory workspace number. - - Notes - ----- - A /CLEAR command will automatically delete all the current APDL Math - objects. - - """ - command = "*FREE, %s" % (str(name)) - self.RunCommand(command, **kwargs) - - def Cslist(self, kcn1="", kcn2="", kcinc="", **kwargs): - """ - APDL Command: CSLIST - - Lists coordinate systems. - - Parameters - ---------- - kcn1, kcn2, kcinc - List coordinate systems from KCN1 to KCN2 (defaults to KCN1) in - steps of KCINC (defaults to 1). If KCN1 = ALL (default), KCN2 and - KCINC are ignored and all coordinate systems are listed. - - Notes - ----- - This command is valid in any processor. - - """ - command = "CSLIST, %s, %s, %s" % (str(kcn1), str(kcn2), str(kcinc)) - self.RunCommand(command, **kwargs) - - def Crplim(self, crcr="", option="", **kwargs): - """ - APDL Command: CRPLIM - - Specifies the creep criterion for automatic time stepping. - - Parameters - ---------- - crcr - Value of creep criteria for the creep limit ratio control. - - option - Type of creep analysis for which the creep limit ratio is - specified: - - 1 (or ON) - Implicit creep analysis. - - 0 (or OFF) - Explicit creep analysis. - - Notes - ----- - The CUTCONTROL command can also be used to set the creep criterion and - is preferred over this command for setting automatic time step - controls. - - The creep ratio control can be used at the same time for implicit creep - and explicit creep analyses. For implicit creep (Option = 1), the - default value of CRCR is zero (i.e., no creep limit control), and you - can specify any value. For explicit creep (Option = 0), the default - value of CRCR is 0.1, and the maximum value allowed is 0.25. - - This command is also valid in PREP7. - - """ - command = "CRPLIM, %s, %s" % (str(crcr), str(option)) - self.RunCommand(command, **kwargs) - - def Mrep(self, name="", arg1="", arg2="", arg3="", arg4="", arg5="", - arg6="", arg7="", arg8="", arg9="", arg10="", arg11="", arg12="", - arg13="", arg14="", arg15="", arg16="", arg17="", arg18="", - **kwargs): - """ - APDL Command: /MREP - - Enables you to reissue the graphics command macro "name" during a - replot or zoom operation. - - Parameters - ---------- - name - The name identifying the macro file or macro block on a macro - library file. The name can contain up to eight characters maximum - and must begin with a letter. - - arg1, arg2, arg3, . . . , arg18 - Values to be passed into the file or block. - - Notes - ----- - This command reissues the graphics command macro "name" during a replot - operation [/REPLOT] or a zoom [/ZOOM] operation. The ANSYS program - passes the command macro arguments to the replot and zoom feature for - use by the graphics macro. You should place the s-MREP command at the - end of the graphics command macro, following the last graphics command - within the macro, to enable the replot or zoom feature. - - """ - command = "/MREP, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(name), str(arg1), str(arg2), str(arg3), str(arg4), str(arg5), str(arg6), str(arg7), str(arg8), str(arg9), str(arg10), str(arg11), str(arg12), str(arg13), str(arg14), str(arg15), str(arg16), str(arg17), str(arg18)) - self.RunCommand(command, **kwargs) - - def Pstres(self, key="", **kwargs): - """ - APDL Command: PSTRES - - Specifies whether prestress effects are calculated or included. - - Parameters - ---------- - key - Prestress key: - - OFF - Do not calculate (or include) prestress effects (default). - - ON - Calculate (or include) prestress effects. - - Notes - ----- - The PSTRES command specifies whether or not prestress effects are to be - calculated or included. The command should be issued after the ANTYPE - command. - - Prestress effects are calculated in a static or transient analysis for - inclusion in a buckling, modal, harmonic (Method = FULL), or - substructure generation analysis. If used in the solution processor - (/SOLU), this command is valid only within the first load step. - - If you apply thermal body forces during a static analysis to calculate - prestress effects, do not delete the forces during any subsequent full - harmonic analyses. If you delete the thermal body forces, the thermal - prestress effects will not be included in the harmonic analysis. - Temperature loads used to define the thermal prestress will also be - used in the full harmonic analysis as sinusoidally time-varying - temperature loads. - - A prestress effect applied with non-follower loads resists rigid body - rotation of the model. For example, an unsupported beam with axial - tensile forces applied to both ends will have two nonzero rotational - rigid body modes. - - If tabular loading (*DIM,,TABLE) was used in the prestress static - analysis step, the corresponding value of TIME will be used for tabular - evaluations in the modal analysis. - - This command is also valid in PREP7. - - """ - command = "PSTRES, %s" % (str(key)) - self.RunCommand(command, **kwargs) - - def Midtol(self, key="", tolerb="", resfq="", **kwargs): - """ - APDL Command: MIDTOL - - Sets midstep residual criterion values for structural transient - analyses. - - Parameters - ---------- - key - Midstep residual criterion activation key. - - ON or 1 - Activate midstep residual criterion in a structural transient analysis - (default). - - OFF or 0 - Deactivate midstep residual criterion in a structural transient analysis. - - STAT - List the current midstep residual criterion setting. - - tolerb - Midstep residual tolerance or reference value for bisection. - Defaults to 100 times the TOLER setting of the CNVTOL command. - - resfq - Key to use response frequency computation along with midstep - residual criterion for automatic time stepping (AUTOTS,ON). - - OFF or 0 - Do not calculate response frequency and do not consider it in the automatic - time stepping (default). - - ON or 1 - Calculate response frequency and consider it in the automatic time stepping. - - Notes - ----- - When TOLERB is input as a tolerance value (TOLERB > 0), the typical - force and/or moment from the regular time step is used in the midstep - residual force and/or moment comparison. - - In a structural transient analysis, the suggested tolerance range of - TOLERB (TOLERB > 0) is as follows: - - If the structural transient analysis is elastic and linear, and the - load is constant or changes slowly, use a smaller value of TOLERB to - achieve an accurate solution. If the analysis involves large amounts of - energy dissipation, such as elastic-plastic material, TOLERB can be - larger. If the analysis includes contact or rapidly varying loads, a - smaller value of TOLERB should be used if high frequency response is - important; otherwise, a larger value of TOLERB may be used to enable - faster convergence with larger time step sizes. - - For more information on how the midstep criterion is used by the - program, see Midstep Residual for Structural Dynamic Analysis in the - Mechanical APDL Theory Reference. - - This command is also valid in PREP7. - - """ - command = "MIDTOL, %s, %s, %s" % (str(key), str(tolerb), str(resfq)) - self.RunCommand(command, **kwargs) - - def Outopt(self, **kwargs): - """ - APDL Command: OUTOPT - - Specifies "Output options" as the subsequent status topic. - - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. - - If entered directly into the program, the STAT command should - immediately follow this command. - - """ - command = "OUTOPT, " % () - self.RunCommand(command, **kwargs) - - def Thopt(self, refopt="", reformtol="", ntabpoints="", tempmin="", - tempmax="", algo="", **kwargs): - """ - APDL Command: THOPT - - Specifies nonlinear transient thermal solution options. - - Parameters - ---------- - refopt - Matrix reform option. - - FULL - Use the full Newton-Raphson solution option (default). All subsequent input - values are ignored. - - QUASI - Use a selective reform solution option based on REFORMTOL. - - reformtol - Property change tolerance for Matrix Reformation (.05 default). The - thermal matrices are reformed if the maximum material property - change in an element (from the previous reform time) is greater - than the reform tolerance. Valid only when Refopt = QUASI. - - ntabpoints - Number of points in Fast Material Table (64 default). Valid only - when Refopt = QUASI. - - tempmin - Minimum temperature for Fast Material Table. Defaults to the - minimum temperature defined by the MPTEMP command for any material - property defined. Valid only when Refopt = QUASI. - - tempmax - Maximum temperature for Fast Material Table. Defaults to the - maximum temperature defined by the MPTEMP command for any material - property defined. Valid only when Refopt = QUASI. - - -- - Reserved field. - - algo - Specifies which solution algorithm to apply: - - 0 - Multipass (default). - - 1 - Iterative. - - Notes - ----- - The QUASI matrix reform option is supported by the ICCG, JCG, and - sparse solvers only (EQSLV). - - For Refopt = QUASI: - - Results from a restart may be different than results from a single run - because the stiffness matrices are always recreated in a restart run, - but may or may not be in a single run (depending on the behavior - resulting from the REFORMTOL setting). Additionally, results may differ - between two single runs as well, if the matrices are reformed as a - result of the REFORMTOL setting. - - Midside node temperatures are not calculated if 20-node thermal solid - elements (SOLID90 or SOLID279) are used. - - For more information, see Solution Algorithms Used in Transient Thermal - Analysis in the Thermal Analysis Guide. - - """ - command = "THOPT, %s, %s, %s, %s, %s, %s" % (str(refopt), str(reformtol), str(ntabpoints), str(tempmin), str(tempmax), str(algo)) - self.RunCommand(command, **kwargs) - - def Sudel(self, surfname="", **kwargs): - """ - APDL Command: SUDEL - - Delete geometry information as well as any mapped results for specified - surface. - - Parameters - ---------- - surfname - Eight character surface name. - - """ - command = "SUDEL, %s" % (str(surfname)) - self.RunCommand(command, **kwargs) - - def Cmrotate(self, cm_name="", rotatx="", rotaty="", rotatz="", x1="", - y1="", z1="", x2="", y2="", z2="", **kwargs): - """ - APDL Command: CMROTATE - - Specifies the rotational velocity of an element component in a brake - squeal analysis. - - Parameters - ---------- - cm_name - The name of the element component. - - rotatx, rotaty, rotatz - If the X2, Y2, Z2 fields are not defined, ROTATX, ROTATY, and - ROTATZ specify the components of the rotational angle vector in the - global Cartesian X, Y, Z directions. - - x1, y1, z1 - If the X2, Y2, Z2 fields are defined, X1, Y1, and Z1 define the - coordinates of the beginning point of the rotational axis vector. - Otherwise, X1, Y1, and Z1 are the coordinates of a point through - which the rotational axis passes. - - x2, y2, z2 - The coordinates of the end point of the rotational axis vector. - - Notes - ----- - The CMROTATE command specifies the rotational motion velocity - components ROTATX, ROTATY, and ROTATZ of an element component CM_Name - about a user-defined rotational axis. The rotational axis can be - defined either as a vector passing through a single point or a vector - connecting two points. CMROTATE can be used in static analyses - (ANTYPE,STATIC) and modal analyses (ANTYPE,MODAL). - - This command sets the constant rotational velocity on the nodes of the - specified element component, despite any deformation at the nodes. This - feature is primarily used for generating sliding contact at frictional - contact interfaces in a brake squeal analysis. This type of analysis - typically involves surface-to-surface contact between the brake pad and - the rotating disk. The applicable contact elements, therefore, are - CONTA173, CONTA174, and CONTA175. - - A brake squeal analysis generally involves a linear perturbation modal - analysis subsequent to a large-deformation static analysis with the - Newton-Raphson option set as NROPT,UNSYM. Therefore, CMROTATE is not - applicable for multiple load step solves using the LSSOLVE command. - - This command is also valid in PREP7. - - """ - command = "CMROTATE, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(cm_name), str(rotatx), str(rotaty), str(rotatz), str(x1), str(y1), str(z1), str(x2), str(y2), str(z2)) - self.RunCommand(command, **kwargs) - - def Rigid(self, dof1="", dof2="", dof3="", dof4="", dof5="", dof6="", - **kwargs): - """ - APDL Command: RIGID - - Specifies known rigid body modes (if any) of the model. - - Parameters - ---------- - dof1, dof2, dof3, . . . , dof6 - Up to six global Cartesian directions of the rigid modes. For a - completely free 2-D model, use ALL or UX, UY, ROTZ. For a - completely free 3-D model, use ALL or UX, UY, UZ, ROTX, ROTY, ROTZ. - For a constrained model, use UX, UY, UZ, ROTX, ROTY, or ROTZ, as - appropriate, to specify each and every unconstrained direction - which exists in the model (not specifying every direction may cause - difficulties in extracting the modes). - - Notes - ----- - Specifies known rigid body modes (if any) of the model. This command - applies only to a component mode synthesis (CMS) analysis (see the - CMSOPT command). Any rigid body modes specified must be permitted by - the applied displacement constraints (i.e., do not specify a rigid body - mode in a constrained direction). Reissue the command to redefine the - specification. If used in SOLUTION, this command is valid only within - the first load step. - - This command is also valid in PREP7. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. - - """ - command = "RIGID, %s, %s, %s, %s, %s, %s" % (str(dof1), str(dof2), str(dof3), str(dof4), str(dof5), str(dof6)) - self.RunCommand(command, **kwargs) - - def Outaero(self, sename="", timeb="", dtime="", **kwargs): - """ - APDL Command: OUTAERO - - Outputs the superelement matrices and load vectors to formatted files - for aeroelastic analysis. - - Parameters - ---------- - sename - Name of the superelement that models the wind turbine supporting - structure. Defaults to the current Jobname. - - timeb - First time at which the load vector is formed (defaults to be read - from SENAME.sub). - - dtime - Time step size of the load vectors (defaults to be read from - SENAME.sub). - - Notes - ----- - Both TIMEB and DTIME must be blank if the time data is to be read from - the SENAME.sub file. - - The matrix file (SENAME.SUB) must be available from the substructure - generation run before issuing this command. This superelement that - models the wind turbine supporting structure must contain only one - master node with six freedoms per node: UX, UY, UZ, ROTX, ROTY, ROTZ. - The master node represents the connection point between the turbine and - the supporting structure. - - This command will generate four files that are exported to the - aeroelastic code for integrated wind turbine analysis. The four files - are Jobname.GNK for the generalized stiffness matrix, Jobname.GNC for - the generalized damping matrix, Jobname.GNM for the generalized mass - matrix and Jobname.GNF for the generalized load vectors. - - For detailed information on how to perform a wind coupling analysis, - see Coupling to External Aeroelastic Analysis of Wind Turbines in the - Mechanical APDL Advanced Analysis Guide. - - """ - command = "OUTAERO, %s, %s, %s" % (str(sename), str(timeb), str(dtime)) - self.RunCommand(command, **kwargs) - - def Cgomga(self, cgomx="", cgomy="", cgomz="", **kwargs): - """ - APDL Command: CGOMGA - - Specifies the rotational velocity of the global origin. - - Parameters - ---------- - cgomx, cgomy, cgomz - Rotational velocity of the global origin about the acceleration - system X, Y, and Z axes. - - Notes - ----- - Specifies the rotational velocity of the global origin about each of - the acceleration coordinate system axes. The location of the - acceleration coordinate system is defined with the CGLOC command. - Rotational velocities may be defined in analysis types ANTYPE,STATIC, - HARMIC (full or mode-superposition), TRANS (full or mode- - superposition), and SUBSTR. See Acceleration Effect in the Mechanical - APDL Theory Reference for details. Units are radians/time. Related - commands are ACEL, CGLOC, DCGOMG, DOMEGA, and OMEGA. - - See Analysis Tools in the Mechanical APDL Theory Reference for more - information. - - The CGOMGA command supports tabular boundary conditions (%TABNAME_X%, - %TABNAME_Y%, and %TABNAME_Z%) for CGOMGA_X, CGOMGA_Y, and CGOMGA_Z - input values (*DIM) for full transient and harmonic analyses. - - This command is also valid in PREP7. - - """ - command = "CGOMGA, %s, %s, %s" % (str(cgomx), str(cgomy), str(cgomz)) - self.RunCommand(command, **kwargs) - - def Lplot(self, nl1="", nl2="", ninc="", **kwargs): - """ - APDL Command: LPLOT - - Displays the selected lines. - - Parameters - ---------- - nl1, nl2, ninc - Display lines from NL1 to NL2 (defaults to NL1) in steps of NINC - (defaults to 1). If NL1 = ALL (default), NL2 and NINC are ignored - and display all selected lines [LSEL]. - - Notes - ----- - Mesh divisions on plotted lines are controlled by the LDIV option of - the /PSYMB command. - - This command is valid in any processor. + This command is valid in any processor. """ - command = "LPLOT, %s, %s, %s" % (str(nl1), str(nl2), str(ninc)) + command = "/YRANGE,%s,%s,%s" % (str(ymin), str(ymax), str(num)) self.RunCommand(command, **kwargs) - def Trplis(self, ntrp1="", ntrp2="", trpinc="", opt="", **kwargs): + def Prvar(self, nvar1="", nvar2="", nvar3="", nvar4="", nvar5="", nvar6="", + **kwargs): """ - APDL Command: TRPLIS + APDL Command: PRVAR - Lists the particle flow or charged particle trace points. + Lists variables vs. time (or frequency). Parameters ---------- - ntrp1, ntrp2, trpinc - List points from NTRP1 to NTRP2 (defaults to NTRP1) in steps of - TRPINC (defaults to 1). If NTRP1 = ALL, NTRP2 and TRPINC are - ignored and all trace points are listed. If NTRP1 = P, graphical - picking is enabled and all remaining command fields are ignored - (valid only in the GUI). - - opt - Opt = LOC lists the trace point number location (X, Y, Z). Default. + nvar1, nvar2, nvar3, . . . , nvar6 + Variables to be displayed, defined either by the reference number + or a unique thirty-two character name. If duplicate names are used + the command will print the data for the lowest-numbered variable + with that name. Notes ----- - Lists the particle flow or charged particle trace points in the active - display coordinate system [DSYS]. Trace points are defined with the - TRPOIN command. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Lists variables vs. time (or frequency). Up to six variables may be + listed across the line. Time column output format can be changed using + the /FORMAT command arguments Ftype, NWIDTH, and DSIGNF. """ - command = "TRPLIS, %s, %s, %s, %s" % (str(ntrp1), str(ntrp2), str(trpinc), str(opt)) + command = "PRVAR,%s,%s,%s,%s,%s,%s" % (str(nvar1), str(nvar2), str(nvar3), str(nvar4), str(nvar5), str(nvar6)) self.RunCommand(command, **kwargs) - def Uimp(self, mat="", lab1="", lab2="", lab3="", val1="", val2="", - val3="", **kwargs): + def Prsect(self, rho="", kbr="", **kwargs): """ - APDL Command: UIMP + APDL Command: PRSECT - Defines constant material properties (GUI). + Calculates and prints linearized stresses along a section path. Parameters ---------- - mat - Material number. - - lab1, lab2, lab3 - Material property labels (see the MP command for valid labels). - - val1, val2, val3 - Values corresponding to three labels. - - Notes - ----- - Defines constant material properties. This is a command generated by - the Graphical User Interface (GUI) and will appear in the log file - (Jobname.LOG) if material properties are specified using the Material - Properties dialog box. This command is not intended to be typed in - directly in an ANSYS session (although it can be included in an input - file for batch input or for use with the /INPUT command). - - """ - command = "UIMP, %s, %s, %s, %s, %s, %s, %s" % (str(mat), str(lab1), str(lab2), str(lab3), str(val1), str(val2), str(val3)) - self.RunCommand(command, **kwargs) + rho + In-plane (X-Y) average radius of curvature of the inside and + outside surfaces of an axisymmetric section. If zero (or blank), a + plane or 3-D structure is assumed. If nonzero, an axisymmetric + structure is assumed. Use any large number (or -1) for an + axisymmetric straight section. - def Edint(self, shellip="", beamip="", **kwargs): - """ - APDL Command: EDINT + kbr + Through-thickness bending stresses key for an axisymmetric analysis + (RHO  ≠ 0): - Specifies number of integration points for explicit shell and beam - output. + 0 - Include the thickness-direction bending stresses. - Parameters - ---------- - shellip - Number of shell integration points used for output (defaults to 3). - For element SHELL163, each integration point is associated with a - layer. SHELLIP must be 3. If SHELLIP = 3, results are written for - the shell top, middle, and bottom. If SHELLIP >3, then the results - for the first SHELLIP layers are written. + 1 - Ignore the thickness-direction bending stresses. - beamip - Number of beam integration points used for stress output for - BEAM161 (defaults to 4). + 2 - Include the thickness-direction bending stress using the same formula as the Y + (axial direction ) bending stress. Also use the same formula + for the shear stress. Notes ----- - The number of integration points is defined by the element real - constant NIP for both the beam elements (in the cross section) and the - shell elements (through the thickness). - - For shell elements that have only 1 or 2 integration points (NIP = 1 or - 2), use the default of SHELLIP = 3. If NIP = 1, the same results are - reported at the top, middle, and bottom layers. If the NIP = 2, the - results at the bottom correspond to integration point 1, the results at - the top correspond to integration point 2, and the results at the - middle are an average of the top and bottom results. - - For shell elements with 2 x 2 integration points in the plane, the data - from the four points are averaged, and there is a single output value - for each layer. - - If you set BEAMIP = 0, no stress output is written for BEAM161 - elements. In this case, the beams will not appear in any POST1 plots - because the program assumes they are failed elements. - - This command is also valid in PREP7. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. - - """ - command = "EDINT, %s, %s" % (str(shellip), str(beamip)) - self.RunCommand(command, **kwargs) - - def Vsla(self, type="", vlkey="", **kwargs): - """ - APDL Command: VSLA - - Selects those volumes containing the selected areas. - - Parameters - ---------- - type - Label identifying the type of volume select: - - S - Select a new set (default). - - R - Reselect a set from the current set. - - A - Additionally select a set and extend the current set. - - U - Unselect a set from the current set. - - vlkey - Specifies whether all contained volume areas must be selected - [ASEL]: - - 0 - Select volume if any of its areas are in the selected area set. - - 1 - Select volume only if all of its areas are in the selected area set. + You may choose to linearize the stresses through a section and separate + them into categories for various code calculations. PRSECT calculates + and reports linearized stresses along a section path. The linearized + stresses are also separated into membrane, bending, membrane plus + bending, peak, and total stress categories. - Notes - ----- - This command is valid in any processor. + First, define your section path using the PATH and PPATH (with the NODE + option) commands. Your path must lie entirely within the selected set + of elements (that is, there must be no element gaps along the path). + PATH and PPATH are used only to retrieve the two end nodes. The path + data is not retained. The section path is defined by the two end + nodes, and by 47 intermediate points that are automatically determined + by linear interpolation in the active display coordinate system [DSYS]. + The number and location of the intermediate points are not affected by + the number of divisions set by PATH,,,,nDiv. - """ - command = "VSLA, %s, %s" % (str(type), str(vlkey)) - self.RunCommand(command, **kwargs) + Your linearized component stress values are obtained by interpolating + each element’s average corner nodal values along the section path + points within each path element. PRSECT reports the linearized + component and principal stresses for each stress category at the + beginning, mid-length, and end of the section path. PRPATH can be used + to report the total stresses at the intermediate points. - def Swadd(self, ecomp="", shrd="", ncm1="", ncm2="", ncm3="", ncm4="", - ncm5="", ncm6="", ncm7="", ncm8="", ncm9="", **kwargs): - """ - APDL Command: SWADD + Section paths may be through any set of solid (2-D plane, 2-D + axisymmetric or 3-D) elements. However, section paths are usually + defined to be through the thickness of the structure and normal to the + inner and outer structure surfaces. Section paths (in-plane only) may + also be defined for shell element structures. See the Mechanical APDL + Theory Reference for details. - Adds more surfaces to an existing spot weld set. + If the RHO option is set to indicate the axisymmetric option (non- + zero), PRSECT reports the linearized stresses in the section + coordinates (SX – along the path, SY – normal to the path, and SZ – + hoop direction). If the RHO option is set to indicate the 2-D planar + or 3-D option (zero or blank), PRSECT reports the linearized stresses + in the active results coordinate system [RSYS]. If the RHO option is + zero or blank and either RSYS, SOLU or RSYS, -1 are active, the + linearized stresses are calculated and reported in the global Cartesian + coordinate system. It is recommended that linearized stress + calculations be performed in a rectangular coordinate system. + Principal stresses are recalculated from the component stresses and are + invariant with the coordinate system as long as SX is in the same + direction at all points along the defined path. The PLSECT command + displays the linearized stresses in the same coordinate system as + reported by PRSECT. - Parameters - ---------- - ecomp - Name of an existing spot weld set that was previously defined using - SWGEN. + Stress components through the section are linearized by a line integral + method and separated into constant membrane stresses, bending stresses + varying linearly between end points, and peak stresses (defined as the + difference between the actual (total) stress and the membrane plus + bending combination). - shrd - Search radius. Defaults to 4 times the spot weld radius defined for - the spot weld set (SWRD on SWGEN). + For nonaxisymmetric structures, the bending stresses are calculated + such that the neutral axis is at the midpoint of the path. + Axisymmetric results include the effects of both the radius of + revolution (automatically determined from the node locations) and the + in-plane average radius of curvature of the section surfaces (user + input). - ncm1, ncm2, ncm3, . . . , ncm9 - Surfaces to be added to the spot weld set. Each surface can be - input as a predefined node component or a meshed area number. + For axisymmetric cases, Mechanical APDL calculates the linearized + bending stress in the through-thickness direction as the difference + between the total outer fiber stress and the membrane stress if KBR = + 1. The calculation method may be conservative for locations with a + highly nonlinear variation of stress in the through-thickness + direction. Alternatively, you can specify KBR = 2 to calculate the + bending stress using the same method and formula as the Y (axial + direction) bending stress. For more information, see the discussion of + axisymmetric cases (specifically Equation: 17–40) in the Mechanical + APDL Theory Reference. - Notes - ----- - This command adds surfaces to an existing spot weld set defined by the - SWGEN command. You can add additional surfaces by repeating the SWADD - command. However, the maximum number of allowable surfaces (including - the 2 surfaces used for the original set defined by SWGEN) for each - spot weld set is 11. See Adding Surfaces to a Basic Set for more - information. + Portions of this command are not supported by PowerGraphics + [/GRAPHICS,POWER]. """ - command = "SWADD, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(ecomp), str(shrd), str(ncm1), str(ncm2), str(ncm3), str(ncm4), str(ncm5), str(ncm6), str(ncm7), str(ncm8), str(ncm9)) + command = "PRSECT,%s,%s" % (str(rho), str(kbr)) self.RunCommand(command, **kwargs) - def Move(self, node="", kc1="", x1="", y1="", z1="", kc2="", x2="", y2="", - z2="", **kwargs): + def Cmomega(self, cm_name="", omegax="", omegay="", omegaz="", x1="", + y1="", z1="", x2="", y2="", z2="", **kwargs): """ - APDL Command: MOVE + APDL Command: CMOMEGA - Calculates and moves a node to an intersection. + Specifies the rotational velocity of an element component about a user- + defined rotational axis. Parameters ---------- - node - Move this node. 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. + cm_name + The name of the element component. - kc1 - First coordinate system number. Defaults to 0 (global Cartesian). + omegax, omegay, omegaz + If the X2, Y2, Z2 fields are not defined, OMEGAX, OMEGAY, and + OMEGAZ specify the components of the rotational velocity vector in + the global Cartesian X, Y, Z directions. x1, y1, z1 - Input one or two values defining the location of the node in this - coordinate system. Input "U" for unknown value(s) to be calculated - and input "E" to use an existing coordinate value. Fields are R1, - θ1, Z1 for cylindrical, or R1, θ1, Φ1 for spherical or toroidal. - - kc2 - Second coordinate system number. + If the X2, Y2, Z2 fields are defined,X1, Y1, and Z1 define the + coordinates of the beginning point of the rotational axis vector. + Otherwise, X1, Y1, and Z1 are the coordinates of a point through + which the rotational axis passes. x2, y2, z2 - Input two or one value(s) defining the location of the node in this - coordinate system. Input "U" for unknown value(s) to be calculated - and input "E" to use an existing coordinate value. Fields are R2, - θ2, Z2 for cylindrical, or R2,  θ2, Φ2 for spherical or toroidal. - - Notes - ----- - Calculates and moves a node to an intersection location. The node may - have been previously defined (at an approximate location) or left - undefined (in which case it is internally defined at the SOURCE - location). The actual location is calculated from the intersection of - three surfaces (implied from three coordinate constants in two - different coordinate systems). The three (of six) constants easiest to - define should be used. The program will calculate the remaining three - coordinate constants. All arguments, except KC1, must be input. Use - the repeat command [*REPEAT] after the MOVE command to define a line of - intersection by repeating the move operation on all nodes of the line. - - Surfaces of constant value are implied by some commands by specifying a - single coordinate value. Implied surfaces are used with various - commands [MOVE, KMOVE, NSEL, etc.]. Three surfaces are available with - each of the four coordinate system types. Values or X, Y, or Z may be - constant for the Cartesian coordinate system; values of R,: θ, or Z for - the cylindrical system; and values of R, θ,: Φ for the spherical and - toroidal systems. For example, an X value of 3 represents the Y-Z - plane (or surface) at X=3. In addition, the parameters for the - cylindrical and spherical coordinate systems may be adjusted [CS, - LOCAL] to form elliptical surfaces. For surfaces in elliptical - coordinate systems, a surface of "constant" radius is defined by the - radius value at the X-axis. Surfaces of constant value may be located - in local coordinate systems [LOCAL, CLOCAL, CS, or CSKP] to allow for - any orientation. - - The intersection calculation is based on an iterative procedure (250 - iterations maximum) and a tolerance of 1.0E-4. The approximate - location of a node should be sufficient to determine a unique - intersection if more than one intersection point is possible. Tangent - "intersections" should be avoided. If an intersection is not found, - the node is placed at the last iteration location. - - This command is also valid in the /MAP processor. - - """ - command = "MOVE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(node), str(kc1), str(x1), str(y1), str(z1), str(kc2), str(x2), str(y2), str(z2)) - self.RunCommand(command, **kwargs) - - def Bfecum(self, lab="", oper="", fact="", tb_ase="", **kwargs): - """ - APDL Command: BFECUM - - Specifies whether to ignore subsequent element body force loads. - - Parameters - ---------- - lab - Valid body load label. If ALL, use all appropriate labels. - - oper - Replace or ignore key: - - REPL - Subsequent values replace the previous values (default). - - IGNO - Subsequent values are ignored. - - fact - Scale factor for the element body load values. Zero (or blank) - defaults to 1.0. Use a small number for a zero scale factor. The - scale factor is not applied to body load phase angles. - - tbase - Used (only with Lab = TEMP) to calculate the temperature used in - the add or replace operation (see Oper) as: - - Notes - ----- - Allows repeated element body force loads to be replaced or ignored. - Element body loads are applied with the BFE command. Issue the BFELIST - command to list the element body loads. The operations occur when the - next body loads are defined. For example, issuing the BFE command with - a temperature value of 25 after a previous BFE command with a - temperature value of 20 causes the new value of that temperature to be - 25 with the replace operation, or 20 with the ignore operation. A - scale factor is also available to multiply the next value before the - replace operation. A scale factor of 2.0 with the previous "replace" - example results in a temperature of 50. The scale factor is applied - even if no previous values exist. Issue BFECUM,STAT to show the - current label, operation, and scale factors. - - BFECUM does not work for tabular boundary conditions. - - This command is also valid in PREP7. - - """ - command = "BFECUM, %s, %s, %s, %s" % (str(lab), str(oper), str(fact), str(tb_ase)) - self.RunCommand(command, **kwargs) - - def Secfunction(self, table="", kcn="", **kwargs): - """ - APDL Command: SECFUNCTION - - Specifies shell section thickness as a tabular function. - - Parameters - ---------- - table - Table name or array parameter reference for specifying thickness. - - kcn - Local coordinate system reference number or array interpretation - pattern for this tabular function evaluation. + The coordinates of the end point of the rotational axis vector. Notes ----- - The SECFUNCTION command is associated with the section most recently - defined via the SECTYPE command. - - A table (TABLE) can define tabular thickness as a function of - coordinates. Alternatively, you can use an array parameter (indexed by - node number) that expresses the function to be mapped. (For example, - func (17) should be the desired shell thickness at node 17.) To - specify a table, enclose the table or array name in percent signs (%) - (SECFUNCTION,%tablename%). Use the *DIM command to define a table. - - The table or array defines the total shell thickness at any point in - space. In multilayered sections, the total thickness and each layer - thickness are scaled accordingly. - - The Function Tool is a convenient way to define your thickness tables. - For more information, see Using the Function Tool in the Basic Analysis - Guide. - - If you do not specify a local coordinate system (KCN), the program - interprets TABLE in global XYZ coordinates. (For information about - local coordinate systems, see the LOCAL command documentation.) - - When KCN = NODE, the program interprets TABLE as an array parameter - (indexed by node number) that expresses the function to be mapped. - - When KCN = NOD2, the program interprets TABLE as a 2-D array parameter - (where columns contain node numbers and rows contain the corresponding - thicknesses) that expresses the function to be mapped. - - """ - command = "SECFUNCTION, %s, %s" % (str(table), str(kcn)) - self.RunCommand(command, **kwargs) - - def Dklist(self, kpoi="", **kwargs): - """ - APDL Command: DKLIST - - Lists the DOF constraints at keypoints. + Specifies the rotational velocity components OMEGAX, OMEGAY, and OMEGAZ + of an element component CM_NAME about a user-defined rotational axis. + The rotational axis can be defined either as a vector passing through a + single point or a vector connecting two points. - Parameters - ---------- - kpoi - List constraints for this keypoint. If ALL (default), list for all - selected keypoints [KSEL]. If KPOI = 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 KPOI. + You can define rotational velocity and rotational axis for these + analysis types: - Notes - ----- - Listing applies to the selected keypoints [KSEL] and the selected - degree of freedom labels [DOFSEL]. + Static (ANTYPE,STATIC) - This command is valid in any processor. + Harmonic (ANTYPE,HARMIC) -- Full or modal superposition - """ - command = "DKLIST, %s" % (str(kpoi)) - self.RunCommand(command, **kwargs) + Transient (ANTYPE,TRANS) -- Full or modal superposition - def Cecheck(self, itemlab="", tolerance="", dof="", **kwargs): - """ - APDL Command: CECHECK + Substructuring (ANTYPE,SUBSTR) - Check constraint equations and couplings for rigid body motions. + Modal (ANTYPE,MODAL) - Parameters - ---------- - itemlab - Item indicating what is to be checked: + Rotational velocities are combined with the element mass matrices to + form a body force load vector term. Units are radians/time. Related + commands are ACEL, CGLOC, CGLOC, CGOMGA, CMDOMEGA, DCGOMG, DOMEGA. - CE - Check constraint equations only + See Analysis Tools in the Mechanical APDL Theory Reference for more + information. - CP - Check couplings only + You can use the CMOMEGA command in conjunction with either one of the + following two groups of commands, but not with both groups + simultaneously: - ALL - Check both CE and CP + Components for which you want to specify rotational loading must + consist of elements only. The elements you use cannot be part of more + than one component, and elements that share nodes cannot exist in + different element components. You cannot apply the loading to an + assembly of element components. - tolerance - Allowed amount of out-of-balance for any constraint equation or - coupled set. The default value of 1.0e-6 is usually good. + If you have applied the Coriolis effect (CORIOLIS) using a stationary + reference frame, the CMOMEGA command takes the gyroscopic damping + matrix into account for the elements listed under “Stationary Reference + Frame” in the notes section of the CORIOLIS command. ANSYS verifies + that the rotation vector axis is parallel to the axis of the element; + if not, the gyroscopic effect is not applied. If you issue a CMOMEGA + command when the Coriolis or gyroscopic effect is present, a + subsequently issued OMEGA command has no effect. - dof - Specifies which DOF is to be checked. Default is RIGID, the usual - option. Other choices are individual DOF such as UX, ROTZ, etc. or - THERM. The THERM option will check the constraint equations or - coupled sets for free thermal expansions, whereas the individual - DOFs check under rigid body motions. ALL is RIGID and THERM. + The CMOMEGA command supports tabular boundary conditions (%TABNAME_X%, + %TABNAME_Y%, and %TABNAME_Z%) for CMOMEGA_X, CMOMEGA_Y, and CMOMEGA_Z + input values (*DIM) for full transient and harmonic analyses. - Notes - ----- - This command imposes a rigid body motion on the nodes attached to the - constraint equation or coupled set and makes sure that no internal - forces are generated for such rigid body motions. Generation of - internal forces by rigid body motions usually indicates an error in the - equation specification (possibly due to nodal coordinate rotations). - The THERM option does a similar check to see that no internal forces - are created by the equations if the body does a free thermal expansion - (this check assumes a single isotropic coefficient of expansion). + In a mode-superposition harmonic or transient analysis, you must apply + the load in the modal portion of the analysis. Mechanical APDL + calculates a load vector and writes it to the MODE file, which you can + apply via the LVSCALE command. """ - command = "CECHECK, %s, %s, %s" % (str(itemlab), str(tolerance), str(dof)) + command = "CMOMEGA,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(cm_name), str(omegax), str(omegay), str(omegaz), str(x1), str(y1), str(z1), str(x2), str(y2), str(z2)) self.RunCommand(command, **kwargs) - def Morph(self, option="", remeshopt="", elemset="", armax="", voch="", - arch="", step="", time="", stropt="", **kwargs): + def Eddamp(self, part="", lcid="", valdmp="", **kwargs): """ - APDL Command: MORPH + APDL Command: EDDAMP - Specifies morphing and remeshing controls. + Defines mass weighted (Alpha) or stiffness weighted (Beta) damping for + an explicit dynamics model. Parameters ---------- - option - OFF + part + PART number [EDPART] identifying the group of elements to which + damping should be applied. If PART = ALL (default), damping is + applied to the entire model. - OFF - Turns off morphing for field elements (default). + lcid + Load curve ID (previously defined with the EDCURVE command) + identifying the damping coefficient versus time curve. If time- + dependent damping is defined, an LCID is required. - ON - Turns on morphing for field elements. + valdmp + Constant system damping coefficient or a scale factor applied to + the curve defining damping coefficient versus time. - -- - Unused field + Notes + ----- + Mass-weighted (Alpha) or stiffness-weighted (Beta) damping can be + defined with the EDDAMP command. Generally, stiffness proportional or + beta damping is effective for oscillatory motion at high frequencies. + This type of damping is orthogonal to rigid body motion and so will not + damp out rigid body motion. On the other hand, mass proportional or + alpha damping is more effective for low frequencies and will damp out + rigid body motion. The different possibilities are described below: - remeshopt - OFF + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - OFF - Do not remesh (default). + Mass-weighted or Alpha damping - ON - Remesh when element qualities fall below values specified by ARMAX, VOCH, or - ARCH as explained below. Valid only when Option is ON. + When PART = (blank) or ALL (default), mass-weighted global damping can + be defined in the following two ways. In this case, the same damping is + applied for the entire structure. - elemset - ALL + When the damping coefficient versus time curve (LCID) is specified + using the EDCURVE command, VALDMP is ignored by LS-DYNA (although it is + written in the LS-DYNA input file Jobname.K). The damping force + applied to each node in the model is given by fd = d(t)mv, where d(t) + is the damping coefficient as a function of time defined by the EDCURVE + command, m is the mass, and v is the velocity. - ALL - Remesh all selected elements if the quality of the worst defined element falls - below any quality requirement (default when Remeshopt = ON). + When the LCID is 0 or blank (default), a constant mass-weighted system + damping coefficient can be specified using VALDMP. - CompName - Specify a component name, up to 32 characters. All elements included in this - component name are remeshed if the quality of the worst - element falls below any quality requirement. + The constant and time-dependent damping, described above, cannot be + defined simultaneously. The last defined global damping will overwrite + any previously defined global damping. - armax - The maximum allowable element generalized aspect ratio. Defaults to - 5. + Mass-weighted or Alpha damping - voch - The maximum allowable change of element size (area or volume). - Defaults to 3. + When both a valid PART number is specified and the damping coefficient + versus time curve (LCID) is specified using the EDCURVE command, mass- + weighted time-dependent damping will be defined for the particular + PART. In this case, VALDMP will act as a scaling factor for the + damping versus time curve (if VALDMP is not specified, it will default + to 1). A valid PART number must be specified to define this type of + damping. For example, use PART =1 (and not blank) when the entire model + consists of only one PART. Issue the command repeatedly with different + PART numbers in order to specify alpha damping for different PARTS. - arch - The maximum allowable element aspect ratio change. Defaults to 3. + Stiffness-weighted or Beta damping - step - The frequency of element quality checking, based on time steps. A - quality check takes place at the intervals defined by STEP. - Defaults to 1 (quality check at every step). + When a valid PART number is specified with LCID = 0 or (blank) + (default), a stiffness-weighted (Beta) constant damping coefficient for + this particular PART can be defined by VALDMP. The stiffness-weighted + value corresponds to the percentage of damping in the high frequency + domain. For example, 0.1 roughly corresponds to 10% damping in the high + frequency domain. Recommended values range from 0.01 to 0.25. Values + lower than 0.01 may have little effect. If a value larger than 0.25 is + used, it may be necessary to lower the time step size significantly + (see the EDCTS command). Issue the command repeatedly with different + PART numbers in order to specify beta damping for different PARTS. + Time-dependent stiffness-weighted damping is not available in ANSYS LS- + DYNA. - time - A quality check takes place at the time point specified. Defaults - to -1 (a quality check at every time point). + The mass-weighted and stiffness-weighted damping, described above, + cannot be defined simultaneously for a particular PART number. The last + defined damping for the particular PART number will overwrite any + previously defined mass-weighted or stiffness-weighted damping for this + PART. - stropt - NO + In order to define the mass-weighted and stiffness-weighted damping + simultaneously, you can use the MP,BETD command (instead of the + EDDAMP,PART, ,VALDMP command) to define stiffness-weighted (Beta) + constant damping coefficient. However, do not use both of these + commands together to define stiffness-weighted (Beta) constant damping + coefficient for a particular PART. If you do, duplicate stiffness- + weighted (Beta) constant damping coefficients for this PART will be + written to the LS-DYNA input file Jobname.K. The last defined value + will be used by LS-DYNA. Also, note that the MP,BETD command is applied + on the MAT number, and not on the PART number. Since a group of + elements having the same MAT ID may belong to more than one PART (the + opposite is not true), you need to issue the MP,BETD command only once + for this MAT ID and the stiffness-weighted (Beta) damping coefficients + will be automatically defined for all the PARTs with that MAT ID. - NO - There are no structural elements in the model (default). + Mass-weighted and stiffness-weighted damping can be defined + simultaneously using the EDDAMP command only when mass-weighted damping + (constant or time-dependent) is defined as global damping (EDDAMP, ALL, + LCID, VALDMP) and stiffness-weighted damping is defined for all + necessary PARTs (EDDAMP,PART, ,VALDMP). - YES - There are no structural elements in the model and the morphing happens after - the structural solution. + To remove defined global damping, reissue the EDDAMP, ALL command with + LCID and VALDMP set to 0. To remove damping defined for a particular + PART, reissue EDDAMP, PART, where PART is the PART number, with LCID + and VALDMP set to 0. There is no default for the EDDAMP command, i.e., + issuing the EDDAMP command with PART = LCID = VALDMP = 0 will result in + an error. Stiffness-weighted damping defined by the MP,BETD command can + be deleted using MPDELE, BETD, MAT. - Notes - ----- - MORPH is applicable to any non-structural field analysis (not including - fluid elements). It activates displacement degrees of freedom for non- - structural elements so that boundary conditions may be placed on the - field mesh to constrain the movement of the non-structural mesh during - morphing. It morphs the non-structural mesh using displacements - transferred at the surface interface between the structural field and - the non-structural field. The displacements of non-structural elements - are mesh displacements to avoid mesh distortion, but have no physical - meaning except at the interface. MORPH does not support surface, link, - or shell elements, or any element shape other than triangles, quads, - tets, and bricks. Morphed fields must be in the global Cartesian system - (CSYS = 0). + In an explicit dynamic small restart (EDSTART,2) or full restart + analysis (EDSTART,3), you can only specify global alpha damping. This + damping will overwrite any alpha damping input in the original + analysis. If you do not input global alpha damping in the restart, the + damping properties input in the original analysis will carry over to + the restart. - After each remesh, new databases and results files are written with the - extensions .rth0n and .db0n, where n is the remesh file number - (FieldName.rth01, FieldName.rth02, ... and FieldName.db01, - FieldName.db02, etc.). The original database file is FieldName.dbo. - The FieldName.db01, FieldName.db02, etc. files have elements that are - detached from the solid model. + Damping specified by the EDDAMP command can be listed, along with other + explicit dynamics specifications, by typing the command string + EDSOLV$STAT into the ANSYS input window. Beta damping specified by the + MP,BETD command can be listed by MPLIST, MAT command. - Remeshing has the following restrictions: + This command is also valid in PREP7. - Valid only for the electrostatic elements (PLANE121, SOLID122, and - SOLID123) + """ + command = "EDDAMP,%s,%s,%s" % (str(part), str(lcid), str(valdmp)) + self.RunCommand(command, **kwargs) - Limited to triangle (2-D) and tetrahedral (3-D) options of these - elements + def Pred(self, sskey="", lskey="", **kwargs): + """ + APDL Command: PRED - Valid only for the MFS solver + Activates a predictor in a nonlinear analysis. - No body loads allowed in the interior nodes of the remeshing domain + Parameters + ---------- + sskey + Substep predictor key: - Nodes on the boundary cannot be remeshed; remeshing will not work if - morphing failed on the surface nodes + OFF - No prediction occurs. - Not suitable for extreme area or volume changes + ON - Use a predictor on all substeps after the first. - This command is also valid in SOLUTION. + AUTO - The program uses a predictor but, within certain exceptions, automatically + switches prediction off. This behavior is the default; see + "Command Default" for details. - """ - command = "MORPH, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(remeshopt), str(elemset), str(armax), str(voch), str(arch), str(step), str(time), str(stropt)) - self.RunCommand(command, **kwargs) + -- + Unused field. - def Adgl(self, na1="", na2="", ninc="", **kwargs): - """ - APDL Command: ADGL + lskey + Load step predictor: - Lists keypoints of an area that lie on a parametric degeneracy. + OFF - No prediction across load steps occurs. This is the default behavior. - Parameters - ---------- - na1, na2, ninc - List keypoints that lie on a parametric degeneracy on areas from - NA1 to NA2 (defaults to NA1) in steps of NINC (defaults to 1). If - NA1 = ALL (default), NA2 and NINC will be ignored and keypoints on - all selected areas [ASEL] will be listed. If NA1 = P, graphical - picking is enabled and all remaining arguments are ignored (valid - only in the GUI). A component name may be substituted in NA1 (NA2 - and NINC will be ignored). + ON - Use a predictor also on the first substep of the load step. (Sskey = ON is + required.) Notes ----- - See the Modeling and Meshing Guide for details on parametric - degeneracies. + Activates a predictor in a nonlinear analysis on the degree-of-freedom + solution for the first equilibrium iteration of each substep. - This command is valid in any processor. + When using the arc-length method (ARCLEN, ARCTRM), you cannot issue the + DOF solution predictor command (PRED), the automatic time stepping + command (AUTOTS), or the line search command (LNSRCH). If you activate + the arc-length method after you set PRED, AUTOTS, or LNSRCH, a warning + message appears. If you elect to proceed with the arc-length method, + the program disables your DOF predictor, automatic time stepping, and + line search settings, and the time step size is controlled by the arc- + length method internally. + + When using step-applied loads, such as TUNIF, BFUNIF, etc., or other + types of non-monotonic loads, the predictor may adversely affect the + convergence. If the solution is discontinuous, the predictor may need + to be turned off. + + When performing a nonlinear analysis involving large rotations, the + predictor may require using smaller substeps. + + This command is also valid in PREP7. """ - command = "ADGL, %s, %s, %s" % (str(na1), str(na2), str(ninc)) + command = "PRED,%s,%s" % (str(sskey), str(lskey)) self.RunCommand(command, **kwargs) - def Autots(self, key="", **kwargs): + def Nsym(self, ncomp="", inc="", node1="", node2="", ninc="", **kwargs): """ - APDL Command: AUTOTS + APDL Command: NSYM - Specifies whether to use automatic time stepping or load stepping. + Generates a reflected set of nodes. Parameters ---------- - key - Automatic time stepping key: + ncomp + Symmetry key: - OFF - Do not use automatic time stepping. + X - X (or R) symmetry (default). - ON - Use automatic time stepping (default). + Y - Y (or θ) symmetry. - AUTO - The program determines whether to use automatic time stepping (used by - Workbench). + Z - Z (or Φ) symmetry. + + inc + Increment all nodes in the given pattern by INC to form the + reflected node pattern. + + node1, node2, ninc + Reflect nodes from pattern beginning with NODE1 to NODE2 (defaults + to NODE1) in steps of NINC (defaults to 1). If NODE1 = ALL, NODE2 + and NINC are ignored and pattern is all selected nodes [NSEL]. 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 ----- - Specifies whether to use automatic time stepping (or load stepping) - over this load step. If Key = ON, both time step prediction and time - step bisection will be used. - - You cannot use automatic time stepping [AUTOTS], line search [LNSRCH], - or the DOF solution predictor [PRED] with the arc-length method - [ARCLEN, ARCTRM]. If you activate the arc-length method after you set - AUTOTS, LNSRCH, or PRED, a warning message appears. If you choose to - proceed with the arc-length method, the program disables your automatic - time stepping, line search, and DOF predictor settings, and the time - step size is controlled by the arc-length method internally. + Generates nodes from a given node pattern by a symmetry reflection. + Reflection is done in the active coordinate system by changing a + particular coordinate sign. Nodes in the pattern may have been + generated in any coordinate system. Nodal rotation angles are not + reflected. - This command is also valid in PREP7. + Symmetry reflection may be used with any node pattern, in any + coordinate system, as many times as desired. Reflection is + accomplished by a coordinate sign change (in the active coordinate + system). For example, an X-reflection in a Cartesian coordinate system + generates additional nodes from a given pattern, with a node increment + added to each node number, and an X coordinate sign change. An + R-reflection in a cylindrical coordinate system gives a reflected + "radial" location by changing the "equivalent" Cartesian (i.e., the + Cartesian system with the same origin as the active cylindrical system) + X and Y coordinate signs. An R-reflection in a spherical coordinate + system gives a reflected "radial" location by changing the equivalent + Cartesian X, Y, and Z coordinate location signs. Nodal coordinate + system rotation angles are not reflected. """ - command = "AUTOTS, %s" % (str(key)) + command = "NSYM,%s,%s,%s,%s,%s" % (str(ncomp), str(inc), str(node1), str(node2), str(ninc)) self.RunCommand(command, **kwargs) - def Large(self, ir="", ia="", ib="", ic="", name="", facta="", factb="", - factc="", **kwargs): + def Ddaspec(self, keyref="", shptyp="", mountloc="", deftyp="", amin="", + **kwargs): """ - APDL Command: LARGE + APDL Command: DDASPEC - Finds the largest (the envelope) of three variables. + Specifies the shock spectrum computation constants for DDAM analysis. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. + keyref + Key for reference catalog: - ia, ib, ic - Reference numbers of the three variables to be operated on. If - only two, leave IC blank. If only one, leave IB blank also. + 1 - The spectrum computation constants are based on NRL-1396 (default). For more + information, see Dynamic Design Analysis Method in the + Mechanical APDL Theory Reference - name - Thirty-two character name for identifying the variable on the - printout and displays. Embedded blanks are compressed upon output. + shptyp + Select the ship type: - --, -- - Unused fields. + SUBM - Submarine - facta, factb, factc - Scaling factors (positive or negative) applied to the corresponding - variables (default to 1.0). + SURF - Surface ship - Notes - ----- - Creates a new variable by finding the largest of up to three variables - according to the operation: + mountloc + Select the mounting location: - IR = Largest of (FACTA x IA, FACTB x IB, FACTC x IC) + HULL - Hull mounting location. These structures are mounted directly to basic hull + structures like frames, structural bulkheads below the water + line, and shell plating above the water line. - The comparison is done at each time location, so that the new variable - is the "envelope" of the three existing variables. + DECK - Deck mounting location. These structures are mounted directly to decks, non- + structural bulkheads, or to structural bulkheads above the + water line. - """ - command = "LARGE, %s, %s, %s, %s, %s, %s, %s, %s" % (str(ir), str(ia), str(ib), str(ic), str(name), str(facta), str(factb), str(factc)) - self.RunCommand(command, **kwargs) + SHEL - Shell plating mounting location. These structures are mounted directly to shell + plating below the water line without intervening + foundations. - def Sspa(self, a11="", a21="", a31="", a22="", a32="", a33="", t="", - **kwargs): - """ - APDL Command: SSPA + deftyp + Select the deformation type: - Specifies a preintegrated membrane stiffness for shell sections. + ELAS - Elastic deformation (default) - Parameters - ---------- - a11, a21, a31, a22, a32, a33 - Membrane stiffness component (symmetric lower part of submatrix - [A]). + PLAS - Elastic-plastic deformation - t - Temperature. + amin + Minimum acceleration value in inch/sec2. It defaults to 2316 + inch/sec2 which equals 6g, where g is the acceleration due to + gravity (g = 386 in/sec2). Notes ----- - The behavior of shell elements is governed by the generalized- - stress/generalized-strain relationship of the form: - - The SSPA command, one of several preintegrated shell section commands, - specifies the membrane stiffness quantity (submatrix [A]) for a - preintegrated shell section. The section data defined is associated - with the section most recently defined (via the SECTYPE command). - - Unspecified values default to zero. + The excitation direction is required to calculate the spectrum + coefficients. Issue the SED command before issuing DDASPEC. - Related commands are SSPB, SSPD, SSPE, SSMT, SSBT, and SSPM. + ADDAM and VDDAM may alternatively be used to calculate spectrum + coefficients. - For complete information, see Using Preintegrated General Shell - Sections. + This command is also valid in PREP7. """ - command = "SSPA, %s, %s, %s, %s, %s, %s, %s" % (str(a11), str(a21), str(a31), str(a22), str(a32), str(a33), str(t)) + command = "DDASPEC,%s,%s,%s,%s,%s" % (str(keyref), str(shptyp), str(mountloc), str(deftyp), str(amin)) self.RunCommand(command, **kwargs) - def Linp(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nl7="", - nl8="", nl9="", **kwargs): + def Dump(self, nstrt="", nstop="", **kwargs): """ - APDL Command: LINP + APDL Command: DUMP - Finds the pairwise intersection of lines. + Dumps the contents of a binary file. Parameters ---------- - nl1, nl2, nl3, . . . , nl9 - Numbers of lines to be intersected pairwise. If NL1 = ALL, find - the pairwise intersection of all selected lines and NL2 to NL9 are - ignored. If NL1 = P, graphical picking is enabled and all - remaining command fields are ignored (valid only in the GUI). A - component name may be substituted for NL1. + nstrt, nstop + Dump file from record NSTRT (defaults to 1) to NSTOP (defaults to + NSTRT). If NSTRT = HEAD, dump only record 1 of the file (NSTOP and + the format specification are ignored). If NSTRT = ALL, dump the + entire file. Notes ----- - Finds the pairwise intersection of lines. The pairwise intersection is - defined as any and all regions shared by at least two lines listed on - this command. New lines will be generated where the original lines - intersect pairwise. If the regions of pairwise intersection are only - points, new keypoints will be generated. See the Modeling and Meshing - Guide for an illustration. See the BOPTN command for the options - available to Boolean operations. Element attributes and solid model - boundary conditions assigned to the original entities will not be - transferred to the new entities generated. + Dumps the file named on the AUX2 FILEAUX2 command according the format + specified on the FORM command. """ - command = "LINP, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nl7), str(nl8), str(nl9)) + command = "DUMP,%s,%s" % (str(nstrt), str(nstop)) self.RunCommand(command, **kwargs) - def Mgen(self, itime="", inc="", node1="", node2="", ninc="", **kwargs): + def Midtol(self, key="", tolerb="", resfq="", **kwargs): """ - APDL Command: MGEN + APDL Command: MIDTOL - Generates additional MDOF from a previously defined set. + Sets midstep residual criterion values for structural transient + analyses. Parameters ---------- - itime, inc - Do this generation operation a total of ITIMEs, incrementing all - nodes in the set by INC each time after the first. ITIME must be > - 1 for generation to occur. All previously defined master degree of - freedom directions are included in the set. A component name may - also be substituted for ITIME. + key + Midstep residual criterion activation key. - node1, node2, ninc - Generate master degrees of freedom from set beginning with NODE1 to - NODE2 (defaults to NODE1) in steps of NINC (defaults to 1). If - NODE1 = ALL, NODE2 and NINC are ignored and set is all selected - nodes [NSEL]. If NODE1 = P, graphical picking is enabled and all - remaining command fields are ignored (valid only in the GUI). + ON or 1 - Activate midstep residual criterion in a structural transient analysis + (default). + + OFF or 0 - Deactivate midstep residual criterion in a structural transient analysis. + + STAT - List the current midstep residual criterion setting. + + tolerb + Midstep residual tolerance or reference value for bisection. + Defaults to 100 times the TOLER setting of the CNVTOL command. + + resfq + Key to use response frequency computation along with midstep + residual criterion for automatic time stepping (AUTOTS,ON). + + OFF or 0 - Do not calculate response frequency and do not consider it in the automatic + time stepping (default). + + ON or 1 - Calculate response frequency and consider it in the automatic time stepping. Notes ----- - Generates additional master degrees of freedom from a previously - defined set. If used in SOLUTION, this command is valid only within - the first load step. + When TOLERB is input as a tolerance value (TOLERB > 0), the typical + force and/or moment from the regular time step is used in the midstep + residual force and/or moment comparison. + + In a structural transient analysis, the suggested tolerance range of + TOLERB (TOLERB > 0) is as follows: + + If the structural transient analysis is elastic and linear, and the + load is constant or changes slowly, use a smaller value of TOLERB to + achieve an accurate solution. If the analysis involves large amounts of + energy dissipation, such as elastic-plastic material, TOLERB can be + larger. If the analysis includes contact or rapidly varying loads, a + smaller value of TOLERB should be used if high frequency response is + important; otherwise, a larger value of TOLERB may be used to enable + faster convergence with larger time step sizes. + + For more information on how the midstep criterion is used by the + program, see Midstep Residual for Structural Dynamic Analysis in the + Mechanical APDL Theory Reference. This command is also valid in PREP7. """ - command = "MGEN, %s, %s, %s, %s, %s" % (str(itime), str(inc), str(node1), str(node2), str(ninc)) + command = "MIDTOL,%s,%s,%s" % (str(key), str(tolerb), str(resfq)) self.RunCommand(command, **kwargs) - def Psymb(self, label="", key="", **kwargs): + def Moper(self, parr="", par1="", oper="", par2="", par3="", kdim="", + kout="", limit="", **kwargs): """ - APDL Command: /PSYMB + APDL Command: *MOPER - Shows various symbols on displays. + Performs matrix operations on array parameter matrices. Parameters ---------- - label - Show symbols as selected from the following labels: + parr + The name of the resulting array parameter matrix. See *SET for + name restrictions. - CS - Local coordinate systems. + par1 + First array parameter matrix input to the operation. For Oper = + MAP, this is an N x 3 array of coordinate locations at which to + interpolate. ParR will then be an N(out) x M array containing the + interpolated values. - NDIR - Nodal coordinate systems (on rotated nodes only). + oper + Matrix operations: - ESYS - Element coordinate systems (element displays only). + (*MOPER, ParR, Par1, INVERT) - Square matrix invert: Inverts the n x n matrix in Par1 into ParR. The matrix + must be well conditioned. - LDIR - Line directions (line displays only). + Warning:Non-independent or ill-conditioned equations can cause erroneous results. - For large matrices, use the APDL Math operation *LSFACTOR for efficiency (see + APDL Math). - LDIV - Controls the display of element divisions on lines. + (*MOPER, ParR, Par1, MULT, Par2) - Matrix multiply: Multiplies Par1 by Par2. The number of rows of Par2 must + equal the number of columns of Par1 for the + operation. If Par2 is input with a number of rows + greater than the number of columns of Par1, + matrices are still multiplied. However, the + operation only uses a number of rows of Par2 + equal to the number of columns of Par1. - ADIR - Area direction symbol (for keypoint, line, area and volume plots). + (*MOPER, ParR, Par1, COVAR, Par2) - Covariance: The measure of association between two columns of the input matrix + (Par1). Par1, of size m runs (rows) by n data + (columns) is first processed to produce a row + vector containing the mean of each column which + is transposed to a column vector (Par2) of n + array elements. The Par1 and Par2 operation then + produces a resulting n x n matrix (ParR) of + covariances (with the variances as the diagonal + terms). - LAYR - Layer orientations (relative to the projected element x-axis) or fiber - orientations in smeared reinforcing elements. Used only - within an element display. Use KEY to specify the layer - number. + (*MOPER, ParR, Par1, CORR, Par2) - Correlation: The correlation coefficient between two variables. The input + matrix (Par1), of size m runs (rows) by n data + (columns), is first processed to produce a row + vector containing the mean of each column which + is then transposed to a column vector (Par2) of n + array elements. The Par1 and Par2 operation then + produces a resulting n x n matrix (ParR) of + correlation coefficients (with a value of 1.0 for + the diagonal terms). - ECON - Element mesh symbols on keypoints and lines. + (*MOPER, ParR, Par1, SOLV, Par2) - Solution of simultaneous equations: Solves the set of n equations of n terms + of the form an1x1 + an2x2 + ... + annxn = bn + where Par1 contains the matrix of a-coefficients, + Par2 the vector(s) of b-values, and ParR the + vector(s) of x-results. Par1 must be a square + matrix. The equations must be linear, + independent, and well conditioned. - DOT - Larger symbols displayed for node and keypoint locations. When Label = DOT, - KEY = 1 by default. + Warning:Non-independent or ill-conditioned equations can cause erroneous results. - For large matrices, use the APDL Math operation *LSFACTOR for efficiency (see + APDL Math). - XNOD - Extra node of surface or circuit elements. + (*MOPER, ParR, Par1, SORT, Par2, n1, n2, n3) - Matrix sort: Sorts matrix Par1 according to sort vector Par2 and places the + result back in Par1. Rows of Par1 are moved to + the corresponding positions indicated by the + values of Par2. Par2 may be a column of Par1 (in + which case it will also be reordered). + Alternatively, you may specify the column of Par1 + to sort using n1 (leaving Par2 blank). A + secondary sort can be specified by column n2, and + a third sort using n3. ParR is the vector of + initial row positions (the permutation vector). + Sorting Par1 according to ParR should reproduce + the initial ordering. - FBCS - Force boundary condition scaling. Subsequent KEY value determines whether or - not to scale the applied and derived forces/moments to the - same maximum value. + (*MOPER, ParR, Par1, NNEAR, Toler) - Nearest Node: Quickly determine all the nodes within a specified tolerance of a + given array. - DEFA - Resets the symbol keys so that ANSYS displays none of the symbols controlled by - the /PSYMB command. The value of the KEY field is ignored. + ParR is a vector of the nearest selected nodes, or 0 if no nodes are nearer than Toler. Par1 is the n x 3 array of coordinate locations. Toler defaults to 1 and is limited to the maximum model size. - (*MOPER, ParR, Par1, ENEAR, Toler) - STAT - Prints the status of the settings of the symbol keys controlled by the /PSYMB - command. The KEY field is ignored. + Nearest Element: Quickly determine the elements with centroids that are within a specified tolerance of the points in a given array. - ParR is a vector of the nearest selected elements, or 0 if no element centroids + are nearer than Toler. Par1 is the n x 3 array of + coordinate locations. - key - Symbol key: + (*MOPER, ParR, Par1, MAP, Par2, Par3, kDim, --, kOut, LIMIT) - Maps the results from another program onto your ANSYS finite element model. For + example, you can map pressures from a CFD + analysis onto your model for a structural + analysis. - -1  - Effective only if Label = LAYR and solid shape element display (/ESHAPE) is - active. Orientation of all layers appears with the solid - shape element display. + When you map results, the subsequent Par2 and Par3 arguments define your input values and their locations, and the arguments that follow determine the search area and interpolation schemes (see below). - For Oper = MAP, output points are incorrect if they are not within the + boundaries (area or volume) set via the specified + input points. Also, calculations for out-of-bound + points require much more processing time than do + points that are within bounds. - 0  - No symbol (default). If Label = LDIV, then KEY= 0 indicates that the displayed - element divisions will correspond to the existing mesh (the - word MESHED or EXISTING can also be substituted). Also, for - Label = LDIV, if you execute any meshing command (such as - AMESH or VMESH), KEY is set to 0 (MESHED) automatically. If - Label = FBCS, then KEY= 0 indicates that boundary condition - scaling will not be common. The applied and derived - forces/moments will be scaled to their respective maximum - values. + par2 + Second array parameter matrix input to the operation. For the + COVAR and CORR operations, this parameter must exist as a + dimensioned array vector without specified values since its values + (means) will be calculated as part of the operations. For MAP, this + will be an {N(in) x M} array of values to be interpolated, where + N(in) is the number of points to interpolate from, and M is the + number of values at each point. For the ENEAR and NNEAR operations, + this parameter specifies the tolerance for the search. - 1  - Include symbol. If Label = LDIV, then KEY = 1 indicates that the displayed line - divisions will correspond to the value assigned by LESIZE (the - word LESIZE can also be substituted). Also, for Label = LDIV, - if you execute the LESIZE command, KEY is set to 1 (LESIZE) - automatically. If Label = FBCS, then KEY= 1 indicates that - boundary condition scaling will be common. The applied and - derived forces/moments will be scaled to the same maximum - value. + par3 + Third array parameter, used for Oper = MAP. This is an N x 3 array + of coordinate locations corresponding to the values in Par2. - N  - If Label = LAYR, then N is equal to the layer number. If Label = DOT, then N - can be equal to 0,1,.....15, indicating the dot size. If Label - = LDIV, then KEY = -1, indicates that no element divisions - will be displayed (the word OFF can also be substituted). + kdim + Interpolation criteria; used for Oper = MAP: - Notes - ----- - Includes various symbols on the display. Triads are right-handed with - x displayed as the longest leg. Where color is displayed, x is white, - y is green, and z is blue. For beams, x is always along the length of - the element. For lines, an arrow represents the direction of a line, - from the beginning keypoint to the end keypoint. See /PLOPTS command - for additional display options. Use /PSTATUS or /PSYMB,STAT to display - settings. Use /PSYMB,DEFA to reset all specifications back to their - defaults. The command /PSYMB,ECON,1 causes the symbol "M" to be - displayed on keypoints and lines associated with meshed entities. When - you issue the command /PSYMB,DOT,1, a larger symbol is displayed for - each node and keypoint location. + -- + Unused field - PowerGraphics (/GRAPHICS,POWER) does not support /PSYMB,ESYS and - /PSYMB,LAYR. + kout + Outside region results; used for Oper = MAP - If KEY = N and PowerGraphics is off, the centroid of the surface - elements is connected to the extra node using a gray line. However, if - PowerGraphics is on, the color of the line connecting the centroid to - the extra node is the same as that for the elements themselves (as - determined by /PNUM). + limit + Number of nearby nodes considered for interpolation (Oper = MAP). + Minimum = 5, default = 20. Lower values will reduce processing + time, however, some distorted or irregular meshes will require a + higher LIMIT value to encounter three nodes for triangulation. - When Label = LAYR, the layer systems can be visualized with all - current-technology layered elements and the smeared reinforcing element - REINF265. To use /PSYMB,LAYR with REINF265, first set the vector-mode - graphics option (/DEVICE,VECTOR,1). + Notes + ----- + Each starting array element number must be defined for each array + parameter matrix if it does not start at the first location. For + example, *MOPER,A(2,3),B(1,4),MULT,C(1,5) multiplies submatrix B + (starting at element (1,4)) by submatrix C (starting at element (1,5)) + and puts the result in matrix A (starting at element (2,3)). + + The diagonal corner elements for each submatrix must be defined: the + upper left corner by the array starting element (on this command), the + lower right corner by the current values from the *VCOL and *VLEN + commands. The default values are the (1,1) element and the last + element in the matrix. No operations progress across matrix planes (in + the 3rd dimension). Absolute values and scale factors may be applied + to all parameters [*VABS, *VFACT]. Results may be cumulative [*VCUM]. + Array elements should not be skipped with the *VMASK and the NINC + value of the *VLEN specifications. See the *VOPER command for details. This command is valid in any processor. """ - command = "/PSYMB, %s, %s" % (str(label), str(key)) + command = "*MOPER,%s,%s,%s,%s,%s,%s,%s,%s" % (str(parr), str(par1), str(oper), str(par2), str(par3), str(kdim), str(kout), str(limit)) self.RunCommand(command, **kwargs) - def Undelete(self, option="", nstart="", nend="", **kwargs): + def Atype(self, **kwargs): """ - APDL Command: UNDELETE - - Removes results sets from the group of sets selected for editing. - - Parameters - ---------- - option - Specifies which sets are to be removed from the selected sets. - - SET - Specifies one or more particular sets in the results file that are to be - removed from the group of sets selected for deletion. - - ALL - Removes all selected sets that are currently selected for deletion. - - nstart - The first set to be removed from the set selected for deletion. + APDL Command: ATYPE - nend - The final set to be removed from the set selected for deletion. - This field is used only if operating on more than one sequential - set. + Specifies "Analysis types" as the subsequent status topic. Notes ----- - Use this command if you have previously marked a set for deletion (with - the DELETE command) and now wish to keep that set instead of deleting - it. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "UNDELETE, %s, %s, %s" % (str(option), str(nstart), str(nend)) + command = "ATYPE," % () self.RunCommand(command, **kwargs) - def Vsbw(self, nv="", sepo="", keep="", **kwargs): + def Boptn(self, lab="", value="", **kwargs): """ - APDL Command: VSBW + APDL Command: BOPTN - Subtracts intersection of the working plane from volumes (divides - volumes). + Specifies Boolean operation options. Parameters ---------- - nv - Volume (or volumes, if picking is used) to be subtracted from. If - NV = ALL, use all selected volumes. If NV = P, graphical picking - is enabled (valid only in the GUI). A component name may also be - input for NV. - - sepo - Behavior of the created boundary. - - (blank) - The resulting volumes will share area(s) where they touch. + lab + Default/status key: - SEPO - The resulting volumes will have separate, but coincident area(s). + DEFA  - Resets settings to default values. - keep - Specifies whether NV volumes are to be deleted. + STAT  - Lists status of present settings. - (blank) - Use the setting of KEEP on the BOPTN command. + value + Option settings if Lab = KEEP: - DELETE - Delete NV volumes after VSBW operation (override BOPTN command settings). + NO  - Delete entities used as input with a Boolean operation (default). Entities + will not be deleted if meshed or if attached to a higher + entity. - KEEP - Keep NV volumes after VSBW operation (override BOPTN command settings). + YES  - Keep input solid modeling entities. Notes ----- - Generates new volumes by subtracting the intersection of the working - plane from the NV volumes. The intersection will be an area(s). If - SEPO is blank, the volume is divided at the area and the resulting - volumes will be connected, sharing a common area where they touch. If - SEPO is set to SEPO, the volume is divided into two unconnected volumes - with separate areas. The SEPO option may cause unintended consequences - if any keypoints exist along the cut plane. See the Modeling and - Meshing Guide for an illustration. See the BOPTN command for an - explanation of the options available to Boolean operations. Element - attributes and solid model boundary conditions assigned to the original - entities will not be transferred to the new entities generated. - - Issuing the VSBW command under certain conditions may generate a - topological degeneracy error. Do not issue the command if: + Boolean operations at Revision 5.2 may produce a different number of + entities than previous revisions of ANSYS. When running input files + created at earlier revisions of ANSYS, match the Boolean compatibility + option (VERSION) to the revision originally used. For instance, if you + are running Revision 5.2 and are reading an input file (/INPUT) created + at Revision 5.1, it is recommended that you set VERSION to RV51 before + reading the input. - A sphere or cylinder has been scaled. (A cylinder must be scaled - unevenly in the XY plane.) + See the Modeling and Meshing Guide for further details on the functions + of the RV51 and RV52 labels. - A sphere or cylinder has not been scaled but the work plane has been - rotated. + This command is valid in any processor. """ - command = "VSBW, %s, %s, %s" % (str(nv), str(sepo), str(keep)) + command = "BOPTN,%s,%s" % (str(lab), str(value)) self.RunCommand(command, **kwargs) - def Pdresu(self, fname="", ext="", **kwargs): + def Cmsel(self, type="", name="", entity="", **kwargs): """ - APDL Command: PDRESU + APDL Command: CMSEL - Reads the probabilistic model data and loads it into the database. + Selects a subset of components and assemblies. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + type + Label identifying the type of select: - ext - Filename extension (eight-character maximum). + S - Select a new set (default). - -- - Unused field. + R - Reselect a set from the current set. - Notes - ----- - Reads the probabilistic model data from the specified file and loads it - into the database. Probabilistic analyses results are not stored in the - database with the PDRESU command, rather they reside in separate - results files. Analyses results are loaded automatically (one-by-one - and on demand) when a probabilistic postprocessing command is issued. + A - Additionally select a set and extend the current set. - """ - command = "PDRESU, %s, %s" % (str(fname), str(ext)) - self.RunCommand(command, **kwargs) + U - Unselect a set from the current set. - def Cmwrite(self, fname="", ext="", fmat="", **kwargs): - """ - APDL Command: CMWRITE + ALL - Also select all components. - Writes node and element components and assemblies to a file. + NONE - Unselect all components. - Parameters - ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + name + Name of component or assembly whose items are to be selected (valid + only if Type = S, R, A, or U). - ext - Filename extension (eight-character maximum). + entity + If Name is blank, then the following entity types can be specified: - -- - Unused field. + VOLU - Select the volume components only. - fmat - Format of the output file (defaults to BLOCKED). + AREA - Select the area components only. - BLOCKED - Blocked format. This format allows faster reading of the file. + LINE - Select the line components only. - UNBLOCKED - Unblocked format. + KP - Select the keypoint components only. - """ - command = "CMWRITE, %s, %s, %s" % (str(fname), str(ext), str(fmat)) - self.RunCommand(command, **kwargs) + ELEM - Select the element components only. - def Sfedele(self, elem="", lkey="", lab="", **kwargs): - """ - APDL Command: SFEDELE + NODE - Select the node components only. - Deletes surface loads from elements. + Notes + ----- + Selecting by component is a convenient adjunct to individual item + selection (e.g., VSEL, ESEL, etc.). CMSEL, ALL allows you to select + components in addition to other items you have already selected. - Parameters - ---------- - elem - Element to which surface load deletion applies. If ALL, delete - load from all selected elements [ESEL]. If ELEM = P, graphical - picking is enabled and all remaining command fields are ignored - (valid only in the GUI). A component name may be substituted for - ELEM. + If Type = R for an assembly selection [CMSEL,R,], the + reselect operation is performed on each component in the assembly in + the order in which the components make up the assembly. Thus, if one + reselect operation results in an empty set, subsequent operations will + also result in empty sets. For example, if the first reselect + operation tries to reselect node 1 from the selected set of nodes 3, 4, + and 5, the operation results in an empty set (that is, no nodes are + selected). Since the current set is now an empty set, if the second + reselect operation tries to reselect any nodes, the second operation + also results in an empty set, and so on. This is equivalent to + repeating the command CMSEL,R, once for each component + making up the assembly. - lkey - Load key associated with surface load (defaults to 1). If ALL, - delete surface loads for all load keys. + This command is valid in any processor. - lab - Valid surface load label. If ALL, use all appropriate labels. See - the SFE command for labels. + """ + command = "CMSEL,%s,%s,%s" % (str(type), str(name), str(entity)) + self.RunCommand(command, **kwargs) + + def Genopt(self, **kwargs): + """ + APDL Command: GENOPT + + Specifies "General options" as the subsequent status topic. Notes ----- - Deletes surface loads from selected elements. See the SFDELE command - for an alternate surface load deletion capability based upon selected - nodes. + This is a status (STAT) topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - This command is also valid in PREP7. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "SFEDELE, %s, %s, %s" % (str(elem), str(lkey), str(lab)) + command = "GENOPT," % () self.RunCommand(command, **kwargs) - def Sffun(self, lab="", par="", par2="", **kwargs): + def Vfsm(self, action="", encl="", opt="", maxiter="", conv="", **kwargs): """ - APDL Command: SFFUN + APDL Command: VFSM - Specifies a varying surface load. + Adjusts view factor matrix to satisfy reciprocity and/or row sum + properties. Parameters ---------- - lab - Valid surface load label. Load labels are listed under "Surface - Loads" in the input table for each element type in the Element - Reference. Issue SFFUN,STATUS to list current command settings. + action + Action to be performed: - par - Parameter containing list of surface load values. If Lab = CONV, - values are typically the film coefficients and Par2 values (below) - are typically the bulk temperatures. + Define - Define a view factor summation (default) - par2 - Parameter containing list of second surface load values (if any). - If Lab = CONV, the Par2 values are typically the bulk temperatures. - Par2 is not used for other surface load labels. + Clear - Resets the scaling method to 0 for all enclosures. All subsequent arguments are + ignored. - Notes - ----- - Specifies a surface load "function" to be used when the SF or SFE - command is issued. The function is supplied through an array parameter - vector which contains nodal surface load values. Node numbers are - implied from the sequential location in the array parameter. For - example, a value in location 11 applies to node 11. The element faces - are determined from the implied list of nodes when the SF or SFE - command is issued. Zero values should be supplied for nodes that have - no load. A tapered load value may be applied over the element face. - These loads are in addition to any loads that are also specified with - the SF or SFE commands. Issue SFFUN (with blank remaining fields) to - remove this specification. Issue SFFUN,STATUS to list current - settings. + Status - Outputs the OPT value for each enclosure in the model. - Starting array element numbers must be defined for each array parameter - vector. For example, SFFUN,CONV,A(1,1),A(1,2) reads the first and - second columns of array A (starting with the first array element of - each column) and associates the values with the nodes. Operations - continue on successive column array elements until the end of the - column. Another example to show the order of the commands: + encl + Previously defined enclosure number for the view factor adjustment. - SFFUN does not work for tabular boundary conditions. + opt + Option key: - This command is also valid in PREP7. + 0 - The view factor matrix values are not adjusted (default). - """ - command = "SFFUN, %s, %s, %s" % (str(lab), str(par), str(par2)) - self.RunCommand(command, **kwargs) + 1 - The view factor matrix values are adjusted so that the row sum equals 1.0. - def Rmlvscale(self, nload="", fact1="", fact2="", fact3="", fact4="", - fact5="", **kwargs): - """ - APDL Command: RMLVSCALE + 2 - The view factor matrix values are adjusted so that the row sum equals 1.0 and + the reciprocity relationship is satisfied. - Defines element load vector scaling for a ROM use pass. + 3 - The view factor matrix values are adjusted so that the original row sum is + maintained. - Parameters - ---------- - nload - Total number of load cases to be considered within a ROM use pass. - If Nload = "DELETE", all defined load vectors are deleted. + 4 - The view factor matrix values are adjusted so that the original row sum is + maintained and the reciprocity relationship is satisfied. - fact1, fact2, fact3, . . . , fact5 - Scale factors applied to load vectors (maximum 5). Defaults to 0. + maxiter + Maximum number of iterations to achieve convergence. Valid only + when OPT = 2 or 4. Default is 100. + + conv + Convergence value for row sum. Iterations will continue (up to + MAXITER) until the maximum residual over all the rows is less than + this value. Valid only when OPT = 2 or 4. Default is 1E-3. Notes ----- - Specifies the element load scale factor applied to a ROM analysis use - pass. Element load vectors are extracted from a Static Analysis using - the RMNDISP command. Up to 5 element load vectors may be scaled and - applied to a ROM use pass. + To have a good energy balance, it is important to satisfy both the row + sum and reciprocity relationships. For more information, see View + Factors in the Mechanical APDL Theory Reference. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + OPT = 1 and 2 are suitable for perfect enclosures. OPT = 1 is less + expensive than OPT = 2 because no iterations are involved. However, + with OPT = 1, the reciprocity relationship is not satisfied. + + OPT = 3 and 4 are suitable for leaky enclosures. OPT = 3 is less + expensive than OPT = 4 because no iterations are involved. However, + with OPT = 3, the reciprocity relationship is not satisfied. + + The VFSM command must be used before VFOPT is issued, or Solve is + initiated. """ - command = "RMLVSCALE, %s, %s, %s, %s, %s, %s" % (str(nload), str(fact1), str(fact2), str(fact3), str(fact4), str(fact5)) + command = "VFSM,%s,%s,%s,%s,%s" % (str(action), str(encl), str(opt), str(maxiter), str(conv)) self.RunCommand(command, **kwargs) - def Extrem(self, nvar1="", nvar2="", ninc="", **kwargs): + def L(self, p1="", p2="", ndiv="", space="", xv1="", yv1="", zv1="", + xv2="", yv2="", zv2="", **kwargs): """ - APDL Command: EXTREM + APDL Command: L - Lists the extreme values for variables. + Defines a line between two keypoints. Parameters ---------- - nvar1, nvar2, ninc - List extremes for variables NVAR1 through NVAR2 in steps of NINC. - Variable range defaults to its maximum. NINC defaults to 1. + p1 + Keypoint at the beginning of line. If P1 = P, graphical picking is + enabled and all remaining command fields are ignored (valid only in + the GUI). + + p2 + Keypoint at the end of line. + + ndiv + Number of element divisions within this line. Normally this field + is not used; specifying divisions with LESIZE, etc. is recommended. + + space + Spacing ratio. Normally this field is not used, as specifying + spacing ratios with the LESIZE command is recommended. If + positive, SPACE is the nominal ratio of the last division size (at + P2) to the first division size (at P1). If the ratio is greater + than 1, the division sizes increase from P1 to P2, and if less than + 1, they decrease. If SPACE is negative, then |SPACE| is the + nominal ratio of the center division size to those at the ends. Notes ----- - Lists the extreme values (and the corresponding times) for stored and - calculated variables. Extremes for stored variables are automatically - listed as they are stored. Only the real part of a complex number is - used. Extreme values may also be assigned to parameters [*GET]. + Defines a line between two keypoints from P1 to P2. The line shape may + be generated as "straight" (in the active coordinate system) or curved. + The line shape is invariant with coordinate system after it is + generated. Note that solid modeling in a toroidal coordinate system is + not recommended. A curved line is limited to 180°. Lines may be + redefined only if not yet attached to an area. """ - command = "EXTREM, %s, %s, %s" % (str(nvar1), str(nvar2), str(ninc)) + command = "L,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(p1), str(p2), str(ndiv), str(space), str(xv1), str(yv1), str(zv1), str(xv2), str(yv2), str(zv2)) self.RunCommand(command, **kwargs) - def Rmroptions(self, refname="", type="", invert="", **kwargs): + def Jsol(self, nvar="", elem="", item="", comp="", name="", **kwargs): """ - APDL Command: RMROPTIONS + APDL Command: JSOL - Defines options for ROM response surface fitting. + Specifies result items to be stored for the joint element. Parameters ---------- - refname - Reference name of ROM function to be fitted. Valid reference names - are "SENE" for the strain energy of the structural domain and any - capacitance reference name previously defined by means of RMCAP - command for the electrostatic domain. + nvar + Arbitrary reference number or name assigned to this variable. + Variable numbers can be 2 to NV (NUMVAR) while the name can be an + eight-byte character string. Overwrites any existing results for + this variable. - type - Type of fitting function to be applied for regression analysis. - Valid types are: + elem + Element number for which to store results. - LAGRANGE - Lagrange type (default) + item + Label identifying the item. Valid item labels are shown in Table + 202: JSOL - Valid Item and Component Labels below. - invert - Flag to specify whether data should be inverted prior to fitting. + comp + Component of the Item (if required). Valid component labels are + shown in Table 202: JSOL - Valid Item and Component Labels below. - 0 - Do not invert data (default for SENE) + name + Thirty-two character name identifying the item on printouts and + displays. Defaults to a label formed by concatenating the first + four characters of the Item and Comp labels. Notes ----- - The objective of response surface fit is to compute an analytical - expression for the strain energy and the capacitance as functions of - modal amplitudes. + This command is valid for the MPC184 joint elements. The values stored + are for the free or unconstrained degrees of freedom of a joint + element. Relative reaction forces and moments are available only if + stiffness, damping, or friction is associated with the joint element. + + Table: 202:: : JSOL - Valid Item and Component Labels + - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. """ - command = "RMROPTIONS, %s, %s, %s" % (str(refname), str(type), str(invert)) + command = "JSOL,%s,%s,%s,%s,%s" % (str(nvar), str(elem), str(item), str(comp), str(name)) self.RunCommand(command, **kwargs) - def Bfkdele(self, kpoi="", lab="", **kwargs): + def Arsym(self, ncomp="", na1="", na2="", ninc="", kinc="", noelem="", + imove="", **kwargs): """ - APDL Command: BFKDELE + APDL Command: ARSYM - Deletes body force loads at a keypoint. + Generates areas from an area pattern by symmetry reflection. Parameters ---------- - kpoi - Keypoint at which body load is to be deleted. If ALL, delete for - all selected keypoints [KSEL]. A component name may also be - substituted for KPOI. + ncomp + Symmetry key: - lab - Valid body load label. If ALL, use all appropriate labels. Load - labels are listed under "Body Loads" in the input table for each - element type in the Element Reference. See the BFK command for - labels. + X - X symmetry (default). - Notes - ----- - Deletes body force loads (and all corresponding finite element loads) - for a specified keypoint and label. Body loads may be defined at a - keypoint with the BFK command. + Y - Y symmetry. - Graphical picking is available only via the listed menu paths. + Z - Z symmetry. - This command is also valid in PREP7. + na1, na2, ninc + Reflect areas from pattern beginning with NA1 to NA2 (defaults to + NA1) in steps of NINC (defaults to 1). If NA1 = ALL, NA2 and NINC + are ignored and the pattern is all selected areas [ASEL]. If Ncomp + = P, use graphical picking to specify areas and ignore NL2 and + NINC. A component name may also be substituted for NA1 (NA2 and + NINC are ignored). - """ - command = "BFKDELE, %s, %s" % (str(kpoi), str(lab)) - self.RunCommand(command, **kwargs) + kinc + Keypoint increment between sets. If zero, the lowest available + keypoint numbers are assigned [NUMSTR]. - def Rappnd(self, lstep="", time="", **kwargs): - """ - APDL Command: RAPPND + noelem + Specifies whether nodes and elements are also to be generated: - Appends results data from the database to the results file. + 0 - Generate nodes and elements associated with the original areas, if they exist. - Parameters - ---------- - lstep - Load step number to be assigned to the results data set. If it is - the same as an existing load step number on the results file, the - appended load step will be inaccessible. Defaults to 1. + 1 - Do not generate nodes and elements. - time - Time value to be assigned to the results data set. Defaults to - 0.0. A time value greater than the last load step should be used. + imove + Specifies whether areas will be moved or newly defined: + + 0 - Generate additional areas. + + 1 - Move original areas to new position retaining the same keypoint numbers (KINC + and NOELEM are ignored). Valid only if the old areas are no + longer needed at their original positions. Corresponding + meshed items are also moved if not needed at their original + position. Notes ----- - This command is typically used to append the results from a load case - combination to the results file. See the LCWRITE command to create a - separate load case file. Only summable and constant data are written - to the results file by default; non-summable data are not written - unless requested (LCSUM command). RAPPND should not be used to append - results from a harmonic analysis. + Generates a reflected set of areas (and their corresponding keypoints, + lines and mesh) from a given area pattern by a symmetry reflection (see + analogous node symmetry command, NSYM). The MAT, TYPE, REAL, ESYS, and + SECNUM attributes are based upon the areas in the pattern and not upon + the current settings. Reflection is done in the active coordinate + system by changing a particular coordinate sign. The active coordinate + system must be a Cartesian system. Areas in the pattern may have been + generated in any coordinate system. However, solid modeling in a + toroidal coordinate system is not recommended. Areas are generated as + described in the AGEN command. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + See the ESYM command for additional information about symmetry + elements. """ - command = "RAPPND, %s, %s" % (str(lstep), str(time)) + command = "ARSYM,%s,%s,%s,%s,%s,%s,%s" % (str(ncomp), str(na1), str(na2), str(ninc), str(kinc), str(noelem), str(imove)) self.RunCommand(command, **kwargs) - def Ascres(self, opt="", **kwargs): + def Filname(self, fname="", key="", **kwargs): """ - APDL Command: ASCRES + APDL Command: /FILNAME - Specifies the output type for an acoustic scattering analysis. + Changes the Jobname for the analysis. Parameters ---------- - opt - Output option: + fname + Name (32 characters maximum) to be used as the Jobname. Defaults + to the initial Jobname as specified on the ANSYS execution command, + or to file if none specified. - TOTAL - Output the total pressure field (default). + key + Specify whether to use the existing log, error, lock, page, and + output files (.LOG, .ERR, .LOCK, .PAGE and .OUT) or start new + files. - SCAT - Output the scattered pressure field. + 0, OFF - Continue using current log, error, lock, page, and output files. + + 1, ON - Start new log, error, lock, page, and output files (old log and error files are + closed and saved, but old lock, page, and output files are + deleted). Existing log and error files are appended. Notes ----- - Use the ASCRES command to specify the output type for an acoustic - scattering analysis. - - The scattered option (Opt = SCAT) provides a scattered pressure output, - psc, required for calculating target strength (TS). - - The default behavior (Opt = TOTAL) provides a sum of the incident and - scattering fields, ptotal = pinc + psc. + All subsequently created files will be named with this Jobname if Key = + 0. Use Key = 1 to start new log, error, lock, page, and output files. + The previous Jobname is typically defined on the ANSYS program + execution line (see the Operations Guide). This command is useful when + different groups of files created throughout the run are to have + different names. For example, the command may be used before each + substructure pass to avoid overwriting files or having to rename each + file individually. - Issue the AWAVE command to define the incident pressure pinc. If the - AWAVE command is defined with Opt2 = INT, only the total pressure field - is output regardless of the ASCRES,Opt command. + This command is valid only at the Begin level. """ - command = "ASCRES, %s" % (str(opt)) + command = "/FILNAME,%s,%s" % (str(fname), str(key)) self.RunCommand(command, **kwargs) - def Mpdata(self, lab="", mat="", sloc="", c1="", c2="", c3="", c4="", - c5="", c6="", **kwargs): + def Tbpt(self, oper="", x1="", x2="", x3="", xn="", **kwargs): """ - APDL Command: MPDATA + APDL Command: TBPT - Defines property data to be associated with the temperature table. + Defines a point on a nonlinear data curve. Parameters ---------- - lab - Valid property label. Applicable labels are listed under "Material - Properties" in the input table for each element type in the Element - Reference. See Linear Material Properties in the Mechanical APDL - Material Reference for more complete property label definitions: - - ALPD - Mass matrix multiplier for damping. - - ALPX - Secant coefficients of thermal expansion (also ALPY, ALPZ). (See also MPAMOD - command for adjustment to reference temperature). - - BETD - Stiffness matrix multiplier for damping. - - BETX - Coefficient of diffusion expansion (also BETY, BETZ) - - C - Specific heat. - - CREF - Reference concentration (may not be temperature dependent) + oper + Operation to perform: - CSAT - Saturated concentration + DEFI - Defines a new data point (default). The point is inserted into the table in + ascending order of X1. If a point already exists with the + same X1 value, it is replaced. - CTEX - Instantaneous coefficients of thermal expansion (also CTEY, CTEZ). + DELE - Deletes an existing point. The X1 value must match the X1 value of the point + to be deleted (XN is ignored). - DENS - Mass density. + x1, x2, ..., xn + The N components of the point. N depends on the type of data table. + Except for TB,EXPE all other TB Tables support only 2 components. - DMPR - Constant material damping coefficient. + Notes + ----- + TBPT defines a point on a nonlinear data curve (such as a stress-strain + curve, B-H curve, etc.) at the temperature specified on the last TBTEMP + command. The meaning of the values depends on the type of data table + specified on the last TB command (MISO, BH, etc.). - DXX - Diffusivity coefficients (also DYY, DZZ) + This command is also valid in SOLUTION. - EMIS - Emissivity. + """ + command = "TBPT,%s,%s,%s,%s,%s" % (str(oper), str(x1), str(x2), str(x3), str(xn)) + self.RunCommand(command, **kwargs) - ENTH - Enthalpy. + def Eextrude(self, action="", nelem="", space="", dist="", theta="", + tfact="", **kwargs): + """ + APDL Command: EEXTRUDE - EX - Elastic moduli (also EY, EZ). + Extrudes 2-D plane elements into 3-D solids. - GXY - Shear moduli (also GYZ, GXZ). + Parameters + ---------- + action + Specifies one of the following command behaviors: - HF - Convection or film coefficient. + AUTO - Extrudes plane elements (PLANE182 and PLANE183) based on the KEYOPT(3) setting. + Complementary elements are also extruded. (See Notes for + more information.) This behavior is the default. - KXX - Thermal conductivities (also KYY, KZZ). + PLANE - Extrudes elements in the global Z direction. KEYOPT(3) of the parent elements + is ignored. - LSST - Dielectric loss tangent. + AXIS - Extrudes elements about the global Y axis. KEYOPT(3) of the parent elements is + ignored. - MGXX - Magnetic coercive forces (also MGYY, MGZZ). + TANGENT - Similar to Action = AXIS, except that target elements are extruded in the + global Z direction. - MU - Coefficient of friction. + nelem + Number of elements to generate in the extruded direction. If you do + not specify a number, the program calculates a number automatically + based on the average element size and extrusion distance. - MURX - Magnetic relative permeabilities (also MURY, MURZ). + space + Spacing ratio. If positive, this value is the nominal ratio of the + last division size to the first division size (if > 1.0, sizes + increase, if < 1.0, sizes decrease). If negative, |SPACE| is the + nominal ratio of the center division size to the end division size. + The default value is 1.0 (uniform spacing). - NUXY - Minor Poisson's ratios (also NUYZ, NUXZ). + dist + Distance to extrude in the global Z direction for the plane strain + case (Action = PLANE). The default is 1. - PERX - Electric relative permittivities (also PERY, PERZ). + theta + Ending angle (in degrees) to extrude about the global Y axis for + the axisymmetric case (Action = AXIS). The beginning angle is + always 0 degrees. The ending angle defaults to 360 degrees. - PRXY - Major Poisson's ratios (also PRYZ, PRXZ). + tfact + Factor for increasing the rigid target size. The size of the + extruded rigid target elements is determined automatically based on + the size of the contact elements. The default value is 0.2. - QRATE - Heat generation rate. + Notes + ----- + The EEXTRUDE command extrudes current-technology elements PLANE182 and + PLANE183. Complementary elements TARGE169, CONTA171, CONTA172, and + REINF263 will also extrude. Extrusion operates automatically on + elements in the selected element set. - REFT - Reference temperature (may not be temperature dependent). + For automatic PLANE182 and PLANE183 extrusion (Action = AUTO), based on + the element behavior of the plane elements, the command performs as + follows: - RH - Hall Coefficient. + Plane stress; the element is ignored. - RSVX - Electrical resistivities (also RSVY, RSVZ). + Axisymmetric; the element is extruded 360 degrees about the Y-axis. + THETA is ignored. - SBKX - Seebeck coefficients (also SBKY, SBKZ). + Plane strain (Z strain = 0.0); the element is extruded a unit distance + in the global Z direction. - SONC - Sonic velocity. + Plane stress with thickness input; the element is extruded in the + Z-direction as specified by the thickness input via a real constant. - THSX - Thermal strain (also THSY, THSZ). + Generalized plane strain; the element is ignored. - VISC - Viscosity. + For an axisymmetric extrusion (Action = AUTO with KEYOPT(3) = 1, Action + = AXIS, or Action = TANGENT), the command merges any nodes within the + specified tolerance (SELTOL,TOLER) of the axis into a single node, then + forms degenerate tetrahedrons, pyramids, or wedges. The default + tolerance value is 1.0E-6. - mat - Material reference number to be associated with the elements - (defaults to 1 if you specify zero or no material number). + When issuing the EEXTRUDE command within the MAP2DTO3D environment + using KEYOPT(3) = 3, mapping results do not provide the correct 3-D + results state; therefore, KEYOPT(3) = 3 is suggested only as a tool for + extruding the mesh itself as a geometric feature. - sloc - Starting location in table for generating data. For example, if - SLOC = 1, data input in the C1 field is the first constant in the - table. If SLOC = 7, data input in the C1 field is the seventh - constant in the table, etc. Defaults to the last location filled + - 1. + For an axisymmetric extrusion, SHELL208 and SHELL209 will extrude. - c1, c2, c3, . . . , c6 - Property data values assigned to six locations starting with SLOC. - If a value is already in this location, it is redefined. A blank - (or zero) value for C1 resets the previous value in SLOC to zero. - A value of zero can only be assigned by C1. Blank (or zero) values - for C2 to C6 leave the corresponding previous values unchanged. + You can control shape-checking options via the SHPP command. - Notes - ----- - Defines a table of property data to be associated with the temperature - table. Repeat MPDATA command for additional values (100 maximum). - Temperatures must be defined first [MPTEMP]. Also stores assembled - property function table (temperature and data) in virtual space. + The extrusion behavior of accompanying contact (CONTA171 and CONTA172) + is determined by the plane element settings. Rigid target (TARGE169) + elements are extruded in the global Z direction unless axisymmetric + extrusion (Action = AXIS) is in effect. - This command is also valid in SOLUTION. + The following table shows each 2-D element capable of extrusion and its + corresponding post-extrusion 3-D element: - Without Emag enabled, the MUR_ and MG__ properties are not allowed. In - ANSYS Professional, all structural and thermal properties are allowed - except ALPD, BETD, and MU. In ANSYS Emag, only the RSV_, PER_, MUR_, - and MG__ properties are allowed. Only products that include ANSYS Emag - can use the LSST property. The SBK_ property is only available in ANSYS - Multiphysics and ANSYS PrepPost. + All element properties are also transferred consistently during + extrusion. For example, a 2-D element is extruded to a 3-D element, + and a mixed u-P 2-D element is extruded to a mixed u-P 3-D element. """ - command = "MPDATA, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(lab), str(mat), str(sloc), str(c1), str(c2), str(c3), str(c4), str(c5), str(c6)) + command = "EEXTRUDE,%s,%s,%s,%s,%s,%s" % (str(action), str(nelem), str(space), str(dist), str(theta), str(tfact)) self.RunCommand(command, **kwargs) - def Emore(self, q="", r="", s="", t="", u="", v="", w="", x="", **kwargs): + def Psmat(self, fname="", ext="", matrix="", color="", **kwargs): """ - APDL Command: EMORE + APDL Command: PSMAT - Adds more nodes to the just-defined element. + Writes an assembled global matrix to a postscript format that + graphically displays nonzero matrix values. Parameters ---------- - q, r, s, t, u, v, w, x - Numbers of nodes typically assigned to ninth (node Q) through - sixteenth (node X) nodal positions, if any. If Q = P, graphical - picking is enabled and all remaining command fields are ignored - (valid only in the GUI). - - Notes - ----- - Repeat EMORE command for up to 4 additional nodes (20 maximum). Nodes - are added after the last nonzero node of the element. Node numbers - defined with this command may be zeroes. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - """ - command = "EMORE, %s, %s, %s, %s, %s, %s, %s, %s" % (str(q), str(r), str(s), str(t), str(u), str(v), str(w), str(x)) - self.RunCommand(command, **kwargs) + ext + Filename extension (eight-character maximum). - def Clabel(self, wn="", key="", **kwargs): - """ - APDL Command: /CLABEL + matrix + Specify which matrix to write to the output postscript file: - Specifies contour labeling. + STIFF - Write stiffness matrix to output postscript file. Valid for all types of + analyses that write a .FULL file. - Parameters - ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). + MASS - Write mass matrix to output postscript file. Valid for buckling, substructure, + and modal analyses. If the .FULL file was generated in a + buckling analysis, then this label will write the stress + stiffening matrix to the output postscript file. - key - Labeling key: + DAMP - Write damping matrix to output postscript file. Only valid for damped modal + analyses. - 0 or 1 - Label contours with legend or color (default). + color + Specifies whether to display the grid in black and white or in + color: - -1 - No contour labeling. + BLACK - Each nonzero coefficient is symbolized by a black square (default). - N - Same as 1 except show alphabetic legend only on every Nth element. + COLOR - Each nonzero coefficient is symbolized by a colored square. The color depends + on the module of the coefficient; the range is from blue + for the smallest values to red for the largest values. The + color map is: Notes ----- - Labels contours for identification with alphabetic legend for vector - displays and color for raster displays. Number of contours is - automatically reduced to 9 (or fewer) for clarity. Use /CONTOUR - command to increase (24 maximum for alphabetic labeling; no limit for - color labeling). + This command is used to copy a matrix from the assembled global matrix + file (.FULL file) as specified on the FILE command and write it in a + postscript format to a new file named Fname.Ext (defaults to + Jobname.PS). The matrix is symbolized by a grid in which the black or + colored squares represent the nonzero coefficients of the matrix. The + .FULL file must be available for this command to work properly. - This command is valid in any processor. + If the matrix is large, it may be difficult to display the postscript + file. In this case, use Color = BLACK to reduce the postscript file + size. - """ - command = "/CLABEL, %s, %s" % (str(wn), str(key)) - self.RunCommand(command, **kwargs) + The assembled global matrix file is created during solution depending + on the analysis type, equation solver, and other solution options. By + default, the assembled global matrix file is never deleted at the end + of solution. For most analysis types, the Sparse direct solver and the + ICCG solver write a .FULL file. All mode extraction methods used for + buckling and modal analyses write a properly formatted .FULL file to be + used with the PSMAT command. - def Pcircle(self, xcentr="", ycentr="", xlrad="", **kwargs): - """ - APDL Command: /PCIRCLE + When copying the stiffness matrix for transient and harmonic analyses, + be aware that the element mass matrix values (and possibly element + damping matrix values) are incorporated into the globally assembled + stiffness matrix. Thus, the globally assembled stiffness matrix + represents more than the stiffness of the model for these analysis + types. Please refer to the Mechanical APDL Theory Reference for more + details. - Creates an annotation circle (GUI). + The PSMAT command is not able to display a lumped mass matrix from a + .FULL file generated by a harmonic analysis. - Parameters - ---------- - xcentr - Circle X center location (-1.0 < X < 2.0). + When copying a .FULL file, the rows and columns corresponding to + specified constraints (e.g., D commands) are eliminated from the system + of equations and therefore are not written to the .PS file. In + addition, rows and columns corresponding to eliminated (slave) degrees + of freedom from coupling and/or constraint equations (e.g., CE, CP + commands) are eliminated from the system of equations and are not + written to the .PS file. The DOFs that are eliminated from any coupling + and/or constraint equations are determined internally by the solution + code and may not match what you specified via the CE/CP (or similar) + commands. - ycentr - Circle Y center location (-1.0 < Y < 1.0). + When copying a .FULL file, only the upper triangular part of the matrix + will be written to the .PS file if the matrix is symmetric; the full + matrix is written if the matrix is unsymmetric. Only matrix + coefficients that are greater than zero will be written. - xlrad - Circle radius length. + The WRFULL command, in conjunction with the SOLVE command, can be used + to generate the assembled global matrix file and eliminate the equation + solution process and results output process. - Notes - ----- - Creates an annotation circle to be written directly onto the display at - a specified location. This is a command generated by the Graphical - User Interface (GUI) and will appear in the log file (Jobname.LOG) if - annotation is used. This command is not intended to be typed in - directly in an ANSYS session (although it can be included in an input - file for batch input or for use with the /INPUT command). + The following command sequence shows typical usage of this command. - All circles are shown on subsequent displays unless the annotation is - turned off or deleted. Use the /LSPEC and the /PSPEC command to set - the attributes of the circle. + Below is an example of an export of the stiffness matrix to a + postscript format using the COLOR option. - This command is valid in any processor. + : """ - command = "/PCIRCLE, %s, %s, %s" % (str(xcentr), str(ycentr), str(xlrad)) + command = "PSMAT,%s,%s,%s,%s" % (str(fname), str(ext), str(matrix), str(color)) self.RunCommand(command, **kwargs) - def Physics(self, option="", title="", fname="", ext="", **kwargs): + def Usrdof(self, action="", dof1="", dof2="", dof3="", dof4="", dof5="", + dof6="", dof7="", dof8="", dof9="", dof10="", **kwargs): """ - APDL Command: PHYSICS + APDL Command: USRDOF - Writes, reads, or lists all element information + Specifies the degrees of freedom for the user-defined element USER300. Parameters ---------- - option - Specifies what to do with element information: + action + One of the following command operations: - WRITE - Write all appropriate element types, key options, real constants, material - properties, solution analysis options, load step options, - constraint equations, coupled nodes, defined components, - and GUI preference settings to the file specified with the - Fname and Ext arguments. + DEFINE - Specify the degrees of freedom (DOFs). This value is the default. - READ - Deletes all solution information (material properties, solution options, load - step options, constraint equations, coupled nodes, results, - and GUI preference settings) then reads all the information - listed above into the ANSYS database from the location - specified by the Fname and Ext arguments. + LIST - List all previously specified DOFs. - LIST - Lists currently defined physics files and their titles. + DELETE - Delete all previously specified DOFs. - DELETE - Deletes a specified physics file and its title from the database. + dof1, dof2, dof3, . . . , dof10 + The list of DOFs. - CLEAR - Deletes all material properties, solution options, load step options, - constraint equations, coupled nodes, results, and GUI - preference settings from the database. Does NOT clear the - active physics file title from the database. + Notes + ----- + The USRDOF command specifies the degrees of freedom for the user- + defined element USER300. - STATUS - Displays information about all active elements and settings. + Although you can intersperse other commands as necessary for your + analysis, issue the USRDOF command as part of the following general + sequence of commands: - title - A user-defined title that quickly identifies a set of physics - settings. For example, you might use "Fluid," "Structural," or - "Magnetic" as titles. A title can contain up to 64 characters. It - can be entered in lower or upper case. Lower case is internally - converted to upper case within the program. + Issue the ET command for element USER300, followed by the related TYPE + command. - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + Issue both the USRELEM and USRDOF commands (in either order). - ext - Filename extension (eight-character maximum). + Define your element using USER300. - -- - Unused field. + The DOF list (DOF1 through DOF10) can consist of up to 10 DOFs. Use any + valid and appropriate DOF (such as UX, UY, UZ, ROTX, ROTY, ROTZ, AX, + AY, AZ, VX, VY, VZ, PRES, WARP, TEMP, VOLT, MAG, EMF, and CURR). - Notes - ----- - Use the PHYSICS command when you are performing a multiphysics analysis - that involves two different disciplines (for example, magnetic and - structural analyses) and you cannot solve both analyses simultaneously. - Once you have set up physics environments for both analyses, you can - use the PHYSICS,READ command to change between the defined physics - environments. For more information about doing multiphysics analyses, - see Sequential Coupled-Field Analysis in the Coupled-Field Analysis - Guide. + You can specify a maximum of 10 DOFs per USRDOF command. To define + additional DOFs, issue the command again. - The PHYSICS command outputs all solution information, including - analysis options, to the Jobname.PHn file described above. Although it - also outputs components, the ANSYS program does not list entities - (nodes, elements, lines, etc.). + The maximum number of DOFs for a user-defined element--the number of + nodes times the number of DOFs per node--cannot exceed 480. - PHYSICS,WRITE will overwrite existing physics files with the same title - (even if the name is different). In other words, if the directory has a - physics file with the same title as the active physics file title, but - a different name, the PHYSICS,WRITE command will overwrite the existing - physics file and use the existing filename, not the filename specified - on the PHYSICS,WRITE command. + To learn more about user-defined elements, see Creating a New Element + in the Programmer's Reference. """ - command = "PHYSICS, %s, %s, %s, %s" % (str(option), str(title), str(fname), str(ext)) + command = "USRDOF,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(action), str(dof1), str(dof2), str(dof3), str(dof4), str(dof5), str(dof6), str(dof7), str(dof8), str(dof9), str(dof10)) self.RunCommand(command, **kwargs) - def Vmask(self, par="", **kwargs): + def Voper(self, parr="", par1="", oper="", par2="", con1="", con2="", + **kwargs): """ - APDL Command: *VMASK + APDL Command: *VOPER - Specifies an array parameter as a masking vector. + Operates on two array parameters. Parameters ---------- - par - Name of the mask parameter. The starting subscript must also be - specified. + parr + The name of the resulting array parameter vector. See *SET for + name restrictions. - Notes - ----- - Specifies the name of the parameter whose values are to be checked for - each resulting row operation. The mask vector usually contains only 0 - (for false) and 1 (for true) values. For each row operation the - corresponding mask vector value is checked. A true value allows the - operation to be done. A false value skips the operation (and retains - the previous results). A mask vector can be created from direct input, - such as M(1) = 1,0,0,1,1,0,1; or from the DATA function of the *VFILL - command. The NOT function of the *VFUN command can be used to reverse - the logical sense of the mask vector. The logical compare operations - (LT, LE, EQ, NE, GE, and GT) of the *VOPER command also produce a mask - vector by operating on two other vectors. Any numeric vector can be - used as a mask vector since the actual interpretation assumes values - less than 0.0 are 0.0 (false) and values greater than 0.0 are 1.0 - (true). If the mask vector is not specified (or has fewer values than - the result vector), true (1.0) values are assumed for the unspecified - values. Another skip control may be input with NINC on the *VLEN - command. If both are present, operations occur only when both are - true. The mask setting is reset to the default (no mask) after each - *VXX or *MXX operation. Use *VSTAT to list settings. + par1 + First array parameter vector in the operation. May also be a + scalar parameter or a literal constant. - This command is valid in any processor. + oper + Operations: - """ - command = "*VMASK, %s" % (str(par)) - self.RunCommand(command, **kwargs) + Addition: Par1+Par2. - Subtraction: Par1-Par2. - def Anim(self, ncycl="", kcycl="", delay="", **kwargs): - """ - APDL Command: ANIM + Multiplication: Par1*Par2. - Division: Par1/Par2 (a divide by zero results in a value of zero). - Displays animated graphics data for linear problems. + Minimum: minimum of Par1 and Par2. - Maximum: maximum of Par1 and Par2. - Parameters - ---------- - ncycl - Number of cycles associated with the animation (defaults to 5 in - non-GUI mode only) + Less than comparison: Par1Par2 gives 1.0 if true, 0.0 if false. - 1 - Discontinuous animation cycle (forward-reset-forward-etc.). + First derivative: d(Par1)/d(Par2). The derivative at a point is determined over points half way between the previous and next points (by linear interpolation). Par1 must be a function (a unique Par1 value for each Par2 value) and Par2 must be in ascending order. - Second derivative: d2(Par1)/d(Par2)2. See also DER1. - delay - Time delay (seconds) between animation frames (defaults to 0.1 - seconds). + Single integral:   Par1 d(Par2), where CON1 is the integration constant. The integral at a point is determined by using the single integration procedure described in the Mechanical APDL Theory Reference. - Double integral:    Par1 d(Par2), where CON1 is the integration constant of + the first integral and CON2 is the integration + constant of the second integral. If Par1 + contains acceleration data, CON1 is the initial + velocity and CON2 is the initial displacement. + See also INT1. + + Dot product: Par1 . Par2. Par1 and Par2 must each have three consecutive columns of data, with the columns containing the i, j, and k vector components, respectively. Only the starting row index and the column index for the i components are specified for Par1 and Par2, such as A(1,1). The j and k components of the vector are assumed to begin in the corresponding next columns, such as A(1,2) and A(1,3). - Cross product: Par1 x Par2. Par1, Par2, and ParR must each have 3 components, + respectively. Only the starting row index and + the column index for the i components are + specified for Par1, Par2, and ParR, such as + A(1,1). The j and k components of the vector are + assumed to begin in the corresponding next + columns, such as A(1,2) and A(1,3). + + Gather: For a vector of position numbers, Par2, copy the value of Par1 at each position number to ParR. Example: for Par1 = 10,20,30,40 and Par2 = 2,4,1; ParR = 20,40,10. - Scatter: Opposite of GATH operation. For a vector of position numbers, Par2, + copy the value of Par1 to that position number in + ParR. Example: for Par1 = 10,20,30,40,50 and + Par2 = 2,1,0,5,3; ParR = 20,10,50,0,40. + + Arctangent: arctangent of Par1/Par2 with the sign of each component considered. - Transform the data in Par1 from the global Cartesian coordinate system to the + local coordinate system given in CON1. Par1 must + be an N x 3 (i.e., vector) or an N x 6 (i.e., + stress or strain tensor) array. If the local + coordinate system is a cylindrical, spherical, or + toroidal system, then you must provide the global + Cartesian coordinates in Par2 as an N x 3 array. + Set CON2 = 1 if the data is strain data. + + par2 + Second array parameter vector in the operation. May also be a + scalar parameter or a literal constant. + + con1 + First constant (used only with the INT1 and INT2 operations). + + con2 + Second constant (used only with the INT2 operation). Notes ----- - Use the ANIM command to create animations for linear problems only. The - command uses the currently displayed picture based on one particular - data set from the results file, and linearly interpolates that data - into different sets, displaying pictures of each interpolated data set - in sequence to create animation. For information about creating - animations for nonlinear problems, see the ANDATA command. + Operates on two input array parameter vectors and produces one output + array parameter vector according to: - This command is device-dependent. + ParR = Par1 o Par2 - Do not resize the graphic while animation is in progress; doing so can - result in distorted plots. + where the operations (o) are described below. ParR may be the same as + Par1 or Par2. Absolute values and scale factors may be applied to all + parameters [*VABS, *VFACT]. Results may be cumulative [*VCUM]. + Starting array element numbers must be defined for each array parameter + vector if it does not start at the first location, such as + *VOPER,A,B(5),ADD,C(3) which adds the third element of C to the fifth + element of B and stores the result in the first element of A. + Operations continue on successive array elements [*VLEN, *VMASK] with + the default being all successive elements. Skipping array elements via + *VMASK or *VLEN for the DER_ and INT_ functions skips only the writing + of the results (skipped array element data are used in all + calculations). - For more information, see the /SEG command for details about segment - storage, and the ANCNTR macro for a convenient method of storing - graphics frames in terminal memory segments. + Parameter functions and operations are available to operate on a scalar + parameter or a single element of an array parameter, such as SQRT(B) or + SQRT(A(4)). See the *SET command for details. Operations on a + sequence of array elements can be done by repeating the desired + function or operation in a do-loop [*DO]. The vector operations within + the ANSYS program (*VXX commands) are internally programmed do-loops + that conveniently perform the indicated operation over a sequence of + array elements. If the array is multidimensional, only the first + subscript is incremented in the do-loop, that is, the operation repeats + in column vector fashion "down" the array. For example, for A(1,5), + A(2,5), A(3,5), etc. The starting location of the row index must be + defined for each parameter read and for the result written. + + The default number of loops is from the starting result location to the + last result location and can be altered with the *VLEN command. A + logical mask vector may be defined to control at which locations the + operations are to be skipped [*VMASK]. The default is to skip no + locations. Repeat operations automatically terminate at the last array + element of the result array column if the number of loops is undefined + or if it exceeds the last result array element. Zeroes are used in + operations for values read beyond the last array element of an input + array column. Existing values in the rows and columns of the results + matrix remain unchanged where not changed by the requested operation + values. The result array column may be the same as the input array + column since results in progress are stored in a temporary array until + being moved to the results array at the end of the operation. Results + may be overwritten or accumulated with the existing results [*VCUM]. + The default is to overwrite results. The absolute value may be used + for each parameter read or written [*VABS]. A scale factor (defaulting + to 1.0) is also applied to each parameter read and written [*VFACT]. This command is valid in any processor. """ - command = "ANIM, %s, %s, %s" % (str(ncycl), str(kcycl), str(delay)) + command = "*VOPER,%s,%s,%s,%s,%s,%s" % (str(parr), str(par1), str(oper), str(par2), str(con1), str(con2)) self.RunCommand(command, **kwargs) - def Omega(self, omegx="", omegy="", omegz="", **kwargs): + def Ndele(self, node1="", node2="", ninc="", **kwargs): """ - APDL Command: OMEGA + APDL Command: NDELE - Specifies the rotational velocity of the structure. + Deletes nodes. Parameters ---------- - omegx, omegy, omegz - Rotational velocity of the structure about the global Cartesian X, - Y, and Z axes. + node1, node2, ninc + Delete nodes from NODE1 to NODE2 (defaults to NODE1) in steps of + NINC (defaults to 1). If NODE1 = ALL, NODE2 and NINC are ignored + and all selected nodes [NSEL] are deleted. 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. Notes ----- - This command specifies the rotational velocity of the structure about - each of the global Cartesian axes (right-hand rule). Rotational - velocities may be defined in these analysis types: - - Static (ANTYPE,STATIC) - - Harmonic (ANTYPE,HARMIC) -- Full or mode-superposition - - Transient (ANTYPE,TRANS) -- Full or mode-superposition - - Substructuring (ANTYPE,SUBSTR) + Deletes selected nodes that are not connected to elements. Nodes may + also be redefined instead of deleted, if desired. Boundary conditions + (displacements, forces, etc.) as well as any coupling or constraint + equations containing the deleted nodes are also deleted. - Modal (ANTYPE,MODAL) + This command is also valid in the /MAP processor. - The OMEGA command supports tabular boundary conditions (%TABNAME_X%, - %TABNAME_Y%, and %TABNAME_Z%) for OMEGA_X, OMEGA_Y, and OMEGA_Z input - values (*DIM) for full transient and harmonic analyses. + """ + command = "NDELE,%s,%s,%s" % (str(node1), str(node2), str(ninc)) + self.RunCommand(command, **kwargs) - Rotational velocities are combined with the element mass matrices to - form a body force load vector term. Units are radians/time. Related - commands are ACEL, CGLOC, CGOMGA, DCGOMG, and DOMEGA. + def Sfalist(self, area="", lab="", **kwargs): + """ + APDL Command: SFALIST - See Analysis Tools in the Mechanical APDL Theory Reference for more - information. + Lists the surface loads for the specified area. - If you have applied the Coriolis effect (CORIOLIS) using a stationary - reference frame, the OMEGA command takes the gyroscopic damping matrix - into account for the elements listed in the “Stationary Reference - Frame” heading in the notes section of the CORIOLIS command. The - element axis must pass through the global Cartesian origin. ANSYS - verifies that the rotation vector axis is parallel to the axis of the - element; if not, the gyroscopic effect is not applied. After issuing - the OMEGA command when the Coriolis or gyroscopic effect is present, a - subsequently issued CMOMEGA command has no effect. + Parameters + ---------- + area + Area at which surface load is to be listed. If ALL (or blank), + list for all selected areas [ASEL]. If AREA = P, graphical picking + is enabled and all remaining command fields are ignored (valid only + in the GUI). A component name may be substituted for AREA. - In a mode-superposition harmonic or transient analysis, you must apply - the load in the modal portion of the analysis. Mechanical APDL - calculates a load vector and writes it to the MODE file, which you can - apply via the LVSCALE command. + lab + Valid surface load label. If ALL (or blank), use all appropriate + labels. See the SFA command for labels. - This command is also valid in PREP7. + Notes + ----- + This command is valid in any processor. """ - command = "OMEGA, %s, %s, %s" % (str(omegx), str(omegy), str(omegz)) + command = "SFALIST,%s,%s" % (str(area), str(lab)) self.RunCommand(command, **kwargs) - def Mpwrite(self, fname="", ext="", mat="", **kwargs): + def Esurf(self, xnode="", tlab="", shape="", **kwargs): """ - APDL Command: MPWRITE + APDL Command: ESURF - Writes linear material properties in the database to a file (if the LIB - option is not specified) or writes both linear and nonlinear material - properties (if LIB is specified) from the database to a file. + Generates elements overlaid on the free faces of selected nodes. Parameters ---------- - fname - File name and directory path (248 characters maximum, including - directory). If you do not specify the LIB option, the default - directory is the current working directory. If you specify LIB and - you have specified a material library directory (via the /MPLIB - command), that directory is the default. Otherwise, the default is - the current working directory. If you use the default for your - directory, you can use all 248 characters for the file name. - - ext - Filename extension (eight-character maximum). + xnode + Node number that is used only in the following two cases: - -- - Unused field. + tlab + Generates target, contact, and hydrostatic fluid elements with + correct direction of normals. - lib - The only value allowed for this field is the string "LIB." + TOP - Generates target and contact elements over beam and shell elements, or + hydrostatic fluid elements over shell elements, with the + normals the same as the underlying beam and shell elements + (default). - mat - Specifies the material to be written to the named material library - file. There is no default; you must either specify a material or - omit the MAT argument. Even if you specify a MAT value, the ANSYS - program ignores it if the LIB argument is not specified. + BOTTOM - Generates target and contact elements over beam and shell elements, or + hydrostatic fluid elements over shell elements, with the + normals opposite to the underlying beam and shell + elements. - Notes - ----- - Writes linear material properties currently in the database to a file. - The file is rewound before and after writing. + If target or contact elements and hydrostatic fluid elements are defined on the same underlying shell elements, you only need to use this option once to orient the normals opposite to the underlying shell elements. - REVERSE - This command is also valid in SOLUTION. + Reverses the direction of the normals on existing selected target elements, contact elements, and hydrostatic fluid elements. - If target or contact elements and hydrostatic fluid elements are defined on the + same underlying shell elements, you only need to + use this option once to reverse the normals for + all selected elements. - """ - command = "MPWRITE, %s, %s, %s" % (str(fname), str(ext), str(mat)) - self.RunCommand(command, **kwargs) + shape + Used to specify the element shape for target element TARGE170 + (Shape = LINE or POINT) or TARGE169 elements (Shape = POINT). - def Dalist(self, area="", **kwargs): - """ - APDL Command: DALIST + (blank) - The target element takes the same shape as the external surface of the + underlying element (default). - Lists the DOF constraints on an area. + LINE - Generates LINE or PARA (parabolic) segments on exterior of selected 3-D + elements. - Parameters - ---------- - area - List constraints for this area. If ALL (default), list for all - selected areas [ASEL]. If P1 = 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 AREA. + POINT - Generates POINT segments on selected nodes. Notes ----- - Lists the degree of freedom constraints on an area previously specified - with the DA command. + The ESURF command generates elements of the currently active element + type overlaid on the free faces of existing elements. For example, + surface elements (such as SURF151, SURF152, SURF153, SURF154, or + SURF159) can be generated over solid elements (such as PLANE55, + SOLID70, PLANE182, SOLID185, or SOLID272, respectively). - This command is valid in any processor. + Element faces are determined from the selected node set (NSEL) and the + load faces for that element type. The operation is similar to that used + for generating element loads from selected nodes via the SF,ALL + command, except that elements (instead of loads) are generated. All + nodes on the face must be selected for the face to be used. For shell + elements, only face one of the element is available. If nodes are + shared by adjacent selected element faces, the faces are not free and + no element is generated. - """ - command = "DALIST, %s" % (str(area)) - self.RunCommand(command, **kwargs) + Elements created by ESURF are oriented such that their surface load + directions are consistent with those of the underlying elements. + Carefully check generated elements and their orientations. - def Deltim(self, dtime="", dtmin="", dtmax="", carry="", **kwargs): - """ - APDL Command: DELTIM + Generated elements use the existing nodes and the active MAT, TYPE, + REAL, and ESYS attributes. The exception is when Tlab = REVERSE. The + reversed target and contact elements have the same attributes as the + original elements. If the underlying elements are solid elements, Tlab + = TOP or BOTTOM has no effect. - Specifies the time step sizes to be used for the current load step. + When the command generates a target element, the shape is by default + the same as that of the underlying element. Issue ESURF,,,LINE or + ESURF,,,POINT to generate LINE, PARA, and POINT segments. - Parameters - ---------- - dtime - Time step size for this step. If automatic time stepping is used - (AUTOTS), DTIME is the starting time substep. + The ESURF command can also generate the 2-D or 3-D node-to-surface + element CONTA175, based on the selected node components of the + underlying solid elements. When used to generate CONTA175 elements, all + ESURF arguments are ignored. (If CONTA175 is the active element type, + the path Main Menu> Preprocessor> Modeling> Create> Elements> Node-to- + Surf uses ESURF to generate elements.) - dtmin - Minimum time step (if automatic time stepping is used). The program - automatically determines the default based on the physics of the - model. + To generate SURF151 or SURF152 elements that have two extra nodes from + FLUID116 elements, KEYOPT(5) for SURF151 or SURF152 is first set to 0 + and ESURF is issued. Then KEYOPT(5) for SURF151 or SURF152 is set to 2 + and MSTOLE is issued. For more information, see Using the Surface + Effect Elements in the Thermal Analysis Guide. - dtmax - Maximum time step (if automatic time stepping is used). The program - automatically determines the default based on the physics of the - model. + For hydrostatic fluid elements HSFLD241 and HSFLD242, the ESURF command + generates triangular (2-D) or pyramid-shaped (3-D) elements with bases + that are overlaid on the faces of selected 2-D or 3-D solid or shell + elements. The single vertex for all generated elements is at the + pressure node specified as XNODE. The generated elements fill the + volume enclosed by the solid or shell elements. The nodes on the + overlaid faces have translational degrees of freedom, while the + pressure node shared by all generated elements has a single hydrostatic + pressure degree of freedom, HDSP (see HSFLD241 and HSFLD242 for more + information about the pressure node). - carry - Time step carry over key: + """ + command = "ESURF,%s,%s,%s" % (str(xnode), str(tlab), str(shape)) + self.RunCommand(command, **kwargs) - OFF - Use DTIME as time step at start of each load step. + def Adele(self, na1="", na2="", ninc="", kswp="", **kwargs): + """ + APDL Command: ADELE - ON - Use final time step from previous load step as the starting time step (if - automatic time stepping is used). + Deletes unmeshed areas. - Notes - ----- - See NSUBST for an alternative input. + Parameters + ---------- + na1, na2, ninc + Delete areas from NA1 to NA2 (defaults to NA1) in steps of NINC + (defaults to 1). If NA1 = ALL, NA2 and NINC are ignored and all + selected areas [ASEL] are deleted. If NA1 = P, graphical picking + is enabled and all remaining arguments are ignored (valid only in + the GUI). A component name may also be substituted for NA1 (NA2 + and NINC are ignored). - Use consistent values for DTIME and TIME (TIME). For example, using 0.9 - for DTIME and 1.0 for TIME results in one time step because 1.0 (TIME) - is divisible by .9 (DTIME) at most once. If you intend to load in 10 - increments over a time span of 1.0, use 0.1 for DTIME and 1.0 for TIME. + kswp + Specifies whether keypoints and lines are also to be deleted: - The program calculates the initial incremental time so that (EndingTime - - StartingTime)/DTIME is an integer, which may affect the initial - incremental time that you specify. For example, if the starting time is - 0, the ending time is 1, and the initial incremental time is 0.4, the - program rounds to the nearest integer and adjusts the time to 0.33333. + 0 - Delete areas only (default). - For solution efficiency, specify values for all fields of this command. + 1 - Delete areas, as well as keypoints and lines attached to specified areas but + not shared by other areas. - This command is also valid in PREP7. + Notes + ----- + An area attached to a volume cannot be deleted unless the volume is + first deleted. """ - command = "DELTIM, %s, %s, %s, %s" % (str(dtime), str(dtmin), str(dtmax), str(carry)) + command = "ADELE,%s,%s,%s,%s" % (str(na1), str(na2), str(ninc), str(kswp)) self.RunCommand(command, **kwargs) - def Lsscale(self, nl1="", nl2="", ninc="", rx="", ry="", rz="", kinc="", - noelem="", imove="", **kwargs): + def Etable(self, lab="", item="", comp="", option="", **kwargs): """ - APDL Command: LSSCALE + APDL Command: ETABLE - Generates a scaled set of lines from a pattern of lines. + Fills a table of element values for further processing. Parameters ---------- - nl1, nl2, ninc - Set of lines (NL1 to NL2 in steps of NINC) that defines the pattern - to be scaled. NL2 defaults to NL1, NINC defaults to 1. If NL1 = - ALL, NL2 and NINC are ignored and the pattern is defined by all - selected lines. If NL1 = 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 NL1 (NL2 and NINC are - ignored). - - rx, ry, rz - Scale factors to be applied to the X, Y, Z keypoint coordinates in - active coordinate system (RR, Rθ, RZ for cylindrical; RR, Rθ, RΦ - for spherical). Note that the Rθ and RΦ scale factors are - interpreted as angular offsets. For example, for CSYS,1, RR, Rθ, - RZ input of (1.5,10,3) would scale the specified keypoints 1.5 - times in the radial and 3 times in the Z direction, while adding an - offset of 10 degrees to the keypoints. Zero, blank, or negative - scale factor values are assumed to be 1.0. Zero or blank angular - offsets have no effect. - - kinc - Increment to be applied to keypoint numbers for generated set. If - zero, the lowest available keypoint numbers will be assigned - [NUMSTR]. + lab + Any unique user defined label for use in subsequent commands and + output headings (maximum of eight characters and not a General + predefined Item label). Defaults to an eight character label formed + by concatenating the first four characters of the Item and Comp + labels. If the same as a previous user label, this result item will + be included under the same label. Up to 200 different labels may be + defined. The following labels are predefined and are not available + for user-defined labels: REFL, STAT, and ERAS. Lab = REFL refills + all tables previously defined with the ETABLE commands (not the + CALC module commands) according to the latest ETABLE specifications + and is convenient for refilling tables after the load step (SET) + has been changed. Remaining fields will be ignored if Lab is REFL. + Lab = STAT displays stored table values. Lab = ERAS erases the + entire table. - noelem - Specifies whether nodes and elements are also to be generated: + item + Label identifying the item. General item labels are shown in the + table below. Some items also require a component label. Character + parameters may be used. Item = ERAS erases a Lab column. - 0 - Nodes and line elements associated with the original lines will be generated - (scaled) if they exist. + comp + Component of the item (if required). General component labels are + shown in the table below. Character parameters may be used. - 1 - Nodes and line elements will not be generated. + option + Option for storing element table data: - imove - Specifies whether lines will be moved or newly defined: + MIN - Store minimum element nodal value of the specified item component. - 0 - Additional lines will be generated. + MAX - Store maximum element nodal value of the specified item component. - 1 - Original lines will be moved to new position (KINC and NOELEM are ignored). - Use only if the old lines are no longer needed at their - original positions. Corresponding meshed items are also moved - if not needed at their original position. + AVG - Store averaged element centroid value of the specified item component + (default). Notes ----- - Generates a scaled set of lines (and their corresponding keypoints and - mesh) from a pattern of lines. The MAT, TYPE, REAL, and ESYS - attributes are based on the lines in the pattern and not the current - settings. Scaling is done in the active coordinate system. Lines in - the pattern could have been generated in any coordinate system. - - """ - command = "LSSCALE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nl1), str(nl2), str(ninc), str(rx), str(ry), str(rz), str(kinc), str(noelem), str(imove)) - self.RunCommand(command, **kwargs) - - def Edcpu(self, cputime="", **kwargs): - """ - APDL Command: EDCPU + The ETABLE command defines a table of values per element (the element + table) for use in further processing. The element table is organized + similar to spreadsheet, with rows representing all selected elements + and columns consisting of result items which have been moved into the + table (Item,Comp) via ETABLE. Each column of data is identified by a + user-defined label (Lab) for listings and displays. - Specifies CPU time limit for an explicit dynamics analysis. + After entering the data into the element table, you are not limited to + merely listing or displaying your data (PLESOL, PRESOL, etc.). You may + also perform many types of operations on your data, such as adding or + multiplying columns (SADD, SMULT), defining allowable stresses for + safety calculations (SALLOW), or multiplying one column by another + (SMULT). See Getting Started in theBasic Analysis Guide for more + information. - Parameters - ---------- - cputime - CPU time limit (in seconds) for the current phase of the analysis - (defaults to 0). If CPUTIME = 0, no CPU time limit is set. CPUTIME - values below 0 are not allowed. + Various results data can be stored in the element table. For example, + many items for an element are inherently single-valued (one value per + element). The single-valued items include: SERR, SDSG, TERR, TDSG, + SENE, SEDN, TENE, KENE, AENE, JHEAT, JS, VOLU, and CENT. All other + items are multivalued (varying over the element, such that there is a + different value at each node). Because only one value is stored in the + element table per element, an average value (based on the number of + contributing nodes) is calculated for multivalued items. Exceptions to + this averaging procedure are FMAG and all element force items, which + represent the sum only of the contributing nodal values. - Notes - ----- - This command is also valid in PREP7. + Two methods of data access can be used with the ETABLE command. The + method you select depends upon the type of data that you want to store. + Some results can be accessed via a generic label (Component Name + method), while others require a label and number (Sequence Number + method). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The Component Name method is used to access the General element data + (that is, element data which is generally available to most element + types or groups of element types). All of the single-valued items and + some of the more general multivalued items are accessible with the + Component Name method. Various element results depend on the + calculation method and the selected results location (AVPRIN, RSYS, + LAYER, SHELL, and ESEL). - """ - command = "EDCPU, %s" % (str(cputime)) - self.RunCommand(command, **kwargs) + Although nodal data is readily available for listings and displays + (PRNSOL, PLNSOL) without using the element table, you may also use the + Component Name method to enter these results into the element table for + further "worksheet" manipulation. (See Getting Started in theBasic + Analysis Guide for more information.) A listing of the General Item and + Comp labels for the Component Name method is shown below. - def Bsplin(self, p1="", p2="", p3="", p4="", p5="", p6="", xv1="", yv1="", - zv1="", xv6="", yv6="", zv6="", **kwargs): - """ - APDL Command: BSPLIN + The Sequence Number method allows you to view results for data that is + not averaged (such as pressures at nodes, temperatures at integration + points, etc.), or data that is not easily described in a generic + fashion (such as all derived data for structural line elements and + contact elements, all derived data for thermal line elements, layer + data for layered elements, etc.). A table illustrating the Items (such + as LS, LEPEL, LEPTH, SMISC, NMISC, SURF, etc.) and corresponding + sequence numbers for each element is shown in the Output Data section + of each element description found in the Element Reference. - Generates a single line from a spline fit to a series of keypoints. + Some element table data are reported in the results coordinate system. + These include all component results (for example, UX, UY, etc.; SX, SY, + etc.). The solution writes component results in the database and on the + results file in the solution coordinate system. When you issue the + ETABLE command, these results are then transformed into the results + coordinate system (RSYS) before being stored in the element table. The + default results coordinate system is global Cartesian (RSYS,0). All + other data are retrieved from the database and stored in the element + table with no coordinate transformation. - Parameters - ---------- - p1, p2, p3, . . . , p6 - Keypoints through which a spline is fit. At least two keypoints - must be defined. If P1 = P, graphical picking is enabled and all - remaining command fields are ignored (valid only in the GUI). + Use the PRETAB, PLETAB, or ETABLE,STAT commands to display the stored + table values. Issue ETABLE,ERAS to erase the entire table. Issue + ETABLE,Lab,ERAS to erase a Lab column. - Notes - ----- - One line is generated between keypoint P1 and the last keypoint - entered. The line will pass through each entered keypoint. Solid - modeling in a toroidal coordinate system is not recommended. + When the GUI is on, if a Delete operation in a Define Element Table + Data dialog box writes this command to a log file (Jobname.LOG or + Jobname.LGW), you will observe that Lab is blank, Item = ERASE, and + Comp is an integer number. In this case, the GUI has assigned a value + of Comp that corresponds to the location of a chosen variable name in + the dialog box's list. It is not intended that you type in such a + location value for Comp in a session. However, a file that contains a + GUI-generated ETABLE command of this form can be used for batch input + or for use with the /INPUT command. - """ - command = "BSPLIN, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(p1), str(p2), str(p3), str(p4), str(p5), str(p6), str(xv1), str(yv1), str(zv1), str(xv6), str(yv6), str(zv6)) - self.RunCommand(command, **kwargs) + The element table data option (Option) is not available for all output + items. See the table below for supported items. - def Mfexter(self, fnumb1="", fnumb2="", fnumb3="", fnumb4="", fnumb5="", - fnumb6="", fnumb7="", fnumb8="", fnumb9="", fnumb10="", - fnumb11="", fnumb12="", fnumb13="", fnumb14="", fnumb15="", - fnumb16="", fnumb17="", fnumb18="", fnumb19="", fnumb20="", - **kwargs): - """ - APDL Command: MFEXTER + Table: 135:: : ETABLE - General Item and Component Labels - Defines external fields for an ANSYS Multi-field solver analysis. + Number of the maximum-failure criterion over the entire element: - Parameters - ---------- - fnumb1, fnumb2, fnumb3, . . . , fnumb20 - External field numbers defined by the MFELEM command. + For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use labels + TBOT, TE2, TE3, . . ., TTOP instead of TEMP. - Notes - ----- - This command specifies external field numbers to be used for load - transfer in an ANSYS Multi-field solver analysis. Use the MFIMPORT - command to import the external fields. + Element table option (Option) is available for this element output data + item. - Use the MFELEM command to specify external field numbers. Use the - MFORDER command to specify the solution order for the external fields. + For the CONT items for elements CONTA171 through CONTA177, the + reported data is averaged across the element. - You can define a maximum of 20 fields. + For MPC-based contact definitions, the value of STAT can be negative. + This indicates that one or more contact constraints were intentionally + removed to prevent overconstraint. STAT = -3 is used for MPC bonded + contact; STAT = -2 is used for MPC no-separation contact. - This command is also valid in PREP7. + When using the EMFT procedure to calculate electromagnetic force + (PLANE121, SOLID122, SOLID123, PLANE233, SOLID236 or SOLID237 elements + only), the FMAG sum will be zero or near zero. - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + Some element- and material-type limitations apply. For more + information, see the documentation for the PRERR command. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Failure criteria are based on the effective stresses in the damaged + material. """ - command = "MFEXTER, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(fnumb1), str(fnumb2), str(fnumb3), str(fnumb4), str(fnumb5), str(fnumb6), str(fnumb7), str(fnumb8), str(fnumb9), str(fnumb10), str(fnumb11), str(fnumb12), str(fnumb13), str(fnumb14), str(fnumb15), str(fnumb16), str(fnumb17), str(fnumb18), str(fnumb19), str(fnumb20)) + command = "ETABLE,%s,%s,%s,%s" % (str(lab), str(item), str(comp), str(option)) self.RunCommand(command, **kwargs) - def Arefine(self, na1="", na2="", ninc="", level="", depth="", post="", - retain="", **kwargs): + def Cdread(self, option="", fname="", ext="", fnamei="", exti="", + **kwargs): """ - APDL Command: AREFINE + APDL Command: CDREAD - Refines the mesh around specified areas. + Reads a file of solid model and database information into the database. Parameters ---------- - na1, na2, ninc - Areas (NA1 to NA2 in increments of NINC) around which the mesh is - to be refined. NA2 defaults to NA1, and NINC defaults to 1. If - NA1 = ALL, NA2 and NINC are ignored and all selected areas are used - for refinement. If NA1 = 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 NA1 (NA2 and NINC are - ignored). + option + Selects which data to read: - level - Amount of refinement to be done. Specify the value of LEVEL as an - integer from 1 to 5, where a value of 1 provides minimal - refinement, and a value of 5 provides maximum refinement (defaults - to 1). + ALL - Read all geometry, material property, load, and component data (default). + Solid model geometry and loads will be read from the file + Fnamei.Exti. All other data will be read from the file + Fname.Ext. - depth - Depth of mesh refinement in terms of the number of elements outward - from the indicated areas (defaults to 1). + DB - Read all database information contained in file Fname.Ext. This file should + contain all information mentioned above except the solid model + loads. If reading a .CDB file written with the GEOM option of + the CDWRITE command, element types [ET] compatible with the + connectivity of the elements on the file must be defined prior + to reading. - post - Type of postprocessing to be done after element splitting, in order - to improve element quality: + SOLID - Read the solid model geometry and solid model loads from the file Fnamei.Exti. + This file could have been written by the CDWRITE or IGESOUT + command. - OFF - No postprocessing will be done. + COMB - Read the combined solid model and database information from the file Fname.Ext. - SMOOTH - Smoothing will be done. Node locations may change. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - CLEAN - Smoothing and cleanup will be done. Existing elements may be deleted, and node - locations may change (default). + ext + Filename extension (eight-character maximum). - retain - Flag indicating whether quadrilateral elements must be retained in - the refinement of an all-quadrilateral mesh. (The ANSYS program - ignores the RETAIN argument when you are refining anything other - than a quadrilateral mesh.) + -- + Unused field. - ON - The final mesh will be composed entirely of quadrilateral elements, regardless - of the element quality (default). + fnamei + Name of the IGES file and its directory path (248 characters + maximum, including directory). If you do not specify a directory + path, it will default to your working directory and you can use all + 248 characters for the file name. - OFF - The final mesh may include some triangular elements in order to maintain - element quality and provide transitioning. + exti + Filename extension (eight-character maximum). Notes ----- - AREFINE performs local mesh refinement around the specified areas. By - default, the indicated elements are split to create new elements with - 1/2 the edge length of the original elements (LEVEL = 1). + This command causes coded files of solid model (in IGES format) and + database (in command format) information to be read. These files are + normally written by the CDWRITE or IGESOUT command. Note that the + active coordinate system in these files has been reset to Cartesian + (CSYS,0). - AREFINE refines all area elements and tetrahedral volume elements that - are adjacent to the specified areas. Any volume elements that are - adjacent to the specified areas, but are not tetrahedra (for example, - hexahedra, wedges, and pyramids), are not refined. + If a set of data exists prior to the CDREAD operation, that data set is + offset upward to allow the new data to fit without overlap. The + NOOFFSET command allows this offset to be ignored on a set-by-set + basis, causing the existing data set to be overwritten with the new + data set. - You cannot use mesh refinement on a solid model that contains initial - conditions at nodes [IC], coupled nodes [CP family of commands], - constraint equations [CE family of commands], or boundary conditions or - loads applied directly to any of its nodes or elements. This applies - to nodes and elements anywhere in the model, not just in the region - where you want to request mesh refinement. See Revising Your Model in - the Modeling and Meshing Guide for additional restrictions on mesh - refinement. + When you write the geometry data using the CDWRITE,GEOM option, you use + the CDREAD,DB option to read the geometry information. - This command is also valid for rezoning. + Using the CDREAD,COMB option will not write NUMOFF commands to offset + entity ID numbers if there is no solid model in the database. + + Multiple CDB file imports cannot have elements with real constants in + one file and section definitions in another. The section attributes + will override the real constant attributes. If you use CDREAD to + import multiple CDB files, define all of the elements using only real + constants, or using only section definitions. Combining real constants + and section definitions is not recommended. + + This command is valid in any processor. """ - command = "AREFINE, %s, %s, %s, %s, %s, %s, %s" % (str(na1), str(na2), str(ninc), str(level), str(depth), str(post), str(retain)) + command = "CDREAD,%s,%s,%s,%s,%s" % (str(option), str(fname), str(ext), str(fnamei), str(exti)) self.RunCommand(command, **kwargs) - def Nlopt(self, **kwargs): + def Subset(self, lstep="", sbstep="", fact="", kimg="", time="", angle="", + nset="", **kwargs): """ - APDL Command: NLOPT + APDL Command: SUBSET - Specifies "Nonlinear analysis options" as the subsequent status topic. + Reads results for the selected portions of the model. - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Parameters + ---------- + lstep + Load step number of the data set to be read (defaults to 1): - If entered directly into the program, the STAT command should - immediately follow this command. + N - Read load step N. - """ - command = "NLOPT, " % () - self.RunCommand(command, **kwargs) + FIRST - Read the first data set (SBSTEP and TIME are ignored). - def Tb(self, lab="", mat="", ntemp="", npts="", tbopt="", eosopt="", - funcname="", **kwargs): - """ - APDL Command: TB + LAST - Read the last data set (SBSTEP and TIME are ignored). - Activates a data table for material properties or special element - input. + NEXT - Read the next data set (SBSTEP and TIME are ignored). If at the last data set, + the first data set will be read as the next. - Parameters - ---------- - lab - Material model data table type: + NEAR - Read the data set nearest to TIME (SBSTEP is ignored). If TIME is blank, read + the first data set. - AFDM - Acoustic frequency-dependent material. + LIST - Scan the results file and list a summary of each load step. (FACT, KIMG, TIME + and ANGLE are ignored.) - AHYPER - Anisotropic hyperelasticity. + sbstep + Substep number (within Lstep). For the buckling (ANTYPE,BUCKLE) + analysis or the modal (ANTYPE,MODAL) analysis, the substep + corresponds to the mode number. Defaults to last substep of load + step (except for ANTYPE,BUCKLE or MODAL). If Lstep = LIST, SBSTEP + = 0 or 1 lists the basic step information, whereas SBSTEP = 2 also + lists the load step title, and labels imaginary data sets if they + exist. - ANEL - Anisotropic elasticity. + fact + Scale factor applied to data read from the file. If zero (or + blank), a value of 1.0 is used. Harmonic velocities or + accelerations may be calculated from the displacement results from + a modal (ANTYPE,MODAL) or harmonic (ANTYPE,HARMIC) analyses. If + FACT = VELO, the harmonic velocities (v) are calculated from the + displacements (d) at a particular frequency (f) according to the + relationship v = 2 πfd. Similarly, if FACT = ACEL, the harmonic + accelerations (a) are calculated as a = (2 πf)2d. - ANISO - Anisotropic plasticity. + kimg + Used only with results from complex analyses: - BB - Bergstrom-Boyce. + 0 - Store real part of complex solution - BH - Magnetic field data. + 1 - Store imaginary part. - BISO - Bilinear isotropic hardening using von Mises or Hill plasticity. + time + Time-point identifying the data set to be read. For harmonic + analyses, time corresponds to the frequency. For the buckling + analysis, time corresponds to the load factor. Used only in the + following cases: If Lstep is NEAR, read the data set nearest to + TIME. If both Lstep and SBSTEP are zero (or blank), read data set + at time = TIME. If TIME is between two solution time points on the + results file, a linear interpolation is done between the two data + sets. Solution items not written to the results file [OUTRES] for + either data set will result in a null item after data set + interpolation. If TIME is beyond the last time point on the file, + use the last time point. - BKIN - Bilinear kinematic hardening using von Mises or Hill plasticity. + angle + Circumferential location (0.0 to 360°). Defines the + circumferential location for the harmonic calculations used when + reading from the results file. The harmonic factor (based on the + circumferential angle) is applied to the harmonic elements + (PLANE25, PLANE75, PLANE78, PLANE83, and SHELL61) of the load case. + See the Mechanical APDL Theory Reference for details. Note that + factored values of applied constraints and loads will overwrite any + values existing in the database. - CAST - Cast iron. + nset + Data set number of the data set to be read. If a positive value + for NSET is entered, Lstep, SBSTEP, KIMG, and TIME are ignored. + Available set numbers can be determined by *SET,LIST. - CDM - Mullins effect (for isotropic hyperelasticity models). + Notes + ----- + Reads a data set from the results file into the database for the + selected portions of the model only. Data that has not been specified + for retrieval from the results file by the INRES command will be listed + as having a zero value. Each time that the SUBSET command is issued, + the data currently in the database will be overwritten with a new set + of data. Various operations may also be performed during the read + operation. The database must have the model geometry available (or + used the RESUME command before the SUBSET command to restore the + geometry from File.DB). - CGCR - Fracture criterion for crack-growth simulation (CGROW). + """ + command = "SUBSET,%s,%s,%s,%s,%s,%s,%s" % (str(lstep), str(sbstep), str(fact), str(kimg), str(time), str(angle), str(nset)) + self.RunCommand(command, **kwargs) - CHABOCHE - Chaboche nonlinear kinematic hardening using von Mises or Hill plasticity. + def Fp(self, stitm="", c1="", c2="", c3="", c4="", c5="", c6="", **kwargs): + """ + APDL Command: FP - COMP - Composite damage (explicit dynamic analysis). + Defines the fatigue S vs. N and Sm vs. T tables. - CONCR - Concrete element data. + Parameters + ---------- + stitm + Starting item number for entering properties (defaults to 1). If + 1, data input in field C1 of this command is entered as the first + item in the list; if 7, data input in field C1 of this command is + entered as the seventh item in the list; etc. If the item number + is negative, C1-C6 are ignored and the item is deleted. If -ALL, + the table is erased. Items are as follows (items 41-62 are + required only if simplified elastic-plastic code calculations are + to be performed): - CREEP - Creep. Pure creep, creep with isotropic hardening plasticity, or creep with - kinematic hardening plasticity using both von Mises or Hill - potentials. + 1,2,...20 - N1, N2, ... N20 - CTE - Secant coefficient of thermal expansion. + 21,22,...40 - S1, S2, ... S20 - CZM - Cohesive zone. + 41,42,...50 - T1, T2, ... T10 - DISCRETE - Explicit spring-damper (discrete). + 51,52,...60 - Sm1, Sm2, ... Sm10 - DMGE - Damage evolution law. + 61 - M (first elastic-plastic material parameter) + + 62 - N (second elastic-plastic material parameter) + + c1, c2, c3, . . . , c6 + Data inserted into six locations starting with STITM. If a value + is already in one of these locations, it will be redefined. A + blank retains the previous value. + + Notes + ----- + Defines the fatigue alternating stress (S) vs. cycles (N) table and the + design stress-intensity value (Sm) vs. temperature (T) table. May also + be used to modify any previously stored property tables. Log-log + interpolation is used in the S vs. N table and linear interpolation is + used in the Sm vs. T table. Cycles and temperatures must be input in + ascending order; S and Sm values in descending order. Table values + must be supplied in pairs, i.e., every N entry must have a + corresponding S entry, etc. Not all property pairs per curve need be + used. If no S vs. N table is defined, the fatigue evaluation will not + produce usage factor results. See the Structural Analysis Guide for + details. - DMGI - Damage initiation criteria. + """ + command = "FP,%s,%s,%s,%s,%s,%s,%s" % (str(stitm), str(c1), str(c2), str(c3), str(c4), str(c5), str(c6)) + self.RunCommand(command, **kwargs) - DP - Classic Drucker-Prager plasticity. + def Lccalc(self, **kwargs): + """ + APDL Command: LCCALC - DPER - Anisotropic electric permittivity. + Specifies "Load case settings" as the subsequent status topic. - EDP - Extended Drucker-Prager (for granular materials such as rock, concrete, soil, - ceramics and other pressure-dependent materials). + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - ELASTIC - Elasticity. For full harmonic analyses, properties can be defined as frequency- - or temperature-dependent (TBFIELD). + If entered directly into the program, the STAT command should + immediately follow this command. - EOS - Equation of state (explicit dynamic analysis). + This command is also valid for rezoning. - EVISC - Viscoelastic element data (explicit dynamic analysis). + """ + command = "LCCALC," % () + self.RunCommand(command, **kwargs) - EXPE - Experimental data. + def Eintf(self, toler="", k="", tlab="", kcn="", dx="", dy="", dz="", + knonrot="", **kwargs): + """ + APDL Command: EINTF - FCON - Fluid conductance data (explicit dynamic analysis). + Defines two-node elements between coincident or offset nodes. - FCLI - Material strength limits for calculating failure criteria. + Parameters + ---------- + toler + Tolerance for coincidence (based on maximum Cartesian coordinate + difference for node locations and on angle differences for node + orientations). Defaults to 0.0001. Only nodes within the tolerance + are considered to be coincident. - FLUID - Fluid. + k + Only used when the type of the elements to be generated is + PRETS179. K is the pretension node that is common to the pretension + section that is being created. If K is not specified, it will be + created by ANSYS automatically and will have an ANSYS-assigned node + number. If K is specified but does not already exist, it will be + created automatically but will have the user-specified node number. + K cannot be connected to any existing element. - FOAM - Foam (explicit dynamic analysis). + tlab + Nodal number ordering. Allowable values are: - FRIC - Coefficient of friction based on Coulomb's Law or user-defined friction. + LOW - The 2-node elements are generated from the lowest numbered node to the highest + numbered node. - GASKET - Gasket. + HIGH - The 2-node elements are generated from the highest numbered node to the lowest + numbered node. - GCAP - Geological cap (explicit dynamic analysis). + REVE - Reverses the orientation of the selected 2-node element. - GURSON - Gurson pressure-dependent plasticity for porous metals. + kcn + In coordinate system KCN, elements are created between node 1 and + node 2 (= node 1 + dx dy dz). - HFLM - Film coefficient data. + dx, dy, dz + Node location increments that define the node offset in the active + coordinate system (DR, Dθ, DZ for cylindrical and DR, Dθ, DΦ for + spherical or toroidal). - HILL - Hill anisotropy. When combined with other material options, simulates - plasticity, viscoplasticity, and creep -- all with the Hill - potential. + knonrot + When KNONROT = 0, the nodes coordinate system is not rotated. When + KNONROT = 1, the nodes belonging to the elements created are + rotated into coordinate system KCN (see NROTAT command + description). - HONEY - Honeycomb (explicit dynamic analysis). + Notes + ----- + Defines 2-node elements (such as gap elements) between coincident or + offset nodes (within a tolerance). May be used, for example, to "hook" + together elements interfacing at a seam, where the seam consists of a + series of node pairs. One element is generated for each set of two + coincident nodes. For more than two coincident or offset nodes in a + cluster, an element is generated from the lowest numbered node to each + of the other nodes in the cluster. If fewer than all nodes are to be + checked for coincidence, use the NSEL command to select the nodes. + Element numbers are incremented by one from the highest previous + element number. The element type must be set [ET] to a 2-node element + before issuing this command. Use the CPINTF command to connect nodes by + coupling instead of by elements. Use the CEINTF command to connect the + nodes by constraint equations instead of by elements. - HYPER - Hyperelasticity material models (Arruda-Boyce, Blatz-Ko, Extended Tube, Gent, - Mooney-Rivlin [default], Neo-Hookean, Ogden, Ogden Foam, - Polynomial Form, Response Function, Yeoh, and user- - defined). + For contact element CONTA178, the tolerance is based on the maximum + Cartesian coordinate difference for node locations only. The angle + differences for node orientations are not checked. - INTER - Contact interaction. + """ + command = "EINTF,%s,%s,%s,%s,%s,%s,%s,%s" % (str(toler), str(k), str(tlab), str(kcn), str(dx), str(dy), str(dz), str(knonrot)) + self.RunCommand(command, **kwargs) - JOIN - Joint (linear and nonlinear elastic stiffness, linear and nonlinear damping, - and frictional behavior). + def Cycle(self, **kwargs): + """ + APDL Command: *CYCLE - KINH - Multilinear kinematic hardening using von Mises or Hill plasticity. + Bypasses commands within a do-loop. - MELAS - Multilinear elasticity. + Notes + ----- + Bypasses all commands between this command and the *ENDDO command + within a do-loop. The next loop (if applicable) is initiated. The + cycle option may also be conditionally executed [Use the *IF]. The + *CYCLE command must appear on the same file as the *DO command. - MISO - Multilinear isotropic hardening using von Mises or Hill plasticity. + This command is valid in any processor. - MKIN - Multilinear kinematic hardening using von Mises or Hill plasticity. + """ + command = "*CYCLE," % () + self.RunCommand(command, **kwargs) - MOONEY - Mooney-Rivlin hyperelasticity (explicit dynamic analysis). + def Elem(self, **kwargs): + """ + APDL Command: ELEM - MPLANE - Microplane. + Specifies "Elements" as the subsequent status topic. - NLISO - Voce isotropic hardening law (or power law) for modeling nonlinear isotropic - hardening using von Mises or Hill plasticity. + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu>: List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - PERF - Equivalent fluid model of perforated media. + If entered directly into the program, the STAT command should + immediately follow this command. - PIEZ - Piezoelectric matrix. + """ + command = "ELEM," % () + self.RunCommand(command, **kwargs) - PLASTIC - Nonlinear plasticity. + def Askin(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nl7="", + nl8="", nl9="", **kwargs): + """ + APDL Command: ASKIN - PLAW - Plasticity laws (explicit dynamic analysis). + Generates an area by "skinning" a surface through guiding lines. - PM - Porous Media. Coupled pore-fluid diffusion and structural model of porous - media. + Parameters + ---------- + nl1 + The first guiding line forming the skinned area. If NL1 = P, + graphical picking is enabled and all remaining arguments are + ignored (valid only in the GUI). A component name may also be + substituted for NL1. If NL1 is negative, the line beginnings and + ends will be used to direct the skinning of the remaining lines + (see "Changing the ASKIN Algorithm" below). - PRONY - Prony series constants for viscoelastic materials. + nl2, nl3, nl4, . . . , nl9 + The additional guiding lines for the skinned area (up to 9 total + lines, including NL1, if using keyboard entry). If negative (and + NL1 is negative), the line beginning and end will be temporarily + interchanged for the skinning operation (see "Changing the ASKIN + Algorithm" below). - PZRS - Piezoresistivity. + Notes + ----- + Generates an area by "skinning" a surface through specified guiding + lines. The lines act as a set of "ribs" over which a surface is + "stretched." Two opposite edges of the area are framed by the first + (NL1) and last (NLn) guiding lines specified. The other two edges of + the area are framed by splines-fit lines which the program + automatically generates through the ends of all guiding lines. The + interior of the area is shaped by the interior guiding lines. Once the + area has been created, only the four edge lines will be attached to it. + In rare cases, it may be necessary to change the default algorithm used + by the ASKIN command (see "Changing the ASKIN Algorithm" below). - RATE - Rate-dependent plasticity (viscoplasticity) when combined with the BISO, MISO, - NLISO or PLASTIC material options, or rate-dependent - anisotropic plasticity (anisotropic viscoplasticity) when - combined with the HILL and BISO, MISO, NLISO or PLASTIC - material options. + When skinning from one guiding line to the next, the program can create + the transition area in one of two ways: one more spiraled and one less + spiraled ("flatter"). By default, the program attempts to produce the + flatter transition, instead of the more spiraled transition. This + algorithm can be changed by inputting NL1 as a negative number, in + which case the program connects all the keypoints at the line + "beginnings" (/PSYMB,LDIR command) as one edge of the area, and all the + line "ends" as the opposite edge, irrespective of the amount of + spiraling produced in each transition area. - The exponential visco-hardening option includes an explicit function for directly defining static yield stresses of materials. - The Anand unified plasticity option requires no combination with other material - models. + To further control the geometry of the area (if NL1 is negative), the + beginning and end of any specified line (other than NL1) can be + temporarily interchanged (for the skinning operation only) by inputting + that line number as negative. See Solid Modeling in the Modeling and + Meshing Guide for an illustration. - SDAMP - Material damping coefficients. + """ + command = "ASKIN,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nl7), str(nl8), str(nl9)) + self.RunCommand(command, **kwargs) - SHIFT - Shift function for viscoelastic materials. + def Smooth(self, vect1="", vect2="", datap="", fitpt="", vect3="", + vect4="", disp="", **kwargs): + """ + APDL Command: SMOOTH - SMA - Shape memory alloy for simulating hysteresis superelastic behavior with no - performance degradation. Plane stress is not supported. + Allows smoothing of noisy data and provides a graphical representation + of the data. - STATE - User-defined state variables. Valid with TB,USER and used with either the - UserMat or UserMatTh subroutine. Also valid with TB,CREEP - (when TBOPT = 100) and used with the UserCreep subroutine. + Parameters + ---------- + vect1 + Name of the first vector that contains the noisy data set (i.e., + independent variable). You must create and fill this vector before + issuing SMOOTH. - SWELL - Swelling strain function. + vect2 + Name of the second vector that contains the dependent set of data. + Must be the same length as the first vector. You must create and + fill this vector before issuing SMOOTH. - UNIAXIAL - Uniaxial stress-strain relation associated with the Cast iron material model. + datap + Number of data points to be fitted, starting from the beginning of + the vector. If left blank, the entire vector will be fitted. The + maximum number of data points is 100,000 (or greater, depending on + the memory of the computer). - USER - User-defined material model (general-purpose except for incompressible material - models) or thermal material model. + fitpt + Order of the fitting curve that will be used as a smooth + representation of the data. This number should be less than or + equal to the number of the data points. Default (blank) is one-half + the number of data points. Maximum number of smoothed data fitting + order is the number of data points up to 50. Depending on this + number, the smoothed curve will be one of the following: - WEAR - Contact surface wear. + 1 - Curve is the absolute average of all of the data points. - mat - Material reference number. The default value is 1. + 2 - Curve is the least square average of all of the data points. - ntemp - The number of temperatures for which data will be provided (if - applicable). Specify temperatures via the TBTEMP command. + 3 or more - Curve is a polynomial of the order (n-1), where n is the number of data fitting + order points. - npts - For most labels where NPTS is defined, the number of data points to - be specified for a given temperature. Define data points via the - TBDATA or TBPT commands. + vect3 + Name of the vector that contains the smoothed data of the + independent variable. This vector should have a length equal to or + greater than the number of smoothed data points. In batch (command) + mode, you must create this vector before issuing the SMOOTH + command. In interactive mode, the GUI automatically creates this + vector (if it does not exist). If you do not specify a vector name, + the GUI will name the vector smth_ind. - eosopt - Indicates which equation of state model will be used. Used only - for explicit dynamics, and only when Lab = EOS. + vect4 + Name of the vector that contains the smoothed data of the dependent + variable. This vector must be the same length as Vect3. In batch + (command) mode, you must create this vector before issuing the + SMOOTH command. In interactive mode, the GUI automatically creates + this vector (if it does not exist). If you do not specify a vector + name, the GUI will name the vector smth_dep. - 1 - Linear polynomial equation of state + disp + Specifies how you want to display data. No default; you must + specify an option. - 2 - Gruneisen equation of state + 1 - Unsmoothed data only - 3 - Tabulated equation of state + 2 - Smoothed data only - funcname - The name of the function to be used (entered as %tabname%, where - tabname is the name of the table created by the Function Tool). - Valid only when Lab = JOIN (joint element material) and nonlinear - stiffness or damping are specified on the TBOPT field (see Joint - Element Specifications (JOINT)). The function must be previously - defined using the Function Tool. To learn more about how to create - a function, see Using the Function Tool in the Basic Analysis - Guide. + 3 - Both smoothed and unsmoothed data Notes ----- - TB activates a data table to be used with subsequent TBDATA or TBPT - commands. The table space is initialized to zero values. Data from - this table are used for certain nonlinear material descriptions as well - as for special input for some elements. - - For a list of elements supporting each material model (Lab value), see - Material Model Element Support in the Material Reference. - - For a description of the material model table types (TB command Lab - values), see Material Models in the Mechanical APDL Material Reference. - - For a description of data table input required for explicit dynamic - materials, see Material Models in the ANSYS LS-DYNA User's Guide. - - For information about linear material property input, see the MP - command. - - The relationship between SDAMP, DMPSTR, MP,DMPR, and MP,BETD is as - follows: - - Where s is the damping value specified via TB,SDAMP and f is the - corresponding frequency. - - This command is also valid in SOLUTION. + You can control the attributes of the graph using standard ANSYS + controls (/GRID, /GTHK, /COLOR, etc.). If working interactively, these + controls appear in this dialog box for convenience, as well as in their + standard dialog boxes. You must always create Vect1 and Vect2 (using + *DIM) and fill these vectors before smoothing the data. If you're + working interactively, ANSYS automatically creates Vect3 and Vect4, but + if you're working in batch (command) mode, you must create Vect3 and + Vect4 (using *DIM) before issuing SMOOTH. Vect3 and Vect4 are then + filled automatically by ANSYS. In addition, ANSYS creates an + additional TABLE type array that contains the smoothed array and the + unsmoothed data to allow for plotting later with *VPLOT. Column 1 in + this table corresponds to Vect1, column 2 to Vect2, and column 3 to + Vect4. This array is named Vect3_SMOOTH, up to a limit of 32 + characters. For example, if the array name is X1, the table name is + X1_SMOOTH. - ANSYS Professional NLS supports this command for the coefficient of - friction material model data type (TB,FRIC). + This command is also valid in PREP7 and SOLUTION. """ - command = "TB, %s, %s, %s, %s, %s, %s, %s" % (str(lab), str(mat), str(ntemp), str(npts), str(tbopt), str(eosopt), str(funcname)) + command = "SMOOTH,%s,%s,%s,%s,%s,%s,%s" % (str(vect1), str(vect2), str(datap), str(fitpt), str(vect3), str(vect4), str(disp)) self.RunCommand(command, **kwargs) - def Cqc(self, signif="", label="", forcetype="", **kwargs): + def Mshmid(self, key="", **kwargs): """ - APDL Command: CQC + APDL Command: MSHMID - Specifies the complete quadratic mode combination method. + Specifies placement of midside nodes. Parameters ---------- - signif - Combine only those modes whose significance level exceeds the - SIGNIF threshold. For single point, multipoint, or DDAM response - (SPOPT,SPRS, MPRS or DDAM), the significance level of a mode is - defined as the mode coefficient of the mode, divided by the maximum - mode coefficient of all modes. Any mode whose significance level - is less than SIGNIF is considered insignificant and is not - contributed to the mode combinations. The higher the SIGNIF - threshold, the fewer the number of modes combined. SIGNIF defaults - to 0.001. If SIGNIF is specified as 0.0, it is taken as 0.0. - (This mode combination method is not valid for SPOPT,PSD.) - - label - Label identifying the combined mode solution output. - - DISP - Displacement solution (default). Displacements, stresses, forces, etc., are - available. - - VELO - Velocity solution. Velocities, "stress velocities," "force velocities," etc., - are available. - - ACEL - Acceleration solution. Accelerations, "stress accelerations," "force - accelerations," etc., are available. + key + Key indicating placement of midside nodes: - forcetype - Label identifying the forces to be combined: + 0 - Midside nodes (if any) of elements on a region boundary follow the curvature of + the boundary line or area (the default). - STATIC - Combine the modal static forces (default). + 1 - Place midside nodes of all elements so that element edges are straight. Allows + coarse mesh along curves. - TOTAL - Combine the modal static plus inertial forces. + 2 - Do not create midside nodes (elements will have removed midside nodes). Notes ----- - Damping is required for this mode combination method. The CQC command - is also valid for PREP7. + The MSHMID, MSHAPE, and MSHKEY commands replace the functionality that + was provided by the ESHAPE command in ANSYS 5.3 and earlier releases. + + This command is also valid for rezoning. """ - command = "CQC, %s, %s, %s" % (str(signif), str(label), str(forcetype)) + command = "MSHMID,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Ocdata(self, val1="", val2="", val3="", val14="", **kwargs): + def Rsymm(self, option="", cs="", axis="", nsect="", condvalue="", + **kwargs): """ - APDL Command: OCDATA + APDL Command: RSYMM - Defines an ocean load using non-table data. + Defines the plane of symmetry or center of rotation for the radiosity + method. Parameters ---------- - val1, val2, val3, . . . , val14 - Values describing the basic ocean load or a wave condition. + option + Command options: - Notes - ----- - The OCDATA command specifies non-table data that defines the ocean - load, such as the depth of the ocean to the mud line, the ratio of - added mass over added mass for a circular cross section, or the wave - type to apply. The terms VAL1, VAL2, etc. are specialized according to - the input set required for the given ocean load. + CLEAR - Deletes all symmetry definitions. Other command options are ignored. - The program interprets the data input via the OCDATA command within the - context of the most recently issued OCTYPE command. + DEFINE - Defines the symmetry (default). - Input values in the order indicated. + STAT - Shows the status/listing. Other command options are ignored. - This command is also valid in PREP7. + COND - Activates or deactivates condensation in the radiosity solver for all defined + radiation symmetries. Condensation is the process where the + radiosity equation system is reduced in size. Default is + off. (See Figure 7: Usage Example: Option = COND .) - You can define the following ocean data types: + cs + Local coordinate system (11) as defined using the LOCAL or CS + commands or a global coordinate system (0). For planar reflection, + the coordinate system origin must be on the plane of symmetry (POS) + and one of its axes must be normal to the POS. For cyclic + reflection, the coordinate system origin must be coincident with + the center of rotation (COR). Only Cartesian systems are valid. - For a better understanding of how to set up a basic ocean type, see - Figure: 5:: Basic Ocean Data Type Components . + axis + Axis label of the coordinate system (CS) that is normal to the POS + for planar reflection. For 2-D model planar reflections, valid + labels are X or Y. For 3-D model planar reflections, valid labels + are X, Y, or Z. Must be blank for cyclic reflection. For cyclic + reflection, it is assumed that the Z axis is aligned with the axis + of rotation. - DEPTH -- The depth of the ocean (that is, the distance between the mean - sea level and the mud line). The water surface is assumed to be level - in the XY plane, with Z being positive upwards. This value is required - and must be positive. + nsect + Number of cyclic reflections to be done (1). This field must be + blank or 0 for planar reflection. Default is blank. - MATOC -- The material number of the ocean. This value is required and - is used to input the required density. It is also used to input the - viscosity if the Reynolds number is used (OCTABLE). + condvalue + Condensation key. Valid only when Option = COND. - KFLOOD -- The inside-outside fluid-interaction key: + ON - Activates condensation in the radiosity solver for all defined radiation + symmetries. - For beam subtype CTUBE and HREC used with BEAM188 or BEAM189 and ocean - loading, KFLOOD is always set to 1. + OFF - Deactivates condensation in the radiosity solver for all defined radiation + symmetries (default). - Cay -- The ratio of added mass of the external fluid over the mass of - the fluid displaced by the element cross section in the y direction - (normal). The added mass represents the mass of the external fluid - (ocean water) that moves with the pipe, beam, or link element when the - element moves in the element y direction during a dynamic analysis. + Notes + ----- + This command is used to define the POS for planar reflection or the COR + for cyclic reflection. The RSYMM command must be issued before RSURF + and it may be issued multiple times to have more than one planar/cyclic + reflection; however, the RSURF command processes them in the order they + are issued. - If no value is specified, and the coefficient of inertia CMy is not - specified (OCTABLE), both values default to 0.0. + For planar reflection, you must define a local coordinate system (11) + with its origin on the POS. One of its axes must be aligned so that it + is normal to the plane. If possible, use the existing global coordinate + system (0). - If no value is specified, but CMy is specified, this value defaults to - Cay = CMy - 1.0. + For cyclic reflection, you must define a local coordinate system (11) + with its origin coincident with the COR. Reflections occur about the + local Z-axis in the counterclockwise direction. You must align the + Z-axis properly. If possible, use the existing global coordinate system + (0). - If this value should be 0.0, enter 0.0. + New surface elements generated inherit the properties of the original + elements. - Caz -- The ratio of added mass of the external fluid over the mass of a - cross section in the element z direction (normal). The added mass - represents the mass of the external fluid (ocean water) that moves with - the pipe, beam, or link element when the element moves in the element z - direction during a dynamic analysis. + For 2-D axisymmetric models, RSYMM can be used only for symmetrization + in the YR plane. It cannot be used for the theta direction. Use V2DOPT + in that case. - If no value is specified, and Cay is specified, this value defaults to - Cay. + For 2-D axisymmetric YR models, the newly-generated nodes can have only + positive X coordinates. - If no value is specified, and the coefficient of inertia CMz is not - specified (OCTABLE), both values default to 0.0. + Figure: 7:: : Usage Example: Option = COND - If no value is specified, but CMz is specified, this value defaults to - Cay = CMz - 1.0. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. + + """ + command = "RSYMM,%s,%s,%s,%s,%s" % (str(option), str(cs), str(axis), str(nsect), str(condvalue)) + self.RunCommand(command, **kwargs) + + def Quad(self, node1="", nintr="", node2="", nfill="", nstrt="", ninc="", + pkfac="", **kwargs): + """ + APDL Command: QUAD + + Generates a quadratic line of nodes from three nodes. + + Parameters + ---------- + node1 + Begin fill-in from this node location. If NODE1 = P, graphical + picking is enabled and all remaining command fields are ignored + (valid only in the GUI). - If this value should be 0.0, enter 0.0. + nintr + Intermediate or guiding node. Quadratic curve will pass through + this location. NINTR may have any node number and any location. + If the quadratic line also generates a node with number NINTR, the + generated location overrides the previous NINTR location. - Cb -- The ratio of buoyancy force used over buoyancy force based on the - outside diameter and water density. Accept the default value in most - cases. Adjust this option only when you must account for additional - hardware (such as a control valve) attached to the pipe exterior. A - non-default value may lead to small non-physical inconsistencies; - testing is therefore recommended for non-default values. + node2 + End quadratic fill-in at this node location. - If no value is specified, this value defaults to 1.0. + nfill + Fill-in NFILL nodes between NODE1 and NODE2 (defaults to + |NODE2-NODE1|-1). NFILL must be positive. - If this value should be 0.0 (useful when troubleshooting your input), - enter 0.0. + nstrt + Node number assigned to first filled-in node (defaults to NODE1 + + NINC). - Zmsl -- A vertical offset from the global origin to the mean sea level. - The default value is zero (meaning that the origin is located at the - mean sea level). + ninc + Add this increment to each of the remaining filled-in node numbers + (may be positive or negative). Defaults to (NODE2-NODE1)/(NFILL + + 1), i.e., linear interpolation. - Two example cases for Zmsl are: + pkfac + Peak location factor. If PKFAC=0.5, the peak of the quadratic + shape occurs at the NINTR location. If 0.0 < PKFAC < 0.5, the peak + occurs to the NODE2 side of the NINTR location. If 0.5 < PKFAC < + 1.0, the peak occurs to the NODE1 side of the NINTR location. + Defaults to 0.5. - A structure with its origin on the sea floor (Zmsl = DEPTH). + Notes + ----- + Generates a quadratic line of nodes (in the active coordinate system) + from three nodes. The three nodes determine the plane of the curve and + may have been defined in any coordinate system. Any number of nodes + may be filled-in and any node number sequence may be assigned. - A tidal change (tc) above the mean sea level (Zmsl = tc, and DEPTH - becomes DEPTH + tc) + The quadratic line feature uses three nodes (NODE1,NINTR,NODE2) to + determine the plane of the curve. The curve passes through the three + points, beginning from NODE1, through the intermediate (or guiding) + point NINTR, and toward NODE2. - Ktable -- The dependency of VAL1 on the OCTABLE command: + Generated nodes are also quadratically spaced. If the guiding node + number is within the set being generated, it will be relocated + according to the quadratic spacing. - Figure: 5:: : Basic Ocean Data Type Components + The peak location factor is used to determine how the quadratic fits + through the three points. Various nodal progressions can be obtained + by different combinations of PKFAC and the guiding node location. If + the guiding node is at mid-length between NODE1 and NODE2, 0.293: + PKFAC< 0.707 will ensure that all generated nodes fall within the + NODE1,NODE2 bounds. In the limit, as PKFAC approaches 0.0, the peak + approaches the line through NODE1 and NINTR at an infinite distance + from NODE1. The QUAD command generates quadratic lines of nodes, which + in turn may be used as a base line for generating irregular surfaces of + nodes (by repeating [*REPEAT], generating [NGEN, NSCALE], etc.). + Irregular surfaces may also be generated with the meshing commands. - KWAVE -- The incident wave type: + """ + command = "QUAD,%s,%s,%s,%s,%s,%s,%s" % (str(node1), str(nintr), str(node2), str(nfill), str(nstrt), str(ninc), str(pkfac)) + self.RunCommand(command, **kwargs) - THETA -- Angle of the wave direction θ from the global Cartesian X axis - toward the global Cartesian Y axis (in degrees). + def Mfoutput(self, freq="", **kwargs): + """ + APDL Command: MFOUTPUT - WAVELOC (valid when KWAVE = 0 through 3, and 101+) -- The wave location - type: + Specifies results file output frequency for an ANSYS Multi-field solver + analysis. - SPECTRUM (valid when KWAVE = 5 through 7) -- The wave spectrum type: + Parameters + ---------- + freq +    N - KCRC -- The wave-current interaction key. +  N - Write solution every Nth (and the last) time step. Defaults to 1, for every + time step. - Adjustments to the current profile are available via the KCRC constant - of the water motion table. Typically, these options are used only when - the wave amplitude is large relative to the water depth, such that - significant wave-current interaction exists. + -N - Writes up to -N equally spaced results (for multifield auto time stepping). - KMF -- The MacCamy-Fuchs adjustment key, typically used only for - larger-diameter pipes in relatively shallow water: +  NONE - Suppresses writing of results for all multifield time steps. - PRKEY -- The wavelength wave-printout key: +  ALL - Writes results for every multifield time step (default). - The following input values are valid only when (KWAVE = 5 through 7: +  LAST - Writes results for only the last multifield time step. - APC -- Activate apparent period calculation when a wave is superimposed - upon a current: + %array% - Where %array% is the name of an n X 1 X 1 dimensional array parameter defining + n key times, the data for the specified solution results + item is written at those key times. Key times in the + array parameter must appear in ascending order. Value + must be greater than or equal to the ending time values + for the load step. - DSA -- Stretching depth factor: + For restart runs (see MFRSTART command), either change the parameter values to fall between the beginning and ending time values of the load step, or erase the current settings and reissue the command with a new array parameter. - For more information about defining array parameters, see the *DIM command + documentation. - DELTA -- Delta stretching parameter (0.0 DELTA 1.0): + Notes + ----- + A MFOUTPUT setting overrides any other output frequency setting + (OUTRES). To select the solution items, use the OUTRES command. - Wave kinematics factor or wave spreading angle: + For the case of Freq = -n and Freq = %array%, the results at the time + points which first time reaches or exceeds the targeting ouptupt time + points will be written. - Random seed value for phase angle generation, or wave crest amplitude - value: + This command is also valid in PREP7. - The following input values are valid only when KWAVE = 6 or 7: + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. - TOFF -- Time offset at which the maximum wave crest will occur. - (Default = 0.0.) + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - ROFF -- Position offset along the wave direction where the maximum wave - crest will occur. (Default = 0.0.) + """ + command = "MFOUTPUT,%s" % (str(freq)) + self.RunCommand(command, **kwargs) - EVOLVING (KWAVE = 6) -- Activate evolving wave: + def View(self, wn="", xv="", yv="", zv="", **kwargs): + """ + APDL Command: /VIEW - SEED (KWAVE = 7) -- Initial seed for random phase angle generation. - (Default = 1.) + Defines the viewing direction for the display. - Usage Hints for KWAVE = 5 Through 7 + Parameters + ---------- + wn + Window number (or ALL) to which command applies (defaults to 1). - Recommendations given in API RP 2A Codes of Practice for Designing and - Constructing Fixed Offshore Platforms can be enforced via the following - settings (valid only when KWAVE = 5 through 7): + xv, yv, zv + The object is viewed along the line from point XV,YV,ZV (in the + global coordinate system) to the global coordinate system origin. + For section displays, the cutting plane is assumed to be + perpendicular to this line. If XV = WP, modify view to be normal + to the currently defined working plane. Defaults to (0,0,1). - Set KCRC = 3 (VAL4) to apply nonlinear current stretching. + Notes + ----- + The view line is always normal to the screen. The view is selected by + defining a point (in the global Cartesian coordinate system) + representing a point along the viewing line. This point, and the + global Cartesian coordinate system origin, define the line along which + the object is viewed while looking toward the origin. Any point along + the view line may be used, i.e., (1,1,1) and (2,2,2) give the same + view. The display orientation may be changed as desired [/ANGLE]. The + display coordinate system type may be changed (from Cartesian to + cylindrical, spherical, toroidal, etc.) with the DSYS command. - Set APC = 1 (VAL7) to enable automatic computation of apparent wave - period when a wave is superimposed upon a current. + This command is valid in any processor. - If KWAVE = 5 or 7, specify wave kinematics factor KINE (VAL10) to - modify the horizontal velocities and accelerations due to wave - spreading. The factor can be estimated from measurement or hindcast - directional spectral wave data as , where n is the exponent in the - cosine wave spreading function at the spectral peak frequency. + """ + command = "/VIEW,%s,%s,%s,%s" % (str(wn), str(xv), str(yv), str(zv)) + self.RunCommand(command, **kwargs) - If KWAVE = 6, specify wave spreading angle SPANGLE (VAL10) to modify - the horizontal velocities and accelerations due to wave spreading. This - parameter differs from the wave kinematics factor indicated in the API - codes, but the principle is similar nevertheless. + def Sfldele(self, line="", lab="", **kwargs): + """ + APDL Command: SFLDELE - For VAL11 (when KWAVE = 6 or 7), if no maximum or constrained wave - crest amplitude (AMPCONST or AMPMAX) is defined, the value is - calculated based on the significant wave height obtained from the - spectrum data (OCTABLE). For further information, see Hydrodynamic - Loads in the Mechanical APDL Theory Reference. + Deletes surface loads from lines. - For VAL14, the Shell new wave model (KWAVE = 6) is evolving (or - dispersive) in that the crest height varies with time. By default, - however, the wave is “frozen” so that it can be stepped through in a - quasi-static manner. + Parameters + ---------- + line + Line to which surface load deletion applies. If ALL, delete load + from all selected lines [LSEL]. If LINE = P, graphical picking is + enabled and all remaining command fields are ignored (valid only in + the GUI). A component name may be substituted for LINE. - When using waves in a superelement generation run (ANTYPE,SUBSTR), - consider whether you should take the ocean level into account (SeOcLvL - on the SEOPT command). + lab + Valid surface load label. If ALL, use all appropriate labels. See + the SFL command for labels. - An ocean zone is a local space where you can override global ocean- - loading parameters. The following arguments specifying the ocean zone - values are described in more detail under "Ocean Data Type: Basic - (OCTYPE,BASIC)". + Notes + ----- + Deletes surface loads (and all corresponding finite element loads) from + selected lines. - KFLOOD -- The inside-outside fluid-interaction key. + This command is also valid in PREP7. - Cay -- The ratio of added mass of the external fluid over the mass of a - cross section in the element y direction (normal). + """ + command = "SFLDELE,%s,%s" % (str(line), str(lab)) + self.RunCommand(command, **kwargs) - Caz -- The ratio of added mass of the external fluid over the mass of a - cross section in the element z direction (normal). + def Sallow(self, strs1="", strs2="", strs3="", strs4="", strs5="", + strs6="", **kwargs): + """ + APDL Command: SALLOW - Cb -- The ratio of buoyancy force used over buoyancy force based on the - outside diameter and water density. + Defines the allowable stress table for safety factor calculations. - Ocean zone values specified via the OCDATA command override global - ocean-loading parameters. + Parameters + ---------- + strs1, strs2, strs3, . . . , strs6 + Input up to six allowable stresses corresponding to the temperature + points [TALLOW]. - Arguments not specified default to the global values specified for the - basic ocean type. Therefore, the relationship between Ca and CM values - (Ca = CM - 1.0) is not applied to ocean zones. + Notes + ----- + Defines the allowable stress table for safety factor calculations + [SFACT,SFCALC]. Use the STAT command to list current allowable stress + table. Repeat SALLOW to zero table and redefine points (6 maximum). - For a pipe-type ocean zone (OCZONE,PIP), KFLOOD is the only valid - option. + Safety factor calculations are not supported by PowerGraphics. Both the + SALLOW and TALLOW commands must be used with the Full Model Graphics + display method active. """ - command = "OCDATA, %s, %s, %s, %s" % (str(val1), str(val2), str(val3), str(val14)) + command = "SALLOW,%s,%s,%s,%s,%s,%s" % (str(strs1), str(strs2), str(strs3), str(strs4), str(strs5), str(strs6)) self.RunCommand(command, **kwargs) - def Inrtia(self, **kwargs): + def Gpdele(self, gap1="", gap2="", ginc="", **kwargs): """ - APDL Command: INRTIA + APDL Command: GPDELE - Specifies "Inertial loads" as the subsequent status topic. + Deletes gap conditions. + + Parameters + ---------- + gap1, gap2, ginc + Delete gap conditions from GAP1 to GAP2 (defaults to GAP1) in steps + of GINC (defaults to 1). Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Deletes gap conditions defined with the GP command. Gap conditions + following those deleted are automatically compressed and renumbered. + If used in SOLUTION, this command is valid only within the first load + step. - If entered directly into the program, the STAT command should - immediately follow this command. + This command is also valid in PREP7. """ - command = "INRTIA, " % () + command = "GPDELE,%s,%s,%s" % (str(gap1), str(gap2), str(ginc)) self.RunCommand(command, **kwargs) - def Dofsel(self, type="", dof1="", dof2="", dof3="", dof4="", dof5="", - dof6="", **kwargs): + def Vgen(self, itime="", nv1="", nv2="", ninc="", dx="", dy="", dz="", + kinc="", noelem="", imove="", **kwargs): """ - APDL Command: DOFSEL + APDL Command: VGEN - Selects a DOF label set for reference by other commands. + Generates additional volumes from a pattern of volumes. Parameters ---------- - type - Label identifying the type of select: + itime + Do this generation operation a total of ITIMEs, incrementing all + keypoints in the given pattern automatically (or by KINC) each time + after the first. ITIME must be > 1 for generation to occur. - S - Select a new set of labels. + nv1, nv2, ninc + Generate volumes from pattern beginning with NV1 to NV2 (defaults + to NV1) in steps of NINC (defaults to 1). If NV1 = ALL, NV2 and + NINC are ignored and the pattern is all selected volumes [VSEL]. + If NV1 = 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 NV1 (NV2 and NINC are ignored). - A - Add labels to the current set. + dx, dy, dz + Keypoint location increments in the active coordinate system (--, + Dθ, DZ for cylindrical, --, Dθ, -- for spherical). - U - Unselect (remove) labels from the current set. + kinc + Keypoint increment between generated sets. If zero, the lowest + available keypoint numbers are assigned [NUMSTR]. - ALL - Restore the full set of labels. + noelem + Specifies if elements and nodes are also to be generated: - STAT - Display the current select status. + 0 - Generate nodes and elements associated with the original volumes, if they + exist. - dof1, dof2, dof3, . . . , dof6 - Used only with Type = S, A, or U. Valid structural labels: UX, - UY, or UZ (displacements); U (UX, UY, and UZ); ROTX, ROTY, or ROTZ - (rotations); ROT (ROTX, ROTY, and ROTZ); DISP (U and ROT); HDSP - (Hydrostatic pressure). Valid thermal labels: TEMP, TBOT, TE2, TE3, - . . ., TTOP (temperature). Valid acoustic labels: PRES - (pressure); UX, UY, or UZ (displacements for FSI coupled elements). - Valid electric labels: VOLT (voltage); EMF (electromotive force - drop); CURR (current). Valid magnetic labels: MAG (scalar - magnetic potential); AX, AY or AZ (vector magnetic potentials); A - (AX, AY and AZ); CURR (current). Valid structural force labels: - FX, FY, or FZ (forces); F (FX, FY, and FZ); MX, MY, or MZ - (moments); M (MX, MY, and MZ); FORC (F and M); DVOL (fluid mass - flow rate). Valid thermal force labels: HEAT, HBOT, HE2, HE3, . . - ., HTOP (heat flow). Valid fluid flow force labels: FLOW (fluid - flow). Valid electric force labels: AMPS (current flow); CHRG - (electric charge). Valid magnetic force labels: FLUX (scalar - magnetic flux); CSGX, CSGY, or CSGZ (magnetic current segments); - CSG (CSGX, CSGY, and CSGZ). Valid diffusion labels: CONC - (concentration); RATE (diffusion flow rate). + 1 - Do not generate nodes and elements. + + imove + Specifies whether to redefine the existing volumes: + + 0 - Generate additional volumes as requested with the ITIME argument. + + 1 - Move original volumes to new position retaining the same keypoint line, and + area numbers (ITIME, KINC, and NOELEM are ignored). + Corresponding meshed items are also moved if not needed at + their original position. Notes ----- - Selects a degree of freedom label set for reference by other commands. - The label set is used on certain commands where ALL is either input in - the degree of freedom label field or implied. The active label set has - no effect on the solution degrees of freedom. Specified labels which - are not active in the model (from the ET or DOF command) are ignored. - As a convenience, a set of force labels corresponding to the degree of - freedom labels is also selected. For example, selecting UX also causes - FX to be selected (and vice versa). The force label set is used on - certain commands where ALL is input in the force label field. - - This command is valid in any processor. + Generates additional volumes (and their corresponding keypoints, lines, + areas and mesh) from a given volume pattern. The MAT, TYPE, REAL, and + ESYS attributes are based upon the volumes in the pattern and not upon + the current settings of the pointers. End slopes of the generated + lines remain the same (in the active coordinate system) as those of the + given pattern. For example, radial slopes remain radial, etc. + Generations which produce volumes of a size or shape different from the + pattern (i.e., radial generations in cylindrical systems, radial and + phi generations in spherical systems, and theta generations in + elliptical systems) are not allowed. Note that solid modeling in a + toroidal coordinate system is not recommended. Volume, area, and line + numbers are automatically assigned (beginning with the lowest available + values [NUMSTR]). """ - command = "DOFSEL, %s, %s, %s, %s, %s, %s, %s" % (str(type), str(dof1), str(dof2), str(dof3), str(dof4), str(dof5), str(dof6)) + command = "VGEN,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(itime), str(nv1), str(nv2), str(ninc), str(dx), str(dy), str(dz), str(kinc), str(noelem), str(imove)) self.RunCommand(command, **kwargs) - def Gcgen(self, option="", featureangle="", edgekey="", splitkey="", - selopt="", **kwargs): + def Gcdef(self, option="", sect1="", sect2="", matid="", realid="", + **kwargs): """ - APDL Command: GCGEN + APDL Command: GCDEF - Creates contact elements for general contact. + Defines interface interactions between general contact surfaces. Parameters ---------- option Option to be performed. - NEW - Create a new general contact definition. This option removes all existing - general contact elements and generates new elements with new - section IDs. Any existing GCDEF specifications, general - contact SECTYPE/SECDATA data, and general contact element - types are also removed. If no general contact elements or - data exist, this option behaves the same as Option = UPDATE. + (blank) - Retain the previous Option setting between SECT1 and SECT2. - UPDATE - Generate general contact elements on newly added (or selected) base elements. - Newly generated contact elements are assigned new Section - IDs. Existing general contact elements remain with their - previously assigned section IDs and element attributes. - Existing GCDEF and SECTYPE/SECDATA general contact data - are respected. (This is the default option.) + AUTO - Define auto asymmetric contact between surfaces SECT1 and SECT2. - DELETE - Remove all existing general contact elements. Existing GCDEF specifications, - general contact SECTYPE/SECDATA data, and general contact - element types are also removed. + SYMM - Define symmetric contact between surfaces SECT1 and SECT2. - SELECT - Select all existing general contact elements. + ASYM - Define asymmetric contact with SECT1 as the source (contact) surface and SECT2 + as the target surface. - featureangle - Angle tolerance for determining feature edges (EdgeKEY) and general - surfaces (SplitKey). Default = 42 degrees. + EXCL - Exclude contact between surfaces SECT1 and SECT2. MATID and REALID are ignored. - edgekey - Key that controls creation of general contact line elements - (CONTA177) on base shell element perimeter edges and/or base solid - element feature edges. See Understanding FeatureANGLE for an - explanation of the feature edge criteria. + DELETE - Remove the given definition from the GCDEF table. MATID and REALID are ignored. - 0 - Exclude feature edges and shell perimeter edges (default). + Note that GCDEF,DELETE,ALL,ALL does not remove the entire GCDEF table; it merely removes any existing GCDEF,,ALL,ALL definitions, while leaving intact any existing GCDEF definitions that are more specific. - To remove the entire GCDEF table, issue GCDEF,DELETE,TOTAL. - 1 - Include feature edges only. + It is good practice to list all definitions using GCDEF,LIST,ALL,ALL before and after a GCDEF,DELETE command. - LIST - 2 - Include shell perimeter edges only. + List stored GCDEF data entries. MATID and REALID are ignored. GCDEF,LIST,ALL,ALL lists the entire GCDEF table, including more specific GCDEF definitions. - TABLE - 3 - Include both feature edges and shell perimeter edges. + sect1, sect2 + Section numbers representing general contact surfaces (no + defaults). Labels ALL and SELF are also valid input. See + SECT1/SECT2 Interactions for a description of how the various + inputs for SECT1 and SECT2 are interpreted. - splitkey - Key that controls how section IDs and contact element type IDs are - assigned to surfaces. + matid + Material ID number for general contact interaction properties at + the SECT1/SECT2 interface. If zero or blank, the previous setting + of MATID for SECT1/SECT2 (if any) is retained. - SPLIT - Assign a different section ID and contact element type ID for every general - surface of the selected base elements (default). See - Understanding FeatureANGLE for an explanation of the split - criteria. Different section IDs are assigned to top and - bottom surfaces of 2-D beam and 3-D shell bodies. This - allows different GCDEF specifications for different - portions of the assembly. + realid + Real constant ID number for general contact interaction properties + at the SECT1/SECT2 interface. If zero or blank, the previous + setting of REALID for SECT1/SECT2 (if any) is retained. - PART - Assign a different section ID and contact element type ID for every general - surface which covers a physical part. Compared to the SPLIT - option, this option produces fewer unique section IDs, which - can make it easier to specify interactions via GCDEF. - However, it may also result in a less accurate and/or less - efficient solution. + Notes + ----- + GCDEF defines the interface interaction between general contact + surfaces identified by SECT1 and SECT2. GCDEF commands are order + independent in most cases. - selopt - Key that controls which base elements are considered for general - contact. + GCDEF definitions should be issued after GCGEN. They are saved in the + database and are written to and read from .CDB files. - ATTACH - Use a recursive adjacency selection to obtain complete physical parts, starting - from the selected base elements, before generating general - contact elements (default). + See General Contact in the Contact Technology Guide for more + information on the overall procedure to create general contact. - SELECT - Use only the initially selected base elements to generate general contact - elements. + SECT1/SECT2 Interactions + + The most specific types of general contact definitions are those + described below: + + The remaining general contact definition types can be overridden by the + above two general contact definition types: + + """ + command = "GCDEF,%s,%s,%s,%s,%s" % (str(option), str(sect1), str(sect2), str(matid), str(realid)) + self.RunCommand(command, **kwargs) + + def Rmrgenerate(self, **kwargs): + """ + APDL Command: RMRGENERATE + + Performs fitting procedure for all ROM functions to generate response + surfaces. Notes ----- - GCGEN creates general contact elements on the exterior faces of - selected base elements. The base elements can be 2-D or 3-D solids, 2-D - beams (top and bottom), or 3-D shells (top and bottom). The contact - element types can be CONTA172, CONTA174, and/or CONTA177, depending - upon the types of base elements in the model and the specified GCGEN - options. General contact elements are identified by a real constant ID - equal to zero. - - You can control contact interactions between specific general contact - surfaces that could potentially be in contact by using the GCDEF - command. See General Contact in the Contact Technology Guide for more - information on the overall procedure to create general contact. + The fitting procedure uses modal analysis data and function data + generated using the RMSMPLE command and specifications set forth in the + RMROPTIONS command. The files jobname_ijk.pcs (modes i, j, k) will be + generated containing the coefficients of the response surfaces. These + files are needed for the ROM Use Pass along with a ROM data base file + [RMSAVE]. - Understanding FeatureANGLE + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - The exterior facets of the selected base solid and shell elements are - divided into subsets based on the angle between the normals of - neighboring faces. On a flat or smooth surface, adjacent exterior - element faces have normals that are parallel or nearly parallel; that - is, the angle between the adjacent normals is near zero degrees. + Strain energy and capacitance data file jobname_ijk.dec - When the angle between the normals of two adjacent faces is greater - than FeatureANGLE, the two faces are considered to be on two separate - surfaces (SplitKey = SPLIT). The edge between the faces may be convex - or concave. A convex (or outside) edge is considered to be a feature - edge and may be affected by the EdgeKEY setting. For more information, - see Feature Angle (FeatureANGLE) in the Contact Technology Guide. + Response surface coefficients jobname_ijk.pcs (modes i, j, k) """ - command = "GCGEN, %s, %s, %s, %s, %s" % (str(option), str(featureangle), str(edgekey), str(splitkey), str(selopt)) + command = "RMRGENERATE," % () self.RunCommand(command, **kwargs) - def Nsll(self, type="", nkey="", **kwargs): + def Pdresu(self, fname="", ext="", **kwargs): """ - APDL Command: NSLL + APDL Command: PDRESU - Selects those nodes associated with the selected lines. + Reads the probabilistic model data and loads it into the database. Parameters ---------- - type - Label identifying the type of node select: - - S - Select a new set (default). + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - R - Reselect a set from the current set. + ext + Filename extension (eight-character maximum). - A - Additionally select a set and extend the current set. + -- + Unused field. - U - Unselect a set from the current set. + Notes + ----- + Reads the probabilistic model data from the specified file and loads it + into the database. Probabilistic analyses results are not stored in the + database with the PDRESU command, rather they reside in separate + results files. Analyses results are loaded automatically (one-by-one + and on demand) when a probabilistic postprocessing command is issued. - nkey - Specifies whether only interior line nodes are to be selected: + """ + command = "PDRESU,%s,%s" % (str(fname), str(ext)) + self.RunCommand(command, **kwargs) - 0 - Select only nodes interior to selected lines. + def Etype(self, **kwargs): + """ + APDL Command: ETYPE - 1 - Select all nodes (interior to line and at keypoints) associated with the - selected lines. + Specifies "Element types" as the subsequent status topic. Notes ----- - Valid only if the nodes were generated by a line meshing operation - [LMESH, AMESH, VMESH] on a solid model that contains the associated - lines. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - This command is valid in any processor. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "NSLL, %s, %s" % (str(type), str(nkey)) + command = "ETYPE," % () self.RunCommand(command, **kwargs) - def Prnld(self, lab="", tol="", item="", **kwargs): + def Edshell(self, wpan="", shnu="", shtc="", wpbt="", shpl="", itrst="", + **kwargs): """ - APDL Command: PRNLD + APDL Command: EDSHELL - Prints the summed element nodal loads. + Specifies shell computation controls for an explicit dynamics analysis. Parameters ---------- - lab - Nodal reaction load type. If blank, use the first ten of all - available labels. Valid labels are: + wpan + Maximum shell element warpage angle in degrees. Defaults to 20. - tol - Tolerance value about zero within which loads are not printed, as - follows: + shnu + Hughes-Liu shell normal update option: - > 0 - Relative tolerance about zero within which loads are not printed. In this case, - the tolerance is TOL * Load, where Load is the absolute - value of the maximum load on the selected nodes. + -2 - Unique nodal fibers. This option is required for SHELL163 (KEYOPT(1) = 1, 6, or + 7) if the real constant NLOC = 1 or -1. - 0 - Print all nodal loads. + -1 - Compute normals each cycle (default). This option is recommended. - > 0 - Absolute tolerance about zero within which loads are not printed. + 1 - Compute on restarts. - item - Selected set of nodes. + n - Compute every nth substep. - (blank) - Prints the summed element nodal loads for all selected nodes (default), - excluding contact elements. + shtc + Shell thickness change option: - CONT - Prints the summed element nodal loads for contact nodes only. + 0 - No change. - BOTH - Prints the summed element nodal loads for all selected nodes, including contact - nodes. + 1 - Membrane straining causes thickness change. Important in sheet metal forming + (default). + + wpbt + Warping stiffness option for Belytschko-Tsay shells: + + 1 - Belytschko-Wong-Chiang warping stiffness added. This option is recommended. + + 2 - Belytschko-Tsay warping stiffness (default). + + shpl + Shell plasticity option. This option is only valid for these + material models: strain rate independent plastic kinematic, strain + rate dependent plasticity, power law plasticity, and piecewise + linear plasticity. + + 1 - Iterative plasticity with 3 secant iterations (default). + + 2 - Full iterative plasticity. + + 3 - Radial return noniterative plasticity. (Use this option with caution; it may + lead to inaccurate results.) + + itrst + Triangular shell sorting option. If sorting is on, degenerate + quadrilateral shell elements are treated as triangular shells. + + 1 - Full sorting (default). + + 2 - No sorting. Notes ----- - Prints the summed element nodal loads (forces, moments, heat flows, - flux, etc.) for the selected nodes in the sorted sequence. Results are - in the global Cartesian coordinate directions unless transformed - [RSYS]. Zero values (within a tolerance range) are not printed. Loads - applied to a constrained degree of freedom are not included. The FORCE - command can be used to define which component of the nodal load is to - be used (static, damping, inertia, or total). + This command is also valid in PREP7. - By default, PRNLD excludes elements TARGE169 - CONTA177. Setting ITEM = - CONT will only account for nodal forces on selected contact elements - (CONTA171 - CONTA177). Setting ITEM = BOTH will account for nodal - forces on all selected nodes, including contact nodes. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "PRNLD, %s, %s, %s" % (str(lab), str(tol), str(item)) + command = "EDSHELL,%s,%s,%s,%s,%s,%s" % (str(wpan), str(shnu), str(shtc), str(wpbt), str(shpl), str(itrst)) self.RunCommand(command, **kwargs) - def Endrelease(self, tolerance="", dof1="", dof2="", dof3="", dof4="", - **kwargs): + def Supl(self, surfname="", rsetname="", kwire="", **kwargs): """ - APDL Command: ENDRELEASE + APDL Command: SUPL - Specifies degrees of freedom to be decoupled for end release. + Plot result data on all selected surfaces or on a specified surface. Parameters ---------- - -- - Unused field. - - tolerance - Angle tolerance (in degrees) between adjacent elements. Defaults to - 20°. Set TOLERANCE to -1 to indicate all selected elements. - - dof1, dof2, dof3, dof4 - Degrees of freedom to release. If Dof1 is blank, WARP is assumed - and Dof2, Dof3, and Dof4 are ignored. + surfname + Eight character surface name. ALL will plot all selected surfaces. - WARP - Release the warping degree of freedom (default). + rsetname + Eight character result name. - ROTX - Release rotations in the X direction. + kwire + Plot in context of model. - ROTY - Release rotations in the Y direction. + 0 - Plot results without the outline of selected elements. - ROTZ - Release rotations in the Z direction. + 1 - Plot results with the outline of selected elements. - UX - Release displacements in the X direction. + Notes + ----- + If RSetName is left blank, then the surface geometry will be plotted. + If the Setname portion of the argument is a vector prefix (i.e. if + result sets of name SetNameX, SetNameY and SetNameZ exist), ANSYS will + plot these vectors on the surface as arrows. For example, SUPL, ALL, + NORM will plot the surface normals as vectors on all selected surfaces, + since NORMX NORMY and NORMZ are pre-defined geometry items. - UY - Release displacements in the Y direction. + """ + command = "SUPL,%s,%s,%s" % (str(surfname), str(rsetname), str(kwire)) + self.RunCommand(command, **kwargs) - UZ - Release displacements in the Z direction. + def Unpause(self, **kwargs): + """ + APDL Command: UNPAUSE - BALL - Create ball joints (equivalent to releasing WARP, ROTX, ROTY, and ROTZ). + Restores use of a temporarily released product license. Notes ----- - This command specifies end releases for the BEAM188, BEAM189, PIPE288, - and PIPE289 elements. The command works on currently selected nodes and - elements. It creates end releases on any two connected beam elements - whose angle at connection exceeds the specified tolerance. From within - the GUI, the Picked node option generates an end release at the - selected node regardless of the angle of connection (angle tolerance is - set to -1). + The UNPAUSE command restores use of a temporarily released (paused) + product license. The command is valid only after a previously issued + PAUSE command. - Use the CPLIST command to list the coupled sets generated by the - ENDRELEASE command. + When use of the product license is paused via the PAUSE command, no + other operation (other than SAVE or /EXIT) is possible until you issue + the UNPAUSE command. - Note:: : You should exercise due engineering judgement when using this - command, as improper use may result in mechanics that render a solution - impossible. + For more information, see the documentation for the PAUSE command and + the ANSYS, Inc. Licensing Guide. """ - command = "ENDRELEASE, %s, %s, %s, %s, %s" % (str(tolerance), str(dof1), str(dof2), str(dof3), str(dof4)) + command = "UNPAUSE," % () self.RunCommand(command, **kwargs) - def Clrmshln(self, **kwargs): + def Curr2d(self, **kwargs): """ - APDL Command: CLRMSHLN + APDL Command: CURR2D - Clears meshed entities. + Calculates current flow in a 2-D conductor. Notes ----- - When you use the GUI method to set the number of elements on specified - lines, and any of those lines is connected to one or more meshed lines, - areas, or volumes, ANSYS gives you the option to clear the meshed - entities. (This occurs only when you perform this operation via the - GUI; ANSYS does not provide such an option when you use the command - method [LESIZE].) + CURR2D invokes an ANSYS macro which calculates the total current + flowing in a conducting body for a 2-D planar or axisymmetric magnetic + field analysis. The currents may be applied source currents or induced + currents (eddy currents). The elements of the conducting region must + be selected before this command is issued. The total current + calculated by the macro is stored in the parameter TCURR. Also, the + total current and total current density are stored on a per-element + basis in the element table [ETABLE] with the labels TCURR and JT, + respectively. Use the PLETAB and PRETAB commands to plot and list the + element table items. - If you activate the mesh clearing option, the program invokes an ANSYS - macro, CLRMSHLN, that clears the meshed entities. This macro name will - appear in the log file (Jobname.LOG). This macro is for the ANSYS - program's internal use only. This command is not intended to be typed - in directly in an ANSYS session, although it can be included in an - input file for batch input or for use with the /INPUT command. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "CLRMSHLN, " % () + command = "CURR2D," % () self.RunCommand(command, **kwargs) - def Rmodif(self, nset="", stloc="", v1="", v2="", v3="", v4="", v5="", - v6="", **kwargs): + def Sfact(self, type="", **kwargs): """ - APDL Command: RMODIF + APDL Command: SFACT - Modifies real constant sets. + Allows safety factor or margin of safety calculations to be made. Parameters ---------- - nset - Number of existing real constant set to be modified. + type + Type of calculation: - stloc - Starting location in table for modifying data. For example, if - STLOC = 1, data input in the V1 field is the first constant in the - set. If STLOC = 7, data input in the V1 field is the seventh - constant in the set, etc. Must be greater than zero. + 0 - No nodal safety factor or margin of safety calculations. - v1 - New value assigned to constant in location STLOC. If zero (or - blank), a zero value will be assigned. + 1 - Calculate and store safety factors in place of nodal stresses. - v2, v3, v4, . . . , v6 - New values assigned to constants in the next five locations. If - blank, the value remains unchanged. + 2 - Calculate and store margins of safety in place of nodal stresses. Notes ----- - Allows modifying (or adding) real constants to an existing set [R] at - any location. + Allows safety factor (SF) or margin of safety (MS) calculations to be + made for the average nodal stresses according to: - Specify NSET = GCN to define/modify real constants for real constant - sets that were previously assigned by the GCDEF command (that is, real - constants used in general contact interactions). + SF = SALLOW/|Stress| - This command is also valid in SOLUTION. For important information about - using this command within the solution phase, see What Are Nonstandard - Uses? in the Advanced Analysis Guide. + MS = (SALLOW/|Stress|) -- 1.0 + + Calculations are done during the display, select, or sort operation (in + the active coordinate system [RSYS]) with results stored in place of + the nodal stresses. Use the PRNSOL or PLNSOL command to display the + results. + + Note:: : The results are meaningful only for the stress (SIG1, SIGE, + etc.) upon which SALLOW is based. Nodal temperatures used are those + automatically stored for the node. Related commands are SFCALC, + SALLOW, TALLOW. """ - command = "RMODIF, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nset), str(stloc), str(v1), str(v2), str(v3), str(v4), str(v5), str(v6)) + command = "SFACT,%s" % (str(type)) self.RunCommand(command, **kwargs) - def Rimport(self, source="", type="", loc="", lstep="", sbstep="", - fname="", ext="", spscale="", mscale="", **kwargs): + def Cpngen(self, nset="", lab="", node1="", node2="", ninc="", **kwargs): """ - APDL Command: RIMPORT + APDL Command: CPNGEN - Imports initial stresses from an explicit dynamics run into ANSYS. + Defines, modifies, or adds to a set of coupled degrees of freedom. Parameters ---------- - source - The type of analysis run from which stresses are imported. - - OFF - Ignore initial stresses. - - DYNA - Get initial stresses from an earlier explicit (ANSYS LS-DYNA) run (default). - - type - Type of data imported. Note that this is an ANSYS-defined field; - the only valid value is STRESS. + nset + Set reference number [CP]. - loc - Location where the data is imported. Note that this is an ANSYS- - defined field; the only valid value is ELEM (data imported at the - element integration points). + lab + Degree of freedom label [CP]. - lstep - Load step number of data to be imported. Defaults to the last load - step. + node1, node2, ninc + Include in coupled set nodes NODE1 to NODE2 in steps of NINC + (defaults to 1). If NODE1 = P, graphical picking is enabled and + all remaining command fields are ignored (valid only in the GUI). + If -NODE1, delete range of nodes from set instead of including. A + component name may also be substituted for NODE1 (NODE2 and NINC + are ignored). - sbstep - Substep number of data to be imported. Defaults to the last - substep. + Notes + ----- + Defines, modifies, or adds to a set of coupled degrees of freedom. May + be used in combination with (or in place of) the CP command. Repeat + CPNGEN command for additional nodes. - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + """ + command = "CPNGEN,%s,%s,%s,%s,%s" % (str(nset), str(lab), str(node1), str(node2), str(ninc)) + self.RunCommand(command, **kwargs) - ext - Filename extension (eight-character maximum). + def Sspa(self, a11="", a21="", a31="", a22="", a32="", a33="", t="", + **kwargs): + """ + APDL Command: SSPA - -- - Unused field. + Specifies a preintegrated membrane stiffness for shell sections. - spscale - Stabilization factor. This factor is used in a springback analysis - to scale (up or down) the initial stiffness of the applied spring. - No default; input a value only if you want to activate - stabilization. If SPSCALE is blank, stabilization is not activated. + Parameters + ---------- + a11, a21, a31, a22, a32, a33 + Membrane stiffness component (symmetric lower part of submatrix + [A]). - mscale - Acceptable stabilization stiffness (defaults to 1.0 X 10--4). In a - springback analysis, iterations will stop when the applied spring - stiffness comes down to this value. MSCALE is not used if SPSCALE - is blank. + t + Temperature. Notes ----- - This command imports initial stress information into ANSYS from an - earlier explicit (ANSYS LS-DYNA) run. The stress state from SHELL163 - and SOLID164 elements in the explicit analysis is imported to the - corresponding SHELL181 and SOLID185 implicit elements. For the shell - elements, the current shell element thickness is also imported. This - command is valid only before the first SOLVE command of the implicit - analysis (which comes after the explicit analysis) and is ignored if - issued after subsequent SOLVE commands (that is, stresses will not be - re-imported). - - RIMPORT is typically used to perform springback analysis of sheet metal - forming. We recommend that you use SHELL163 elements in the explicit - analysis with 3 to 5 integration points through the thickness. This - ensures that the through-thickness stress distribution is transferred - accurately to the SHELL181 elements. If more than 5 integration points - are used, ANSYS imports resultants (forces and moments) to the SHELL181 - elements. This implies that linearization of the through-thickness - stress distribution is assumed in SHELL181 elements. If SHELL163 uses - full integration in the shell plane, stress and thickness data are - averaged and then transferred. For the solid elements, the stress at - the SOLID164 element centroid is transferred to the SOLID185 element - centroid. If SOLID164 has full integration, the stress is averaged and - then transferred. + The behavior of shell elements is governed by the generalized- + stress/generalized-strain relationship of the form: - When the SPSCALE argument is specified, artificial springs with - exponentially decaying stiffness (as a function of iterations) are - applied. This technique is recommended only for those cases in which - there are severe convergence difficulties. In general, you should first - attempt a springback analysis without using the stabilization factors - SPSCALE and MSCALE. (For more information on springback stabilization, - see the ANSYS LS-DYNA User's Guide.) + The SSPA command, one of several preintegrated shell section commands, + specifies the membrane stiffness quantity (submatrix [A]) for a + preintegrated shell section. The section data defined is associated + with the section most recently defined (via the SECTYPE command). - This command is not written to the Jobname.CDB file when the CDWRITE - command is issued. Further, the RIMPORT information is not saved to the - database; therefore, the RIMPORT command must be reissued if the - database is resumed. + Unspecified values default to zero. - This command is also valid in PREP7. + Related commands are SSPB, SSPD, SSPE, SSMT, SSBT, and SSPM. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + For complete information, see Using Preintegrated General Shell + Sections. """ - command = "RIMPORT, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(source), str(type), str(loc), str(lstep), str(sbstep), str(fname), str(ext), str(spscale), str(mscale)) + command = "SSPA,%s,%s,%s,%s,%s,%s,%s" % (str(a11), str(a21), str(a31), str(a22), str(a32), str(a33), str(t)) self.RunCommand(command, **kwargs) - def Rmnevec(self, **kwargs): + def Uis(self, label="", value="", **kwargs): """ - APDL Command: RMNEVEC - - Extracts neutral plane eigenvectors from a modal analysis for the ROM - method. - - Notes - ----- - This command extracts the eigenvectors at a neutral plane of a model - from a modal analysis. The modal analysis must have expanded modes - [MXPAND] in order to process the data. Only the first 9 modes are - considered. The command requires a node component named "NEUN" to be - defined. These nodes represent the nodes at the neutral plane of a - structure (in the case of a stress-stiffened structure), or at any - plane in the structure (non stress-stiffened case). + APDL Command: /UIS - This command is only valid in POST1. + Controls the GUI behavior. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Parameters + ---------- + label + Behavior control key: - jobname.evx, jobname.evy, jobname.evz, jobname.evn, jobname.evl + BORD - Controls the functionality of the mouse buttons for dynamic viewing mode only. + When Label = BORD, the three values that follow control the + functionality of the LEFT, MIDDLE and RIGHT buttons, + respectively (see below). - """ - command = "RMNEVEC, " % () - self.RunCommand(command, **kwargs) + MSGPOP - Controls which messages from the ANSYS error message subroutine are displayed + in a message dialog box. - def Extopt(self, lab="", val1="", val2="", val3="", val4="", **kwargs): - """ - APDL Command: EXTOPT + REPLOT - Controls whether or not an automatic replot occurs after functions affecting + the model are executed. - Controls options relating to the generation of volume elements from - area elements. + ABORT - Controls whether or not ANSYS displays dialog boxes to show the status of an + operation in progress and to cancel that operation. - Parameters - ---------- - lab - Label identifying the control option. The meanings of Val1, Val2, - and Val3 will vary depending on Lab. + DYNA - Controls whether the dynamic mode preview is a bounding box or the edge outline + of the model. This label only applies to 2-D display + devices (i.e., /SHOW,XII or /SHOW,WIN32). This "model edge + outline" mode is only supported in PowerGraphics + [/GRAPHICS,POWER] and is intended for element, line, + results, area, or volume displays. - ON - Sets carryover of the material attributes, real constant attributes, and - element coordinate system attributes of the pattern area - elements to the generated volume elements. Sets the pattern - area mesh to clear when volume generations are done. Val1, - Val2, and Val3 are ignored. + PICK - Controls how graphical entities are highlighted from within the ANSYS Select + menu. - OFF - Removes all settings associated with this command. Val1, Val2, and Val3 are - ignored. + POWER - Controls whether or not PowerGraphics is active when the GUI is initiated. The + ANSYS program default status is PowerGraphics “ON”; this + command is used (placed in the start.ans file) when full + graphics is desired on start up. - STAT - Shows all settings associated with this command. Val1, Val2, Val3, and Val4 are - ignored. + DPRO - Controls whether or not the ANSYS input window displays a dynamic prompt. The + dynamic prompt shows the correct command syntax for the + command, as you are entering it. - ATTR - Sets carryover of particular pattern area attributes (materials, real - constants, and element coordinate systems) of the pattern - area elements to the generated volume elements. (See 2.) - Val1 can be: + UNDO - Controls whether or not the session editor includes nonessential commands or + comments in the file it creates. You can use this option to + include comments and other materials in the session editor + file. - 0 - Sets volume elements to use current MAT command settings. + LEGE - Controls whether or not the multi-legend is activated when you start the GUI. + The multi-legend enables you to specify the location of your + legend items in each of the five graphics windows. You can + place this option in your start.ans file and have the GUI + start with the legend items in a pre-specified location. - 1 - Sets volume elements to use material attributes of the pattern area elements. + PBAK - Controls whether or not the background shading is activated when you start the + GUI. You can place this option in your start.ans file. - Val2 can be: - 0 + ZPIC - Controls the sorting order for entities that are coincident (directly in front + of or behind each other) to a picked spot on your model. + When you pick a spot on your model that could indicate two + or more entities, a message warns you of this condition, and + a list of the coincident entities can be generated. The + VALUE term (below) will determine the sort order. - Sets volume elements to use current REAL command settings. - 1 + HPOP - Controls the prioritization of your GUI windows when the contents are ported to + a plot or print file (/UI,COPY,SAVE). OpenGL (3D) graphics + devices require that the ANSYS Graphics Screen contents be + set in front of all overlying windows in order to port them + to a printer or a file. This operation can sometimes + conflict with /NOERASE settings. See the VALUE term (below) + to determine the available control options. - Sets volume elements to use real constant attributes of the pattern area elements. - Val3 can be: + value + Values controlling behavior if Label = BORD: - 0 - Sets volume elements to use current ESYS command settings. + 1 - PAN, controls dynamic translations. - 1 - Sets volume elements to use element coordinate system attributes of the pattern - area elements. + 2 - ZOOM, controls zoom, and dynamic rotation about the view vector. - Val4 can be: - 0 + 3 - ROTATE, controls dynamic rotation about the screen X and Y axes. - Sets volume elements to use current SECNUM command settings. - 1 + Notes + ----- + Controls certain features of the Graphical User Interface (GUI), + including whether the ANSYS program displays dialog boxes to show you + the status of an operation (such as meshing or solution) in progress + and to enable you to cancel that operation. Issue /UIS,STAT for + current status. Issue /UIS,DEFA to reset default values for all + labels. Issue /UIS,Label,STAT and /UIS,Label,DEFA for status and to + reset a specific Label item. - Sets volume elements to use section attributes of the pattern area elements. - + A /UIS,HPOP,1 command employs a fast redraw method which does not allow + entering the legend logic for a /PLOPTS,INFO,1 or /PLOPTS,INFO,2 + command. However, the legend is redrawn for /PLOPTS,INFO,3 because that + command also allows a fast redraw. - ESIZE - Val1 sets the number of element divisions in the direction of volume generation - or volume sweep. For VDRAG and VSWEEP, Val1 is overridden - by the LESIZE command NDIV setting. Val2 sets the spacing - ratio (bias) in the direction of volume generation or - volume sweep. If positive, Val2 is the nominal ratio of - last division size to first division size (if > 1.0, sizes - increase, if < 1.0, sizes decrease). If negative, Val2 is - the nominal ratio of center division(s) size to end - divisions size. Ratio defaults to 1.0 (uniform spacing). - Val3 and Val4 are ignored. + This command is valid in any processor. - ACLEAR - Sets clearing of pattern area mesh. (See 3.) Val1 can be: + """ + command = "/UIS,%s,%s" % (str(label), str(value)) + self.RunCommand(command, **kwargs) - 0 - Sets pattern area to remain meshed when volume generation is done. + def Ealive(self, elem="", **kwargs): + """ + APDL Command: EALIVE - 1 - Sets pattern area mesh to clear when volume generation is done. Val2, Val3 , - and Val4 are ignored. + Reactivates an element (for the birth and death capability). - VSWE - Indicates that volume sweeping options will be set using Val1 and Val2. - Settings specified with EXTOPT,VSWE will be used the next - time the VSWEEP command is invoked. If Lab = VSWE, Val1 - becomes a label. Val1 can be: + Parameters + ---------- + elem + Element to be reactivated: - AUTO - Indicates whether you will be prompted for the source and target used by VSWEEP - or if VSWE should automatically determine the source and - target. If Val1 = AUTO, Val2 is ON by default. VSWE will - automatically determine the source and target for VSWEEP. - You will be allowed to pick more than one volume for - sweeping. When Val2 = OFF, the user will be prompted for the - source and target for VSWEEP. You will only be allowed to - pick one volume for sweeping. + ALL - Reactivates all selected elements (ESEL). - TETS - Indicates whether VSWEEP will tet mesh non-sweepable volumes or leave them - unmeshed. If Val1 = TETS, Val2 is OFF by default. Non- - sweepable volumes will be left unmeshed. When Val2 = ON, the - non-sweepable volumes will be tet meshed if the assigned - element type supports tet shaped elements. + P - Enables graphical picking of elements. All remaining command fields are + ignored. (Valid only in the ANSYS GUI.) - val1, val2, val3, val4 - Additional input values as described under each option for Lab. + Comp - Specifies a component name. Notes ----- - EXTOPT controls options relating to the generation of volume elements - from pattern area elements using the VEXT, VROTAT, VOFFST, VDRAG, and - VSWEEP commands. (When using VSWEEP, the pattern area is referred to - as the source area.) + Reactivates the specified element when the birth and death capability + is being used. An element can be reactivated only after it has been + deactivated (EKILL). - Enables carryover of the attributes of the pattern area elements to - the generated volume elements when you are using VEXT, VROTAT, VOFFST, - or VDRAG. (When using VSWEEP, since the volume already exists, use the - VATT command to assign attributes before sweeping.) + Reactivated elements have a zero strain (or thermal heat storage, etc.) + state. - When you are using VEXT, VROTAT, VOFFST, or VDRAG, enables clearing of - the pattern area mesh when volume generations are done. (When you are - using VSWEEP, if selected, the area meshes on the pattern (source), - target, and/or side areas clear when volume sweeping is done.) + ANSYS, Inc. recommends using the element deactivation/reactivation + procedure for analyses involving linear elastic materials only. Do not + use element deactivation/reactivation in analyses involving time- + dependent materials, such as viscoelasticity, viscoplasticity, and + creep analysis. - Neither EXTOPT,VSWE,AUTO nor EXTOPT,VSWE,TETS will be affected by - EXTOPT,ON or EXTOPT, OFF. + This command is also valid in PREP7. """ - command = "EXTOPT, %s, %s, %s, %s, %s" % (str(lab), str(val1), str(val2), str(val3), str(val4)) + command = "EALIVE,%s" % (str(elem)) self.RunCommand(command, **kwargs) - def Pause(self, **kwargs): + def Aux3(self, **kwargs): """ - APDL Command: PAUSE + APDL Command: /AUX3 - Temporarily releases the current product license. + Enters the results file editing processor. Notes ----- - The PAUSE command temporarily releases (or pauses) the current product - license so that another application can use it. - - This application consumes a license as soon as you launch it, and - retains that license until it is finished. If you launch the product - interactively, the license is retained until you either close the - application or issue a PAUSE command via the command line. - - No other operation (other than SAVE or /EXIT) is possible in the - current application while use of the product license is paused. - - When the second application has finished and releases the license, - issue an UNPAUSE command via the command line to restore use of the - license to the current application. + Enters the results file editing processor (ANSYS auxiliary processor + AUX3). This processor is used to edit ANSYS results files. - For more information, see the ANSYS, Inc. Licensing Guide. + This command is valid only at the Begin Level. """ - command = "PAUSE, " % () + command = "/AUX3," % () self.RunCommand(command, **kwargs) - def Rmporder(self, ord1="", ord2="", ord3="", ord4="", ord5="", ord6="", - ord7="", ord8="", ord9="", **kwargs): + def Tblist(self, lab="", mat="", **kwargs): """ - APDL Command: RMPORDER + APDL Command: TBLIST - Defines polynomial orders for ROM functions. + Lists the material data tables. Parameters ---------- - ord1, ord2, ord3, . . . , ord9 - Polynomial orders for modes. Ordi specifies the polynomial order - for modei. Modes are ordered as extracted from a modal analysis - using the RMNEVEC command. Defaults to 0 if mode i is unused; - default to nstep(i) -1 for dominant or relevant modes, where - nstep(i) is the number of equidistant steps in fit range of mode i. - nstep(i) is automatically set by RMMSELECT or modified by the - RMMRANGE command. + lab + Data table label. (See the TB command for valid labels.) Defaults + to the active table. If ALL, list data for all labels. + + mat + Material number to be listed (defaults to the active material). If + ALL, list data tables for all materials. Notes ----- - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is a utility command, valid anywhere. """ - command = "RMPORDER, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(ord1), str(ord2), str(ord3), str(ord4), str(ord5), str(ord6), str(ord7), str(ord8), str(ord9)) + command = "TBLIST,%s,%s" % (str(lab), str(mat)) self.RunCommand(command, **kwargs) - def Sucr(self, surfname="", surftype="", nrefine="", radius="", tolout="", - **kwargs): + def Dmpoption(self, filetype="", combine="", **kwargs): """ - APDL Command: SUCR + APDL Command: DMPOPTION - Create a surface. + Specifies distributed memory parallel (Distributed ANSYS) file + combination options. Parameters ---------- - surfname - Eight character surface name. + filetype + Type of solution file to combine after a distributed memory + parallel solution. There is no default; if (blank), the command is + ignored. - surftype - Surface type. + RST - Results files (.RST, .RTH, .RMG, .RSTP) - CPLANE - Surface is defined by the cutting plane in window one (controlled by the - working plane (/CPLANE,1), NOT the view settings - (/CPLANE,0)). + EMAT - Element matrix files (.EMAT). - SPHERE - Surface is defined by a spherical surface centered about the working plane - origin. + ESAV - Element saved data files (.ESAVE) - INFC - Surface is defined by a cylindrical surface centered about the working plane - origin and extending indefinitely in the positive and - negative Z directions. + MODE - Modal results files (.MODE) - nrefine - Refinement level. + MLV - Modal load vector file (.MLV) - For SurfType = CPLANE - The refinement level of the surface "mesh". This will be an integer between 0 - and 3 (default = 0). See Notes below. + IST - Initial state file (.IST) - For SurfType = SPHERE - The number of divisions along a 90° arc (minimum = 9). The default is 9. + FULL - Full matrix file (.FULL) - For SurfType = INFC - The number of divisions along a 90° arc (minimum = 9). The default is 9. + RFRQ - Reduced complex displacement file (.RFRQ) - radius - Appropriate radius value (for INFC or SPHERE). + RDSP - Reduced displacement file (.RDSP) - tolout - Tolerance value for inclusion of element facets within a prescribed - volume. (for INFC) + combine + Option to combine solution files. + + Yes - Combine solution files (default). + + No - Do not combine solution files. Notes ----- - This command creates a new surface and stores the following data for - that surface: + The DMPOPTION command controls how solution files are written during a + distributed memory parallel (Distributed ANSYS) solution. This command + is most useful for controlling how results files (.RST,.RTH, etc.) are + written. - For SurfType = CPLANE, nRefine refers to the number of points that - define the surface. An nRefine value of zero is used for points where - the element face intersects the cutting plane. + In a distributed memory parallel solution, a local results file is + written by each process (JobnameN.ext, where N is the process number). + By default, the program automatically combines the local results files + (for example, JobnameN.RST) upon leaving the SOLUTION processor (for + example, upon the FINISH command) into a single global results file + (Jobname.RST) which can be used in ANSYS postprocessing. To reduce the + amount of communication and I/O performed by this operation, you can + issue the command DMPOPTION,RST,NO to bypass this step of combining the + local results files; the local files will remain on the local disks in + the current working directory. You can then use the RESCOMBINE command + macro in the POST1 general postprocessor (/POST1) to read all results + into the database for postprocessing. - If SurfType = CPLANE and nRefine = 0, the points reside at the section - cuts where the element intersects the cutting plane. Increasing nRefine - from 0 to 1 will subdivide each surface facet into 4 subfacets, and - increase the number of points at which results can be interpolated. + The RESCOMBINE command macro is intended for use with POST1. If you + want to postprocess distributed parallel solution results using the + POST26 time-history postprocessor (/POST26), it is recommended that you + combine your local results files into one global results file + (DMPOPTION,RST,YES or COMBINE). - For SurfType = CPLANE , the setting from the /EFACET command will - affect the creation of surface facets and the quality of the fit of the - surface in the model. SUCR employs geometry data from PowerGraphics to - aid in determining where the surface intersects the model. If - /EFACET,1 is in effect when the SUCR command is issued, then the - curvature of high order elements (that is, elements with midside nodes) - will be ignored. If your model contains high order elements, you can - see a better fit for your surface if /EFACET,2 is in effect when the - SUCR command is issued. Currently, the SUCR command interprets - /EFACET,4 to mean /EFACET,2. + Local .EMAT, .ESAV, .MODE, .MLV, .IST, .RFRQ, .RDSP, and .FULL files + are also written (when applicable) by each process in a distributed + memory parallel solution. If these files are not needed for a + downstream solution or operation, you can issue the command + DMPOPTION,FileType,NO for each file type to bypass the file combination + step and thereby improve performance. You should not bypass the file + combination step if a downstream PSD analysis or modal expansion pass + will be performed. - For SurfType = INFC, a default tolerance of 0.01 will be applied to - include the vertices of any facets that fall out of the cylinder - definition. This tolerance increases the facet size by one percent to - check for inclusion. Excluding facets under such a small tolerance may - yield unacceptable (aesthetically) results. Increasing the tolerance by - a larger amount (0.1 or 10%) will sometimes yield smother edges along - the surface you create. + If DMPOPTION,MODE,NO or DMPOPTION,RST,NO is specified in a modal + analysis, element results cannot be written to the combined mode file + (Jobname.MODE). In this case, if Distributed ANSYS is used in a + downstream harmonic or transient analysis that uses the mode- + superposition method, the MSUPkey on the MXPAND command can retain its + value. However, if shared memory parallel processing is used in the + downstream harmonic or transient analysis, the MSUPkey is effectively + set to NO. + + The DMPOPTION command can be changed between load steps; however, doing + so will not affect which set of solution files are combined. Only the + last values of FileType and Combine upon leaving the solution processor + will be used to determine whether the solution files are combined. For + example, given a two load step solution and FileType = RST, setting + Combine = NO for the first load step and YES for the second load step + will cause all sets on the local results files to be combined. If the + opposite is true (Combine = YES for the first load step and NO for the + second load step), no results will be combined. + + After using DMPOPTION to suppress file combination, you may find it + necessary to combine the local files for a specific FileType for use in + a subsequent analysis. In this case, use the COMBINE command to combine + local solution files into a single, global file. """ - command = "SUCR, %s, %s, %s, %s, %s" % (str(surfname), str(surftype), str(nrefine), str(radius), str(tolout)) + command = "DMPOPTION,%s,%s" % (str(filetype), str(combine)) self.RunCommand(command, **kwargs) - def Rmresume(self, fname="", ext="", **kwargs): + def Seopt(self, sename="", sematr="", sepr="", sesst="", expmth="", + seoclvl="", **kwargs): """ - APDL Command: RMRESUME + APDL Command: SEOPT - Resumes ROM data from a file. + Specifies substructure analysis options. Parameters ---------- - fname - Name and directory path of the ROM database file (248 character - maximum). Default to Jobname. + sename + The name (case-sensitive, thirty-two character maximum) assigned to + the superelement matrix file. The matrix file will be named + Sename.SUB. This field defaults to Fname on the /FILNAME command. - ext - Extension of the ROM database file. Default to .rom. + sematr + Matrix generation key: - -- - Unused field. + 1 - Generate stiffness (or conductivity) matrix (default). + + 2 - Generate stiffness and mass (or conductivity and specific heat) matrices. + + 3 - Generate stiffness, mass and damping matrices. + + sepr + Print key: + + 0 - Do not print superelement matrices or load vectors. + + 1 - Print both load vectors and superelement matrices. + + 2 - Print load vectors but not matrices. + + sesst + Stress stiffening key: + + 0 - Do not save space for stress stiffening in a later run. + + 1 - Save space for the stress stiffening matrix (calculated in a subsequent + generation run after the expansion pass). + + expmth + Expansion method for expansion pass: + + BACKSUB - Save necessary factorized matrix files for backsubstitution during subsequent + expansion passes (default). This normally results in a + large usage of disk space + + RESOLVE - Do not save factorized matrix files. Global stiffness matrix will be reformed + during expansion pass. This option provides an effective + way to save disk space usage. This option cannot be used + if the use pass uses large deflections (NLGEOM,ON). + + seoclvl + For the added-mass calculation, the ocean level to use when ocean + waves (OCTYPE,,WAVE) are present: + + ATP - The ocean level at this point in time (default). + + MSL - The mean ocean level. Notes ----- - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The SEOPT command specifies substructure analysis options + (ANTYPE,SUBSTR). If used during solution, the command is valid only + within the first load step. + + When ocean waves (OCTYPE,,WAVE) are present, the SeOcLvL argument + specifies the ocean height or level to use for the added-mass + calculation, as the use-run analysis type is unknown during the + generation run. + + The expansion pass method RESOLVE is not supported with component mode + synthesis analysis (CMSOPT). ExpMth is automatically set to BACKSUB for + CMS analysis. The RESOLVE method invalidates the use of the NUMEXP + command. The RESOLVE method does not allow the computation of results + based on nodal velocity and nodal acceleration (damping force, inertial + force, kinetic energy, etc.) in the substructure expansion pass. + + This command is also valid in PREP7. """ - command = "RMRESUME, %s, %s" % (str(fname), str(ext)) + command = "SEOPT,%s,%s,%s,%s,%s,%s" % (str(sename), str(sematr), str(sepr), str(sesst), str(expmth), str(seoclvl)) self.RunCommand(command, **kwargs) - def Pdlhs(self, nsim="", nrep="", isopt="", _astop="", accmean="", - accstdv="", check="", seed="", **kwargs): + def Slashmap(self, **kwargs): """ - APDL Command: PDLHS + APDL Command: /MAP - Specifies options for Monte Carlo Simulations using Latin-Hypercube - sampling. + Enters the mapping processor. - Parameters - ---------- - nsim - Number of simulation loops per repetition cycle. + Notes + ----- + Enters the mapping processor. This processor is used to read in source + data from an external file and map it to the existing geometry. - nrep - Number of repetition cycles of the analysis. + The current database is saved (to BeforeMapping.DB) upon entering the + processor, and it is resumed upon exiting (FINISH command). Any nodes + or elements not on the target surface are deleted for easier viewing of + the mapping quantities. A database of this mapping geometry + (Mapping.DB) is also saved at the FINISH command. - isopt - Latin-Hypercube sampling divides the domain of each random input - variable into intervals of equal probability. The interval sampling - option ISopt determines where the samples are located within each - interval. + This command is valid only at the Begin Level. - RAND - Picks a random location within the interval (default). + """ + command = "/MAP," % () + self.RunCommand(command, **kwargs) - MEAN - Picks the mean value location within the interval. + def Betad(self, value="", **kwargs): + """ + APDL Command: BETAD - MEDI - Picks the median value location within the interval. + Defines the stiffness matrix multiplier for damping. - -- - Unused field. + Parameters + ---------- + value + Stiffness matrix multiplier for damping. - astop - Autostop option label. + Notes + ----- + This command defines the stiffness matrix multiplier β used to form the + viscous damping matrix [C] = β [K] where [K] is the stiffness matrix. - AUTO - Enable Autostop. When Autostop is used, the PDS feature continues the - simulation loops until the convergence criteria for the mean - value and the standard deviation have been met or until the - number of simulations NSIM are complete, whichever comes - first. The convergence criteria (mean value and standard - deviations of all random output parameters) are specified by - the ACCMEAN and ACCSTDEV parameters. The criteria are met if - the mean value and the standard deviations converge within - the accuracy specified in the ACCMEAN and ACCSTDEV options. - The convergence check is done every i-th loop, where i is - specified in the CHECK parameter. + Values of : β may also be input as a material property (use the BETD + label on the MP command). If BETD is included, the BETD value is added + to the BETAD value as appropriate (see Damping Matrices in the + Mechanical APDL Theory Reference). Damping is not used in the static + (ANTYPE,STATIC) or buckling (ANTYPE,BUCKLE) analyses. - ALL - Disable Autostop option. All Monte Carlo Simulations as specified by NSIM and - NREP are performed (default). + This command is also valid in PREP7. - accmean - Accuracy of the mean values of all random output parameters that - must be met to activate Autostop. Default is 0.01 (1%). ACCMEAN is - ignored for Astop = ALL. The convergence for the mean values is met - if for all random output parameters y the following equation is - true: + """ + command = "BETAD,%s" % (str(value)) + self.RunCommand(command, **kwargs) - accstdev - Accuracy of the standard deviations of all random output parameters - that must be met to activate Autostop. The default is 0.02 (2%). - ACCSTDEV is ignored for Astop = ALL. The convergence for the - standard deviations is met if for all random output parameters y - the following equation is true: + def Rpr4(self, nsides="", xcenter="", ycenter="", radius="", theta="", + depth="", **kwargs): + """ + APDL Command: RPR4 - check - Sets how often conditions for convergence are checked for Autostop. - The PDS feature checks if the convergence criteria are met every - i-th loop, where i is given by the CHECK parameter. The default - value is 10. It not recommended to use CHECK = 1, because it could - cause Autostop to terminate the simulations prematurely. The mean - values and standard deviation might not show large differences - between all simulation loops but might still have a visible - "global" trend if viewed over several simulations. This behavior - indicates that convergence has not really been achieved. If you set - CHECK = 1, then Autostop is not able to detect such a global trend. - CHECK is ignored for Astop = ALL. + Creates a regular polygonal area or prism volume anywhere on the + working plane. - seed - Seed value label. Random number generators require a seed value - that is used to calculate the next random number. After each random - number generation finishes, the seed value is updated and is used - again to calculate the next random number. ANSYS initializes the - seed value with the system time when the ANSYS session started. + Parameters + ---------- + nsides + The number of sides in the polygon or prism face. Must be greater + than 2. - CONT - Continues updating using the derived seed value (default). + xcenter, ycenter + Working plane X and Y coordinates of the center of the polygon or + prism face. - TIME - Initializes the seed value with the system time. You can use this if you want - the seed value set to a specific value for one analysis and - then you want to continue with a "random" seed in the next - analysis. It is not recommended to "randomize" the seed - value with the Seed = TIME option for multiple analyses. If - the Monte Carlo simulations requested with this command will - be appended to previously existing simulations, then the - Seed option is ignored and Seed = CONT is used. + radius + Distance (major radius) from the center to a vertex of the polygon + or prism face (where the first keypoint is defined). - INIT - Initializes the seed value using 123457 (a typical recommendation). This option - leads to identical random numbers for all random input - variables when the exact analysis will be repeated, making - it useful for benchmarking and validation purposes (where - identical random numbers are desired). If the Monte Carlo - simulations requested with this command will be appended to - previously existing simulations, then the Seed option is - ignored and Seed = CONT is used. + theta + Angle (in degrees) from the working plane X-axis to the vertex of + the polygon or prism face where the first keypoint is defined. + Used to orient the polygon or prism face. Defaults to zero. - Value - Uses the specified (positive) value for the initialization of the seed value. - This option has the same effect as Seed = INIT, except you - can chose an arbitrary (positive) number for the - initialization. If the Monte Carlo simulations requested - with this command will be appended to previously existing - simulations, then the Seed option is ignored and Seed = - CONT is used. + depth + The perpendicular distance (either positive or negative based on + the working plane Z direction) from the working plane representing + the depth of the prism. If DEPTH = 0 (default), a polygonal area + is created on the working plane. Notes ----- - Defines the number of simulations per repetition cycle, number of - repetition cycles, specification of the Autostop option, checking - frequency for the Autostop option, and the seed value for random number - generation. + Defines a regular polygonal area anywhere on the working plane or prism + volume with one face anywhere on the working plane. The top and bottom + faces of the prism are polygonal areas. See the RPOLY, POLY, RPRISM, + and PRISM commands for other ways to create polygons and prisms. + + """ + command = "RPR4,%s,%s,%s,%s,%s,%s" % (str(nsides), str(xcenter), str(ycenter), str(radius), str(theta), str(depth)) + self.RunCommand(command, **kwargs) + + def Hbc(self, wn="", key="", **kwargs): + """ + APDL Command: /HBC + + Determines how boundary condition symbols are displayed in a display + window. - For Latin-Hypercube sampling, it is advantageous to divide the total - number of requested simulations into a few repetitions. This adds more - randomness to the sampling process. If NTOT is the total number of - simulations, then as a rough rule of thumb NTOT should be NREP = - repetitions. The number obtained with this rule of thumb must be - adjusted such that NTOT = NREP*NSIM. For example if NTOT = 1000 then - NREP = = 10, so the 1000 simulations can be done in 100 simulations - with 10 repetitions. If for example NTOT = 100 then NREP = = 3.16, - which means that the 100 simulations could be broken up into either - 2*50 or 4*25 simulations. + Parameters + ---------- + wn + Window reference number. This number can be any window numbered 1 + to 5, or ALL (for all active windows). Defaults to 1 - If Autostop is enabled then the maximum number of simulations to be - performed is given by NSIM*NREP. The Autostop option will terminate the - simulations before the NSIM*NREP simulations are done if the - convergence criteria are met. + key + Key to enable/disable hidden surface boundary condition symbol + display for 2-D graphics devices and to request improved pressure + contour display for 2-D and 3-D devices: Key = ON, YES or 1 will + show your BC symbols on the hidden surfaces and use an improved + pressure contour display. Key = OFF, NO or 0 (default) will hide + the symbols . """ - command = "PDLHS, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nsim), str(nrep), str(isopt), str(_astop), str(accmean), str(accstdv), str(check), str(seed)) + command = "/HBC,%s,%s" % (str(wn), str(key)) self.RunCommand(command, **kwargs) - def Padele(self, delopt="", **kwargs): + def Sumtype(self, label="", **kwargs): """ - APDL Command: PADELE + APDL Command: SUMTYPE - Deletes a defined path. + Sets the type of summation to be used in the following load case + operations. Parameters ---------- - delopt - Path delete option (one of the following): + label + Summation type - ALL - Delete all defined paths. + COMP - Combine element component stresses only. Stresses such as average nodal + stresses, principal stresses, equivalent stresses, and + stress intensities are derived from the combined element + component stresses. Default. - NAME - Delete a specific path from the list of path definitions. (Substitute the - actual path name for NAME.) + PRIN - Combine principal stress, equivalent stress, and stress intensity directly as + stored on the results file. Component stresses are not + available with this option. Notes ----- - Paths are identified by individual path names. To review the current - list of path names, issue the command PATH,STATUS. + Issue SUMTYPE,PRIN when you want to have a load case operation (LCOPER) + act on the principal / equivalent stresses instead of the component + stresses. Also issue SUMTYPE,PRIN when you want to read in load cases + (LCASE). Note that the SUMTYPE setting is not maintained between /POST1 + sessions. - This command is valid in the general postprocessor. + SUMTYPE,PRIN also causes principal nodal values to be the average of + the contibuting principal element nodal values (see AVPRIN,1). + + BEAM188 and BEAM189 elements compute principal stress, equivalent + stress, and stress intensity values on request instead of storing them + on the results file; SUMTYPE,PRIN does not apply for these elements. """ - command = "PADELE, %s" % (str(delopt)) + command = "SUMTYPE,%s" % (str(label)) self.RunCommand(command, **kwargs) - def Cbtmp(self, temp="", **kwargs): + def Wstart(self, node1="", node2="", ninc="", itime="", inc="", **kwargs): """ - APDL Command: CBTMP + APDL Command: WSTART - Specifies a temperature for composite-beam input. + Defines a starting wave list. Parameters ---------- - temp - Temperature value. + node1, node2, ninc + Define a set of nodes in the starting wave list from NODE1 to NODE2 + (defaults to NODE1) in steps of NINC (defaults to 1). If NODE1 = + ALL, ignore remaining fields and use all selected nodes [NSEL]. + + itime, inc + Add more node sets to the same starting wave list by repeating the + previous node set with NODE1 and NODE2 incremented by INC (defaults + to 1) each time after the first. ITIME is the total number of sets + (defaults to 1) defined with this command. Notes ----- - The CBTMP command, one of several composite beam-section commands, - specifies a temperature to be associated with the data input via - subsequent CBMX (preintegrated cross-section stiffness), CBMD - (preintegrated section mass), or CBTE (thermal-expansion) commands. - - The specified temperature remains active until the next CBTMP command - is issued. - - An unspecified temperature value defaults to zero. + Defines a starting wave list (optional) for reordering with the WAVES + command. Repeat WSTART command to define other starting wave lists (20 + maximum). - For complete information, see Using Preintegrated Composite Beam - Sections. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "CBTMP, %s" % (str(temp)) + command = "WSTART,%s,%s,%s,%s,%s" % (str(node1), str(node2), str(ninc), str(itime), str(inc)) self.RunCommand(command, **kwargs) - def Dfswave(self, kcn="", radius="", psdref="", dens="", sonic="", - incang="", npara="", sampopt="", **kwargs): + def Edweld(self, option="", nweld="", n1="", n2="", sn="", ss="", expn="", + exps="", epsf="", tfail="", nsw="", cid="", **kwargs): """ - APDL Command: DFSWAVE + APDL Command: EDWELD - Specifies the incident planar waves with random phases for a diffuse - sound field. + Defines a massless spotweld or generalized weld for use in an explicit + dynamic analysis. Parameters ---------- - kcn - Local coordinate system: + option + Label identifying the option to be performed: - N - Coordinate system number. Default = 0. + ADD - Define a weld (default). This weld may be a spotweld between two nodes or a + generalized weld. A massless spotweld will be defined if + valid node numbers are specified in fields N1 and N2. A + generalized weld will be defined if a node component is + specified in field N1. - DELETE - Delete defined incident diffused planar waves. + DELE - Delete specified weld. If NWELD is blank, all welds are deleted. - radius - Radius of the reference sphere on which the incident planar waves - are distributed with equal energy. Defaults to 50 x the half- - maximum dimension of the structural panel. + LIST - List specified weld. If NWELD is blank, all welds are listed. - psdref - Reference power spectral density. Default = 1. + nweld + Reference number identifying the spotweld or generalized weld. - dens - Mass density of incident planar wave media. Default = 2041 kg/m3. + n1, n2 + For a spotweld, N1 and N2 are the nodes which are connected by the + spotweld. For a generalized weld, input a nodal component name in + N1 and leave N2 blank. The nodal component should contain all nodes + that are to be included in the generalized weld. - sonic - Sound speed in incident planar wave media. Default = 343.24 m/s) + sn + Normal force at spotweld failure. - incang - Maximum incident angle (0o <= degree <= 180o) against the positive - z axis in the local coordinate system KCN. Default = 0o. + ss + Shear force at spotweld failure. - npara - Number of divisions on the reference sphere with cutting planes - parallel to the x-y coordinate plane of the local coordinate - system. Default = 20. + expn + Exponent for normal spotweld force. - sampopt - Random sampling option: + exps + Exponent for shear spotweld force. - ALL - Initializes the random generator of incident planar wave phases and samples the - phases at each solving frequency. + epsf + Effective plastic strain at ductile failure (used only for a + generalized weld). - MULT - Initializes the random generator of incident planar wave phases at the first - frequency and samples the phases at each solving frequency. + tfail + Failure time for constraint set (used only for a generalized weld); + default = 1.0e20. - MONO - Initializes the random generator of incident planar wave phases and samples the - phases only once at first solving frequency so that the same - phases are used over the whole frequency range for each - incident planar wave. + nsw + Number of spot welds for the generalized weld. + + cid + Coordinate system ID number (CID) to be used for output data (used + only for a generalized weld). The coordinate system must be + previously defined with the EDLCS command. Notes ----- - Issue the DFSWAVE command to activate a diffuse sound field. (The AWAVE - command does not activate a diffuse sound field.) + This command can be used to define a massless spotweld between two + nodes or a generalized weld for a group of nodes. For a spotweld, the + nodes specified by N1 and N2 must not be coincident. For a generalized + weld, coincident nodes are permitted, but CID must be specified when + using coincident nodes. EDWELD is not updated after a node merge + operation; therefore, node merging [NUMMRG,NODE] should be done before + any EDWELD definitions. Nodes connected by a spotweld or generalized + weld cannot be constrained in any other way. - The SURF154 surface element must be defined on the surface of the - structural solid element for the excitation. + Failure of the weld occurs when: - The acoustic elements and the absorbing boundary condition must be - defined in the open acoustic domain. Do not define the acoustic domain - on the excitation side. + where fn and fs are normal and shear interface forces. Normal interface + force fn is nonzero for tensile values only. - The PLST command calculates the average transmission loss for multiple - sampling phases at each frequency over the frequency range. + You can graphically display spotwelds by issuing the command + /PBC,WELD,,1. - The symmetry of a panel structure cannot be used to reduce the - simulation size, as the incident plane waves have varying random phase - angles. The z axis of the Cartesian coordinate system (KCN) must be - consistent with the panel’s outward normal unit vector at the center of - the panel’s sending side. + This command is also valid in SOLUTION. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "DFSWAVE, %s, %s, %s, %s, %s, %s, %s, %s" % (str(kcn), str(radius), str(psdref), str(dens), str(sonic), str(incang), str(npara), str(sampopt)) + command = "EDWELD,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(nweld), str(n1), str(n2), str(sn), str(ss), str(expn), str(exps), str(epsf), str(tfail), str(nsw), str(cid)) self.RunCommand(command, **kwargs) - def Enersol(self, nvar="", item="", name="", **kwargs): + def Sfe(self, elem="", lkey="", lab="", kval="", val1="", val2="", val3="", + val4="", **kwargs): """ - APDL Command: ENERSOL + APDL Command: SFE - Specifies the total energies to be stored. + Specifies surface loads on elements. Parameters ---------- - nvar - Arbitrary reference number assigned to this variable (2 to NV). - - """ - command = "ENERSOL, %s, %s, %s" % (str(nvar), str(item), str(name)) - self.RunCommand(command, **kwargs) - - def Paresu(self, lab="", fname="", ext="", **kwargs): - """ - APDL Command: PARESU + elem + Element to which surface load applies. If ALL, apply load to all + selected elements [ESEL]. If Elem = P, graphical picking is + enabled and all remaining command fields are ignored (valid only in + the GUI). A component name may be substituted for Elem. - Restores previously saved paths from a file. + lkey + Load key or face number associated with surface load (defaults to + 1). Load keys (1,2,3, etc.) are listed under "Surface Loads" in + the input data table for each element type in the Element + Reference. - Parameters - ---------- lab - Read operation: + Valid surface load label. Load labels are listed under "Surface + Loads" in the input table for each element type in the Element + Reference. - ALL - Read all paths from the selected file (default). + kval + Value key. If Lab = PRES: - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + 0 or 1 - VAL1 through VAL4 are used as real components of pressures. - ext - Filename extension (eight-character maximum). + 2 - VAL1 through VAL4 are used as imaginary components of pressures. - -- - Unused field. + val1 + First surface load value (typically at the first node of the face) + or the name of a table for specifying tabular boundary conditions. + Face nodes are listed in the order given for "Surface Loads" in the + input data table for each element type in the Element Reference. + For example, for SOLID185, the item 1-JILK associates LKEY = 1 + (face 1) with nodes J, I, L, and K. Surface load value VAL1 then + applies to node J of face 1. To specify a table, enclose the table + name in percent signs (%), e.g., %tabname%. Use the *DIM command + to define a table. Only one table can be specified, and it must be + specified in the VAL1 position; tables specified in the VAL2, VAL3, + or VAL4 positions will be ignored. VAL2 applies to node I, etc. + + val2, val3, val4 + Surface load values at the 2nd, 3rd, and 4th nodes (if any) of the + face. If all three values are blank, all three default to VAL1, + giving a constant load. Zero or other blank values are used as + zero. If a table is specified in VAL1, then any tables or numerical + values specified in VAL2, VAL3, or VAL4 will be ignored. Notes ----- - This command removes all paths from virtual memory and then reads path - data from a file written with the PASAVE command. All paths on the - file will be restored. All paths currently in memory will be deleted. - - """ - command = "PARESU, %s, %s, %s" % (str(lab), str(fname), str(ext)) - self.RunCommand(command, **kwargs) - - def Allsel(self, labt="", entity="", **kwargs): - """ - APDL Command: ALLSEL - - Selects all entities with a single command. - - Parameters - ---------- - labt - Type of selection to be made: - - ALL - Selects all items of the specified entity type and all items of lower entity - types (default). - - BELOW - Selects all items directly associated with and below the selected items of the - specified entity type. - - entity - Entity type on which selection is based: - - ALL - All entity types (default). - - VOLU - Volumes. + Specifies surface loads on selected elements. - AREA - Areas. + Caution:: : You cannot use the SFE command with the INFIN110 or + INFIN111 elements without prior knowledge of element face orientation, + i.e., you must know which face is the exterior in order to flag it. + Also, the surface effect elements, SURF153 and SURF154, use LKEY to + allow the use of tangential and other loads (see SURF153and SURF154 of + the Element Reference for more details). - LINE - Lines. + Tapered loads may be applied over the faces of most elements. - KP - Keypoints. + For beam elements allowing lateral surface loads that may be offset + from the nodes, use the SFBEAM command to specify the loads and + offsets. See the SF command for an alternate surface load definition + capability based upon node numbers. See the SFGRAD command for an + alternate tapered load capability. Use the SFCUM command to accumulate + (add) surface loads applied with SFE. - ELEM - Elements. + The SFE command can also be used to define fluid pressure penetration + loads (Lab = PRES) at a contact interface. For this type of load, LKEY + = 1 is used to specify the pressure values and LKEY = 2 is used to + specify starting points and penetrating points. See Applying Fluid + Penetration Pressure in the Contact Technology Guide for details on how + to apply this type of load. - NODE - Nodes. + Film effectiveness and free stream temperatures specified with Lab = + CONV are only valid for SURF151 and SURF152. Film effectiveness must be + between 0 and 1 and it defaults to 0. If film effectiveness is applied, + bulk temperature is ignored. When film effectiveness and free stream + temperatures are specified, the commands to specify a surface load + gradient (SFGRAD) or surface load accumulation (SFCUM) are not valid. + For more information on film effectiveness, see Conduction and + Convection in the Mechanical APDL Theory Reference. - Notes - ----- - ALLSEL is a convenience command that allows the user to select all - items of a specified entity type or to select items associated with the - selected items of a higher entity. + You can specify a table name only when using structural (PRES) and + thermal (CONV [film coefficient, bulk temperature, film effectiveness, + and free stream temperature], HFLUX), diffusion flux (DFLUX), surface + emissivity and ambient temperature (RAD), impedance (IMPD), normal + velocity or acceleration (SHLD), attenuation coefficient (ATTN), and + substructure (SELV) surface load labels. - An entity hierarchy is used to decide what entities will be available - in the selection process. This hierarchy from top to bottom is as - follows: volumes, areas, lines, keypoints, elements, and nodes. The - hierarchy may also be divided into two branches: the solid model and - the finite element model. The label ALL selects items based on one - branch only, while BELOW uses the entire entity hierarchy. For - example, ALLSEL,ALL,VOLU selects all volumes, areas, lines, and - keypoints in the data base. ALLSEL,BELOW,AREA selects all lines - belonging to the selected areas; all keypoints belonging to those - lines; all elements belonging to those areas, lines, and keypoints; and - all nodes belonging to those elements. + When a tabular function load is applied to an element, the load will + not vary according to the positioning of the element in space. - The $ character should not be used after the ALLSEL command. + For cases where Lab=FSI, MXWF, FREE, and INF, VALUE is not needed. - This command is valid in any processor. + This command is also valid in PREP7 and in the /MAP processor. """ - command = "ALLSEL, %s, %s" % (str(labt), str(entity)) + command = "SFE,%s,%s,%s,%s,%s,%s,%s,%s" % (str(elem), str(lkey), str(lab), str(kval), str(val1), str(val2), str(val3), str(val4)) self.RunCommand(command, **kwargs) - def Tblist(self, lab="", mat="", **kwargs): + def Anmode(self, nfram="", delay="", ncycl="", kaccel="", **kwargs): """ - APDL Command: TBLIST + APDL Command: ANMODE - Lists the material data tables. + Produces an animated sequence of a mode shape. Parameters ---------- - lab - Data table label. (See the TB command for valid labels.) Defaults - to the active table. If ALL, list data for all labels. + nfram + Number of frames captures (defaults to 5). - mat - Material number to be listed (defaults to the active material). If - ALL, list data tables for all materials. + delay + Time delay during animation (defaults to 0.1 seconds). + + ncycl + Number of animation cycles (defaults to 5). Available in non-UI + mode only. + + kaccel + Acceleration type: + + 0 - Linear acceleration. + + 1 - Sinusoidal acceleration. Notes ----- - This command is a utility command, valid anywhere. + ANMODE involves an ANSYS macro which produces an animation of mode + shape of the last plot action command (for example, PLDISP). The + ANMODE command operates only on graphic display platforms supporting + the /SEG command. After executing ANMODE, you can replay the animated + sequence by issuing the ANIM command. + + This command functions only in the postprocessor. """ - command = "TBLIST, %s, %s" % (str(lab), str(mat)) + command = "ANMODE,%s,%s,%s,%s" % (str(nfram), str(delay), str(ncycl), str(kaccel)) self.RunCommand(command, **kwargs) - def Cmplot(self, label="", entity="", keyword="", **kwargs): + def Czmesh(self, ecomps1="", ecomps2="", kcn="", kdir="", value="", + cztol="", **kwargs): """ - APDL Command: CMPLOT + APDL Command: CZMESH - Plots the entities contained in a component or assembly. + Create and mesh an interface area composed of cohesive zone elements. Parameters ---------- - label - Name of the component or assembly to be plotted. + ecomps1 + Component name or number for the group of plane or solid structural + elements adjacent to the interface being meshed. - (blank) - All selected components and assemblies are plotted (default). If fewer than 11 - components are selected, then all are plotted. If more - than 11 components are selected, then only the first 11 - are plotted. + ecomps2 + Component name or number for the opposing (from ecomps1) group of + plane or solid structural elements adjacent to the interface being + meshed. - ALL - All selected components are plotted. If number of selected components is - greater than 11, then the legend showing component names will - not be shown. + kcn + Coordinate system number for the separation surface and normal + direction. (if ecomps1 and ecomps2 not specified) - N - Next set of defined components and assemblies is plotted. + kdir + Direction (x, y, or z) normal to separation surface in the KCN + coordinate system (if ecomps1 and ecomps2 not specified). - P - Previous set of defined components and assemblies is plotted. + value + Coordinate value along the KDIR axis at which to locate the + interface (if ecomps1 and ecomps2 not specified). - Cname - The specified component or assembly is plotted. + cztol + Optional absolute tolerance about VALUE (if ecomps1 and ecomps2 not + specified). Allows nodes occurring slightly above or below the + separation to be grouped properly. The following expression + represents the default value: - SetNo. - The specified set number is plotted. + Notes + ----- + CZMESH is used on a mesh with shared nodes at the interface. - entity - If Label is BLANK or ALL, then the following entity types can be - specified: + If ecomps1 and ecomps2 are specified, the CZMESH command creates/meshes + interface elements (INTER202, INTER203, INTER204, INTER205) along the + boundary between the two components or groups of elements. - VOLU - Plot the volume components only. + The elements in each of the components or groups of elements will share + nodes with each other and also with the interface elements. This one- + element thick boundary of interface elements will split the body + between the two components or groups of elements. - AREA - Plot the area components only. + Subsequent separation (delamination and failure) of the interface zone + will result in an increasing displacement between the nodes (within the + interface element) along the cohesive zone elements. Unless otherwise + specified, the CZMESH command analyzes the configuration and geometry + of the adjacent structural elements and provides the appropriate + interface element. - LINE - Plot the line components only. + The CZMESH operation copies any nodal temperatures you have defined on + the split surface of the original mesh from the original nodes to the + newly created coincident duplicate nodes. However, displacements, + forces, and other boundary conditions are not copied. - KP - Plot the keypoint components only. + The CZMESH command is valid for structural analyses only. - ELEM - Plot the element components only. + """ + command = "CZMESH,%s,%s,%s,%s,%s,%s" % (str(ecomps1), str(ecomps2), str(kcn), str(kdir), str(value), str(cztol)) + self.RunCommand(command, **kwargs) - NODE - Plot the node components only. + def Edclist(self, num="", **kwargs): + """ + APDL Command: EDCLIST - keyword - For Keyword = ALL, plot the specified component name in the Label - field in the context of all entities of the same type. Not valid if - Label field is BLANK or ALL. + Lists contact entity specifications in an explicit dynamics analysis. + + Parameters + ---------- + num + Number identifying contact entity to be listed. Use NUM = ALL to + list all contact entities (ALL is the default). Notes ----- - Components are plotted with their native entities. For assemblies, all - native entities for the underlying component types are plotted - simultaneously. Although more components can be plotted, the legend - displays only 11 at a time. When more than eleven are plotted, the - legend is not displayed. + Lists contact entity specifications previously defined with the EDCGEN + command. The listing will include any contact parameters defined using + the EDCMORE command. - Possible usage: + This command is also valid in SOLUTION. - This command is valid in any processor. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "CMPLOT, %s, %s, %s" % (str(label), str(entity), str(keyword)) + command = "EDCLIST,%s" % (str(num)) self.RunCommand(command, **kwargs) - def Spoint(self, node="", x="", y="", z="", **kwargs): + def Ptxy(self, x1="", y1="", x2="", y2="", x3="", y3="", x4="", y4="", + **kwargs): """ - APDL Command: SPOINT + APDL Command: PTXY - Defines a point for moment summations. + Defines coordinate pairs for use in polygons and prisms. Parameters ---------- - node - Node number of the desired point. If zero, use X,Y,Z to describe - point. - - x, y, z - Global Cartesian coordinates of the desired summation point. Used - if NODE is 0. Defaults to (0,0,0). + x1, y1, x2, y2, x3, y3, x4, y4 + X and Y coordinate pairs on the working plane. Notes ----- - Defines a point (any point other than the origin) about which the - tabular moment summations are computed [NFORCE, FSUM]. If force - summations are desired in other than the global Cartesian directions, a - node number must be specified on the NODE field, and the desired - coordinate system must be activated with RSYS. + Defines coordinate pairs for use in polygons and prisms [POLY, RPRISM]. + The coordinates must be in the Cartesian coordinate system. The + coordinate pairs must be input in a continuous order. PTXY may be + repeated (up to 100 pairs) until the required pairs have been defined. + The pairs will be saved until either the POLY or PRISM command is + entered. Use PTXY,STAT to list the saved coordinate pairs. Use + PTXY,DELE to delete all the saved coordinate pairs. See the RPOLY, + RPRISM, and RPR4 commands for other ways to create polygons and prisms. """ - command = "SPOINT, %s, %s, %s, %s" % (str(node), str(x), str(y), str(z)) + command = "PTXY,%s,%s,%s,%s,%s,%s,%s,%s" % (str(x1), str(y1), str(x2), str(y2), str(x3), str(y3), str(x4), str(y4)) self.RunCommand(command, **kwargs) - def Pdvar(self, name="", type="", par1="", par2="", par3="", par4="", - **kwargs): + def Rigresp(self, option="", method="", val1="", val2="", **kwargs): """ - APDL Command: PDVAR + APDL Command: RIGRESP - Specifies the parameters to be treated as probabilistic design - variables. + Specifies the rigid response calculation. Parameters ---------- - name - Parameter name (must be a scalar ANSYS parameter). The parameter - must have been previously defined as a random input variable or a - random output parameter with the PDVAR command. See the *SET - command for restrictions about ANSYS parameters. - - type - Probabilistic design variable type. This is the statistical - distribution type. For more information on each of these types, see - Probabilistic Design in the Advanced Analysis Guide. - - BETA - Beta distributed random variable. - - PAR1 = Shape parameter. Defaults to 2.0. - PAR2 = Shape parameter. Defaults to 2.0. - - PAR3 = Lower minimum value. Defaults to 0.0. - PAR4 = Upper maximum value. Defaults to 1.0. - - EXPO - Exponential distributed random variable. - - PAR1 = Decay parameter λ. Must be larger then 0.0 and defaults to 1.0. - PAR2 = Shift or minimum value. Defaults to 0.0. - - PAR3, PAR4 are ignored. - GAMA + option + Flag to activate or deactivate the rigid response calculation: - Gamma distributed random variable. - PAR1 = Decay parameter λ. Must be larger then 0.0 and defaults to 1.0. + 1 (ON or YES) - Activate. - PAR2 = Exponential parameter k. Must be larger then 0.0 and defaults to 1.0. - PAR3, PAR4 are ignored. Exponential distributed random variable. + 2 (OFF or NO) - Deactivate. This value is the default. - GAUS - Gaussian (Normal) distributed random variable. + method + Method used to calculate the rigid response: - PAR1 = Mean value. Defaults to 0.0. - PAR2 = Standard deviation. Must be larger then 0.0 and defaults to 1.0. + GUPTA - Gupta method. - PAR3, PAR4 are ignored. - LOG1 + LINDLEY - Lindley-Yow method. - Lognormal distributed random variable specified directly with the statistical parameters mean value and standard deviation. - PAR1 = Mean value. Must be larger then 0.0 and defaults to 1.0. + val1 + If Method = GUPTA, Val1 represents the frequency F1 in Hertz. - PAR2 = Standard deviation. Must be larger then 0.0 and defaults to 1.0. - PAR3, PAR4 are ignored. + val2 + If Method = GUPTA, Val2 represents the frequency F2 in Hertz. - LOG2 - Lognormal distributed random variable specified with the statistical parameters - mean value and standard deviation of the logarithm of the - random values. + Notes + ----- + This rigid response calculation is only valid for single point response + spectrum analysis (SPOPT, SPRS) and multiple point response spectrum + analysis (SPOPT, MPRS) with combination methods (SRSS), complete + quadratic (CQC) or Rosenblueth (ROSE) - PAR1 and PAR2 must also be defined. PAR1 = Mean value of the logarithm of the data. Defaults to 0.0. - PAR2 = Standard deviation of the logarithm of the data. Must be larger then 0.0 - and defaults to 1.0. + This command is also valid in PREP7. - PAR3, PAR4 are ignored. - UNIF + Only Sptype = SPRS is allowed in ANSYS Professional. - Uniform distributed random variable. Note that PAR1 must be less than PAR2. - PAR1 = Minimum value. Defaults to 0.0. + """ + command = "RIGRESP,%s,%s,%s,%s" % (str(option), str(method), str(val1), str(val2)) + self.RunCommand(command, **kwargs) - PAR2 = Maximum value. Defaults to 1.0. - PAR3, PAR4 are ignored. + def Physics(self, option="", title="", fname="", ext="", **kwargs): + """ + APDL Command: PHYSICS - TGAU - Truncated Gaussian distributed random variable. Note that PAR3 must be less - than PAR4. + Writes, reads, or lists all element information - PAR1 = Mean value of the untruncated Gaussian distribution. Defaults to 0.0. - PAR2 = Standard deviation of the untruncated Gaussian distribution. Must be - larger then 0.0 and defaults to 1.0. + Parameters + ---------- + option + Specifies what to do with element information: - PAR3 = Minimum value and lower truncation boundary. Defaults to -3.0. - PAR4 = Maximum value and upper truncation boundary. Defaults to +3.0. + WRITE - Write all appropriate element types, key options, real constants, material + properties, solution analysis options, load step options, + constraint equations, coupled nodes, defined components, + and GUI preference settings to the file specified with the + Fname and Ext arguments. - TRIA - Triangular distributed random variable. Note that PAR1 must be less than PAR2 - which must be less than PAR3. + READ - Deletes all solution information (material properties, solution options, load + step options, constraint equations, coupled nodes, results, + and GUI preference settings) then reads all the information + listed above into the ANSYS database from the location + specified by the Fname and Ext arguments. - PAR1 = Minimum value. Defaults to 0.0. - PAR2 = Most Likely Value (MLV). Defaults to 0.5. + LIST - Lists currently defined physics files and their titles. - PAR3 = Maximum value. Defaults to 1.0. - PAR4 is ignored. + DELETE - Deletes a specified physics file and its title from the database. - WEIB - Weibull (Type III smallest) distributed random variable. Note that PAR2 must be - greater than PAR3. If PAR3 = 0.0, the random distribution is - equivalent to a two-parameter Weibull distribution. + CLEAR - Deletes all material properties, solution options, load step options, + constraint equations, coupled nodes, results, and GUI + preference settings from the database. Does NOT clear the + active physics file title from the database. - PAR1 = Weibull exponent. Must be larger then 0.0 and defaults to 1.0. - PAR2 = Characteristic value. Must be larger then 0.0 and defaults to 1.0. + STATUS - Displays information about all active elements and settings. - PAR3 = Shift or minimum value. Defaults to 0.0. - PAR4 is ignored. + title + A user-defined title that quickly identifies a set of physics + settings. For example, you might use "Fluid," "Structural," or + "Magnetic" as titles. A title can contain up to 64 characters. It + can be entered in lower or upper case. Lower case is internally + converted to upper case within the program. - RESP - Random output or response parameter.PAR1 to PAR4 are not used. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - DEL - Deletes this probabilistic design variable (does not delete the ANSYS - parameter). This option is only valid if the parameter Name - was previously defined as a probabilistic design variable - (using Type = BETA, ..., WEIB or Type = RESP). The parameter - retains the value assigned during the last probabilistic - design loop.PAR1 to PAR4 are not used. + ext + Filename extension (eight-character maximum). - par1, par2, par3, par4 - Parameters of the distribution function. The parameters must be - specified according to the requirements of the individual - distribution types described above. + -- + Unused field. Notes ----- - Specifies the parameters to be treated as probabilistic design - variables. A random input variable is specified by the name of the - ANSYS parameter, the type of the distribution function (Type) and its - distribution parameters (PAR1, ..., PAR4). A random output parameter is - specified by the name of the ANSYS parameter and the type identifying - it as a random output parameter (Type = RESP). - - """ - command = "PDVAR, %s, %s, %s, %s, %s, %s" % (str(name), str(type), str(par1), str(par2), str(par3), str(par4)) - self.RunCommand(command, **kwargs) - - def Smbody(self, **kwargs): - """ - APDL Command: SMBODY - - Specifies "Body loads on the solid model" as the subsequent status - topic. + Use the PHYSICS command when you are performing a multiphysics analysis + that involves two different disciplines (for example, magnetic and + structural analyses) and you cannot solve both analyses simultaneously. + Once you have set up physics environments for both analyses, you can + use the PHYSICS,READ command to change between the defined physics + environments. For more information about doing multiphysics analyses, + see Sequential Coupled-Field Analysis in the Coupled-Field Analysis + Guide. - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + The PHYSICS command outputs all solution information, including + analysis options, to the Jobname.PHn file described above. Although it + also outputs components, the ANSYS program does not list entities + (nodes, elements, lines, etc.). - If entered directly into the program, the STAT command should - immediately follow this command. + PHYSICS,WRITE will overwrite existing physics files with the same title + (even if the name is different). In other words, if the directory has a + physics file with the same title as the active physics file title, but + a different name, the PHYSICS,WRITE command will overwrite the existing + physics file and use the existing filename, not the filename specified + on the PHYSICS,WRITE command. """ - command = "SMBODY, " % () + command = "PHYSICS,%s,%s,%s,%s" % (str(option), str(title), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Dof(self, lab1="", lab2="", lab3="", lab4="", lab5="", lab6="", - lab7="", lab8="", lab9="", lab10="", **kwargs): + def Torqsum(self, cnam1="", cnam2="", cnam3="", cnam4="", cnam5="", + cnam6="", cnam7="", cnam8="", cnam9="", **kwargs): """ - APDL Command: DOF + APDL Command: TORQSUM - Adds degrees of freedom to the current DOF set. + Summarizes electromagnetic torque calculations on element components. Parameters ---------- - lab1, lab2, lab3, . . . , lab10 - Valid labels are: UX, UY, UZ (structural displacements); ROTX, - ROTY, ROTZ (structural rotations); TEMP, TBOT, TE2, TE3, . . ., - TTOP (temperatures); PRES (pressure); VOLT (voltage); MAG - (magnetic scalar potential); AX, AY, AZ (magnetic vector - potentials); CURR (current); EMF (electromotive force drop); CONC - (concentration); DELETE. + cnam1, cnam2, cnam3, . . . , cnam9 + Names of existing element components for which Maxwell or virtual + work boundary conditions were applied in the preprocessor. Must be + enclosed in single quotes (e.g., 'CNAM1') when the command typed in + the command input box. Notes ----- - The degree of freedom (DOF) set for the model is determined from all - element types defined. This command may be used to add to the current - set. The ALL label may be used on some commands to represent all - labels of the current degree of freedom set for the model. Issue the - DOF command with no arguments to list the current set. Use the DELETE - label to delete any previously added DOFs and return to the default DOF - set. + TORQSUM invokes an ANSYS macro that summarizes the Maxwell and virtual + work torque values. The element components must have had appropriate + Maxwell or virtual work boundary conditions established in the + preprocessor prior to solution in order to retrieve torques (see the + FMAGBC command). The torque values are stored on a per-element basis + for the adjacent air layer elements surrounding the components and are + retrieved and summed by the macro. For a harmonic analysis, the + calculated torque represents a time-average value. + + TORQSUM is valid only for 2-D planar analysis. """ - command = "DOF, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(lab1), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6), str(lab7), str(lab8), str(lab9), str(lab10)) + command = "TORQSUM,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(cnam1), str(cnam2), str(cnam3), str(cnam4), str(cnam5), str(cnam6), str(cnam7), str(cnam8), str(cnam9)) self.RunCommand(command, **kwargs) - def Eigen(self, kmatrix="", mmatrix="", cmatrix="", evals="", evects="", - **kwargs): + def Center(self, node="", node1="", node2="", node3="", radius="", + **kwargs): """ - APDL Command: *EIGEN + APDL Command: CENTER - Performs a modal solution with unsymmetric or damping matrices. + Defines a node at the center of curvature of 2 or 3 nodes. Parameters ---------- - kmatrix - Name of the stiffness matrix. May be a real or complex-valued - matrix. - - mmatrix - Name of the mass matrix. - - cmatrix - Name of the damping matrix (used only for MODOPT,DAMP). - - evals - Name of the output eigenvalues vector. It will be an m-long *VEC - vector of complex values, where m is the number of eigenvalues - requested (MODOPT). + node + Number to be assigned to the node generated at the center of + curvature. - evects - Name of the output eigenvector matrix. It will be a n x m *DMAT - (dense) matrix of complex values, where n is the size of the matrix - and m is the number of eigenvalues requested (MODOPT). + node1, node2, node3 + Three nodes used to calculated the center of curvature, as + described under RADIUS. - Notes - ----- - Use the command ANTYPE,MODAL and the MODOPT command to specify the - modal solution options. Only MODOPT,DAMP, MODOPT,UNSYM, MODOPT,LANB, - and MODOPT,SUBSP are supported. + radius + Used to control the interpretation of NODE1, NODE2 and NODE3: - *EIGEN with Block Lanczos (LANB) only supports sparse matrices. + 0 - NODE1, NODE2 and NODE3 lie on a circular arc. The program will calculate the + center of curvature (and radius) (default). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + ≠0 - NODE1 and NODE2 are the endpoints of an arc, and RADIUS is the radius of + curvature. The program will locate the center of curvature on + the NODE3 side of the NODE1-NODE2 line if RADIUS > 0, and + opposite to NODE3 if RADIUS < 0. """ - command = "*EIGEN, %s, %s, %s, %s, %s" % (str(kmatrix), str(mmatrix), str(cmatrix), str(evals), str(evects)) + command = "CENTER,%s,%s,%s,%s,%s" % (str(node), str(node1), str(node2), str(node3), str(radius)) self.RunCommand(command, **kwargs) - def Nwplan(self, wn="", norig="", nxax="", nplan="", **kwargs): + def Modseloption(self, dir1="", dir2="", dir3="", dir4="", dir5="", dir6 + ="", **kwargs): """ - APDL Command: NWPLAN + APDL Command: MODSELOPTION - Defines the working plane using three nodes. + Specifies the criteria for selecting the modes to be expanded. Parameters ---------- - wn - Window number whose viewing direction will be modified to be normal - to the working plane (defaults to 1). If WN is a negative value, - the viewing direction will not be modified. If fewer than three - points are used, the viewing direction of window WN will be used - instead to define the normal to the working plane. - - norig - Node number defining the origin of the working plane coordinate - system. If NORIG = P, graphical picking is enabled and all - remaining command fields are ignored (valid only in the GUI). - - nxax - Node number defining the x-axis orientation (defaults to the x-axis - being parallel to the global X-axis; or if the normal to the - working plane is parallel to the global X-axis, then defaults to - being parallel to the global Y-axis). - - nplan - Node number defining the working plane (the normal defaults to the - present display view [/VIEW] of window WN). + dir1, dir2, …, dir6 + Selection of the direction to be expanded. Notes ----- - Defines a working plane to assist in picking operations using three - nodes as an alternate to the WPLANE command. The three nodes also - define the working plane coordinate system. A minimum of one node (at - the working plane origin) is required. Immediate mode may also be - active. See the WPSTYL command to set the style of the working plane - display. + This command is only applicable when a mode selection method is defined + (ModeSelMethod on the MXPAND command). See Using Mode Selection in the + Mechanical APDL Structural Analysis Guide for more details. - This command is valid in any processor. + If a numerical value is specified for a direction, the significance + threshold (SIGNIF on the MXPAND command) is ignored for the selection + of the modes in this direction. + + If a mode is determined to be expanded in any of the 6 directions, it + will be expanded in the .MODE file. : Otherwise, the mode will not be + expanded. + + The default behavior is to consider all directions for expansion. """ - command = "NWPLAN, %s, %s, %s, %s" % (str(wn), str(norig), str(nxax), str(nplan)) + command = "MODSELOPTION,%s,%s,%s,%s,%s,%s" % (str(dir1), str(dir2), str(dir3), str(dir4), str(dir5), str(dir6 )) self.RunCommand(command, **kwargs) - def Prenergy(self, energytype="", cname1="", cname2="", cname3="", - cname4="", cname5="", cname6="", **kwargs): + def Erefine(self, ne1="", ne2="", ninc="", level="", depth="", post="", + retain="", **kwargs): """ - APDL Command: PRENERGY + APDL Command: EREFINE - Prints the total energies of a model or the energies of the specified - components. + Refines the mesh around specified elements. Parameters ---------- - energytype - Type of energies to be printed: + ne1, ne2, ninc + Elements (NE1 to NE2 in increments of NINC) around which the mesh + is to be refined. NE2 defaults to NE1, and NINC defaults to 1. If + NE1 = ALL, NE2 and NINC are ignored and all selected elements are + used for refinement. If NE1 = 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 NE1 (NE2 and NINC are + ignored). - ALL - All energies are printed: potential, kinetic, artificial hourglass/drill - stiffness, contact stabilization energy, and artificial - stabilization energy when applicable. This is the default. + level + Amount of refinement to be done. Specify the value of LEVEL as an + integer from 1 to 5, where a value of 1 provides minimal + refinement, and a value of 5 provides maximum refinement (defaults + to 1). - SENE - Potential energy. + depth + Depth of mesh refinement in terms of number of elements outward + from the indicated elements, NE1 to NE2 (defaults to 0). - KENE - Kinetic energy. + post + Type of postprocessing to be done after element splitting, in order + to improve element quality: - cname1, cname2, cname3,… - Component names for energies of the components printout. + OFF - No postprocessing will be done. + + SMOOTH - Smoothing will be done. Node locations may change. + + CLEAN - Smoothing and cleanup will be done. Existing elements may be deleted, and node + locations may change (default). + + retain + Flag indicating whether quadrilateral elements must be retained in + the refinement of an all-quadrilateral mesh. (The ANSYS program + ignores the RETAIN argument when you are refining anything other + than a quadrilateral mesh.) + + ON - The final mesh will be composed entirely of quadrilateral elements, regardless + of the element quality (default). + + OFF - The final mesh may include some triangular elements in order to maintain + element quality and provide transitioning. Notes ----- - The PRENERGY command prints out either the total energies of the entire - model or the energies of the components depending on the Cname1 - specification. + EREFINE performs local mesh refinement around the specified elements. + By default, the surrounding elements are split to create new elements + with 1/2 the edge length of the original elements (LEVEL = 1). - Only existing components based on elements (defined with the CM - command) are supported when component energies are listed. + EREFINE refines all area elements and tetrahedral volume elements that + are adjacent to the specified elements. Any volume elements that are + adjacent to the specified elements, but are not tetrahedra (for + example, hexahedra, wedges, and pyramids), are not refined. - This command applies to structural elements only. + You cannot use mesh refinement on a solid model that contains initial + conditions at nodes [IC], coupled nodes [CP family of commands], + constraint equations [CE family of commands], or boundary conditions or + loads applied directly to any of its nodes or elements. This applies to + nodes and elements anywhere in the model, not just in the region where + you want to request mesh refinement. If you have detached the mesh + from the solid model, you must disable postprocessing cleanup or + smoothing (POST = OFF) after the refinement to preserve the element + attributes. + + For additional restrictions on mesh refinement, see Revising Your Model + in the Modeling and Meshing Guide. + + This command is also valid for rezoning. """ - command = "PRENERGY, %s, %s, %s, %s, %s, %s, %s" % (str(energytype), str(cname1), str(cname2), str(cname3), str(cname4), str(cname5), str(cname6)) + command = "EREFINE,%s,%s,%s,%s,%s,%s,%s" % (str(ne1), str(ne2), str(ninc), str(level), str(depth), str(post), str(retain)) self.RunCommand(command, **kwargs) - def Cm(self, cname="", entity="", **kwargs): + def Eddc(self, option="", ctype="", cont="", targ="", **kwargs): """ - APDL Command: CM + APDL Command: EDDC - Groups geometry items into a component. + Deletes or deactivates/reactivates contact surface specifications in an + explicit dynamic analysis. Parameters ---------- - cname - An alphanumeric name used to identify this component. Cname may be - up to 32 characters, beginning with a letter and containing only - letters, numbers, and underscores. Component names beginning with - an underscore (e.g., _LOOP) are reserved for use by ANSYS and - should be avoided. Components named “ALL,” “STAT,” and “DEFA” are - not permitted. Overwrites a previously defined name. - - entity - Label identifying the type of geometry items to be grouped: + option + Option to be performed for contact definition specified by Ctype, + Cont, and Targ. - VOLU - Volumes. + DELE - Delete the specified contact definition (default); valid only in a new + analysis. - AREA - Areas. + DACT - Deactivate the specified contact definition; valid only in a small restart. - LINE - Lines. + RACT - Reactivate the specified contact definition (which was previously deactivated); + valid only in a small restart. - KP - Keypoints. + ctype + Contact behavior label (see EDCGEN command for valid labels). - ELEM - Elements. + cont + Component name or part number [EDPART] identifying the contact + surface. - NODE - Nodes. + targ + Component name or part number [EDPART] identifying the target + surface. Notes ----- - Components may be further grouped into assemblies [CMGRP]. The - selected items of the specified entity type will be stored as the - component. Use of this component in the select command [CMSEL] causes - all these items to be selected at once, for convenience. + This command allows you to delete or deactivate/reactivate a particular + contact specification that was defined by EDCGEN. The contact + definition is identified by Ctype, Cont, and Targ (Note that Cont and + Targ may not be required for Ctype = AG, SE, ASSC, ESS, and SS). The + delete option (Option = DELE) permanently deletes the contact from the + database. Any additional contact parameters defined with the EDCMORE + command for the contact definition identified on this command will also + be deleted or deactivated/reactivated. - A component is a grouping of some geometric entity that can then be - conveniently selected or unselected. A component may be redefined by - reusing a previous component name. The following entity types may - belong to a component: nodes, elements, keypoints, lines, areas, and - volumes. A component may contain only 1 entity type, but an individual - item of any entity may belong to any number of components. Once - defined, the items contained in a component may then be easily selected - or unselected [CMSEL]. Components may be listed [CMLIST], modified - [CMMOD] and deleted [CMDELE]. Components may also be further grouped - into assemblies [CMGRP]. Other entities associated with the entities - in a component (e.g., the lines and keypoints associated with areas) - may be selected by the ALLSEL command. + You cannot delete contact specifications in an explicit dynamic small + restart (EDSTART,2). However, you can use Option = DACT to deactivate a + contact definition that is not needed in the small restart. That + contact definition may then be reactivated in a subsequent small + restart by using Option = RACT. - An item will be deleted from a component if it has been deleted by - another operation (see the KMODIF command for an example). Components - are automatically updated to reflect deletions of one or more of their - items. Components are automatically deleted and a warning message is - issued if all their items are deleted. Assemblies are also - automatically updated to reflect deletions of one or more of their - components or subassemblies, but are not deleted if all their - components and subassemblies are deleted. + To delete or deactivate/reactivate all contact specifications for the + entire model, use EDDC,Option,ALL. - This command is valid in any processor. + The EDDC command is not supported in an explicit dynamic full restart + analysis (EDSTART,3). Thus, you cannot delete, deactivate, or + reactivate contact specifications in a full restart that were defined + in the previous analysis. + + This command is also valid in SOLUTION. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "CM, %s, %s" % (str(cname), str(entity)) + command = "EDDC,%s,%s,%s,%s" % (str(option), str(ctype), str(cont), str(targ)) self.RunCommand(command, **kwargs) - def Sadd(self, labr="", lab1="", lab2="", fact1="", fact2="", const="", - **kwargs): + def Asifile(self, opt="", fname="", ext="", oper="", kdim="", kout="", + limit="", **kwargs): """ - APDL Command: SADD + APDL Command: ASIFILE + + Writes or reads one-way acoustic-structural coupling data. + + Parameters + ---------- + opt + Command behavior option: + + WRITE - Write the structural results to the specified file. + + READ - Read the structural results from the specified file. + + fname + File name and directory path of a one-way acoustic-structural + coupling data file (248 characters maximum, including the + characters needed for the directory path). An unspecified directory + path defaults to the working directory; in this case, you can use + all 248 characters for the file name (defaults to jobname). - Forms an element table item by adding two existing items. + ext + File name extension of the one-way acoustic-structural coupling + data file (defaults to .asi). - Parameters - ---------- - labr - Label assigned to results. If same as existing label, the existing - values will be overwritten by these results. + oper + Command operation: - lab1 - First labeled result item in operation. + NOMAP - No mapping occurs between the structural and acoustic models when reading the + structural results from the specified file (default). - lab2 - Second labeled result item in operation (may be blank). + MAP - Maps the results from the structural to the acoustic model. (See "Notes".) - fact1 - Scale factor applied to Lab1. A (blank) or '0' entry defaults to - 1.0. + kdim + Interpolation criteria. Valid only when Oper = MAP. - fact2 - Scale factor applied to Lab2. A (blank) or '0' entry defaults to - 1.0. + kout + Outside region results. Valid only when Oper = MAP. - const - Constant value. + limit + Number of nearby nodes considered for interpolation. Valid only + when Oper = MAP. Notes ----- - Forms a labeled result (see ETABLE command) for the selected elements - by adding two existing labeled result items according to the operation: + The ASIFILE command writes to, or reads from, a file containing one-way + acoustic-structural coupling data. - LabR = (FACT1 x Lab1) + (FACT2 x Lab2) + CONST + Results data on the one-way coupling interface (defined by the + SF,,FSIN) in the structural model are written to the one-way coupling + result data file during the structural solution. - May also be used to scale results for a single labeled result item. If - absolute values are requested [SABS,1], absolute values of Lab1 and - Lab2 are used. + One-way coupling results data are read into the acoustic model as the + velocity (harmonic) or acceleration (transient) excitation during the + sequential acoustic solution. - """ - command = "SADD, %s, %s, %s, %s, %s, %s" % (str(labr), str(lab1), str(lab2), str(fact1), str(fact2), str(const)) - self.RunCommand(command, **kwargs) + If Oper = NOMAP, both structural and acoustic models must share the + same node number on the one-way coupling interface. - def Smin(self, labr="", lab1="", lab2="", fact1="", fact2="", **kwargs): - """ - APDL Command: SMIN + If Oper = MAP: - Forms an element table item from the minimum of two other items. + The one-way coupling interface must be defined in the acoustic model + (SF,,FSIN) such that it corresponds to the field-surface interface + number (FSIN) in the structural model. - Parameters - ---------- - labr - Label assigned to results. If same as existing label, the existing - values will be overwritten by these results. + The output points are correct only if they are within the boundaries + set via the specified input points. - lab1 - First labeled result item in operation. + Calculations for out-of-bound points require much more processing time + than do points that are within bounds. - lab2 - Second labeled result item in operation (may be blank). + For each point in the acoustic destination mesh, the command searches + all possible triangles in the structural source mesh to find the best + triangle containing each point, then performs a linear interpolation + inside this triangle. For faster and more accurate results, consider + your interpolation method and search criteria carefully (see LIMIT). - fact1 - Scale factor applied to Lab1. A (blank) or '0' entry defaults to - 1.0. + One-way coupling excitation can be applied to multiple frequencies or + time steps. - fact2 - Scale factor applied to Lab2. A (blank) or '0' entry defaults to - 1.0. + """ + command = "ASIFILE,%s,%s,%s,%s,%s,%s,%s" % (str(opt), str(fname), str(ext), str(oper), str(kdim), str(kout), str(limit)) + self.RunCommand(command, **kwargs) + + def Icdele(self, **kwargs): + """ + APDL Command: ICDELE + + Deletes initial conditions at nodes. Notes ----- - Forms a labeled result item (see ETABLE command) for the selected - elements by comparing two existing labeled result items according to - the operation: - - LabR = (FACT1 x Lab1) cmn (FACT2 x Lab2) + Deletes all initial conditions previously specified with the IC command + at all nodes. - where "cmn" means "compare and save minimum." If absolute values are - requested [SABS,1], the absolute values of Lab1 and Lab2 are used. + This command is also valid in PREP7. """ - command = "SMIN, %s, %s, %s, %s, %s" % (str(labr), str(lab1), str(lab2), str(fact1), str(fact2)) + command = "ICDELE," % () self.RunCommand(command, **kwargs) - def Ioptn(self, lab="", val1="", **kwargs): + def Fs(self, node="", nev="", nlod="", stitm="", c1="", c2="", c3="", + c4="", c5="", c6="", **kwargs): """ - APDL Command: IOPTN + APDL Command: FS - Controls options relating to importing a model. + Stores fatigue stress components at a node. Parameters ---------- - lab - Label identifying the import option. The meaning of VAL1 varies - depending on Lab. - - STAT - List overall status of import facilities, including current option values. - VAL1 is ignored. - - DEFA - Set default values for all import options. VAL1is ignored. - - MERG - Entity merge option. VAL1 can be: + node + Node number corresponding to this location. Used only to associate + a node with a new location or to find an existing location. - YES - Automatic merging is performed (default). + nev + Event number to be associated with these stresses (defaults to 1). - NO - No merging of entities. + nlod + Loading number to be associated with these stresses (defaults to + 1). - SOLID - Solid option. VAL1 can be: + stitm + Starting item number for entering stresses (defaults to 1). If 1, + data input in field C1 of this command is entered as the first item + in the list; if 7, data input in field C1 of this command is + entered as the seventh item in the list; etc. Items are as + follows: - YES - Solid is created automatically (default). + 1-6 - SX, SY, SZ, SXY, SYZ, SXZ total stress components - NO - No solid created. + 7 - Temperature - GTOLER - Entity merging tolerance. If IGES = SMOOTH, the GTOLER,VAL1 can be: + 8-13 - SX, SY, SZ, SXY, SYZ, SXZ membrane-plus-bending stress components. - DEFA - Use system defaults (default). + 14 - Time - FILE - Use tolerance from the imported file. + c1, c2, c3, . . . , c6 + Stresses assigned to six locations starting with STITM. If a value + is already in one of these locations, it will be redefined. A + blank retains the previous value (except in the C1 field, which + resets the STITM item to zero). - n - A user-specified tolerance value. + Notes + ----- + Stores fatigue stress components at a node as input on this command + instead of from the current data in the database. Stresses are stored + according to the event number and loading number specified. The + location is associated with that previously defined for this node [FL] + or else it is automatically defined. May also be used to modify any + previously stored stress components. Stresses input with this command + should be consistent with the global coordinate system for any FSNODE + or FSSECT stresses used at the same location. - IGES - IGES import option. VAL1 can be: + """ + command = "FS,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(node), str(nev), str(nlod), str(stitm), str(c1), str(c2), str(c3), str(c4), str(c5), str(c6)) + self.RunCommand(command, **kwargs) - STAT - List status of IGES related options in the output window. + def Rsfit(self, rslab="", slab="", name="", rmod="", ytrans="", yval="", + xfilt="", conf="", **kwargs): + """ + APDL Command: RSFIT - SMOOTH (or RV52) - Use more robust IGES revision 5.2 import function (default). + Fit a response surface for an output parameter in a solution set. - SMALL - Small areas option. VAL1 can be: + Parameters + ---------- + rslab + Response surface set label. Identifies the response surface results + for later postprocessing. This label can be used as Rlab for + postprocessing response surface results, and for evaluating the fit + results with RSPLOT and RSPRNT. You must have separate + identification labels for the solution sets and for the response + surface sets, because you can perform a response surface fit based + on Monte Carlo results. For this case, the original Monte Carlo + results are identified by the solution set label provided in the + PDEXE command and the results generated with the fitted response + surfaces are identified by the response surface set label (RSlab) + provided here. RSlab must not contain blanks. Maximum length of + this field is 16 characters; if this field contains more than 16 + characters, it will be truncated to 16 characters. - YES - Small areas are deleted (default). + slab + Solution set label that identifies the probabilistic analysis + containing the results to be fitted. This solution set label is + defined with the PDEXE command. - NO - Small areas are retained. + name + Parameter name. The parameter must have been previously defined as + a random output parameter with the PDVAR command. The result values + of this parameter (stored in the solution set identified by Slab) + are fitted as a function of all random input variables. - val1 - Additional input value as described under each Lab option. + rmod + Regression model to use for the evaluation of the response surface. - Notes - ----- - Controls various options during a model file transfer. A global solid - model tolerance (GTOLER) can be specified. + LIN - Regression model with linear terms only. - The SMALL,YES option (default) delete small areas and can cause - geometrical inconsistencies that could cause the import process to - abort. Retaining the small areas increases processor time and memory - usage. + QUAD - Regression model with linear and pure quadratic terms (no cross-terms). - The data is stored in the standard ANSYS graphics database. + QUAX - Regression model with linear and all quadratic terms (including cross-terms). + (Default.) - The IGES,SMOOTH (default) option is capable of reading in any rational - B-spline curve entity (type 126), or rational B-spline surface entity - (type 128) with a degree less than or equal to 20. Attempts to read in - B-spline curve or surface entities of degree higher than 20 may result - in error messages. + ytrans + Option for the transformation type applied to the output parameter + identified with Name. - If you issue the /CLEAR command, the IOPTN settings return to their - defaults. + NONE - The values of the output parameter Name are not transformed (default). - For MERG,YES, merging of coincident geometry items is performed - automatically when the IGESIN command is issued (that is, an internal - NUMMRG,KP command is issued). The model is merged with the - consideration tolerance (TOLER on NUMMRG) set equal to 0.75 * the - shortest distance between the endpoints of any active line. See the - NUMMRG command for more information about the tolerances. In most - cases, the default merging is appropriate. Use the IOPTN command when - you want to: + EXP - The values of the output parameter Name are transformed according to Y* = + exp(Y). The transformed values Y* are used for the fitting + process. - Disable merging operations. + LOGA - The values of the output parameter Name are transformed according to Y* = + loga(Y), where the basis a is specified by Yval. The + transformed values Y* are used for the fitting process. - Override the default merging and specify a global solid model tolerance - value (GTOLER). + yval + Value needed for Ytrans = LOGA, Ytrans = POW, and Ytrans = BOX. + Ignored for all other options of Ytrans. For Ytrans = LOGA and + Ytrans = POW, the default value is Yval = 1.0. For Ytrans = BOX, + the default value is Yval = 0.01. - Disable the automatic creation of solids (SOLID). + xfilt + Option that specifies if irrelevant terms of the regression model + should be filtered out. - The IOPTN command should be issued before the IGESIN command. You - cannot change these options after your model has been imported or - created. If you must change the options: + NONE - Regression term filtering is not done. A full regression model as specified + with the Rmod option is evaluated. - Clear the database (/CLEAR) or exit and restart the program. + FSR - Use the "forward-stepwise-regression" to automatically filter out individual + and irrelevant terms of the regression model. If irrelevant + terms are sorted out this leads to a smaller number of + coefficients to be determined in the regression analysis, + which then leads to increased accuracy of the coefficients of + the remaining terms in the regression model (default). - Set the correct options. + conf + Confidence level that is used to filter the terms of the regression + model if the Xfilt = FSR option has been selected. The value of + CONF must be between 0.0 and 1.0 (default is 0.95). The higher this + value, the more terms will be filtered out. Consequently, higher + CONF values lead to a fewer terms in the regression model. + Likewise, lower CONF values lead to more terms being included in + the regression model. - Reimport or recreate the model. + Notes + ----- + Evaluates a response surface for a random output parameter Name. The + result values for the parameter Name as stored in the solution set Slab + are fitted as a function of all random input parameters. There can be + only one response surface set for each solution set. A response surface + set can include the fitted response surfaces of one or more output + parameters. - This command is valid in any processor. + Note:: : If the RSFIT command is used for an existing response surface + set for which Monte Carlo simulations have already been generated using + the RSSIMS command then these Monte Carlo samples are deleted by the + RSFIT command. In this case they need to be generated again using the + RSSIMS command. It is necessary to delete the Monte Carlo simulations + in order to make sure that the samples, their statistics and + correlations are consistent with the response surfaces. """ - command = "IOPTN, %s, %s" % (str(lab), str(val1)) + command = "RSFIT,%s,%s,%s,%s,%s,%s,%s,%s" % (str(rslab), str(slab), str(name), str(rmod), str(ytrans), str(yval), str(xfilt), str(conf)) self.RunCommand(command, **kwargs) - def Eread(self, fname="", ext="", **kwargs): + def Cmsfile(self, option="", fname="", ext="", cmskey="", **kwargs): """ - APDL Command: EREAD + APDL Command: CMSFILE - Reads elements from a file. + Specifies a list of component mode synthesis (CMS) results files for + plotting results on the assembly. Parameters ---------- + option + Specifies the command operation: + + ADD - Add the specified component results file (Fname) to the list of files to plot. + This option is the default. + + DELETE - Remove the specified component results file (Fname) from the list of files to + plot. + + LIST - List all specified component results files. + + CLEAR - Clear all previous files added. + + ALL - Add all component results (.rst) files from the working directory to the list + of files to plot. + fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + The file name (with full directory path) of the component results + file. The default file name is the Jobname (specified via the + /FILNAME command). ext - Filename extension (eight-character maximum). + The file name (Fname) extension. The default extension is .rst. - -- - Unused field. + cmskey + Valid only when adding a results file (Option = ADD or ALL), this + key specifies whether or not to check the specified .rst file to + determine if it was created via a CMS expansion pass: + + ON - Check (default). + + OFF - Do not check. Notes ----- - This read operation is not necessary in a standard ANSYS run but is - provided as a convenience to users wanting to read a coded element - file, such as from another mesh generator or from a CAD/CAM program. - Data should be formatted as produced with the EWRITE command. If - issuing EREAD to acquire element information generated from ANSYS - EWRITE, you must also issue NREAD before the EREAD command. The element - types [ET] must be defined before the file is read so that the file may - be read properly. Only elements that are specified with the ERRANG - command are read from the file. Also, only elements that are fully - attached to the nodes specified on the NRRANG command are read from the - file. Elements are assigned numbers consecutively as read from the - file, beginning with the current highest database element number plus - one. The file is rewound before and after reading. Reading continues - until the end of the file. + The CMSFILE command specifies the list of component mode synthesis + (CMS) results files to include when plotting the mode shape of an + assembly. - """ - command = "EREAD, %s, %s" % (str(fname), str(ext)) - self.RunCommand(command, **kwargs) + During postprocessing (/POST1) of a CMS analysis, issue the CMSFILE + command to point to component results files of interest. (You can issue + the command as often as needed to include all or some of the component + results files.) Issue the SET command to acquire the frequencies and + mode shapes from substeps for all specified results files. Execute a + plot (PLNSOL) or print (PRNSOL) operation to display the mode shape of + the entire assembly. - def Eof(self, **kwargs): - """ - APDL Command: /EOF + When you specify a results file to add to the plot list, the default + behavior of the command (CmsKey = ON) is to first verify that the file + is from a CMS analysis and that the frequencies of the result sets on + the file match the frequencies on the first file in the list. If CmsKey + = OFF, you can add any .rst file to the list of files to plot, even if + the file was not expanded via a CMS expansion pass. - Exits the file being read. + If CmsKey = ON (default), output from the command appears as: ADD CMS + FILE = filename.rst. : If CmsKey = OFF, output from the command appears + as: ADD FILE = filename.rst. - Notes - ----- - Causes an end-of-file exit when encountered on a switched file (see - /INPUT, *USE, etc.). Commands are then read continuing from the file - that contained the file switching command (or from the terminal if the - switch was made from the terminal). Use the /EXIT command to terminate - an ANSYS run. This command cannot be used in a do-loop or if-then-else - construct. + If Option = DELETE or CLEAR, you must clear the database (/CLEAR), then + re-enter the postprocessor (/POST1) and issue a SET command for the + change to take effect on subsequent plots. - This command is valid in any processor. + Clearing the database does not clear the list of files specified via + the CMSFILE command. Specify Option = CLEAR to clear the list of files. """ - command = "/EOF, " % () + command = "CMSFILE,%s,%s,%s,%s" % (str(option), str(fname), str(ext), str(cmskey)) self.RunCommand(command, **kwargs) - def Pngr(self, kywrd="", opt="", val="", **kwargs): + def Fill(self, node1="", node2="", nfill="", nstrt="", ninc="", itime="", + inc="", space="", **kwargs): """ - APDL Command: PNGR + APDL Command: FILL - Provides PNG file export for ANSYS displays. + Generates a line of nodes between two existing nodes. Parameters ---------- - kywrd - Specifies various PNG file export options. - - COMP - If Kywrd = COMP, then OPT is either ON or OFF (blank is interpreted as OFF). - This option allows you to turn PNG file compression ON or - OFF. If OPT = ON, then The VAL field is read to determine - the degree of compression. See the VALUE argument for - acceptable compression values. - - ORIENT - If Kywrd = ORIENT, then OPT will determine the orientation of the entire plot. - OPT can be either Horizontal (default) or Vertical. - - COLOR - If Kywrd = COLOR, then OPT will determine the color depth of the saved file. - OPT can be 0, 1, or 2, corresponding to Black and White, - Grayscale, and Color (default), respectively. - - TMOD - If Kywrd = TMOD, then OPT will determine the text method. OPT can be either 1 - or 0, corresponding to bitmap text (default) or line stroke - text, respectively. - - DEFAULT - If Kywrd = DEFAULT, then all of the default values, for all of the Kywrd - parameters listed above, are active. - - STAT - Shows the current status of PNG file export. - - opt - OPT can have the following names or values, depending on the value - for Kywrd (see above). - - ON, OFF - If Kywrd = COMP, the values On and Off control the use of compression. The - degree of compression is determined by VAL + node1, node2 + Beginning and ending nodes for fill-in. NODE1 defaults to next to + last node specified, NODE2 defaults to last node specified. If + NODE1 = P, graphical picking is enabled and all remaining command + fields are ignored (valid only in the GUI). - Horizontal, Vertical - If Kywrd = ORIENT, the terms Horizontal or Vertical determine the orientation - of the plot. + nfill + Fill NFILL nodes between NODE1 and NODE2 (defaults to + |NODE2-NODE1|-1). NFILL must be positive. - 0, 1, 2 - If Kywrd = COLOR, the numbers 0, 1, and 2 correspond to Black and White, - Grayscale and Color, respectively. + nstrt + Node number assigned to first filled-in node (defaults to NODE1 + + NINC). - 1, 0 - If Kywrd = TMOD, the values 1 and 0 determine whether bitmap (1) or stroke text - (0) fonts will be used + ninc + Add this increment to each of the remaining filled-in node numbers + (may be positive or negative). Defaults to the integer result of + (NODE2-NODE1)/(NFILL + 1), i.e., linear interpolation. If the + default evaluates to zero, or if zero is input, NINC is set to 1. - val - VAL is active only when Kywrd = COMP, and determines the degree of - compression applied to the exported file (see above). + itime, inc + Do fill-in operation a total of ITIMEs, incrementing NODE1, NODE2 + and NSTRT by INC each time after the first. ITIME and INC both + default to 1. - 1  - Apply the default, optimum value for compression. This value represents the - best combination of speed and compression. It varies according - to the release level of the ZLIB compression package. + space + Spacing ratio. Ratio of last division size to first division size. + If > 1.0, divisions increase. If < 1.0, divisions decrease. Ratio + defaults to 1.0 (uniform spacing). - 1-9  - Use this value to specify a specific compression level. 1 is the lowest - compression level (fastest) and 9 is the highest compression - level (slowest). + Notes + ----- + Generates a line of nodes (in the active coordinate system) between two + existing nodes. The two nodes may have been defined in any coordinate + system. Nodal locations and rotation angles are determined by + interpolation. Any number of nodes may be filled-in and any node + number sequence may be assigned. See the CSCIR command when filling + across the 180° singularity line in a non-Cartesian system. """ - command = "PNGR, %s, %s, %s" % (str(kywrd), str(opt), str(val)) + command = "FILL,%s,%s,%s,%s,%s,%s,%s,%s" % (str(node1), str(node2), str(nfill), str(nstrt), str(ninc), str(itime), str(inc), str(space)) self.RunCommand(command, **kwargs) - def Cdread(self, option="", fname="", ext="", fnamei="", exti="", - **kwargs): + def Lsymbol(self, x="", y="", symang="", symtyp="", symsiz="", keybmp="", + **kwargs): """ - APDL Command: CDREAD + APDL Command: /LSYMBOL - Reads a file of solid model and database information into the database. + Creates annotation symbols (GUI). Parameters ---------- - option - Selects which data to read: + x + X location for symbol (-1.0 < X < 2.0). - ALL - Read all geometry, material property, load, and component data (default). - Solid model geometry and loads will be read from the file - Fnamei.Exti. All other data will be read from the file - Fname.Ext. + y + Y location for symbol (-1.0 < Y < 1.0). - DB - Read all database information contained in file Fname.Ext. This file should - contain all information mentioned above except the solid model - loads. If reading a .CDB file written with the GEOM option of - the CDWRITE command, element types [ET] compatible with the - connectivity of the elements on the file must be defined prior - to reading. + symang + Symbol orientation angle. - SOLID - Read the solid model geometry and solid model loads from the file Fnamei.Exti. - This file could have been written by the CDWRITE or IGESOUT - command. + symtyp + Symbol type: - COMB - Read the combined solid model and database information from the file Fname.Ext. + 1 - Arrow. + + 2 - Tee. - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + 3 - Circle. - ext - Filename extension (eight-character maximum). + 4 - Triangle. - -- - Unused field. + 5 - Star. - fnamei - Name of the IGES file and its directory path (248 characters - maximum, including directory). If you do not specify a directory - path, it will default to your working directory and you can use all - 248 characters for the file name. + symsiz + Symbol size multiplier (0.1 to 20.0). Defaults to 1.0. - exti - Filename extension (eight-character maximum). + keybmp + If KEYBMP = 1, the annotation is a bitmap. SYMTYP will then be a + number from 1-99, indicating the bitmap type (see notes), and X and + Y will define the lower left corner of the bitmap. The SYMANG, + SYMSIZarguments are ignored. If KEYBMP = 0, or blank, then the + argument definitions above apply. Notes ----- - This command causes coded files of solid model (in IGES format) and - database (in command format) information to be read. These files are - normally written by the CDWRITE or IGESOUT command. Note that the - active coordinate system in these files has been reset to Cartesian - (CSYS,0). - - If a set of data exists prior to the CDREAD operation, that data set is - offset upward to allow the new data to fit without overlap. The - NOOFFSET command allows this offset to be ignored on a set-by-set - basis, causing the existing data set to be overwritten with the new - data set. - - When you write the geometry data using the CDWRITE,GEOM option, you use - the CDREAD,DB option to read the geometry information. + Defines annotation symbols to be written directly onto the display at a + specified location. This is a command generated by the GUI and will + appear in the log file (Jobname.LOG) if annotation is used. This + command is not intended to be typed in directly in an ANSYS session + (although it can be included in an input file for batch input or for + use with the /INPUT command). - Using the CDREAD,COMB option will not write NUMOFF commands to offset - entity ID numbers if there is no solid model in the database. + All symbols are shown on subsequent displays unless the annotation is + turned off or deleted. Use the /LSPEC command to set the attributes of + the symbol. - Multiple CDB file imports cannot have elements with real constants in - one file and section definitions in another. The section attributes - will override the real constant attributes. If you use CDREAD to - import multiple CDB files, define all of the elements using only real - constants, or using only section definitions. Combining real constants - and section definitions is not recommended. + The KEYBMP argument reads the symtype argument to determine which + bitmap to insert. This bitmap is defined by an integer between 1 and + 99. Numbers 1 through 40 correspond to the standard texture values + found in the /TXTRE command, while numbers 51 through 99 correspond to + user supplied bitmaps, as defined using the Filename option of the + /TXTRE command. Numbers 51 through 57 are predefined (the logos, clamps + and arrows available from the GUI) but can be overridden. Numbers 41 + through 50 are reserved. This command is valid in any processor. """ - command = "CDREAD, %s, %s, %s, %s, %s" % (str(option), str(fname), str(ext), str(fnamei), str(exti)) + command = "/LSYMBOL,%s,%s,%s,%s,%s,%s" % (str(x), str(y), str(symang), str(symtyp), str(symsiz), str(keybmp)) self.RunCommand(command, **kwargs) - def Lczero(self, **kwargs): + def Pdvar(self, name="", type="", par1="", par2="", par3="", par4="", + **kwargs): """ - APDL Command: LCZERO + APDL Command: PDVAR - Zeroes the results portion of the database. + Specifies the parameters to be treated as probabilistic design + variables. - Notes - ----- - Often used before the LCOPER command. Same as LCOPER,ZERO. + Parameters + ---------- + name + Parameter name (must be a scalar ANSYS parameter). The parameter + must have been previously defined as a random input variable or a + random output parameter with the PDVAR command. See the *SET + command for restrictions about ANSYS parameters. - """ - command = "LCZERO, " % () - self.RunCommand(command, **kwargs) + type + Probabilistic design variable type. This is the statistical + distribution type. For more information on each of these types, see + Probabilistic Design in the Advanced Analysis Guide. - def Monitor(self, var="", node="", lab="", **kwargs): - """ - APDL Command: MONITOR + BETA - Beta distributed random variable. - Controls contents of three variable fields in nonlinear solution - monitor file. + PAR1 = Shape parameter. Defaults to 2.0. - PAR2 = Shape parameter. Defaults to 2.0. - Parameters - ---------- - var - One of three variable field numbers in the monitor file whose - contents can be specified by the Lab field. Valid arguments are - integers 1, 2, or 3. See Notes section for default values. + PAR3 = Lower minimum value. Defaults to 0.0. - PAR4 = Upper maximum value. Defaults to 1.0. - node - The node number for which information is monitored in the specified - VAR field. In the GUI, if Node = P, graphical picking is enabled. - If blank, the monitor file lists the maximum value of the specified - quantity (Lab field) for the entire structure. + EXPO - Exponential distributed random variable. - lab - The solution quantity to be monitored in the specified VAR field. - Valid labels for solution quantities are UX, UY, and UZ - (displacements); ROTX, ROTY, and ROTZ (rotations); and TEMP - (temperature). Valid labels for reaction force are FX, FY, and FZ - (structural force) and MX, MY, and MZ (structural moment). Valid - label for heat flow rate is HEAT. For defaults see the Notes - section. + PAR1 = Decay parameter λ. Must be larger then 0.0 and defaults to 1.0. - PAR2 = Shift or minimum value. Defaults to 0.0. - Notes - ----- - The monitor file always has an extension of .mntr, and takes its file - name from the specified Jobname. If no Jobname is specified, the file - name defaults to file. + PAR3, PAR4 are ignored. - GAMA - You must issue this command once for each solution quantity you want to - monitor at a specified node at each load step. You cannot monitor a - reaction force during a linear analysis. The variable field contents - can be redefined at each load step by reissuing the command. The - monitored quantities are appended to the file for each load step. + Gamma distributed random variable. - PAR1 = Decay parameter λ. Must be larger then 0.0 and defaults to 1.0. - Reaction forces reported in the monitor file may be incorrect if the - degree of freedom of the specified node is involved in externally - defined coupling (CP command) or constraint equations (CE command), or - if the program has applied constraint equations internally to the node. + PAR2 = Exponential parameter k. Must be larger then 0.0 and defaults to 1.0. - PAR3, PAR4 are ignored. Exponential distributed random variable. - The following example shows the format of a monitor file. Note that - the file only records the solution substep history when a substep is - convergent. + GAUS - Gaussian (Normal) distributed random variable. - The following details the contents of the various fields in the monitor - file: + PAR1 = Mean value. Defaults to 0.0. - PAR2 = Standard deviation. Must be larger then 0.0 and defaults to 1.0. - The current load step number. + PAR3, PAR4 are ignored. - LOG1 - The current substep (time step) number. + Lognormal distributed random variable specified directly with the statistical parameters mean value and standard deviation. - PAR1 = Mean value. Must be larger then 0.0 and defaults to 1.0. - The number of attempts made in solving the current substep. This - number is equal to the number of failed attempts (bisections) plus one - (the successful attempt). + PAR2 = Standard deviation. Must be larger then 0.0 and defaults to 1.0. - PAR3, PAR4 are ignored. - The number of iterations used by the last successful attempt. + LOG2 - Lognormal distributed random variable specified with the statistical parameters + mean value and standard deviation of the logarithm of the + random values. - Total cumulative number of iterations (including each iteration used by - a bisection). + PAR1 and PAR2 must also be defined. PAR1 = Mean value of the logarithm of the data. Defaults to 0.0. - PAR2 = Standard deviation of the logarithm of the data. Must be larger then 0.0 + and defaults to 1.0. - : + PAR3, PAR4 are ignored. - UNIF - Time or load factor increments for the current substep. + Uniform distributed random variable. Note that PAR1 must be less than PAR2. - PAR1 = Minimum value. Defaults to 0.0. - Total time (or load factor) for the last successful attempt in the - current substep. + PAR2 = Maximum value. Defaults to 1.0. - PAR3, PAR4 are ignored. - Variable field 1. In this example, the field is reporting the UZ - value. By default, this field lists the CPU time used up to (but not - including) the current substep. + TGAU - Truncated Gaussian distributed random variable. Note that PAR3 must be less + than PAR4. - Variable field 2. In this example, the field is reporting the MZ - value. By default, this field lists the maximum displacement in the - entire structure. + PAR1 = Mean value of the untruncated Gaussian distribution. Defaults to 0.0. - PAR2 = Standard deviation of the untruncated Gaussian distribution. Must be + larger then 0.0 and defaults to 1.0. - Variable field 3. By default (and in the example), this field reports - the maximum equivalent plastic strain increment in the entire - structure. + PAR3 = Minimum value and lower truncation boundary. Defaults to -3.0. - PAR4 = Maximum value and upper truncation boundary. Defaults to +3.0. - """ - command = "MONITOR, %s, %s, %s" % (str(var), str(node), str(lab)) - self.RunCommand(command, **kwargs) + TRIA - Triangular distributed random variable. Note that PAR1 must be less than PAR2 + which must be less than PAR3. - def Pdef(self, lab="", item="", comp="", avglab="", **kwargs): - """ - APDL Command: PDEF + PAR1 = Minimum value. Defaults to 0.0. - PAR2 = Most Likely Value (MLV). Defaults to 0.5. - Interpolates an item onto a path. + PAR3 = Maximum value. Defaults to 1.0. - PAR4 is ignored. - Parameters - ---------- - lab - Label assigned to the resulting path item (8 characters maximum). - This item may be used as input for other path operations. + WEIB - Weibull (Type III smallest) distributed random variable. Note that PAR2 must be + greater than PAR3. If PAR3 = 0.0, the random distribution is + equivalent to a two-parameter Weibull distribution. - item - Label identifying the item for interpolation. Valid item labels - are shown in Table 216: PDEF - Valid Item and Component Labels - below. Some items also require a component label. + PAR1 = Weibull exponent. Must be larger then 0.0 and defaults to 1.0. - PAR2 = Characteristic value. Must be larger then 0.0 and defaults to 1.0. - comp - Component of the item (if required). Valid component labels are - shown in Table 216: PDEF - Valid Item and Component Labels below. + PAR3 = Shift or minimum value. Defaults to 0.0. - PAR4 is ignored. - avglab - Option to average across element boundaries: + RESP - Random output or response parameter.PAR1 to PAR4 are not used. - AVG - Average element results across elements (default). + DEL - Deletes this probabilistic design variable (does not delete the ANSYS + parameter). This option is only valid if the parameter Name + was previously defined as a probabilistic design variable + (using Type = BETA, ..., WEIB or Type = RESP). The parameter + retains the value assigned during the last probabilistic + design loop.PAR1 to PAR4 are not used. - NOAV - Do not average element results across elements. If the parameter DISCON = MAT - on the PMAP command, this option is automatically invoked. + par1, par2, par3, par4 + Parameters of the distribution function. The parameters must be + specified according to the requirements of the individual + distribution types described above. Notes ----- - Defines and interpolates a labeled path item along a predefined path - (PATH). Path item results are in the global Cartesian coordinate - directions unless transformed (RSYS). A path item must be defined - before it can be used with other path operations. Additional path - items may be defined from the PVECT, PCALC, PDOT, and PCROSS commands. - Path items may be listed (PRPATH) or displayed (PLPATH, PLPAGM). A - maximum number of path items permitted is established by the nSets - argument specified with the PATH command. - - When you create the first path item (PDEF or PVECT), the program - automatically interpolates four path items which are used to describe - the geometry of the path. These predefined items are the position of - the interpolated path points (labels XG, YG, and ZG) in global - Cartesian coordinates, and the path length (label S). For alternate - methods of mapping the path geometry (to include, for example, material - discontinuity) see the PMAP command. These items may also be listed or - displayed with the PRPATH, PLPATH, and PLPAGM commands. + Specifies the parameters to be treated as probabilistic design + variables. A random input variable is specified by the name of the + ANSYS parameter, the type of the distribution function (Type) and its + distribution parameters (PAR1, ..., PAR4). A random output parameter is + specified by the name of the ANSYS parameter and the type identifying + it as a random output parameter (Type = RESP). - If specifying that load case operations act on principal/equivalent - stresses (SUMTYPE,PRIN), derived quantities (principal and equivalent - stresses/strains) will be zero for path plots. A typical use for such a - case involves mode combinations in a response spectrum analysis. + """ + command = "PDVAR,%s,%s,%s,%s,%s,%s" % (str(name), str(type), str(par1), str(par2), str(par3), str(par4)) + self.RunCommand(command, **kwargs) - The number of interpolation points on the path is defined by the nDiv - argument on the PATH command. See Mapping Nodal and Element Data onto - the Path in the Mechanical APDL Theory Reference for details. Use - PDEF,STAT to list the path item labels. Use PDEF,CLEAR to erase all - labeled path items, except the path geometry items (XG, YG, ZG, S). + def Vinv(self, nv1="", nv2="", nv3="", nv4="", nv5="", nv6="", nv7="", + nv8="", nv9="", **kwargs): + """ + APDL Command: VINV - Table: 216:: : PDEF - Valid Item and Component Labels + Finds the intersection of volumes. - For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the - labels TBOT, TE2, TE3, ..., TTOP instead of TEMP. + Parameters + ---------- + nv1, nv2, nv3, . . . , nv9 + Numbers of volumes to be intersected. If NV1 = ALL, NV2 to NV9 are + ignored, and the intersection of all selected volumes is found. If + NV1 = 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 NV1. - For more information on the meaning of contact status and its possible - values, see Reviewing Results in POST1 in the Contact Technology Guide. + Notes + ----- + Finds the common (not pairwise) intersection of volumes. The common + intersection is defined as the regions shared (in common) by all + volumes listed on this command. New volumes will be generated where + the original volumes intersect. If the regions of intersection are + only areas, new areas will be generated instead. See the Modeling and + Meshing Guide for an illustration. See the BOPTN command for an + explanation of the options available to Boolean operations. Element + attributes and solid model boundary conditions assigned to the original + entities will not be transferred to the new entities generated. """ - command = "PDEF, %s, %s, %s, %s" % (str(lab), str(item), str(comp), str(avglab)) + command = "VINV,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nv1), str(nv2), str(nv3), str(nv4), str(nv5), str(nv6), str(nv7), str(nv8), str(nv9)) self.RunCommand(command, **kwargs) - def Lsla(self, type="", **kwargs): + def Clear(self, read="", **kwargs): """ - APDL Command: LSLA + APDL Command: /CLEAR - Selects those lines contained in the selected areas. + Clears the database. Parameters ---------- - type - Label identifying the type of line select: - - S - Select a new set (default). - - R - Reselect a set from the current set. + read + File read option: - A - Additionally select a set and extend the current set. + START - Reread start162.ans file (default). - U - Unselect a set from the current set. + NOSTART - Do not reread start162.ans file. Notes ----- - This command is valid in any processor. + Resets the ANSYS database to the conditions at the beginning of the + problem. Sets the import and Boolean options back to the ANSYS + default. All items are deleted from the database and memory values are + set to zero for items derived from database information. All files are + left intact. This command is useful between multiple analyses in the + same run, or between passes of a multipass analysis (such as between + the substructure generation, use, and expansion passes). Should not be + used in a do-loop since loop counters will be reset. The start162.ans + file will be reread (by default) after the database is cleared, unless + Read is set to NOSTART. Additional commands cannot be stacked (using + the $ separator) on the same line as the /CLEAR command. + + Use care when placing the /CLEAR command within branching constructs + (for example, those employing *DO or *IF commands). The command + deletes all parameters including the looping parameter for do-loops. + (You can preserve your iteration parameter by issuing a PARSAV command + prior to the /CLEAR command, then following the /CLEAR command with a + PARRES command.) + + /CLEAR resets the jobname to match the currently open session .LOG and + .ERR files. This will return the jobname to its original value, or to + the most recent value specified on /FILNAME with KEY = 1. + + This command is valid only at the Begin level. """ - command = "LSLA, %s" % (str(type)) + command = "/CLEAR,%s" % (str(read)) self.RunCommand(command, **kwargs) - def Cerig(self, m_aste="", slave="", ldof="", ldof2="", ldof3="", ldof4="", - ldof5="", **kwargs): + def Dscale(self, rfact="", ifact="", tb_ase="", **kwargs): """ - APDL Command: CERIG + APDL Command: DSCALE - Defines a rigid region. + Scales DOF constraint values. Parameters ---------- - maste - Retained (or master) node for this rigid region. If MASTE = P, - then graphical picking of the master and slave nodes is enabled - (first node picked will be the master node, and subsequent nodes - picked will be slave nodes), and subsequent fields are ignored - (valid only in GUI). + rfact + Scale factor for the real component. Zero (or blank) defaults to + 1.0. Use a small number for a zero scale factor. - slave - Removed (or slave) node for this rigid region. If ALL, slave nodes - are all selected nodes. + ifact + Scale factor for the imaginary component. Zero (or blank) defaults + to 1.0. Use a small number for a zero scale factor. - ldof - Degrees of freedom associated with equations: + 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. - ALL - All applicable degrees of freedom (default). If 3-D, generate 6 equations - based on UX, UY, UZ, ROTX, ROTY, ROTZ; if 2-D, generate 3 - equations based on UX, UY, ROTZ. + 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. - UXYZ - Translational degrees of freedom. If 3-D, generate 3 equations based on the - slave nodes' UX, UY, and UZ DOFs and the master node's UX, - UY, UZ, ROTX, ROTY, and ROTZ DOFs; if 2-D, generate 2 - equations based on the slave nodes UX and UY DOFs and the - master nodes UX, UY, and ROTZ DOFs. No equations are - generated for the rotational coupling. + Note:: : Such scaled FE boundary conditions may still be overwritten by + unscaled solid model boundary conditions if a subsequent boundary + condition transfer occurs. - RXYZ - Rotational degrees of freedom. If 3-D, generate 3 equations based on ROTX, - ROTY, ROTZ; if 2-D, generate 1 equation based on ROTZ. No - equations are generated for the translational coupling. + 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. - UX - Slave translational UX degree of freedom only. + DSCALE does not work for tabular boundary conditions. - UY - Slave translational UY degree of freedom only. + This command is also valid in PREP7. - UZ - Slave translational UZ degree of freedom only. + """ + command = "DSCALE,%s,%s,%s" % (str(rfact), str(ifact), str(tb_ase)) + self.RunCommand(command, **kwargs) - ROTX - Slave rotational ROTX degree of freedom only. + def Senergy(self, opt="", antype="", **kwargs): + """ + APDL Command: SENERGY - ROTY - Slave rotational ROTY degree of freedom only. + Determines the stored magnetic energy or co-energy. - ROTZ - Slave rotational ROTZ degree of freedom only. + Parameters + ---------- + opt + Item to be calculated: - ldof2, ldof3, ldof4, ldof5 - Additional degrees of freedom. Used only if more than one degree - of freedom required and Ldof is not ALL, UXYZ, or RXYZ. + 0 - Stored magnetic energy. - Notes - ----- - Defines a rigid region (link, area or volume) by automatically - generating constraint equations to relate nodes in the region. Nodes - in the rigid region must be assigned a geometric location before this - command is used. Also, nodes must be connected to elements having the - required degree of freedom set (see Ldof above). Generated constraint - equations are based on small deflection theory. Generated constraint - equations are numbered beginning from the highest previously defined - equation number (NEQN) plus 1. Equations, once generated, may be - listed [CELIST] or modified [CE] as desired. Repeat CERIG command for - additional rigid region equations. + 1 - Stored magnetic co-energy. - This command will generate the constraint equations needed for defining - rigid lines in 2-D or 3-D space. Multiple rigid lines relative to a - common point are used to define a rigid area or a rigid volume. In 2-D - space, with Ldof = ALL, three equations are generated for each pair of - constrained nodes. These equations define the three rigid body motions - in global Cartesian space, i.e., two in-plane translations and one in- - plane rotation. These equations assume the X-Y plane to be the active - plane with UX, UY, and ROTZ degrees of freedom available at each node. - Other types of equations can be generated with the appropriate Ldof - labels. + antype + Analysis type: - Six equations are generated for each pair of constrained nodes in 3-D - space (with Ldof = ALL). These equations define the six rigid body - motions in global Cartesian space. These equations assume that UX, UY, - UZ, ROTX, ROTY, and ROTZ degrees of freedom are available at each node. + 0 - Static or transient. - The UXYZ label allows generating a partial set of rigid region - equations. This option is useful for transmitting the bending moment - between elements having different degrees of freedom at a node. With - this option only two of the three equations are generated for each pair - of constrained nodes in 2-D space. In 3-D space, only three of the six - equations are generated. In each case the rotational coupling - equations are not generated. Similarly, the RXYZ label allows - generating a partial set of equations with the translational coupling - equations omitted. + 1 - Harmonic. - Applying this command to a large number of slave nodes may result in - constraint equations with a large number of coefficients. This may - significantly increase the peak memory required during the process of - element assembly. If real memory or virtual memory is not available, - consider reducing the number of slave nodes. + Notes + ----- + SENERGY invokes an ANSYS macro which calculates the stored magnetic + energy or co-energy for all selected elements. (For a harmonic + analysis, the macro calculates a time-averaged (rms) stored energy.) A + summary table listing the energy by material number is produced. The + energy density is also calculated and stored on a per-element basis in + the element table [ETABLE] with the label MG_ENG (energy density) or + MG_COENG (co-energy density). The macro erases all other items in the + element table [ETABLE] and only retains the energy density or co-energy + density. Use the PLETAB and PRETAB commands to plot and list the + energy density. The macro is valid for static and low-frequency + magnetic field formulations. The macro will not calculate stored + energy and co-energy for the following cases: - Note that under certain circumstances the constraint equations - generated by CERIG may be modified during the solution. See Program - Modification of Constraint Equations for more information. + Orthotropic nonlinear permanent magnets. - As an alternative to the CERIG command, you can define a similar type - of rigid region using contact elements and the internal multipoint - constraint (MPC) algorithm. See Surface-Based Constraints for more - information. + Orthotropic nonlinear permeable materials. - CERIG cannot be deleted using CEDELE,ALL and then regenerated in the - second or higher load steps if the LSWRITE and LSSOLVE procedure is - used. CERIG writes constraint equations directly into load step files. - Deleting constraint equations (CEDELE,ALL) cannot always maintain the - consistency among load steps. + Temperature dependent materials. + + SENERGY is restricted to MKSA units. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "CERIG, %s, %s, %s, %s, %s, %s, %s" % (str(m_aste), str(slave), str(ldof), str(ldof2), str(ldof3), str(ldof4), str(ldof5)) + command = "SENERGY,%s,%s" % (str(opt), str(antype)) self.RunCommand(command, **kwargs) - def Gcdef(self, option="", sect1="", sect2="", matid="", realid="", - **kwargs): + def Lsum(self, **kwargs): """ - APDL Command: GCDEF + APDL Command: LSUM - Defines interface interactions between general contact surfaces. + Calculates and prints geometry statistics of the selected lines. - Parameters - ---------- - option - Option to be performed. + Notes + ----- + Calculates and prints geometry statistics (length, centroid, moments of + inertia, etc.) associated with the selected lines. Geometry items are + reported in the global Cartesian coordinate system. A unit density is + assumed, irrespective of any material associations [LATT, MAT]. Items + calculated by LSUM and later retrieved by a *GET or *VGET command are + valid only if the model is not modified after the LSUM command is + issued. - (blank) - Retain the previous Option setting between SECT1 and SECT2. + """ + command = "LSUM," % () + self.RunCommand(command, **kwargs) - AUTO - Define auto asymmetric contact between surfaces SECT1 and SECT2. + def Edcgen(self, option="", cont="", targ="", fs="", fd="", dc="", vc="", + vdc="", v1="", v2="", v3="", v4="", btime="", dtime="", + boxid1="", boxid2="", **kwargs): + """ + APDL Command: EDCGEN - SYMM - Define symmetric contact between surfaces SECT1 and SECT2. + Specifies contact parameters for an explicit dynamics analysis. - ASYM - Define asymmetric contact with SECT1 as the source (contact) surface and SECT2 - as the target surface. + Parameters + ---------- + option + Label identifying the contact behavior (dictates the meaning of V1 + through V4). - EXCL - Exclude contact between surfaces SECT1 and SECT2. MATID and REALID are ignored. + AG - Automatic general contact. - DELETE - Remove the given definition from the GCDEF table. MATID and REALID are ignored. + ANTS - Automatic nodes-to-surface contact. - Note that GCDEF,DELETE,ALL,ALL does not remove the entire GCDEF table; it merely removes any existing GCDEF,,ALL,ALL definitions, while leaving intact any existing GCDEF definitions that are more specific. - To remove the entire GCDEF table, issue GCDEF,DELETE,TOTAL. + ASSC - Automatic single surface contact. - It is good practice to list all definitions using GCDEF,LIST,ALL,ALL before and after a GCDEF,DELETE command. - LIST + ASS2D - Automatic 2-D single surface contact. - List stored GCDEF data entries. MATID and REALID are ignored. GCDEF,LIST,ALL,ALL lists the entire GCDEF table, including more specific GCDEF definitions. - TABLE + ASTS - Automatic surface-to-surface contact. - sect1, sect2 - Section numbers representing general contact surfaces (no - defaults). Labels ALL and SELF are also valid input. See - SECT1/SECT2 Interactions for a description of how the various - inputs for SECT1 and SECT2 are interpreted. + DRAWBEAD - Drawbead contact - matid - Material ID number for general contact interaction properties at - the SECT1/SECT2 interface. If zero or blank, the previous setting - of MATID for SECT1/SECT2 (if any) is retained. + ENTS - Eroding nodes-to-surface contact. - realid - Real constant ID number for general contact interaction properties - at the SECT1/SECT2 interface. If zero or blank, the previous - setting of REALID for SECT1/SECT2 (if any) is retained. + ESS - Eroding single surface contact. - Notes - ----- - GCDEF defines the interface interaction between general contact - surfaces identified by SECT1 and SECT2. GCDEF commands are order - independent in most cases. + ESTS - Eroding surface-to-surface contact. - GCDEF definitions should be issued after GCGEN. They are saved in the - database and are written to and read from .CDB files. + FNTS - Forming nodes-to-surface contact. - See General Contact in the Contact Technology Guide for more - information on the overall procedure to create general contact. + FOSS - Forming one way surface-to-surface contact. - SECT1/SECT2 Interactions + FSTS - Forming surface-to-surface contact. - The most specific types of general contact definitions are those - described below: + NTS - Nodes-to-surface contact. - The remaining general contact definition types can be overridden by the - above two general contact definition types: + OSTS - One way surface-to-surface contact. - """ - command = "GCDEF, %s, %s, %s, %s, %s" % (str(option), str(sect1), str(sect2), str(matid), str(realid)) - self.RunCommand(command, **kwargs) + RNTR - Rigid nodes to rigid body contact. - def Lsclear(self, lab="", **kwargs): - """ - APDL Command: LSCLEAR + ROTR - Rigid body to rigid body (one way) contact. - Clears loads and load step options from the database. + SE - Single edge contact. - Parameters - ---------- - lab - Label identifying the data to be cleared: + SS - Single surface contact. - SOLID - Delete only solid model loads. + STS - Surface-to-surface contact. - FE - Delete only finite element loads. + TDNS - Tied nodes-to-surface contact. - INER - Delete only inertia loads (ACEL, etc.). + TSES - Tied shell edge-to-surface contact. - LFACT - Initialize only load factors (on DCUM, FCUM, SFCUM, etc.). + TDSS - Tied surface-to-surface contact. - LSOPT - Initialize only load step options. + TNTS - Tiebreak nodes-to-surface contact - ALL - Delete all loads and initialize all load step options and load factors. + TSTS - Tiebreak surface-to-surface contact. - Notes - ----- - Loads are deleted, and load step options are initialized to their - default values. + cont + Contact surface identified by a component name [CM] , a part ID + number [EDPART], or an assembly ID number [EDASMP]. If a component + name is input, the component must contain nodes that represent the + contact surface (assemblies are not valid for a component name). + Alternatively, a part number may be input that identifies a group + of elements as the contact surface, or an assembly number may be + input containing a maximum of 16 parts. The assembly ID number must + be greater than the highest number used for the part ID. Cont is + not required for automatic general contact, single edge contact, + and single surface contact options (Option = AG, SE, ASSC, ESS, and + SS). For automatic 2-D single surface contact (ASS2D), Cont must be + defined as a part assembly. For eroding node-to-surface contact + (ENTS), Cont must be defined as a nodal component. For eroding + single surface contact (ESS) and eroding surface-to-surface contact + (ESTS), Cont must be defined as a part ID or part assembly. - This command is also valid in PREP7. + targ + Target surface identified by a component name [CM] , a part ID + number [EDPART], or an assembly ID number [EDASMP]. If a component + name is input, the component must contain nodes that represent the + target surface (assemblies are not valid for a component name). + Alternatively, a part number may be input that identifies a group + of elements as the target surface, or an assembly number may be + input containing a maximum of 16 parts. The assembly ID number must + be greater than the highest number used for the part ID. Targ is + not defined for automatic general contact, single edge contact, + automatic single surface contact, eroding single surface contact, + single surface contact, and automatic 2-D single surface contact + options (Option = AG, SE, ASSC, ESS, SS, and ASS2D). For eroding + node-to-surface contact (ENTS) and eroding surface-to-surface + contact (ESTS), Targ must be defined as a part ID or part assembly. - """ - command = "LSCLEAR, %s" % (str(lab)) - self.RunCommand(command, **kwargs) + fs + Static friction coefficient (defaults to 0). - def Cycspec(self, label="", node="", item="", comp="", **kwargs): - """ - APDL Command: CYCSPEC + fd + Dynamic friction coefficient (defaults to 0). - Defines the set of result items for a subsequent CYCCALC command in - postprocessing a cyclic harmonic mode-superposition analysis. + dc + Exponential decay coefficient (defaults to 0). - Parameters - ---------- - label - One of the following labels: + vc + Coefficient for viscous friction (defaults to 0). - ADD - Adds a new specification to the set (default). The maximum number of - specifications that can be defined is 50. + vdc + Viscous damping coefficient in percent of critical damping + (defaults to 0). - LIST - Lists the current set of specifications. Node, Item, Comp are ignored. + v1, v2, v3, v4 + Additional input for drawbead, eroding, rigid, and tiebreak + contact. The meanings of V1-V4 will vary, depending on Option. See + the table below for V1-V4 definitions. - ERASE - Erases the current set of specifications. Node, Item, Comp are ignored. + V1 - Load curve ID giving the bending component of the restraining force per unit + draw bead length as a function of draw bead displacement. V1 + must be specified. - DELETE - Deletes an existing specification. Item, Comp are ignored. + V2 - Load curve ID giving the normal force per unit draw bead length as a function + of draw bead displacement. V2 is optional. - node - The node at which to evaluate the results. If Node is a nodal - component, then all nodes in the component are included. All - sectors containing this node (or set of nodes) are evaluated. + V3 - Draw bead depth. - item - Specifies the type of values to evaluate: + V4 - Number of equally spaced integration points along the draw bead (default = 0, + in which case ANSYS LS-DYNA calculates this value based on the + size of the elements that interact with the draw bead). - U - Displacement + btime + Birth time for which contact definition will become active + (defaults to 0.0). - S - Stress + dtime + Death time for which contact definition will become inactive + (defaults to 1e21). - EPEL - Elastic strain + boxid1 + Contact volume as defined using the EDBX command (valid only when + defining contact with parts or assemblies). - comp - Specifies the specific component of displacement, stress, or strain - to evaluate: + boxid2 + Target volume as defined using the EDBX command (valid only when + defining contact with parts or assemblies). - X,Y,Z - Direct components + Notes + ----- + The frictional coefficient used for contact is determined from FS, FD, + and DC, and is assumed to be dependent on the relative velocity of the + surfaces in contact: - XY,YZ,XZ - Shear components (stress and strain only) + µc = FD+(FS-FD) e-DC(vrel) - 1,2,3 - Principal values (stress and strain only) + The coefficient for viscous friction, VC, is necessary to limit the + friction force to a maximum. A limiting force is computed: - EQV - Equivalent value (stress and strain only) + Flim = VC(Acont) - SUM - Vector sum (displacement only) + where Acont is the area of the segment contacted by the node in + contact. The suggested value for VC is to use the yield stress in + shear: - NORM - L2 norm for the set of nodes (displacement only) - Notes - ----- - Up to 50 specifications can be defined for use in a subsequent CYCCALC - command. If more than 50 specifications are desired, erase the table - after the CYCCALC operation and add new specifications and repeat the - CYCCALC command. All the specified nodes, items, and components are - evaluated for all sectors and the maximum amplitude value output. For - combined stresses and strains (Comp = 1,2,3 or EQV) or displacement - vector sum (Comp = SUM), a 360 degree phase sweep is performed at each - location to determine the maximum. - Additional POST1 controls are used to refine the specification. For - component values, components are in the RSYS direction. For shell - elements, the results are at the SHELL location. For EPEL,EQV, the - results are based on the EFFNU value on the AVPRIN command. The - controls active when the CYCCALC command is issued determine the result - values. If results at another SHELL location are desired, issue the new - SHELL command and then re-issue the CYCCALC command. + where σo is the yield stress of the contacted material. - If a single node is input, the Item/Comp value at that location in each - sector is output. If a node component is given, then the maximum - Item/Comp value within the set of nodes of each sector is output, one - value for each sector (the node of the maximum may vary from sector to - sector). For stress and strain items, only corner nodes are valid. + If a part number is input for Cont or Targ, it must represent a valid + explicit dynamics part definition. For example, an elastic material for + explicit dynamics requires EX, NUXY, and DENS. If any part of the + material definition is missing for the part, the EDCGEN command will be + ignored. - For the displacement norm option (Item = U, Comp = NORM), the L2 norm - computed from all the nodes in the component is output, one per sector. + In addition to the contact parameters on this command, you can specify + penalty scale factors for the contact (slave) and target (master) + surfaces by using the EDCMORE command. - """ - command = "CYCSPEC, %s, %s, %s, %s" % (str(label), str(node), str(item), str(comp)) - self.RunCommand(command, **kwargs) + Duplicate definitions of the same contact type on the same components + or parts will cause only one contact to be defined (previous + definitions will be ignored). Duplicate definitions of different + contact types on the same components or parts will cause multiple + contact types to be defined. - def Gap(self, **kwargs): - """ - APDL Command: GAP + Use the EDCLIST and EDDC commands to list and delete contact surface + specifications. Use the EDPC command to select and plot contact + entities. - Specifies "mode-superposition transient gap conditions" as the - subsequent status topic. + The EDCGEN command is not supported in an explicit dynamic full restart + analysis (EDSTART,3). Thus, you cannot add new contact specifications + in a full restart. You can use the EDCLIST command to list any contact + specifications that were defined in the previous analysis. - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + EDCGEN is also valid in SOLUTION. - If entered directly into the program, the STAT command should - immediately follow this command. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "GAP, " % () + command = "EDCGEN,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(cont), str(targ), str(fs), str(fd), str(dc), str(vc), str(vdc), str(v1), str(v2), str(v3), str(v4), str(btime), str(dtime), str(boxid1), str(boxid2)) self.RunCommand(command, **kwargs) - def Emis(self, mat="", evalu="", **kwargs): + def Mfwrite(self, fname="", ext="", **kwargs): """ - APDL Command: EMIS + APDL Command: MFWRITE - Specifies emissivity as a material property for the Radiation Matrix - method. + Writes an ANSYS master input file for MFX multiple code coupling. Parameters ---------- - mat - Material number associated with this emissivity (500 maximum). - Defaults to 1. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - evalu - Emissivity for this material (0.0 < EVALU  1.0). Enter a very - small number for zero. + ext + Filename extension (eight-character maximum). Notes ----- - Specifies emissivity as a material property for the Radiation Matrix - method. This material property can then be associated with each - element. + When working interactively, you need to issue this command as the last + step in your setup process. This command will write out the input file + that you will then use to submit the MFX analysis. This file will + include the /SOLU, SOLVE, and FINISH commands. + + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. """ - command = "EMIS, %s, %s" % (str(mat), str(evalu)) + command = "MFWRITE,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Lslk(self, type="", lskey="", **kwargs): + def Slashdscale(self, wn="", dmult="", **kwargs): """ - APDL Command: LSLK + APDL Command: /DSCALE - Selects those lines containing the selected keypoints. + Sets the displacement multiplier for displacement displays. Parameters ---------- - type - Label identifying the type of line select: - - S - Select a new set (default). + wn + Window number (or ALL) to which command applies (defaults to 1). - R - Reselect a set from the current set. + dmult + AUTO or 0 - A - Additionally select a set and extend the current set. + AUTO or 0 - Scale displacements automatically so that maximum displacement (vector + amplitude) displays as 5 percent of the maximum model + length, as measured in the global Cartesian X, Y, or Z + directions. - U - Unselect a set from the current set. + 1 - Do not scale displacements (i.e., scale displacements by 1.0, true to + geometry). Often used with large deflection results. - lskey - Specifies whether all contained line keypoints must be selected - [KSEL]: + FACTOR - Scale displacements by numerical value input for FACTOR. - 0 - Select line if any of its keypoints are in the selected keypoint set. + OFF - Remove displacement scaling (i.e., scale displacements by 0.0, no distortion). - 1 - Select line only if all of its keypoints are in the selected keypoint set. + USER - Set DMULT to that used for last display (useful when last DMULT value was + automatically calculated). Notes ----- + If Multi-Plots are not being displayed, and the current device is a 3-D + device [/SHOW,3D], then the displacement scale in all active windows + will be the same, even if separate /DSCALE commands are issued for each + active window. For efficiency, ANSYS 3-D graphics logic maintains a + single data structure (segment), which contains only one displacement + scale. The program displays the same segment (displacement scale) in + all windows. Only the view settings will be different in each of the + active windows. + This command is valid in any processor. """ - command = "LSLK, %s, %s" % (str(type), str(lskey)) + command = "/DSCALE,%s,%s" % (str(wn), str(dmult)) self.RunCommand(command, **kwargs) - def Ptr(self, loc="", b_ase="", **kwargs): + def Pause(self, **kwargs): """ - APDL Command: PTR - - Dumps the record of a binary file. + APDL Command: PAUSE - Parameters - ---------- - loc, base - Dump the file record starting at pointer LOC. BASE is the base - pointer, and would be used if LOC is a relative pointer. + Temporarily releases the current product license. Notes ----- - Dumps the record of the file named on the AUX2 FILEAUX2 command - according the format specified on the FORM command. - - """ - command = "PTR, %s, %s" % (str(loc), str(b_ase)) - self.RunCommand(command, **kwargs) - - def Abbr(self, abbr="", string="", **kwargs): - """ - APDL Command: *ABBR - - Defines an abbreviation. - - Parameters - ---------- - abbr - The abbreviation (up to 8 alphanumeric characters) used to - represent the string String. If Abbr is the same as an existing - ANSYS command, the abbreviation overrides. Avoid using an Abbr - which is the same as an ANSYS command. + The PAUSE command temporarily releases (or pauses) the current product + license so that another application can use it. - string - String of characters (60 maximum) represented by Abbr. Cannot - include a $ or any of the commands C***, /COM, /GOPR, /NOPR, - /QUIT, /UI, or *END. Parameter names and commands of the *DO and - Use the *IF groups may not be abbreviated. If String is blank, the - abbreviation is deleted. To abbreviate multiple commands, create an - "unknown command" macro or define String to execute a macro file - [*USE] containing the desired commands. + This application consumes a license as soon as you launch it, and + retains that license until it is finished. If you launch the product + interactively, the license is retained until you either close the + application or issue a PAUSE command via the command line. - Notes - ----- - Once the abbreviation Abbr is defined, you can issue it at the - beginning of a command line and follow it with a blank (or with a comma - and appended data), and the program will substitute the string String - for Abbr as the line is executed. Up to 100 abbreviations may exist at - any time and are available throughout the program. Abbreviations may be - redefined or deleted at any time. + No other operation (other than SAVE or /EXIT) is possible in the + current application while use of the product license is paused. - Use *STATUS to display the current list of abbreviations. For - abbreviations repeated with *REPEAT, substitution occurs before the - repeat increments are applied. There are a number of abbreviations that - are predefined by the program (these can be deleted by using the blank - String option described above). Note that String will be written to the - File.LOG. + When the second application has finished and releases the license, + issue an UNPAUSE command via the command line to restore use of the + license to the current application. - This command is valid in any processor. + For more information, see the ANSYS, Inc. Licensing Guide. """ - command = "*ABBR, %s, %s" % (str(abbr), str(string)) + command = "PAUSE," % () self.RunCommand(command, **kwargs) - def Expsol(self, lstep="", sbstep="", timfrq="", elcalc="", **kwargs): + def Aremesh(self, lcomb="", angle="", **kwargs): """ - APDL Command: EXPSOL + APDL Command: AREMESH - Specifies the solution to be expanded for mode-superposition analyses - or substructure analyses. + Generates an area in which to create a new mesh for rezoning. Parameters ---------- - lstep, sbstep - Expand the solution identified as load step LSTEP and substep - SBSTEP. - - timfrq - As an alternative to LSTEP and SBSTEP, expand the solution at, or - nearest to, the time value TIMFRQ (for ANTYPE,TRANS or - ANTYPE,SUBSTR) or frequency value TIMFRQ (for ANTYPE,HARMIC). - LSTEP and SBSTEP should be blank. + lcomb + Specifies how to combine adjacent line segments: - elcalc - Element calculation key: +  0 - Line segments combined by connecting ends to ends. This value is the default. - YES - Calculate element results, nodal loads, and reaction loads. + -1 - No line segments combined. - NO - Do not calculate these items. + angle + The maximum angle (in degrees) allowed for connecting two line + segments together. The default value is 30. This value is valid + only when LCOMB = 0. Notes ----- - Specifies the solution to be expanded from analyses that use the mode- - superposition method (ANTYPE,HARMIC or TRANS) or substructuring - (ANTYPE,SUBSTR). Use the NUMEXP command to expand a group of solutions. - - The resulting results file will maintain the same load step, substep, - and time (or frequency) values as the requested solution to be - expanded. + Issue the AREMESH command after issuing a REMESH,START command and + before issuing a REMESH,FINISH command. - This command is also valid in PREP7. + The AREMESH command cannot account for an open area (or “hole”) inside + a completely enclosed region. Instead, try meshing around an open area + by selecting two adjoining regions; for more information, see Hints for + Remeshing Multiple Regions . """ - command = "EXPSOL, %s, %s, %s, %s" % (str(lstep), str(sbstep), str(timfrq), str(elcalc)) + command = "AREMESH,%s,%s" % (str(lcomb), str(angle)) self.RunCommand(command, **kwargs) - def Trlcy(self, lab="", tlevel="", n1="", n2="", ninc="", **kwargs): + def Tvar(self, key="", **kwargs): """ - APDL Command: /TRLCY + APDL Command: TVAR - Specifies the level of translucency. + Changes time to the cumulative iteration number. Parameters ---------- - lab - Apply translucency level to the items specified by the following - labels: - - ELEM - Elements. Use N1, N2, NINC fields for element numbers. - - AREA - Solid model areas. Use N1, N2, NINC fields for area numbers. - - VOLU - Solid model volumes. Use N1, N2, NINC fields for volume numbers. - - ISURF - Isosurfaces (surfaces of constant stress, etc., value). Translucency varies - with result value, to a maximum of the specified - translucency level. + key + Time key: - CM - Component group. Use N1 for component name, ignore N2 and NINC. + 0 - Time is used for the variable TIME. - CURVE - Filled areas under curves of line graphs. Use N1, N2, NINC fields for curve - numbers. + 1 - NCUMIT is used for the variable TIME. - ZCAP - If /TYPE,WN,ZCAP is the current display type, then /TRLCY,ZCAP,TLEVEL will - display the model in window WN with the portion of the model - in front of the section plane displayed at the translucency - level TLEVEL. + Notes + ----- + Changes the meaning of the time variable to the cumulative iteration + number (NCUMIT) variable. Data can be read from the file, printed, and + displayed as a function of NCUMIT rather than time. All POST26 + descriptions applying to TIME then apply to NCUMIT. - ON, OFF - Sets the specified translucency display on or off. All other fields are - ignored. + """ + command = "TVAR,%s" % (str(key)) + self.RunCommand(command, **kwargs) - tlevel - Translucency level: 0.0 (opaque) to 1.0 (transparent). + def Endif(self, **kwargs): + """ + APDL Command: *ENDIF - n1, n2, ninc - Used only with labels as noted above. Apply translucency level to - Lab items numbered N1 to N2 (defaults to N1) in steps of NINC - (defaults to 1). If N1 is blank or ALL, apply specified - translucency level to entire selected range. If Lab is CM, use - component name for N1 and ignore N2 and NINC. A value of N1 = P - allows you to graphically pick elements, areas, and volumes. You - can then assign translucency levels to the entities via the picker. - The Lab and TLEVEL fields are ignored when translucency is applied - by picking. + Ends an if-then-else. Notes ----- - Specifies the level of translucency for various items. Issue - /TRLCY,DEFA to reset the default (0) translucency levels. This command - is valid only on selected 2-D and 3-D graphics devices; see in the - Basic Analysis Guide for more information on applying translucency. - - For 2-D devices, ANSYS displays only the visible faces of the items - being displayed. The information behind the facing planes is not - displayed. Issuing the /SHRINK command will force the hardware to - display information behind the translucent items. + Required terminator for the if-then-else construct. See the *IF for + details. If a batch input stream hits an end-of-file during a false + *IF condition, the ANSYS run will not terminate normally. You will need + to terminate it externally (use either the Linux “kill” function or the + Windows task manager). The *ENDIF command must appear on the same file + as the *IF command, and all six characters must be input. This command is valid in any processor. """ - command = "/TRLCY, %s, %s, %s, %s, %s" % (str(lab), str(tlevel), str(n1), str(n2), str(ninc)) + command = "*ENDIF," % () self.RunCommand(command, **kwargs) - def Pmacro(self, **kwargs): + def Febody(self, **kwargs): """ - APDL Command: /PMACRO + APDL Command: FEBODY - Specifies that macro contents be written to the session log file. + Specifies "Body loads on elements" as the subsequent status topic. Notes ----- - This command forces the contents of a macro or other input file to be - written to Jobname.LOG. It is valid only within a macro or input file, - and should be placed at the top of the file. /PMACRO should be - included in any macro or input file that calls GUI functions. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "/PMACRO, " % () + command = "FEBODY," % () self.RunCommand(command, **kwargs) - def Immed(self, key="", **kwargs): + def Mflist(self, option="", value="", **kwargs): """ - APDL Command: IMMED + APDL Command: MFLIST - Allows immediate display of a model as it is generated. + Lists the settings for an ANSYS Multi-field solver analysis. Parameters ---------- - key - Immediate mode key: + option + ALL - 0 - Display only upon request, i.e., no immediate display (default with the GUI - off). + ALL - Lists all ANSYS Multi-field solver analysis options. - 1 - Display immediately as model is generated (default with the GUI on). + SOLU - Lists all solution-related ANSYS Multi-field solver options. - Notes - ----- - Allows immediate display of a model (as it is generated) without a - screen erase or a display request. Available only during an - interactive session at a graphics display terminal. A valid graphics - device name must first be specified on the /SHOW command. + FIELD - Lists all ANSYS Multi-field solver options related to the specified field + number. - The IMMED command allows you to control whether or not the model is - displayed immediately as it is generated in an interactive session. By - default in the GUI, your model will immediately be displayed in the - Graphics Window as you create new entities (such as areas, keypoints, - nodes, elements, local coordinate systems, boundary conditions, etc.). - This is called immediate mode graphics. Also note that symbols (such - as boundary conditions, local coordinate system triads, etc.) are shown - immediately and will be present on subsequent displays unless you "turn - off" the appropriate symbol using the GUI plot controls function or the - appropriate graphics specification command. + SINT - Lists all surface interface information for the specified surface interface + number. - An immediate image will also be automatically scaled to fit nicely - within the Graphics Window -- a feature called automatic scaling. The - new scaling is usually apparent on the automatic replot associated with - immediate mode. To suppress automatic replot, issue /UIS,REPLOT,0. - (With automatic replot suppressed, the immediate image may not always - be automatically scaled correctly.) + VINT - Lists all volumetric interface information for the specified volumetric + interface number. - Note:: : An immediate display in progress should not be aborted with - the usual system "break" feature (or else the ANSYS session itself will - be aborted). When you run the ANSYS program interactively without - using the GUI, immediate mode is off by default. + value + Use only for Option = FIELD, SINT, or VINT. - This command is valid only in PREP7. + Notes + ----- + This command is also valid in PREP7. + + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "IMMED, %s" % (str(key)) + command = "MFLIST,%s,%s" % (str(option), str(value)) self.RunCommand(command, **kwargs) - def Nsvr(self, itype="", nstv="", **kwargs): + def Pdcmat(self, rlab="", matrix="", name1="", name2="", corr="", + slevel="", popt="", **kwargs): """ - APDL Command: NSVR + APDL Command: PDCMAT - Defines the number of variables for user-programmable element options. + Prints the correlation coefficient matrix. Parameters ---------- - itype - Element type number as defined on the ET command. + rlab + Result set label. Identifies the result set to be used for + postprocessing. A result set label can be the solution set label + you defined in a PDEXE command (if you are directly postprocessing + Monte Carlo Simulation results), or the response surface set label + defined in an RSFIT command (for Response Surface Analyses). - nstv - Number of extra state variables to save (must be no more than 840). + matrix + Keyword for the type of correlation coefficient matrix. - Notes - ----- - Defines the number of extra variables that need to be saved for user- - programmable (system-dependent) element options, e.g., material laws - through user subroutine USERPL. ITYPE must first be defined with the - ET command. + IO - Matrix of correlation coefficients between random input variables and output + parameters. - """ - command = "NSVR, %s, %s" % (str(itype), str(nstv)) - self.RunCommand(command, **kwargs) + II - Matrix of correlation coefficients between random input variables and other + random input variables - def Fsum(self, lab="", item="", **kwargs): - """ - APDL Command: FSUM + OO - Matrix of correlation coefficients between random output parameters and other + random output parameters. - Sums the nodal force and moment contributions of elements. + S - Correlation coefficient between a single random parameter (input or output) and + another random parameter (input or output). The probabilistic + design parameters must be specified in Name1 and Name2 for this + option. - Parameters - ---------- - lab - Coordinate system in which to perform summation. + name1, name2 + Parameter names. The parameters must have been previously defined + as a random input variable or a random output parameter with the + PDVAR command. These parameters are used for Matrix = S only and + are ignored for the other Matrix keywords. - (blank) - Sum all nodal forces in global Cartesian coordinate system (default). + corr + Keyword for the type of correlation coefficients to be used for the + output. - RSYS - Sum all nodal forces in the currently active RSYS coordinate system. + RANK - Spearman rank-order correlation coefficient (default). - item - Selected set of nodes. + LIN - Pearson linear correlation coefficient. - (blank) - Sum all nodal forces for all selected nodes (default), excluding contact - elements. + slevel + Significance level. The value for the significance level must be + between 0.0 and 1.0. The default value is 0.025 (2.5%). - CONT - Sum all nodal forces for contact nodes only. + popt + Specifies whether the probabilities should be printed with the + correlation coefficients. - BOTH - Sum all nodal forces for all selected nodes, including contact elements. + 0 - Print only the correlation coefficients. + + 1 - Print both the correlation coefficients and the probabilities (default). Notes ----- - Sums and prints, in each component direction for the total selected - node set, the nodal force and moment contributions of the selected - elements attached to the node set. Selecting a subset of nodes [NSEL] - and then issuing this command will give the total force acting on that - set of nodes (default), excluding surface-to-surface, node-to-surface, - line-to-line, and line-to-surface contact elements (TARGE169, TARGE170, - CONTA171, CONTA172, CONTA173, CONTA174, CONTA175, CONTA176, and - CONTA177). + Prints the correlation coefficient matrix. - Setting ITEM = CONT sums the nodal forces and moment contributions of - the selected contact elements (CONTA171, CONTA172, CONTA173, CONTA174, - CONTA175, CONTA176, and CONTA177). Setting ITEM = BOTH sums the nodal - forces for all selected nodes, including contact elements. + If Rlab is left blank, then the result set label is inherited from the + last PDEXE command (Slab), RSFIT command (RSlab), or the most recently + used PDS postprocessing command where a result set label was explicitly + specified. - Nodal forces associated with surface loads are not included. The - effects of nodal coupling and constraint equations are ignored. Moment - summations are about the global origin unless another point is - specified with the SPOINT command. This vector sum is printed in the - global Cartesian system unless it is transformed [RSYS] and a point is - specified with the SPOINT command. By default, the sum is done in - global Cartesian, and the resulting vector is transformed to the - requested system. + For all correlation coefficients the probabilistic design tool + evaluates the probability that the correlation coefficient can be + neglected. The evaluation of this probability is based on statistical + test theory. The larger this probability is the likelier it is that the + correlation coefficient does not really reflect an observable + statistical interdependence between the parameters involved. If this + probability exceeds the significance level as specified by the SLEVEL + parameter, the correlation coefficient should be regarded as negligible + or insignificant. The higher the significance level SLEVEL, the more + correlation coefficients are considered significant. Using the Popt + parameter you can also get a list of the probabilities and review them + as to how far they exceed the significance level or how far they stay + below it. - The LAB = RSYS option transforms each of the nodal forces into the - active coordinate system before summing and printing. The FORCE command - can be used to specify which component (static, damping, inertia, or - total) of the nodal load is to be used. This command output is included - in the NFORCE command. + The PDCMAT command cannot be used to postprocess the results in a + solution set that is based on Response Surface Methods, only Monte + Carlo Simulations. - The command should not be used with axisymmetric elements because it - might calculate a moment where none exists. Consider, for example, the - axial load on a pipe modeled with an axisymmetric shell element. The - reaction force on the end of the pipe is the total force (for the full - 360 degrees) at that location. The net moment about the centerline of - the pipe would be zero, but the program would incorrectly calculate a - moment at the end of the element as the force multiplied by the radius. + """ + command = "PDCMAT,%s,%s,%s,%s,%s,%s,%s" % (str(rlab), str(matrix), str(name1), str(name2), str(corr), str(slevel), str(popt)) + self.RunCommand(command, **kwargs) - The command is not valid for elements that operate solely within the - nodal coordinate system with 1-D option activated and rotated nodes - (NROTAT). + def Noerase(self, **kwargs): + """ + APDL Command: /NOERASE + + Prevents the screen erase between displays. + + Notes + ----- + Preventing the normal screen erase between requested displays allows + you to overlay multiple views. + + Clearing the screen with the ERASE command (Utility Menu> PlotCtrls> + Erase Options> Erase screen) active simply clears the display area. + Subsequent replots will provide the cumulative plots previously + generated by the /NOERASE command. + + For 3-D devices, you can issue /DV3D,DELS to suppress repeated screen + overlays and generate clear contour plots. + + Use the /ERASE command to reactivate automatic screen erase. + + For 3-D devices (/SHOW,3D), the model in all active windows will be the + same, even if you issue a different display command (NPLOT, EPLOT, + etc.) for each active window. Use the Multi-Plot command (GPLOT) to + display different entities, in different windows, on 3-D devices. + + This command is valid in any processor. """ - command = "FSUM, %s, %s" % (str(lab), str(item)) + command = "/NOERASE," % () self.RunCommand(command, **kwargs) - def Suget(self, surfname="", rsetname="", parm="", geom="", **kwargs): + def Dig(self, node1="", node2="", ninc="", **kwargs): """ - APDL Command: SUGET + APDL Command: DIG - Moves surface geometry and mapped results to an array parameter. + Digitizes nodes to a surface. Parameters ---------- - surfname - Eight character surface name. + node1, node2, ninc + Digitize nodes NODE1 through NODE2 in steps of NINC. NODE2 + defaults to NODE1 and NINC defaults to 1. - rsetname - Eight character result name. + Notes + ----- + Digitizes nodes to the surface defined by the DSURF command. The nodes + indicated must be digitized from the tablet after this command is + given. The program must be in the interactive mode and the graphics + terminal show option [/SHOW] must be active. The global Cartesian + coordinates of the nodes are stored. - parm - APDL array parameter name (up to 32 characters). + """ + command = "DIG,%s,%s,%s" % (str(node1), str(node2), str(ninc)) + self.RunCommand(command, **kwargs) - geom - Switch controlling how data is written. + def Esla(self, type="", **kwargs): + """ + APDL Command: ESLA - ON (or 1 or YES) - Writes geometry data and interpolated results information to the parameter. + Selects those elements associated with the selected areas. - OFF (or 0 or NO) - Writes only interpolated results information to the parameter. (Default) + Parameters + ---------- + type + Label identifying the type of element select: + + S - Select a new set (default). + + R - Reselect a set from the current set. + + A - Additionally select a set and extend the current set. + + U - Unselect a set from the current set. Notes ----- - For Geom = OFF (or 0 or NO), only results information is written to - this parameter. + Selects area elements belonging to meshed [AMESH], selected [ASEL] + areas. - For Geom = ON (or 1 or YES), both geometry data and results information - are written to this parameter. Geometry data includes 7 data items: - (GCX, GCY, GCZ, NORMX, NORMY, NORMZ, and DA). Results information is - then written to the 8th column of the parameter. SetNames of GCX, GCY, - GCZ, NORMX, NORMY, NORMZ, and DA are predefined and computed when SUCR - is issued. + This command is valid in any processor. """ - command = "SUGET, %s, %s, %s, %s" % (str(surfname), str(rsetname), str(parm), str(geom)) + command = "ESLA,%s" % (str(type)) self.RunCommand(command, **kwargs) - def Vfun(self, parr="", func="", par1="", con1="", con2="", con3="", - **kwargs): + def Hmagsolv(self, freq="", nramp="", cnva="", cnvv="", cnvc="", cnve="", + neqit="", **kwargs): """ - APDL Command: *VFUN + APDL Command: HMAGSOLV - Performs a function on a single array parameter. + Specifies 2-D or axisymmetric harmonic magnetic solution options and + initiates the solution. Parameters ---------- - parr - The name of the resulting numeric array parameter vector. See *SET - for name restrictions. + freq + Analysis frequency (Hz). - func - Function to be performed: + nramp + Number of ramped substeps for the first load step of a nonlinear + 2-D harmonic electromagnetic solution. Defaults to 3. If NRAMP = + -1, ignore the ramped load step entirely. - Arccosine: ACOS(Par1). - Arcsine: ASIN(Par1). + cnva + Convergence tolerance on the program calculated reference value for + the magnetic vector potential degree of freedom. Defaults to + 0.001. - Par1 is sorted in ascending order. *VCOL, *VMASK, *VCUM, and *VLEN,,NINC do not apply. *VLEN,NROW does apply. - Arctangent: ATAN(Par1). + cnvv + Convergence tolerance on the program calculated reference value for + the time-integrated electric potential VOLT. Defaults to 0.001. - Compress: Selectively compresses data set. "True" (*VMASK) values of Par1 (or row positions to be considered according to the NINC value on the *VLEN command) are written in compressed form to ParR, starting at the specified position. - Copy: Par1 copied to ParR. + cnvc + Convergence tolerance on the program calculated reference value for + the current degree of freedom CURR. Defaults to 0.001. - Cosine: COS(Par1). - Hyperbolic cosine: COSH(Par1). + cnve + Convergence tolerance on the program calculated reference value for + the voltage drop degree of freedom EMF. Defaults to 0.001. - Direction cosines of the principal stresses (nX9). Par1 contains the nX6 component stresses for the n locations of the calculations. - Par1 is sorted in descending order. *VCOL, *VMASK, *VCUM, and *VLEN,,NINC do - not apply. *VLEN,NROW does apply. + neqit + Maximum number of equilibrium iterations per load step. Defaults + to 50. - Euler angles of the principal stresses (nX3). Par1 contains the nX6 component stresses for the n locations of the calculations. - Exponential: EXP(Par1). + Notes + ----- + HMAGSOLV invokes an ANSYS macro which specifies harmonic + electromagnetic solution options and initiates the solution. The macro + is applicable to any ANSYS 2-D or axisymmetric linear or nonlinear + harmonic analysis. Results are only stored for the final converged + solution. (In POST1, issue *SET,LIST to identify the load step of + solution results.) The macro internally determines if a nonlinear + analysis is required based on magnetic material properties defined in + the database. - Expand: Reverse of the COMP function. All elements of Par1 (starting at the position specified) are written in expanded form to corresponding "true" (*VMASK) positions (or row positions to be considered according to the NINC value on the *VLEN command) of ParR. - Natural logarithm: LOG(Par1). + The macro performs a two-load-step solution sequence. The first load + step ramps the applied loads over a prescribed number of substeps + (NRAMP), and the second load step calculates the converged solution. + For linear problems, only a single load step solution is performed. + The ramped load step can be bypassed by setting NRAMP to -1. - Common logarithm: LOG10(Par1). - Nearest integer: 2.783 becomes 3.0, -1.75 becomes -2.0. + A 3-D harmonic electromagnetic analysis is available for linear + solutions only and does not require this solution macro. - Logical complement: values   0.0 (false) become 1.0 (true). Values > 0.0 (true) become 0.0 (false). - Principal stresses (nX5). Par1 contains the nX6 component stresses for the n - locations of the calculations. + The following analysis options and nonlinear options are controlled by + this macro: KBC, NEQIT, NSUBST, CNVTOL, OUTRES. - Power function: Par1**CON1. Exponentiation of any negative number in the vector Par1 to a non-integer power is performed by exponentiating the positive number and prepending the minus sign. For example, -4**2.3 is -(4**2.3). - Sine: SIN(Par1). + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - Hyperbolic sine: SINH(Par1). - Square root: SQRT(Par1). + """ + command = "HMAGSOLV,%s,%s,%s,%s,%s,%s,%s" % (str(freq), str(nramp), str(cnva), str(cnvv), str(cnvc), str(cnve), str(neqit)) + self.RunCommand(command, **kwargs) - Tangent: TAN(Par1). - Hyperbolic tangent: TANH(Par1). + def Pcopy(self, key="", **kwargs): + """ + APDL Command: /PCOPY - Tangent to a path at a point: the slope at a point is determined by linear interpolation half way between the previous and next points. Points are assumed to be in the global Cartesian coordinate system. Path points are specified in array Par1 (having 3 consecutive columns of data, with the columns containing the x, y, and z coordinate locations, respectively, of the points). Only the starting row index and the column index for the x coordinates are specified, such as A(1,1). The y and z coordinates of the vector are assumed to begin in the corresponding next columns, such as A(1,2) and A(1,3). The tangent result, ParR, must also have 3 consecutive columns of data and will contain the tangent direction vector (normalized to 1.0); such as 1,0,0 for an x-direction vector. - Normal to a path and an input vector at a point: determined from the cross- - product of the calculated tangent vector (see - TANG) and the input direction vector (with the i, - j, and k components input as CON1, CON2, and - CON3). Points are assumed to be in the global - Cartesian coordinate system. Path points are - specified in array Par1 (having 3 consecutive - columns of data, with the columns containing the - x, y, and z coordinate locations, respectively, - of the points). Only the starting row index and - the column index for the x coordinates are - specified, such as A(1,1). The y and z - coordinates of the vector are assumed to begin in - the corresponding next columns, such as A(1,2) - and A(1,3). The normal result, ParR, must also - have 3 consecutive columns of data and will - contain the normal direction vector (normalized - to 1.0); such as 1,0,0 for an x-direction vector. + Automatically generates hard copies for HP UNIX work stations. - Transforms global Cartesian coordinates of a point to the coordinates of a specified system: points to be transformed are specified in array Par1 (having 3 consecutive columns of data, with the columns containing the x, y, and z global Cartesian coordinate locations, respectively, of the points). Only the starting row index and the column index for the x coordinates are specified, such as A(1,1). The y and z coordinates of the vector are assumed to begin in the corresponding next columns, such as A(1,2) and A(1,3). Results are transformed to coordinate system CON1 (which may be any valid coordinate system number, such as 1,2,11,12, etc.). The transformed result, ParR, must also have 3 consecutive columns of data and will contain the corresponding transformed coordinate locations. - Transforms specified coordinates of a point to global Cartesian coordinates: - points to be transformed are specified in array - Par1 (having 3 consecutive columns of data, with - the columns containing the local coordinate - locations (x, y, z or r, θ, z or etc.) of the - points). Only the starting row index and the - column index for the x coordinates are specified, - such as A(1,1). The y and z coordinates (or θ - and z, or etc.) of the vector are assumed to - begin in the corresponding next columns, such as - A(1,2) and A(1,3). Local coordinate locations - are assumed to be in coordinate system CON1 - (which may be any valid coordinate system number, - such as 1,2,11,12, etc.). The transformed - result, ParR, must also have 3 consecutive - columns of data, with the columns containing the - global Cartesian x, y, and z coordinate - locations, respectively. + Parameters + ---------- + key + Copy key: - par1 - Array parameter vector in the operation. + 0 - No specification setting for automatic hard copy of display. - con1, con2, con3 - Constants (used only with the PWR, NORM, LOCAL, and GLOBAL - functions). + 1 - Set specification for automatic hard copy after each display. + + NOW - (Action) Produce hard copy of current display (KEY is not reset to 1). Notes ----- - Operates on one input array parameter vector and produces one output - array parameter vector according to: - - ParR = f(Par1) - - where the functions (f) are described below. Functions are based on - the standard FORTRAN definitions where possible. Out-of-range function - results (or results with exponents whose magnitudes are approximately - greater than 32 or less than -32) produce a zero value. Input and - output for angular functions may be radians (default) or degrees - [*AFUN]. ParR may be the same as Par1. Starting array element numbers - must be defined for each array parameter vector if it does not start at - the first location. For example, *VFUN,A,SQRT,B(5) takes the square - root of the fifth element of B and stores the result in the first - element of A. Operations continue on successive array elements [*VLEN, - *VMASK] with the default being all successive elements. Absolute - values and scale factors may be applied to all parameters [*VABS, - *VFACT]. Results may be cumulative [*VCUM]. Skipping array elements - via *VMASK or *VLEN for the TANG and NORM functions skips only the - writing of the results (skipped array element data are used in all - calculations). See the *VOPER command for details. + Sets automatic hard copy specification. This command is available only + on HP work stations, and only during interactive runs with the /SHOW + specification active (for terminals with hard copy capability). This command is valid in any processor. """ - command = "*VFUN, %s, %s, %s, %s, %s, %s" % (str(parr), str(func), str(par1), str(con1), str(con2), str(con3)) + command = "/PCOPY,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Vfill(self, parr="", func="", con1="", con2="", con3="", con4="", - con5="", con6="", con7="", con8="", con9="", con10="", **kwargs): + def Slashreset(self, **kwargs): """ - APDL Command: *VFILL + APDL Command: /RESET - Fills an array parameter. + Resets display specifications to their initial defaults. - Parameters - ---------- - parr - The name of the resulting numeric array parameter vector. See *SET - for name restrictions. + Notes + ----- + Resets slash display specifications (/WINDOW, /TYPE, /VIEW, etc.) back + to their initial default settings (for convenience). Also resets the + focus location to the geometric center of the object. - func - Fill function: + This command is valid in any processor. - Assign specified values CON1, CON2, etc. to successive array elements. Up to 10 assignments may be made at a time. Any CON values after a blank CON value are ignored. - Assign ramp function values: CON1+((n-1)*CON2) , where n is the loop number - [*VLEN]. To specify a constant function (no - ramp), set CON2 to zero. + """ + command = "/RESET," % () + self.RunCommand(command, **kwargs) - Assign random number values based on a uniform distribution RAND(CON1,CON2), where: - Assign random sample of Gaussian distributions GDIS(CON1,CON2) where: + def Ulib(self, fname="", ext="", **kwargs): + """ + APDL Command: *ULIB - Assigns random number values based on a triangular distribution TRIA(CON1,CON2,CON3) where: - Assigns random number values based on a beta distribution - BETA(CON1,CON2,CON3,CON4) where: + Identifies a macro library file. - Assigns random number values based on a gamma distribution: GAMM(CON1,CON2,CON3) where: - Generates the rigid body modes with respect to the reference point coordinates - (CON1, CON2, CON3). The dimensions of the array - parameter ParR are (dim1,dim2) where dim1 is the - maximum node number (including internal nodes) - multiplied by the number of degrees of freedom, - and dim2 is the number of rigid body modes (which - corresponds to the number of structural degrees - of freedom). + Parameters + ---------- + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - Generates excitation frequencies with clustering option CLUSTER(CON1,CON2,CON3,CON4,%CON5%) where: - The dimension of the resulting array parameter ParR is less than - 2+NFR*(2*CON3+1) where NFR is the number of - natural frequencies defined in CON5. + ext + Filename extension (eight-character maximum). - con1, con2, con3, . . . , con10 - Constants used with above functions. + -- + Unused field. Notes ----- - Operates on input data and produces one output array parameter vector - according to: - - ParR = f(CON1, CON2, : ...) + Identifies a macro library file for the *USE command. A library of + macros allows blocks of often used ANSYS commands to be stacked and + executed from a single file. The macro blocks must be enclosed within + block identifier and terminator lines as shown in the example below. + If you want to add comment lines to a macro block, you may place them + anywhere within the macro block. (This includes placing them directly + on the lines where the macro block identifier and the macro block + terminator appear, as shown in the example.) Do not place comment + lines (or any other lines) outside of a macro block. - where the functions (f) are described above. Operations use successive - array elements [*VLEN, *VMASK] with the default being all successive - elements. For example, *VFILL,A,RAMP,1,10 assigns A(1) = 1.0, A(2) = - 11.0, A(3) = 21.0, etc. *VFILL,B(5,1),DATA,1.5,3.0 assigns B(5,1) = - 1.5 and B(6,1) = 3.0. Absolute values and scale factors may be applied - to the result parameter [*VABS, *VFACT]. Results may be cumulative - [*VCUM]. See the *VOPER command for details. + The name of the macro library file is identified for reading on the + *ULIB command. The name of the macro block is identified on the *USE + command. The commands within the macro block are copied to a temporary + file (of the macro block name) during the *USE operation and executed + as if a macro file of that name had been created by the user. The + temporary file is deleted after it has been used. Macro block names + should be acceptable filenames (system dependent) and should not match + user created macro file names, since the user macro file will be used + first (if it exists) before the library file is searched. Macro blocks + may be stacked in any order. Branching [*GO or *IF] external to the + macro block is not allowed. This command is valid in any processor. """ - command = "*VFILL, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(parr), str(func), str(con1), str(con2), str(con3), str(con4), str(con5), str(con6), str(con7), str(con8), str(con9), str(con10)) + command = "*ULIB,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Ssum(self, **kwargs): + def Lines(self, n="", **kwargs): """ - APDL Command: SSUM + APDL Command: LINES - Calculates and prints the sum of element table items. + Specifies the length of a printed page. + + Parameters + ---------- + n + Number of lines per page (defaults to 20). (Minimum allowed = 11). Notes ----- - Calculates and prints the tabular sum of each existing labeled result - item [ETABLE] for the selected elements. If absolute values are - requested [SABS,1], absolute values are used. + Specifies the length of a printed page (for use in reports, etc.). """ - command = "SSUM, " % () + command = "LINES,%s" % (str(n)) self.RunCommand(command, **kwargs) - def Nrefine(self, nn1="", nn2="", ninc="", level="", depth="", post="", - retain="", **kwargs): + def Sabs(self, key="", **kwargs): """ - APDL Command: NREFINE + APDL Command: SABS - Refines the mesh around specified nodes. + Specifies absolute values for element table operations. Parameters ---------- - nn1, nn2, ninc - Nodes (NN1 to NN2 in increments of NINC) around which the mesh is - to be refined. NN2 defaults to NN1, and NINC defaults to 1. If - NN1 = ALL, NN2 and NINC are ignored and all selected nodes are used - for refinement. If NN1 = 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 NN1 (NN2 and NINC are - ignored). - - level - Amount of refinement to be done. Specify the value of LEVEL as an - integer from 1 to 5, where a value of 1 provides minimal - refinement, and a value of 5 provides maximum refinement (defaults - to 1). - - depth - Depth of mesh refinement in terms of number of elements outward - from the indicated nodes (defaults to 1). - - post - Type of postprocessing to be done after element splitting, in order - to improve element quality: - - OFF - No postprocessing will be done. - - SMOOTH - Smoothing will be done. Node locations may change. - - CLEAN - Smoothing and cleanup will be done. Existing elements may be deleted, and node - locations may change (default). - - retain - Flag indicating whether quadrilateral elements must be retained in - the refinement of an all-quadrilateral mesh. (The ANSYS program - ignores the RETAIN argument when you are refining anything other - than a quadrilateral mesh.) + key + Absolute value key: - ON - The final mesh will be composed entirely of quadrilateral elements, regardless - of the element quality (default). + 0 - Use algebraic values in operations. - OFF - The final mesh may include some triangular elements in order to maintain - element quality and provide transitioning. + 1 - Use absolute values in operations. Notes ----- - NREFINE performs local mesh refinement around the specified nodes. By - default, the indicated elements are split to create new elements with - 1/2 the edge length of the original elements (LEVEL = 1). - - NREFINE refines all area elements and tetrahedral volume elements that - are adjacent to the specified nodes. Any volume elements that are - adjacent to the specified nodes, but are not tetrahedra (for example, - hexahedra, wedges, and pyramids), are not refined. - - You cannot use mesh refinement on a solid model that contains initial - conditions at nodes [IC], coupled nodes [CP family of commands], - constraint equations [CE family of commands], or boundary conditions or - loads applied directly to any of its nodes or elements. This applies - to nodes and elements anywhere in the model, not just in the region - where you want to request mesh refinement. For additional restrictions - on mesh refinement, see Revising Your Model in the Modeling and Meshing - Guide. - - This command is also valid for rezoning. + Causes absolute values to be used in the SADD, SMULT, SMAX, SMIN, and + SSUM operations. """ - command = "NREFINE, %s, %s, %s, %s, %s, %s, %s" % (str(nn1), str(nn2), str(ninc), str(level), str(depth), str(post), str(retain)) + command = "SABS,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Cmedit(self, aname="", oper="", cnam1="", cnam2="", cnam3="", cnam4="", - cnam5="", cnam6="", cnam7="", **kwargs): + def Etdele(self, ityp1="", ityp2="", inc="", **kwargs): """ - APDL Command: CMEDIT + APDL Command: ETDELE - Edits an existing assembly. + Deletes element types. Parameters ---------- - aname - Name of the assembly to be edited. - - oper - Operation label: - - ADD - To add more components. The level of any assembly to be added must be lower - than that of the assembly Aname (see CMGRP command). - - DELE - To remove components. - - cnam1, cnam2, cnam3, . . . , cnam7 - Names of components and assemblies to be added to or deleted from - the assembly. - - Notes - ----- - This command is valid in any processor. + ityp1, ityp2, inc + Deletes element types from ITYP1 to ITYP2 (defaults to ITYP1) in + steps of INC (defaults to 1). If ITYP1 = ALL, ITYP2 and INC are + ignored and all element types are deleted. Element types are + defined with the ET command. """ - command = "CMEDIT, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(aname), str(oper), str(cnam1), str(cnam2), str(cnam3), str(cnam4), str(cnam5), str(cnam6), str(cnam7)) + command = "ETDELE,%s,%s,%s" % (str(ityp1), str(ityp2), str(inc)) self.RunCommand(command, **kwargs) - def Dcum(self, oper="", rfact="", ifact="", tb_ase="", **kwargs): + def Sfgrad(self, lab="", slkcn="", sldir="", slzer="", slope="", **kwargs): """ - APDL Command: DCUM + APDL Command: SFGRAD - Specifies that DOF constraint values are to be accumulated. + Specifies a gradient (slope) for surface loads. Parameters ---------- - oper - Accumulation key: + lab + Valid surface load label. Load labels are listed under "Surface + Loads" in the input table for each element type in the Element + Reference. - REPL - Subsequent values replace the previous values (default). + slkcn + Reference number of slope coordinate system (used with Sldir and + SLZER to determine COORD). Defaults to 0 (the global Cartesian + coordinate system). - ADD - Subsequent values are added to the previous values. + sldir + Slope direction in coordinate system SLKCN: - IGNO - Subsequent values are ignored. + X - Slope is along X direction (default). Interpreted as R direction for non- + Cartesian coordinate systems. - rfact - Scale factor for the real component. Zero (or blank) defaults to - 1.0. Use a small number for a zero scale factor. + Y - Slope is along Y direction. Interpreted as  θ direction for non-Cartesian + coordinate systems. - ifact - Scale factor for the imaginary component. Zero (or blank) defaults - to 1.0. Use a small number for a zero scale factor. + Z - Slope is along Z direction. Interpreted as Φ direction for spherical or + toroidal coordinate systems. - 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. + slzer + Coordinate location (degrees for angular input) where slope + contribution is zero (CVALUE = VALUE). Allows the slope + contribution to be shifted along the slope direction. For angular + input, SLZER should be between ±180° if the singularity [CSCIR] is + at 180° and should be between 0° and 360° if the singularity is at + 0°. + + slope + Slope value (load per unit length or per degree). 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. + Specifies a gradient (slope) for surface loads. All surface loads + issued with the SF, SFE, SFL, or SFA commands while this specification + is active will have this gradient applied (for complex pressures, only + the real component will be affected; for convections, only the bulk + temperature will be affected). The load value, CVALUE, calculated at + each node is: - 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. + CVALUE = VALUE + (SLOPE X (COORD-SLZER)) - Note:: : FE boundary conditions may still be overwritten by existing - solid model boundary conditions if a subsequent boundary condition - transfer occurs. + where VALUE is the load value specified on the subsequent SF, SFE, SFL, + or SFA commands and COORD is the coordinate value (in the Sldir + direction of coordinate system SLKCN) of the node. Only one SFGRAD + specification may be active at a time (repeated use of this command + replaces the previous specification with the new specification). Issue + SFGRAD (with blank fields) to remove the specification. Issue + SFGRAD,STAT to show the current command status. The SFGRAD + specification (if active) is removed when the LSREAD (if any) command + is issued. - DCUM does not work for tabular boundary conditions. + SFGRAD does not work for tabular boundary conditions. This command is also valid in PREP7. """ - command = "DCUM, %s, %s, %s, %s" % (str(oper), str(rfact), str(ifact), str(tb_ase)) + command = "SFGRAD,%s,%s,%s,%s,%s" % (str(lab), str(slkcn), str(sldir), str(slzer), str(slope)) self.RunCommand(command, **kwargs) - def Deact(self, **kwargs): + def Ensym(self, iinc="", ninc="", iel1="", iel2="", ieinc="", **kwargs): """ - APDL Command: DEACT + APDL Command: ENSYM - Specifies "Element birth and death" as the subsequent status topic. + Generates elements by symmetry reflection. + + Parameters + ---------- + iinc + Increment to be added to element numbers in existing set. + + -- + Unused field. + + ninc + Increment nodes in the given pattern by NINC. + + iel1, iel2, ieinc + Reflect elements from pattern beginning with IEL1 to IEL2 (defaults + to IEL1) in steps of IEINC (defaults to 1). If IEL1 = ALL, IEL2 and + IEINC are ignored and pattern is all selected elements [ESEL]. If + IEL1 = 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 IEL1 (IEL2 and IEINC are ignored). Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + This command is the same as the ESYM command except it allows + explicitly assigning element numbers to the generated set (in terms of + an increment IINC). Any existing elements already having these numbers + will be redefined. - If entered directly into the program, the STAT command should - immediately follow this command. + The operation generates a new element by incrementing the nodes on the + original element, and reversing and shifting the node connectivity + pattern. For example, for a 4-node 2-D element, the nodes in positions + I, J, K and L of the original element are placed in positions J, I, L + and K of the reflected element. + + Similar permutations occur for all other element types. For line + elements, the nodes in positions I and J of the original element are + placed in positions J and I of the reflected element. In releases prior + to ANSYS 5.5, no node pattern reversing and shifting occurred for line + elements generated by ENSYM. To achieve the same results as you did in + releases prior to ANSYS 5.5, use the ENGEN command instead. + + See the ESYM command for additional information about symmetry + elements. + + The ENSYM command also provides a convenient way to reverse shell + element normals. If the IINC and NINC argument fields are left blank, + the effect of the reflection is to reverse the direction of the outward + normal of the specified elements. You cannot use the ENSYM command to + change the normal direction of any element that has a body or surface + load. We recommend that you apply all of your loads only after ensuring + that the element normal directions are acceptable. Also note that real + constants (such as nonuniform shell thickness and tapered beam + constants) may be invalidated by an element reversal. See Revising Your + Model in the Modeling and Meshing Guide for more information about + controlling element normals. """ - command = "DEACT, " % () + command = "ENSYM,%s,%s,%s,%s,%s" % (str(iinc), str(ninc), str(iel1), str(iel2), str(ieinc)) self.RunCommand(command, **kwargs) - def Prism(self, z1="", z2="", **kwargs): + def Se(self, file="", toler="", **kwargs): """ - APDL Command: PRISM + APDL Command: SE - Creates a prism volume based on working plane coordinate pairs. + Defines a superelement. Parameters ---------- - z1, z2 - Working plane Z coordinates of the top and bottom of the prism. + file + The name (case sensitive) of the file containing the original + superelement matrix created by the generation pass (Sename.SUB). + The default is the current Jobname. + + --, -- + Unused fields. + + toler + Tolerance used to determine if use pass nodes are noncoincident + with master nodes having the same node numbers. Defaults to + 0.0001. Use pass nodes will always be replaced by master nodes of + the same node number. However, if a use pass node is more than + TOLER away from the corresponding master node, a warning is + generated. Notes ----- - Defines a prism volume based on the working plane. The top and bottom - areas will each be defined with NPT keypoints and NPT lines, where NPT - (must be at least 3) is the number of coordinate pairs defined with - PTXY command. Also, a line will be defined between each point pair on - the top and bottom face. See the RPRISM and RPR4 commands for other - ways to create prisms. + Defines a superelement by reading in the superelement matrices and + master nodes from the superelement matrix file. The matrix file + (File.SUB) must be available from the substructure generation pass. + The proper element type (MATRIX50) must be active [TYPE] for this + command. A scratch file called File.SORD showing the superelement + names and their corresponding element numbers is also written. """ - command = "PRISM, %s, %s" % (str(z1), str(z2)) + command = "SE,%s,%s" % (str(file), str(toler)) self.RunCommand(command, **kwargs) - def Bss1(self, val1="", val2="", t="", **kwargs): + def Tbin(self, oper="", par1="", par2="", par3="", par4="", **kwargs): """ - APDL Command: BSS1 + APDL Command: TBIN - Specifies the transverse shear strain and force relationship in plane - XZ for beam sections. + Sets parameters used for interpolation of the material data tables. Parameters ---------- - val1 - Transverse shear strain component (γ1). - - val2 - Transverse shear force component (S1). + oper + Operation to perform: - t - Temperature. + Operation to perform: - SCALE - Notes - ----- - The behavior of beam elements is governed by the generalized- - stress/generalized-strain relationship of the form: + par1 + Independent variable, which can be any field variable specified via + the TBFIELD command. - The BSS1 command, one of several nonlinear general beam section - commands, specifies the transverse shear strain and transverse shear - force relationship for plane XZ of a beam section. The section data - defined is associated with the section most recently defined (via the - SECTYPE command). + par2 + Index of any material parameter specified via the TBDATA command. - Unspecified values default to zero. + par3 + Scale to be used for the independent variable. Valid options are + LINEAR (linear) or LOG (logarithmic). - Related commands are BSAX, BSM1, BSM2, BSTQ, BSS2, BSMD, and BSTE. + par4 + Scale to be used for the dependent variable (the material parameter + specified via Par2). Valid options are LINEAR (linear) or LOG + (logarithmic). - For complete information, see Using Nonlinear General Beam Sections. + Notes + ----- + For a list of the supported material data tables (TB), see Logarithmic + Interpolation and Scaling in the Material Reference. """ - command = "BSS1, %s, %s, %s" % (str(val1), str(val2), str(t)) + command = "TBIN,%s,%s,%s,%s,%s" % (str(oper), str(par1), str(par2), str(par3), str(par4)) self.RunCommand(command, **kwargs) - def C(self, comment="", **kwargs): + def Mplib(self, r_w_opt="", path="", **kwargs): """ - APDL Command: C*** + APDL Command: /MPLIB - Places a comment in the output. + Sets the default material library read and write paths. Parameters ---------- - comment - Comment string, up to 75 characters. + r-w_opt + Determines what path is being set. Possible values are: + + READ - Set the read path. + + WRITE - Set the write path. + + STAT - Report what read and write paths are currently in use. + + path + The directory path to be used for material library files. Notes ----- - The output from this command consists of two lines -- a blank line - followed by a line containing C*** and the comment. This command is - similar to /COM except that the comment produced by C*** is more easily - identified in the output. + The /MPLIB command sets two path strings used in conjunction with the + material library feature and the MPREAD and MPWRITE commands. - Another way to include a comment is to precede it with a ! character - (on the same line). The ! may be placed anywhere on the line, and any - input following it is ignored as a comment. No output is produced by - such a comment, but the comment line is included on the log file. This - is a convenient way to annotate the log file. + For MPREAD, when you use the LIB option and no directory path is given + in the file name, the command searches for the file in these locations: + the current working directory, the user's home directory, the user- + specified material library directory (as defined by the + /MPLIB,READ,PATH command), and /ansys_dir/matlib. - This command is valid anywhere. + For MPWRITE, when you use the LIB option and the directory portion of + the specification for the material library file is blank, the command + writes the material library file to the directory specified by the + /MPLIB,WRITE,PATH command (if that path has been set). If the path has + not been set, the default is to write the file to the current working + directory. + + The Material Library files supplied with the distribution disks are + meant for demonstration purposes only. These files are not intended + for use in customer applications. """ - command = "C***, %s" % (str(comment)) + command = "/MPLIB,%s,%s" % (str(r_w_opt), str(path)) self.RunCommand(command, **kwargs) - def Ui(self, func="", type="", format="", screen="", color="", krev="", - orient="", compress="", quality="", **kwargs): + def Edint(self, shellip="", beamip="", **kwargs): """ - APDL Command: /UI + APDL Command: EDINT - Activates specified GUI dialog boxes. + Specifies number of integration points for explicit shell and beam + output. Parameters ---------- - func - Label identifying the dialog box to be activated: - - HELP - Activates the online help system. Valid only in non-UI graphics mode - (/MENU,GRPH). - - VIEW - Activates the Pan, Zoom, Rotate dialog box - - WPSE - Activates the Working Plane Settings dialog box. - - WPVI - Activates the Offset Working Plane dialog box. - - RESULT - Activates the Query Picking Menu for reviewing results. - - QUERY - Activates the Query Picked Entities (preprocess) dialog box. + shellip + Number of shell integration points used for output (defaults to 3). + For element SHELL163, each integration point is associated with a + layer. SHELLIP must be 3. If SHELLIP = 3, results are written for + the shell top, middle, and bottom. If SHELLIP >3, then the results + for the first SHELLIP layers are written. - COPY - Activates the Hard Copy dialog box. + beamip + Number of beam integration points used for stress output for + BEAM161 (defaults to 4). - ANNO - Activates the 2D Annotation dialog box. + Notes + ----- + The number of integration points is defined by the element real + constant NIP for both the beam elements (in the cross section) and the + shell elements (through the thickness). - AN3D - Activates the 3D Annotation dialog box. + For shell elements that have only 1 or 2 integration points (NIP = 1 or + 2), use the default of SHELLIP = 3. If NIP = 1, the same results are + reported at the top, middle, and bottom layers. If the NIP = 2, the + results at the bottom correspond to integration point 1, the results at + the top correspond to integration point 2, and the results at the + middle are an average of the top and bottom results. - SELECT - Activates the Select Entities dialog box. + For shell elements with 2 x 2 integration points in the plane, the data + from the four points are averaged, and there is a single output value + for each layer. - NSEL - Activates a picking menu to select nodes. + If you set BEAMIP = 0, no stress output is written for BEAM161 + elements. In this case, the beams will not appear in any POST1 plots + because the program assumes they are failed elements. - ESEL - Activates a picking menu to select elements. + This command is also valid in PREP7. - KSEL - Activates a picking menu to select keypoints. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - LSEL - Activates a picking menu to select lines. + """ + command = "EDINT,%s,%s" % (str(shellip), str(beamip)) + self.RunCommand(command, **kwargs) - ASEL - Activates a picking menu to select areas. + def Calc(self, **kwargs): + """ + APDL Command: CALC - VSEL - Activates a picking menu to select volumes. + Specifies "Calculation settings" as the subsequent status topic. - REFRESH - Refreshes the graphics window (non-UI mode only). + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - COLL - Controls the collapse of the ANSYS Main Menu when a FINISH command is issued. - See Type below for a discussion of the arguments. + If entered directly into the program, the STAT command should + immediately follow this command. - type - Label identifying the type of select operation. Valid only for the - following Func labels; NSEL, ESEL, KSEL, LSEL, ASEL, and VSEL: + """ + command = "CALC," % () + self.RunCommand(command, **kwargs) - S - Select a new set. + def Bfllist(self, line="", lab="", **kwargs): + """ + APDL Command: BFLLIST - R - Reselect a set from the current set. + Lists the body force loads on a line. - A - Additionally select a set and extend the current set. + Parameters + ---------- + line + Line at which body load is to be listed. If ALL (or blank), list + for all selected lines [LSEL]. If LINE = 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 LINE. - U - Unselect a set from the current set. + lab + Valid body load label. If ALL, use all appropriate labels. Load + labels are listed under "Body Loads" in the input table for each + element type in the Element Reference. See the BFL command for + labels. Notes ----- - Allows you to activate specified GUI dialog boxes directly in either - GUI or non-GUI mode. - - The /UI command itself is valid in any processor, however certain - dialog boxes are accessible only in a particular processor (e.g., - /UI,RESULT,... is valid only in the General Postprocessor). - - ANSYS JPEG software is based in part on the work of the Independent - JPEG Group, Copyright 1998, Thomas G. Lane. + Lists the body force loads for the specified line and label. Body + loads may be defined on a line with the BFL command. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "/UI, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(func), str(type), str(format), str(screen), str(color), str(krev), str(orient), str(compress), str(quality)) + command = "BFLLIST,%s,%s" % (str(line), str(lab)) self.RunCommand(command, **kwargs) - def Edri(self, option="", part="", xc="", yc="", zc="", tm="", ixx="", - iyy="", izz="", ixy="", iyz="", ixz="", **kwargs): + def Sqrt(self, ir="", ia="", name="", facta="", **kwargs): """ - APDL Command: EDRI + APDL Command: SQRT - Defines inertia properties for a new rigid body that is created when a - deformable part is switched to rigid in an explicit dynamic analysis. + Forms the square root of a variable. Parameters ---------- - option - Label identifying the option to be performed. - - ADD - Define inertia for specified part (default). - - DELE - Delete inertia definition for specified part. + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. - LIST - List inertia definitions. + ia + Reference number of the variable to be operated on. - part - Part number for which inertia is defined (no default). + --, -- + Unused fields. - xc, yc, zc - X, Y, and Z-coordinates of the center of mass (no defaults). + name + Thirty-two character name identifying the variable on printouts and + displays. Embedded blanks are compressed for output. - tm - Translational mass (no default). + --, -- + Unused fields. - ixx, iyy, izz, ixy, iyz, ixz - Components (xx, yy, etc.) of inertia tensor. IXX, IYY, and IZZ must - be input (no defaults). IXY, IYZ, and IXZ default to zero. + facta + Scaling factor (positive or negative) applied to variable IA + (defaults to 1.0). Notes ----- - Use this command to define inertia properties for a rigid body that is - created when a deformable part is switched to rigid (using the EDRD,D2R - command) in an explicit dynamic analysis. If these properties are not - defined, LS-DYNA will compute the new rigid body properties from the - finite element mesh (which requires an accurate mesh representation of - the body). When rigid bodies are merged to a master rigid body, the - inertia properties defined for the master rigid body apply to all - members of the merged set. - - EDRI can only be issued in a new analysis. Therefore, if you are going - to use inertia properties in a subsequent restart analysis, you must - issue EDRI in the original analysis for the part that will later be - switched to rigid in the restart. - - This command is also valid in PREP7. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Forms the square root of a variable according to the operation: """ - command = "EDRI, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(part), str(xc), str(yc), str(zc), str(tm), str(ixx), str(iyy), str(izz), str(ixy), str(iyz), str(ixz)) + command = "SQRT,%s,%s,%s,%s" % (str(ir), str(ia), str(name), str(facta)) self.RunCommand(command, **kwargs) - def Pspec(self, pcolor="", kfill="", kbordr="", **kwargs): + def Cycopt(self, option="", value1="", value2="", value3="", value4="", + value5="", value6="", value7="", **kwargs): """ - APDL Command: /PSPEC + APDL Command: CYCOPT - Creates annotation polygon attributes (GUI). + Specifies solution options for a cyclic symmetry analysis. Parameters ---------- - pcolor - Polygon color (0 PCOLOR   15): + option + One of the following options: - 0 - Black. + BCMULT - Controls whether cyclic sector array parameter names are reused or created new + for multiple entities. - 1 - Red-Magenta. + Value1 - The flag value. - 2 - Magenta. + 0 (OFF or NO) - Create new array parameter names (default) - 3 - Blue-Magenta. + 1(ON or YES) - Reuse array parameter names - 4 - Blue. + COMBINE - For linear static cyclic symmetry analysis with non-cyclically symmetric + loading only, expands and combines all harmonic index + solutions and writes them to the results file during the + solution phase of the analysis. - 5 - Cyan-Blue. + Value1 - The flag value. - 6 - Cyan. + 0 (OFF or NO) - Disable combining of harmonic index solutions (default) - 7 - Green-Cyan. + 1 (ON or YES) - Enable combining of harmonic index solutions - 8 - Green. + DEFAULT - Set the default cyclic solution settings. - 9 - Yellow-Green. + DOF - The degrees of freedom to couple from the nodes on the low sector boundary to + nodes on the high boundary: - 10 - Yellow. + Value1 - The component pair ID number. - 11 - Orange. + Value2, Value3, Value4,  . . . ,  Value7 - The constraint-equation/-coupling degree of freedom (DOF) for this pair. Repeat + the command to add other DOFs. The default is + constraint-equation/-coupling all applicable + DOFs. - 12 - Red. + FACETOL - Tolerance for inclusion of surface nodes into your basic sector. Autodetect + defaults to 15°, accommodating most sections. Specify a + new Value1 only when extreme cut angles or complex model + geometry cause surface nodes to be excluded. See Notes + (below) for more information. - 13 - Dark Gray. + ANSYS, Inc. recommends that successful auto-detection depends more on the value of ANGTOL than the value of FACETOL. Please refer to CYCOPT Auto Detection Tolerance Adjustments for Difficult Cases for more information about auto-detection and the CYCOPT command. - Value1 - 14 - Light Gray. + The face tolerance applies only to auto detection from node/element models (already meshed and no solid model), and it defaults to 15°. - HINDEX - 15 - White. + The harmonic index solution ranges for modal or buckling cyclic symmetry analyses. The SOLVE command initiates a cyclic symmetry solution sequence at the harmonic indices specified. (By default, the SOLVE command solves for all available harmonic indices.) Static and harmonic cyclic symmetry solutions always use all harmonic indices required for the applied loads. - EVEN / ODD - kfill - Polygon fill key: + For low-frequency electromagnetic analysis only, EVEN specifies a symmetric solution and ODD specifies an antisymmetric solution. - The value you specify is based on the harmonic index: EVEN (default) indicates + harmonic index = 0, and ODD indicates harmonic + index = N / 2 (where N is an integer representing + the number of sectors in 360°). A value of ODD + applies only when N is an even number. - 0 - Hollow polygon. + The CYCOPT command with this HINDEX option is cumulative. To remove an option (for example, EVEN), issue this command: CYCOPT,HINDEX,EVEN,,,-1 - ALL - 1 - Filled polygon. + Solve all applicable harmonic indices. - Note:  Value2 must be blank. - kbordr - Polygon border key: + Value1, Value2, Value3 - Solve harmonic indices in range Value1 through Value2 in steps of Value3. + Repeat the command to add other ranges. The + default solves all applicable harmonic indices. - 0 - No border. + Value4 - The only valid value is -1. If specified, it removes Value1 through Value2 in + steps of Value3 from the set to solve. By default, if + Value4 = -1 then Value1 = 0, Value2 = 0, and Value3 = 1. - 1 - Border. + Value5 - For static and harmonic analyses, the tolerance for determining if a Fourier + contribution of a load contributes to the response + (default = 1.0E-5). - Notes - ----- - Creates annotation polygon attributes to control certain - characteristics of the polygons created via the /POLYGON, /PMORE, - /PCIRCLE and /PWEDGE commands. This is a command generated by the - Graphical User Interface (GUI) and will appear in the log file - (Jobname.LOG) if annotation is used. This command is not intended to - be typed in directly in an ANSYS session (although it can be included - in an input file for batch input or for use with the /INPUT command). + If Value5=STATIC, it forces the program to solve only the specified harmonic indices (even if a load may have a Fourier contribution in an index not specified). - LDSECT - This command is valid in any processor. + Restricts subsequently defined force loads and surface loads to a specified sector. The restriction remains in effect until you change or reset it. This option is not available for harmonic analyses based on mode-superposition (CYCOPT,MSUP,1) - Value1 - """ - command = "/PSPEC, %s, %s, %s" % (str(pcolor), str(kfill), str(kbordr)) - self.RunCommand(command, **kwargs) + The sector number. A value other than 0 (default) is valid for a cyclic symmetry analysis with non-cyclically symmetric loading only. A value of 0 (or ALL) resets the default behavior for cyclic loading (where the loads are identical on all sectors). - MOVE - def E(self, i="", j="", k="", l="", m="", n="", o="", p="", **kwargs): - """ - APDL Command: E + Specifies if the program should move high- or low-edge component nodes paired within the specified tolerance (TOLER) to create precisely matching pairs. - Value1 - Defines an element by node connectivity. + The flag value. - 0 - Parameters - ---------- - i - Number of node assigned to first nodal position (node I). If I = P, - graphical picking is enabled and all remaining command fields are - ignored (valid only in the GUI). + Do not move edge component nodes (default) - 1 or HIGH - j, k, l, m, n, o, p - Number assigned to second (node J) through eighth (node P) nodal - position, if any. + Move the high-edge component nodes to precisely match the low-edge component nodes - -1 or LOW - Notes - ----- - Defines an element by its nodes and attribute values. Up to 8 nodes may - be specified with the E command. If more nodes are needed for the - element, use the EMORE command. The number of nodes required and the - order in which they should be specified are described in Chapter 4 of - the Element Reference for each element type. Elements are - automatically assigned a number [NUMSTR] as generated. The current (or - default) MAT, TYPE, REAL, SECNUM and ESYS attribute values are also - assigned to the element. + Move the low-edge component nodes to precisely match the high-edge component nodes - MSUP - When creating elements with more than 8 nodes using this command and - the EMORE command, it may be necessary to turn off shape checking using - the SHPP command before issuing this command. If a valid element type - can be created without using the additional nodes on the EMORE command, - this command will create that element. The EMORE command will then - modify the element to include the additional nodes. If shape checking - is active, it will be performed before the EMORE command is issued. - Therefore, if the shape checking limits are exceeded, element creation - may fail before the EMORE command modifies the element into an - acceptable shape. + For modal cyclic symmetry analysis only, this flag is used to limit the results written to the Jobname.MODE and Jobname.RST files in preparation for a subsequent mode-superposition-based analysis. In a linear perturbation modal analysis, this option must be specified in the first load step of the preceding base analysis. - Value1 - """ - command = "E, %s, %s, %s, %s, %s, %s, %s, %s" % (str(i), str(j), str(k), str(l), str(m), str(n), str(o), str(p)) - self.RunCommand(command, **kwargs) + The flag value. - 0 (OFF or NO) - def Powerh(self, **kwargs): - """ - APDL Command: POWERH + Write results for the basic and duplicate sectors to the Jobname.MODE and Jobname.RST files (default) - 1 (ON or YES) - Calculates the rms power loss in a conductor or lossy dielectric. + Write only the basic sector results to the Jobname.MODE and Jobname.RST files for use in a subsequent mode-superposition-based analysis - STATUS - Notes - ----- - POWERH invokes an ANSYS macro which calculates the time-averaged (rms) - power loss in a conductor or lossy dielectric material from a harmonic - analysis. The power loss is stored in the parameter PAVG. Conductor - losses include solid conductors and surface conductors approximated by - impedance or shielding boundary conditions. The power loss density for - solid conductors or dielectrics is stored in the element table with the - label PLOSSD and may be listed [PRETAB] or displayed [PLETAB]. PLOSSD - does not include surface losses. The elements of the conducting region - must be selected before this command is issued. POWERH is valid for - 2-D and 3-D analyses. + List the solution option settings active for the cyclic model. - TOLER - """ - command = "POWERH, " % () - self.RunCommand(command, **kwargs) + The tolerance used to determine whether a node on the low edge is paired with a node on the high edge. - Value1 - def Prcamp(self, option="", slope="", unit="", freqb="", cname="", - stabval="", keyallfreq="", keynegfreq="", **kwargs): - """ - APDL Command: PRCAMP + The tolerance value. - Greater than 0 - Prints Campbell diagram data for applications involving rotating - structure dynamics. + The absolute distance tolerance for automatic sector-boundary detection and low-/high-edge component node pairing - Less than 0 - Parameters - ---------- - option - Flag to activate or deactivate sorting of forward or backward whirl - frequencies: + The relative tolerance for automatic sector-boundary detection and low-/high-edge component node pairing. In this case, the tolerance is Value1 * Length, where Length is the length of the diagonal of an imaginary box enclosing the model - 0 - 0 (OFF or NO) - No sorting. + Tolerance is set to -1.0 x 10-4 (default) - Value2 - 1 (ON or YES) - Sort. This value is the default. + ANGTOL = Maximum allowable angle tolerance. (default = 0.01°) - The valid range for ANGTOL is model dependent. - slope - The slope of the line to be printed. This value must be positive. + If you input both the number of sectors and a sector angle, the angle must match 360/(number of sectors) within ANGTOL. - If you input only a sector angle, it must divide evenly into 360° within + ANGTOL. - SLOPE > 0 - The line represents the number of excitations per revolution of the rotor. For - example, SLOPE = 1 represents one excitation per - revolution, usually resulting from unbalance. + If you input a sector angle, the final cyclic sector must span that angle within ANGTOL. - For auto detected sector angle, the final cyclic sector must span 360/(number + of sectors) within ANGTOL, everywhere along the + LOW/HIGH boundaries. - SLOPE = 0 - The line represents the stability threshold for stability values or logarithmic - decrements printout (STABVAL = 1 or 2) + If ANGTOL is too small, your CAD or FEA model may not be accurate enough to allow auto detection or verification. - If ANGTOL is too large, you may get an unexpected or incorrect boundary + definition, or in other cases fail to detect the + boundaries. - unit - Specifies the unit of measurement for rotational angular - velocities: + For some difficult cases from FEA models (not solid models), you may need to change the value of FACETOL to achieve auto detection. Please refer to CYCOPT Auto Detection Tolerance Adjustments for Difficult Cases for more information about auto-detection and the CYCOPT command. - USRROT - RDS - Rotational angular velocities in radians per second (rad/s). This value is the - default. + Flag specifying whether ANSYS should override automatic nodal rotations to edge components and allow you to apply nodal rotations manually. - Value1 - RPM - Rotational angular velocities in revolutions per minute (RPMs). + The flag value. - 0 (OFF or NO) - freqb - The beginning, or lower end, of the frequency range of interest. - The default is zero. + Allow automatic node rotation (default) - 1 (ON or YES) - cname - The rotating component name. + Suppress automatic node rotation. If you select this option, you must apply appropriate nodal rotations to all edge component nodes; otherwise, your analysis will yield incorrect solution results. - LOW - stabval - Flag to print the stability values: + Suppresses automatic rotation of low-edge component nodes only, allowing you to apply them manually. Automatic rotation of high-edge component nodes occurs to produce the matching edge nodes required for a valid cyclic solution. - HIGH - 0 (OFF or NO) - Print the frequencies (the imaginary parts of the eigenvalues in Hz). This - value is the default. + Suppresses automatic rotation of high-edge component nodes only, allowing you to apply them manually. Automatic rotation of low-edge component nodes occurs to produce the matching edge nodes required for a valid cyclic solution. - VTSOL - 1 (ON or YES) - Print the stability values (the real parts of the eigenvalues in Hz). + Employ Variational Technology to accelerate your cyclic symmetry analysis. - Value1 - 2 - Print the logarithmic decrements. + The flag value. - 0 (OFF or NO) - keyallfreq - Key to specify if all frequencies above FREQB are printed out: + Do not use Variational Technology (VT) (default) - 1 (ON or YES) - 0 (OFF or NO) - A maximum of 10 frequencies are printed out. They correspond to the frequencies - displayed via the PLCAMP command. This value is the - default. + Notes + ----- + The program solves a cyclically symmetric model (set up via the CYCLIC + command during preprocessing) at the harmonic indices specified via the + CYCOPT command. - 1 (ON or YES) - All frequencies are printed out. + The CYCOPT,COMBINE option is an alternative to the /CYCEXPAND command + and is especially useful for testing purposes. However, ANSYS, Inc. + recommends specifying COMBINE only when the number of sectors is + relatively small. (The option expands nodes and elements into the full + 360° and can slow postprocessing significantly. - keynegfreq - Key to specify if the negative frequencies are printed out. It only - applies to solutions obtained with the damped eigensolver - (Method=DAMP on the MODOPT command): + If you issue a CYCOPT,TOLER command to set a tolerance for edge- + component pairing before issuing the CYCLIC command, the CYCLIC command + uses the specified tolerance when performing automatic edge-component + detection. - 0 (OFF or NO) - Only positive frequencies are printed out. This value is the default. + In cases involving non-cyclically symmetric loading (that is, when + LDSECT > 0), the underlying command operations create or modify the + required SECTOR tabular boundary condition (BC) data to apply on the + appropriate sector. Therefore, it is not necessary to manipulate tables + for situations where the applied BC is not a function of other tabular + BC variables such as TIME, X, Y, Z, and so on. - 1 (ON or YES) - Negative and positive frequencies are printed out. + To delete a previously applied load on a specified sector, issue an + FDELE command. - Notes - ----- - The following items are required when generating a Campbell diagram: + Because edge nodes are rotated into the cyclic coordinate system during + solution, any applied displacements or forces on sector edges will be + in the cyclic coordinate system. - Take the gyroscopic effect into account by issuing the CORIOLIS command - in the SOLUTION module. + The CYCOPT command is valid in the preprocessing and solution stages of + an analysis. - Run a modal analysis using the QR damped (MODOPT,QRDAMP) or damped - (MODOPT,DAMP) method. Complex eigenmodes are necessary - (MODOPT,QRDAMP,,,,Cpxmod = ON), and you must specify the number of - modes to expand (MXPAND). + To learn more about analyzing a cyclically symmetric structure, see the + Cyclic Symmetry Analysis Guide. - Define two or more load step results with an ascending order of - rotational velocity (OMEGA or CMOMEGA). + Distributed ANSYS Restriction: The COMBINE option is not supported in + Distributed ANSYS. - In some cases where modes are not in the same order from one load step - to the other, sorting the frequencies (Option = 1) can help to obtain a - correct printout. Sorting is based on the comparison between complex - mode shapes calculated at two successive load steps. + """ + command = "CYCOPT,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(value1), str(value2), str(value3), str(value4), str(value5), str(value6), str(value7)) + self.RunCommand(command, **kwargs) - At each load step, the application compares the mode shape to the loads - to determine the whirl direction. If applicable, a label appears (on - the rows of output data) representing the whirl mode (BW for backward - whirl and FW for forward whirl). + def Pdscat(self, rlab="", name1="", name2="", type="", order="", nmax="", + **kwargs): + """ + APDL Command: PDSCAT - If you specify a non-zero slope (SLOPE > 0), the command prints the - critical speeds corresponding to the intersection points of the - frequency curves and the added line. In the case of a named component - (Cname), critical speeds relate to the rotational velocity of the - component. Critical speeds are available only if the frequencies are - printed (STABVAL = OFF). + Plots a scatter graph. - If you specify a zero slope (SLOPE = 0), the command prints the - stability threshold corresponding to the sign change of the stability - values (or logarithmic decrements). In the case of a named component - (Cname), stability thresholds relate to the rotational velocity of the - component. Stability thresholds are available only if the stability - values or logarithmic decrements are printed (STABVAL = 1 or 2). + Parameters + ---------- + rlab + Result set label. Identifies the result set to be used for + postprocessing. A result set label can be the solution set label + you defined in a PDEXE command, or the response surface set label + defined in an RSFIT command. - At each load step, the program checks for instability (based on the - sign of the real part of the eigenvalue). The label “U” appears on the - printout for each unstable frequency. + name1, name2 + Parameter names. The parameters must have been previously defined + as a random input variable or a random output parameter using the + PDVAR command. The parameter data for Name1 is shown on the X-axis + and the parameter data for Name2 is shown on the Y-axis in the + plot. - If specified, the rotational velocities of the named component (Cname) - are printed out along with the natural frequencies. + type + Keyword for the type of trendline curve. - In general, printing a Campbell diagram is recommended only when your - analysis is performed in a stationary reference frame - (CORIOLIS,,,,RefFrame = ON). + POLY - Polynomial trendline (default). - For information on printing a Campbell diagram for a prestressed - structure, see Solving for a Subsequent Campbell Analysis of a - Prestressed Structure Using the Linear Perturbation Procedure in the - Rotordynamic Analysis Guide. + NONE - A trendline is not plotted. - For a usage example of the companion command PLCAMP (used for plotting - a Campbell diagram), see Example Campbell Diagram Analysis. + order + Order of the polynomial trendline. This parameter is used only for + Type = POLY. ORDER must be a positive number. There is no maximum + for ORDER provided there are enough data points to evaluate a + polynomial of the requested order. Default is 1. - For more information on Campbell diagram generation, see Campbell - Diagram in the Rotordynamic Analysis Guide. + nmax + Maximum number of points plotted in the scatter plot. If there are + more sample data, then only the first NMAX points are plotted. The + default value is 10,000. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Notes + ----- + Plots a scatter graph with or without a trendline. The scatter plot + shows the simulated points for two random parameters. Random input + variables and random output parameters are valid for both X- and + Y-axis. The mean value of both parameters are marked with separate + green lines. The point where the green lines cross marks the + statistical center of gravity of the cloud of all simulated data points + of the two parameters. + + If Rlab is left blank, then the result set label is inherited from the + last PDEXE command (Slab), RSFIT command (RSlab), or the most recently + used PDS postprocessing command where a result set label was explicitly + specified. + + If the parameter data for Name1 includes negative values, fitting a + logarithmic trendline is not possible and the logarithmic trendline + plot is suppressed if requested. The same applies for an exponential + trendline if the data for the Name2 includes negative values. + + Because of the amount of data involved, the scatter plot is limited to + NMAX points. If shown, the trendline is evaluated only on the NMAX + points shown. However, the statistical information shown in the plot, + such as the mean value lines for both parameters and the correlation + coefficients listed in the legend are based on the full set of samples. + If required, you can increase NMAX to plot more points, but this will + affect the time needed to process the PDSCAT command. If NMAX is less + than the total amount of simulated points, which is typically possible + for Response Surface Methods, you will see an appropriate warning in + the plot legend. """ - command = "PRCAMP, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(slope), str(unit), str(freqb), str(cname), str(stabval), str(keyallfreq), str(keynegfreq)) + command = "PDSCAT,%s,%s,%s,%s,%s,%s" % (str(rlab), str(name1), str(name2), str(type), str(order), str(nmax)) self.RunCommand(command, **kwargs) - def Prrfor(self, lab="", **kwargs): + def Prim(self, **kwargs): """ - APDL Command: PRRFOR - - Prints the constrained node reaction solution. Used with the FORCE - command. + APDL Command: PRIM - Parameters - ---------- - lab - Nodal reaction load type. If blank, use the first ten of all - available labels. Valid labels are: + Specifies "Solid model primitives" as the subsequent status topic. Notes ----- - PRRFOR has the same functionality as the PRRSOL command; use PRRFOR - instead of PRRSOL when a FORCE command has been issued. - - In a non-spectrum analysis, if either contact or pretension elements - exist in the model, PRRFOR uses the PRRSOL command internally and the - FORCE setting is ignored. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - Because modal displacements cannot be used to calculate contact element - nodal forces,: those forces are not included in the spectrum and PSD - analyses reaction solution. As a consequence, the: PRRFOR: command is - not supported when constraints on contact element pilot nodes are - present. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "PRRFOR, %s" % (str(lab)) + command = "PRIM," % () self.RunCommand(command, **kwargs) - def Vfquery(self, srcelem="", tarelem="", **kwargs): + def Gopr(self, **kwargs): """ - APDL Command: VFQUERY - - Queries and prints element Hemicube view factors and average view - factor. - - Parameters - ---------- - srcelem - Elements representing the source radiating surfaces used to query - the view factor at the target element(s). If SRCELEM = P, graphical - picking is enabled (valid only in the GUI). If SRCELEM = ALL, all - selected elements will have their view factors queried. A component - name may also be substituted for SRCELEM. Selected elements must be - flagged for surface to surface radiation in order to query view - factors (SF, SFA, or SFE with Lab = RDSF). The view factors must - have been previously computed. + APDL Command: /GOPR - tarelem - Element for view factor query. If TARELEM = P, graphical picking is - enabled (valid only in the GUI). If TARELEM = ALL, all selected - elements will have their view factors queried. A component name may - also be substituted for TARELEM. Selected elements must be flagged - for surface to surface radiation in order to query view factors - (SF, SFA, or SFE with Lab = RDSF). The view factors must have been - previously computed. + Reactivates suppressed printout. Notes ----- - View factors for each target element will be printed. - - An average view factor for all target elements will be computed. (Use - *GET to retrieve the average value). + Reactivates printout suppressed with the /NOPR command. The /GO + command has the same function except that it does not produce a command + response from the program. - When resuming a database, issue the command VFOPT,READ before issuing - the VFQUERY command. + This command is valid in any processor. """ - command = "VFQUERY, %s, %s" % (str(srcelem), str(tarelem)) + command = "/GOPR," % () self.RunCommand(command, **kwargs) - def Lsrestore(self, enginename="", filename="", **kwargs): + def Sfelist(self, elem="", lab="", **kwargs): """ - APDL Command: *LSRESTORE + APDL Command: SFELIST - Restores a linear solver engine from a binary file. + Lists the surface loads for elements. Parameters ---------- - enginename - Name used to identify this engine. + elem + Element at which surface load is to be listed. If ALL (or blank), + list loads for all selected elements [ESEL]. If ELEM = P, + graphical picking is enabled and all remaining command fields are + ignored (valid only in the GUI). A component name may be + substituted for ELEM. - filename - Name of the file to read from. + lab + Valid surface load label. If ALL (or blank), use all appropriate + labels. Notes ----- - Restores a previously dumped Linear Solver (see the *LSDUMP command). - This Linear Solver can be used to solve a linear system using the - *LSBAC command. + The surface loads listed correspond to the current database values. The + database is not updated for surface loads in POST1. Surface loads + specified in tabular form, however, do list their values corresponding + to the current results set in POST1. + + For SURF151 or SURF152 elements with an extra node for radiation and/or + convection calculations (KEYOPT(5) = 1), the bulk temperature listed is + the temperature of the extra node. If the thermal solution does not + converge, the extra node temperature is not available for listing. + + Film effectiveness and free stream temperatures specified by the SFE + command (Lab = CONV) can only be listed by this command. The command + lists film coefficients and bulk temperatures first and then film + effectiveness and free stream temperatures below those values. + + Distributed ANSYS Restriction: In Distributed ANSYS within the SOLUTION + processor, SFELIST support is not available for elements SURF151 and + SURF152 when surface loading is applied via extra nodes (KEYOPT(5 > 0). + If the command is issued under these circumstances, the resulting + surface loads shown are not reliable. + + This command is valid in any processor. """ - command = "*LSRESTORE, %s, %s" % (str(enginename), str(filename)) + command = "SFELIST,%s,%s" % (str(elem), str(lab)) self.RunCommand(command, **kwargs) - def Fs(self, node="", nev="", nlod="", stitm="", c1="", c2="", c3="", - c4="", c5="", c6="", **kwargs): + def Ainp(self, na1="", na2="", na3="", na4="", na5="", na6="", na7="", + na8="", na9="", **kwargs): """ - APDL Command: FS + APDL Command: AINP - Stores fatigue stress components at a node. + Finds the pairwise intersection of areas. Parameters ---------- - node - Node number corresponding to this location. Used only to associate - a node with a new location or to find an existing location. - - nev - Event number to be associated with these stresses (defaults to 1). - - nlod - Loading number to be associated with these stresses (defaults to - 1). - - stitm - Starting item number for entering stresses (defaults to 1). If 1, - data input in field C1 of this command is entered as the first item - in the list; if 7, data input in field C1 of this command is - entered as the seventh item in the list; etc. Items are as - follows: - - 1-6 - SX, SY, SZ, SXY, SYZ, SXZ total stress components - - 7 - Temperature - - 8-13 - SX, SY, SZ, SXY, SYZ, SXZ membrane-plus-bending stress components. - - 14 - Time - - c1, c2, c3, . . . , c6 - Stresses assigned to six locations starting with STITM. If a value - is already in one of these locations, it will be redefined. A - blank retains the previous value (except in the C1 field, which - resets the STITM item to zero). + na1, na2, na3, . . . , na9 + Numbers of areas to be intersected pairwise. If NA1 = ALL, NA2 to + NA9 are ignored and the pairwise intersection of all selected areas + is found. If NA1 = P, graphical picking is enabled and all + remaining arguments are ignored (valid only in the GUI). A + component name may be substituted for NA1. Notes ----- - Stores fatigue stress components at a node as input on this command - instead of from the current data in the database. Stresses are stored - according to the event number and loading number specified. The - location is associated with that previously defined for this node [FL] - or else it is automatically defined. May also be used to modify any - previously stored stress components. Stresses input with this command - should be consistent with the global coordinate system for any FSNODE - or FSSECT stresses used at the same location. + Finds the pairwise intersection of areas. The pairwise intersection is + defined as all regions shared by any two or more areas listed on this + command. New areas will be generated where the original areas + intersect pairwise. If the regions of pairwise intersection are only + lines, new lines will be generated. See the Modeling and Meshing Guide + for an illustration. See the BOPTN command for the options available + to Boolean operations. Element attributes and solid model boundary + conditions assigned to the original entities will not be transferred to + the new entities generated. """ - command = "FS, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(node), str(nev), str(nlod), str(stitm), str(c1), str(c2), str(c3), str(c4), str(c5), str(c6)) + command = "AINP,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(na7), str(na8), str(na9)) self.RunCommand(command, **kwargs) - def Plst(self, fname="", ext="", parmplot="", mslvstep="", **kwargs): + def Vsymm(self, ncomp="", nv1="", nv2="", ninc="", kinc="", noelem="", + imove="", **kwargs): """ - APDL Command: PLST + APDL Command: VSYMM - Plots sound power parameters vs. frequency, or postprocesses results - for a random acoustics analysis with diffuse sound field. + Generates volumes from a volume pattern by symmetry reflection. Parameters ---------- - fname - File name and directory path of a sound power data file (248 - characters maximum, including the characters needed for the - directory path). The sound power data file is created via the - SPOWER command macro. An unspecified directory path defaults to the - working directory; in this case, you can use all 248 characters for - the file name. When postprocessing a random acoustics analysis, a - file named Fname is generated if no file already exists. + ncomp + Symmetry key: - ext - Extension of the sound power data file (.anp where n is the number - of ports), or the random acoustics data file. When postprocessing - a random acoustics analysis, an extension named Ext is assigned if - no extension already exists. + X - X symmetry (default). - parmplot - Specified parameter to plot: + Y - Y symmetry. - LWIN - Input sound power level (default) + Z - Z symmetry. - LWOUT - Output sound power level at driven port + nv1, nv2, ninc + Reflect volumes from pattern beginning with NV1 to NV2 (defaults to + NV1) in steps of NINC (defaults to 1). If NV1 = ALL, NV2 and NINC + are ignored and the pattern is all selected volumes [VSEL]. If NV1 + = 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 NV1 (NV2 and NINC are ignored). - RL - Return loss + kinc + Keypoint increment between sets. If zero, the lowest available + keypoint numbers are assigned [NUMSTR]. - ALPHA - Absorption coefficient + noelem + Specifies whether nodes and elements are also to be generated: - TL - Transmission loss + 0 - Generate nodes and elements associated with the original volumes, if they + exist. - DFSTL - Transmission loss of random acoustics analysis + 1 - Do not generate nodes and elements. - DFSPW - Radiated power in random acoustics analysis + imove + Specifies whether volumes will be moved or newly defined: - mslvstep - Solution step (load step) of a random acoustics analysis (MSOLVE): + 0 - Generate additional volumes. - 0 - Average result of multiple samplings (default) + 1 - Move original volumes to new position retaining the same keypoint numbers (KINC + and NOELEM are ignored). Corresponding meshed items are also + moved if not needed at their original position. - > 0 - Result at the specified solution step (load step) + Notes + ----- + Generates a reflected set of volumes (and their corresponding + keypoints, lines, areas and mesh) from a given volume pattern by a + symmetry reflection (see analogous node symmetry command, NSYM). The + MAT, TYPE, REAL, and ESYS attributes are based upon the volumes in the + pattern and not upon the current settings. Reflection is done in the + active coordinate system by changing a particular coordinate sign. The + active coordinate system must be a Cartesian system. Volumes in the + pattern may have been generated in any coordinate system. However, + solid modeling in a toroidal coordinate system is not recommended. + Volumes are generated as described in the VGEN command. - ALL - Average of all solution step (load step) results + See the ESYM command for additional information about symmetry + elements. + + """ + command = "VSYMM,%s,%s,%s,%s,%s,%s,%s" % (str(ncomp), str(nv1), str(nv2), str(ninc), str(kinc), str(noelem), str(imove)) + self.RunCommand(command, **kwargs) + + def Rappnd(self, lstep="", time="", **kwargs): + """ + APDL Command: RAPPND + + Appends results data from the database to the results file. + + Parameters + ---------- + lstep + Load step number to be assigned to the results data set. If it is + the same as an existing load step number on the results file, the + appended load step will be inaccessible. Defaults to 1. + + time + Time value to be assigned to the results data set. Defaults to + 0.0. A time value greater than the last load step should be used. Notes ----- + This command is typically used to append the results from a load case + combination to the results file. See the LCWRITE command to create a + separate load case file. Only summable and constant data are written + to the results file by default; non-summable data are not written + unless requested (LCSUM command). RAPPND should not be used to append + results from a harmonic analysis. + Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "PLST, %s, %s, %s, %s" % (str(fname), str(ext), str(parmplot), str(mslvstep)) + command = "RAPPND,%s,%s" % (str(lstep), str(time)) self.RunCommand(command, **kwargs) - def Seg(self, label="", aviname="", delay="", **kwargs): + def Radopt(self, fluxtol="", solver="", maxiter="", toler="", overrlex="", + maxfluxiter="", **kwargs): """ - APDL Command: /SEG + APDL Command: RADOPT - Allows graphics data to be stored in the local terminal memory. + Specifies Radiosity Solver options. Parameters ---------- - label - Storage key: + -- + Unused field. - SINGL - Store subsequent display in a single segment (overwrites last storage). + fluxtol + Convergence tolerance for radiation flux. Defaults to 0.0001. This + value is a relative tolerance. - MULTI - Store subsequent displays in unique segments [ANIM]. + solver + Choice of solver for radiosity calculation: - DELET - Delete all currently stored segments. + 0 - Gauss-Seidel iterative solver (default). - OFF - Stop storing display data in segments. + 1 - Direct solver. - STAT - Display segment status. + 2 - Jacobi solver. - PC - This option only applies to PC versions of ANSYS and only when animating via - the AVI movie player (i.e., /DEVICE,ANIM,2). This command - appends frames to the File.AVI, so that the animation goes in - both directions (i.e., forward--backward--forward). You must - have a current animation file to use this option. + maxiter + Maximum number of iterations for iterative solver (SOLVER = 0 or + 2). Defaults to 1000. - aviname - Name of the animation file that will be created when each frame is - saved. The .AVI extension is applied automatically. Defaults to - Jobname.AVI if no filename is specified. + toler + Convergence tolerance for the iterative solver (SOLVER = 0 or 2). + Defaults to 0.1. - delay - Delay factor between each frame, in seconds. Defaults to 0.015 - seconds if no value is specified. + overrlex + Over-relaxation factor applied to the iterative solver (SOLVER = 0 + or 2). Defaults to 0.1. + + --, --, --, -- + Unused fields + + maxfluxiter + Maximum number of flux iterations to be performed according to the + specified solver type: + + 0 - If the FULL solver is specified (THOPT,FULL), convergence criteria are + monitored and iterations are performed until convergence + occurs. If the QUASI solver is specified (THOPT,QUASI), + convergence criteria are ignored and one iteration is + performed. This value is the default. + + 1, 2, 3, ...N - If the FULL solver is specified (THOPT,FULL), convergence criteria are + monitored and iterations are performed until + convergence occurs, or until the specified number + of iterations has been completed, whichever comes + first. If the QUASI solver is specified + (THOPT,QUASI), convergence criteria are ignored + and the specified number of iterations are + completed. Notes ----- - Allows graphics data to be stored in the terminal local memory (device- - dependent). Storage occurs concurrently with the display. + The radiation heat flux is linearized, resulting in robust convergence. - Although the information from your graphics window is stored as an - individual segment, you cannot plot directly (GPLOT) from the segment - memory. + The radiation flux norm for FLUXTOL is expressed as: - For the DISPLAY program, the Aviname and DELAY fields are ignored. + where i is the pass or iteration number and j is the surface facet for + radiation. - This command is valid in any processor. + For a sufficiently small absolute tolerance value, relative tolerance + converges in fewer iterations than absolute tolerance. For a + sufficiently large absolute tolerance value, relative tolerance may + cause convergence difficulties. + + For more information about FLUXTOL and MAXFLUXITER usage, see Figure: + 3.5:: FULL Solution Method When Radiosity Is Present and Figure: 3.6:: + QUASI Solution Method When Radiosity Is Present in the Thermal Analysis + Guide. + + In Figure: 3.5:: FULL Solution Method When Radiosity Is Present and + Figure: 3.6:: QUASI Solution Method When Radiosity Is Present (under + Solving for Temperature and Radiosity in the Thermal Analysis Guide), + refer to the KQQ = FQ equation system via the iterative method: + + If TOLER ≥ 0, the iterative solver is converged for maximum value over + a different j as shown: + + If TOLER < 0, the iterative solver is converged for maximum value over + a different j as shown: + + where: + + The Jacobi solver (SOLVER = 2) is suitable when using Distributed + ANSYS. This option is only available for 3-D models; if SOLVER is set + to 2 for a 2-D analysis, the Gauss-Seidel iterative solver (SOLVER = 0) + is used. """ - command = "/SEG, %s, %s, %s" % (str(label), str(aviname), str(delay)) + command = "RADOPT,%s,%s,%s,%s,%s,%s" % (str(fluxtol), str(solver), str(maxiter), str(toler), str(overrlex), str(maxfluxiter)) self.RunCommand(command, **kwargs) - def Staopt(self, method="", **kwargs): + def Plchist(self, spec="", freqpt="", **kwargs): """ - APDL Command: STAOPT + APDL Command: PLCHIST - Specifies static analysis options. + Plots a histogram of the frequency response of each sector for the + given CYCSPEC specification. Parameters ---------- - method - Solution method for the static analysis: - - DEFA - Standard ANSYS solve (default). + spec + CYCSPEC specification number (ordered 1 to N in the order input; + use CYCSPEC,LIST to view the current list order). Defaults to 1. - VT - Solve with Variational Technology. + freqpt + Harmonic frequency point to plot (the data set number NSET or + CUMULATIVE on SET,LIST). Defaults to the current SET frequency. Notes ----- - Specifies the method of solution for a static analysis (ANTYPE,STATIC). - If used in SOLUTION, this command is valid only within the first load - step. - - The VT option is valid for either thermal or structural nonlinear - analyses, where it attempts to reduce the total number of iterations. - - This command is also valid in PREP7. - - Distributed ANSYS Restriction: The VT static solution method is not - supported in Distributed ANSYS. + Following a cyclic mode-superposition harmonic analysis, this command + creates a histogram plot of the result item given by a CYCSPEC + specification versus the sector number. A CYCCALC command must have + been issued prior to this command. """ - command = "STAOPT, %s" % (str(method)) + command = "PLCHIST,%s,%s" % (str(spec), str(freqpt)) self.RunCommand(command, **kwargs) - def Delete(self, set="", nstart="", nend="", **kwargs): + def Mffname(self, fnumb="", fname="", **kwargs): """ - APDL Command: DELETE + APDL Command: MFFNAME - Specifies sets in the results file to be deleted before postprocessing. + Specifies a file name for a field in an ANSYS Multi-field solver + analysis. Parameters ---------- - set - Specifies that sets in the results file are to be deleted. - - nstart - The first set in a results file to be deleted. + fnumb + Field number specified by the MFELEM command. - nend - The final set in a results file to be deleted. This field is used - only if deleting more than one sequential sets. + fname + File name. Defaults to field "FNUMB". Notes ----- - DELETE is a specification command that flags sets in the results file - for deletion. It should be followed by a COMPRESS command, the - corresponding action command that deletes the specified sets. + All files created for the field will have this file name with the + appropriate extensions. - The DELETE command is valid only in the results file editing processor - (ANSYS auxiliary processor AUX3). + This command is also valid in PREP7. + + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "DELETE, %s, %s, %s" % (str(set), str(nstart), str(nend)) + command = "MFFNAME,%s,%s" % (str(fnumb), str(fname)) self.RunCommand(command, **kwargs) - def Paput(self, parray="", popt="", **kwargs): + def Aclear(self, na1="", na2="", ninc="", **kwargs): """ - APDL Command: PAPUT + APDL Command: ACLEAR - Retrieves path information from an array variable. + Deletes nodes and area elements associated with selected areas. Parameters ---------- - parray - Name of the array variable containing the path information. - - popt - Specifies which path data to retrieve: - - POINTS - Retrieve path point information (specified with the PPATH command and stored - with the PAGET,POINTS command). The path data name will - be assigned to the path points. - - TABLE - Retrieve path data items (defined via the PDEF command and stored with the - PAGET,,TABLE command). - - LABEL - Retrieve path labels stored with the PAGET,,LABEL command. + na1, na2, ninc + Delete mesh for areas NA1 to NA2 (defaults to NA1) in steps of NINC + (defaults to 1). If NA1 = ALL, NA2 and NINC are ignored and the + mesh for all selected areas [ASEL] is deleted. If NA1 = P, + graphical picking is enabled and all remaining arguments are + ignored (valid only in the GUI). A component name may also be + substituted for NA1 (NA2 and NINC are ignored). Notes ----- - When retrieving path information, restore path points (POINTS option) - first, then the path data (TABLE option), and then the path labels - (LABEL option). + Deletes all nodes and area elements associated with selected areas + (regardless of whether the nodes or elements are selected). Nodes + shared by adjacent meshed areas and nodes associated with non-area + elements will not be deleted. Attributes assigned as a result of AATT + are maintained. In the program's response to the command, if an area, + line, or keypoint is tallied as "cleared," it means either its node or + element reference was deleted. + + This command is also valid for rezoning. When issued during rezoning + (after the REMESH,START command and before the REMESH,FINISH command), + ACLEAR clears only the area generated by the AREMESH command. """ - command = "PAPUT, %s, %s" % (str(parray), str(popt)) + command = "ACLEAR,%s,%s,%s" % (str(na1), str(na2), str(ninc)) self.RunCommand(command, **kwargs) - def N(self, node="", x="", y="", z="", thxy="", thyz="", thzx="", - **kwargs): + def Fft(self, type="", inputdata="", outputdata="", dim1="", dim2="", + resultformat="", **kwargs): """ - APDL Command: N + APDL Command: *FFT - Defines a node. + Computes the fast Fourier transformation of a specified matrix or + vector. Parameters ---------- - node - Node number to be assigned. A previously defined node of the same - number will be redefined. Defaults to the maximum node number used - +1. + type + Type of FFT transformation: - x, y, z - Node location in the active coordinate system (R, θ, Z for - cylindrical, R, θ, Φ for spherical or toroidal). If X = P, - graphical picking is enabled and all remaining command fields are - ignored (valid only in the GUI). + Forward FFT computation (default). - Backward FFT computation. - thxy - First rotation about nodal Z (positive X toward Y). + inputdata + Name of matrix or vector for which the FFT will be computed. This + can be a dense matrix (created by the *DMAT command) or a vector + (created by the *VEC command). Data can be real or complex values. + There is no default value for this argument. - thyz - Second rotation about nodal X (positive Y toward Z). + outputdata + Name of matrix or vector where the FFT results will be stored. The + type of this argument must be consistent with InputData (see table + below). There is no default value for this argument. - thzx - Third rotation about nodal Y (positive Z toward X). + dim1 + The number of terms to consider for a vector, or the number of rows + for a matrix. Defaults to the whole input vector or all the rows of + the matrix. + + dim2 + The number of columns to consider for a matrix. Defaults to all the + columns of the matrix. (Valid only for matrices.) + + resultformat + Specifies the result format: + + Returns the full result. That is, the result matches the dimension specified on this command (DIM1, DIM2). - Returns partial results. For real input data, there is a symmetry in the + results of the Fourier transform as some + coefficients are conjugated. The partial format + uses this symmetry to optimize the storage of the + results. (Valid only for real data.) Notes ----- - Defines a node in the active coordinate system [CSYS]. The nodal - coordinate system is parallel to the global Cartesian system unless - rotated. Rotation angles are in degrees and redefine any previous - rotation angles. See the NMODIF, NANG, NROTAT, and NORA commands for - other rotation options. + In the example that follows, the fast Fourier transformation is used to + filter frequencies from a noisy input signal. """ - command = "N, %s, %s, %s, %s, %s, %s, %s" % (str(node), str(x), str(y), str(z), str(thxy), str(thyz), str(thzx)) + command = "*FFT,%s,%s,%s,%s,%s,%s" % (str(type), str(inputdata), str(outputdata), str(dim1), str(dim2), str(resultformat)) self.RunCommand(command, **kwargs) - def Nrm(self, name="", normtype="", parr="", normalize="", **kwargs): + def Lsengine(self, type="", enginename="", matrix="", option="", **kwargs): """ - APDL Command: *NRM + APDL Command: *LSENGINE - Computes the norm of the specified matrix or vector. + Creates a linear solver engine. Parameters ---------- - name - Matrix or vector for which the norm will be computed. This can be a - dense matrix (created by the *DMAT command), a sparse matrix - (created by the *SMAT command) or a vector (created by the *VEC - command) + type + Specifies the algorithm to be used: - normtype - Mathematical norm to use: + Boeing sparse solver (default if applied to sparse matrices). - MKL sparse linear solver (Intel Windows and Linux systems only). - L2 (Euclidian or SRSS) norm (default). - L1 (absolute sum) norm (vectors only). + LAPACK dense matrix linear solver (default if applied to dense matrices). - Distributed sparse solver. - parr - Parameter name that contains the result. + enginename + Name used to identify this engine. Must be specified. + + matrix + Name of the matrix to solve. - normalize - Normalization key; to be used only for vectors created by *VEC: + option + Option to control the memory mode of the DSS solver (used only if + Type = DSS): - Normalize the vector such that the norm is 1.0. - Do not normalize the vector (default). + In-core memory mode. - Out-of-core memory mode. Notes ----- - The NRM2 option corresponds to the Euclidian or L2 norm and is - applicable to either vectors or matrices. The NRM1 option corresponds - to the L1 norm and is applicable to vectors only. The NRMINF option is - the maximum norm and is applicable to either vectors or matrices. + This command creates a linear solver engine. + + The BCS, DSS, and DSP solvers can only be used with sparse matrices. + For dense matrices, use the LAPACK solver. """ - command = "*NRM, %s, %s, %s, %s" % (str(name), str(normtype), str(parr), str(normalize)) + command = "*LSENGINE,%s,%s,%s,%s" % (str(type), str(enginename), str(matrix), str(option)) self.RunCommand(command, **kwargs) - def Etable(self, lab="", item="", comp="", option="", **kwargs): + def Emsym(self, nsect="", **kwargs): """ - APDL Command: ETABLE + APDL Command: EMSYM - Fills a table of element values for further processing. + Specifies circular symmetry for electromagnetic sources. Parameters ---------- - lab - Any unique user defined label for use in subsequent commands and - output headings (maximum of eight characters and not a General - predefined Item label). Defaults to an eight character label formed - by concatenating the first four characters of the Item and Comp - labels. If the same as a previous user label, this result item will - be included under the same label. Up to 200 different labels may be - defined. The following labels are predefined and are not available - for user-defined labels: REFL, STAT, and ERAS. Lab = REFL refills - all tables previously defined with the ETABLE commands (not the - CALC module commands) according to the latest ETABLE specifications - and is convenient for refilling tables after the load step (SET) - has been changed. Remaining fields will be ignored if Lab is REFL. - Lab = STAT displays stored table values. Lab = ERAS erases the - entire table. - - item - Label identifying the item. General item labels are shown in the - table below. Some items also require a component label. Character - parameters may be used. Item = ERAS erases a Lab column. - - comp - Component of the item (if required). General component labels are - shown in the table below. Character parameters may be used. - - option - Option for storing element table data: + nsect + The number of circular symmetry sections (defaults to 1). - MIN - Store minimum element nodal value of the specified item component. + Notes + ----- + Specifies the number of times to repeat electromagnetic sources for + circular symmetry. Applies to SOURC36 elements and to coupled-field + elements with electric current conduction results in the database. + Sources are assumed to be equally spaced over 360° about the global + Cartesian Z axis. - MAX - Store maximum element nodal value of the specified item component. + This command is also valid in SOLUTION. - AVG - Store averaged element centroid value of the specified item component - (default). + """ + command = "EMSYM,%s" % (str(nsect)) + self.RunCommand(command, **kwargs) - Notes - ----- - The ETABLE command defines a table of values per element (the element - table) for use in further processing. The element table is organized - similar to spreadsheet, with rows representing all selected elements - and columns consisting of result items which have been moved into the - table (Item,Comp) via ETABLE. Each column of data is identified by a - user-defined label (Lab) for listings and displays. + def Edcmore(self, option="", num="", val1="", val2="", **kwargs): + """ + APDL Command: EDCMORE - After entering the data into the element table, you are not limited to - merely listing or displaying your data (PLESOL, PRESOL, etc.). You may - also perform many types of operations on your data, such as adding or - multiplying columns (SADD, SMULT), defining allowable stresses for - safety calculations (SALLOW), or multiplying one column by another - (SMULT). See Getting Started in theBasic Analysis Guide for more - information. + Specifies additional contact parameters for a given contact definition + in an explicit dynamic analysis. - Various results data can be stored in the element table. For example, - many items for an element are inherently single-valued (one value per - element). The single-valued items include: SERR, SDSG, TERR, TDSG, - SENE, SEDN, TENE, KENE, AENE, JHEAT, JS, VOLU, and CENT. All other - items are multivalued (varying over the element, such that there is a - different value at each node). Because only one value is stored in the - element table per element, an average value (based on the number of - contributing nodes) is calculated for multivalued items. Exceptions to - this averaging procedure are FMAG and all element force items, which - represent the sum only of the contributing nodal values. + Parameters + ---------- + option + Label identifying the option to be performed. - Two methods of data access can be used with the ETABLE command. The - method you select depends upon the type of data that you want to store. - Some results can be accessed via a generic label (Component Name - method), while others require a label and number (Sequence Number - method). + ADD - Define contact parameters for the contact entity specified by NUM (default). - The Component Name method is used to access the General element data - (that is, element data which is generally available to most element - types or groups of element types). All of the single-valued items and - some of the more general multivalued items are accessible with the - Component Name method. Various element results depend on the - calculation method and the selected results location (AVPRIN, RSYS, - LAYER, SHELL, and ESEL). + DELE - Delete contact parameters (VAL1 and VAL2) for the contact entity specified by + NUM. If NUM = ALL, all contact parameters previously defined + by EDCMORE are deleted. - Although nodal data is readily available for listings and displays - (PRNSOL, PLNSOL) without using the element table, you may also use the - Component Name method to enter these results into the element table for - further "worksheet" manipulation. (See Getting Started in theBasic - Analysis Guide for more information.) A listing of the General Item and - Comp labels for the Component Name method is shown below. + num + Contact entity number. This contact entity must have been + previously defined with the EDCGEN command. Use EDCLIST to obtain a + list of contact entity numbers. - The Sequence Number method allows you to view results for data that is - not averaged (such as pressures at nodes, temperatures at integration - points, etc.), or data that is not easily described in a generic - fashion (such as all derived data for structural line elements and - contact elements, all derived data for thermal line elements, layer - data for layered elements, etc.). A table illustrating the Items (such - as LS, LEPEL, LEPTH, SMISC, NMISC, SURF, etc.) and corresponding - sequence numbers for each element is shown in the Output Data section - of each element description found in the Element Reference. + -- + Unused field. - Some element table data are reported in the results coordinate system. - These include all component results (for example, UX, UY, etc.; SX, SY, - etc.). The solution writes component results in the database and on the - results file in the solution coordinate system. When you issue the - ETABLE command, these results are then transformed into the results - coordinate system (RSYS) before being stored in the element table. The - default results coordinate system is global Cartesian (RSYS,0). All - other data are retrieved from the database and stored in the element - table with no coordinate transformation. + val1 + Penalty scale factor for slave (contact) surface (SFS); default = + 1. - Use the PRETAB, PLETAB, or ETABLE,STAT commands to display the stored - table values. Issue ETABLE,ERAS to erase the entire table. Issue - ETABLE,Lab,ERAS to erase a Lab column. + val2 + Penalty scale factor for master (target) surface (SFM); default = + 1. - When the GUI is on, if a Delete operation in a Define Element Table - Data dialog box writes this command to a log file (Jobname.LOG or - Jobname.LGW), you will observe that Lab is blank, Item = ERASE, and - Comp is an integer number. In this case, the GUI has assigned a value - of Comp that corresponds to the location of a chosen variable name in - the dialog box's list. It is not intended that you type in such a - location value for Comp in a session. However, a file that contains a - GUI-generated ETABLE command of this form can be used for batch input - or for use with the /INPUT command. + Notes + ----- + You can use the EDCMORE command to specify two additional contact + parameters (SFS and SFM) for a specific contact definition. These + parameters will apply only to the contact entity number entered on the + NUM field. Use the EDCLIST command to obtain a list of contact + definitions and their corresponding contact entity numbers. The listing + produced by EDCLIST will include any contact parameters specified with + the EDCMORE command. - The element table data option (Option) is not available for all output - items. See the table below for supported items. + When you use the EDDC command to delete a contact definition, any + parameters you specified with EDCMORE for that contact definition will + also be deleted. To delete only the parameters specified by EDCMORE for + a given contact definition, use the command EDCMORE,DELE,NUM. - Table: 135:: : ETABLE - General Item and Component Labels + Note:: : When you delete a contact definition with the EDDC command, + the contact entity numbers will be renumbered for the remaining contact + definitions. Therefore, you should always issue EDCLIST to obtain a + current list of contact entity numbers before adding or deleting + contact parameters with the EDCMORE command. - Number of the maximum-failure criterion over the entire element: + The EDCMORE command is also valid in SOLUTION. - For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use labels - TBOT, TE2, TE3, . . ., TTOP instead of TEMP. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - Element table option (Option) is available for this element output data - item. + """ + command = "EDCMORE,%s,%s,%s,%s" % (str(option), str(num), str(val1), str(val2)) + self.RunCommand(command, **kwargs) - For the CONT items for elements CONTA171 through CONTA177, the - reported data is averaged across the element. + def Linv(self, nl="", nv="", **kwargs): + """ + APDL Command: LINV - For MPC-based contact definitions, the value of STAT can be negative. - This indicates that one or more contact constraints were intentionally - removed to prevent overconstraint. STAT = -3 is used for MPC bonded - contact; STAT = -2 is used for MPC no-separation contact. + Finds the intersection of a line with a volume. - When using the EMFT procedure to calculate electromagnetic force - (PLANE121, SOLID122, SOLID123, PLANE233, SOLID236 or SOLID237 elements - only), the FMAG sum will be zero or near zero. + Parameters + ---------- + nl + Number of line to be intersected. If NL = P, graphical picking is + enabled and all remaining command fields are ignored (valid only in + the GUI). - Some element- and material-type limitations apply. For more - information, see the documentation for the PRERR command. + nv + Number of volume to be intersected. - Failure criteria are based on the effective stresses in the damaged - material. + Notes + ----- + Finds the intersection of a line with a volume. New lines will be + generated where the lines intersect the volumes. If the regions of + intersection are only points, new keypoints will be generated instead. + See the Modeling and Meshing Guide for an illustration. See the BOPTN + command for the options available to Boolean operations. Element + attributes and solid model boundary conditions assigned to the original + entities will not be transferred to the new entities generated. """ - command = "ETABLE, %s, %s, %s, %s" % (str(lab), str(item), str(comp), str(option)) + command = "LINV,%s,%s" % (str(nl), str(nv)) self.RunCommand(command, **kwargs) - def Fvmesh(self, keep="", **kwargs): + def Lswrite(self, lsnum="", **kwargs): """ - APDL Command: FVMESH + APDL Command: LSWRITE - Generates nodes and tetrahedral volume elements from detached exterior - area elements (facets). + Writes load and load step option data to a file. Parameters ---------- - keep - Specifies whether to keep the area elements after the tetrahedral - meshing operation is complete. - - 0 - Delete area elements (default). - - 1 - Keep area elements. + lsnum + Number to be assigned to the load step file name for identification + purposes. Defaults to 1 + highest LSNUM used in the current + session. Issue LSWRITE,STAT to list the current value of LSNUM. + Issue LSWRITE,INIT to reset to 1. The load step file will be named + Jobname.Sn, where n is the specified LSNUM value (preceded by "0" + for values 1-9). On systems with a 3-character limit on the file + name extension, the "S" is dropped for LSNUM > 99. Notes ----- - The FVMESH command generates a tetrahedral volume mesh from a selected - set of detached exterior area elements (facets). (Detached elements - have no solid model associativity.) The area elements can be - triangular-shaped, quadrilateral-shaped, or a mixture of the two. + Writes all load and load step option data for the selected model to a + load step file for later use. LSWRITE does not capture changes made to + real constants (R), material properties (MP), couplings (CP), or + constraint equations (CE). - The FVMESH command is in contrast to the VMESH command, which requires - a volume to be input. + Solid model loads will not be saved if the model is not meshed. Solid + model loads, if any, are transferred to the finite element model. Issue + LSCLEAR,FE to delete finite element loads. - The main tetrahedra mesher [MOPT,VMESH,MAIN] is the only tetrahedra - mesher that supports the FVMESH command. The alternate tetrahedra - mesher [MOPT,VMESH,ALTERNATE] does not support FVMESH. MESH200 elements - do not support FVMESH. + One file is written for each load step. Use the LSREAD command to read + a single load step file, and the LSDELE command to delete load step + files. Use the LSSOLVE command to read and solve the load steps + sequentially. - Tetrahedral mesh expansion [MOPT,TETEXPND,Value] is supported for both - the FVMESH and VMESH commands. Tet-mesh expansion is the only mesh - control supported by FVMESH. + Solution control commands are typically not written to the file unless + you specifically change a default solution setting. - Triangle- or quadrilateral-shaped elements may be used as input to the - FVMESH command. Where quadrilaterals are used, the default behavior is - for the pyramid-shaped elements to be formed at the boundary when the - appropriate element type is specified. See the MOPT,PYRA command for - details. + LSWRITE does not support the following commands: DJ, FJ, GSBDATA, + GSGDATA, ESTIF, EKILL, EALIVE, MPCHG, and OUTRES. These commands will + not be written to the load step file. - The FVMESH command does not support multiple "volumes." If you have - multiple volumes in your model, select the surface elements for one - "volume," while making sure that the surface elements for the other - volumes are deselected. Then use FVMESH to generate a mesh for the - first volume. Continue this procedure by selecting one volume at a - time and meshing it, until all of the volumes in the model have been - meshed. + LSWRITE cannot be used with the birth-death option. - If an error occurs during the meshing operation, the area elements are - kept even if KEEP = 0. + This command is also valid in PREP7. """ - command = "FVMESH, %s" % (str(keep)) + command = "LSWRITE,%s" % (str(lsnum)) self.RunCommand(command, **kwargs) - def Mfouri(self, oper="", coeff="", mode="", isym="", theta="", curve="", - **kwargs): + def Wtbcreate(self, iel="", node="", damp="", **kwargs): """ - APDL Command: *MFOURI + APDL Command: WTBCREATE - Calculates the coefficients for, or evaluates, a Fourier series. + Creates a USER300 element to model the turbine for full aeroelastic + coupling analysis and specifies relevant settings for the analysis. Parameters ---------- - oper - Type of Fourier operation: - - Calculate Fourier coefficients COEFF from MODE, ISYM, THETA, and CURVE. - Evaluate the Fourier curve CURVE from COEFF, MODE, ISYM andTHETA + iel + Element number (next available number by default). - coeff - Name of the array parameter vector containing the Fourier - coefficients (calculated if Oper = FIT, required as input if Oper = - EVAL). See *SET for name restrictions. + node + Node number connecting support structure and turbine. - mode - Name of the array parameter vector containing the mode numbers of - the desired Fourier terms. + damp + Damping option for the turbine: - isym - Name of the array parameter vector containing the symmetry key for - the corresponding Fourier terms. The vector should contain keys - for each term as follows: + 0 - Damping matrix obtained from the aeroelastic code plus Rayleigh damping + (default). - Symmetric (cosine) term - Antisymmetric (sine) term. + 1 - Rayleigh damping only. - theta, curve - Names of the array parameter vectors containing the theta vs. curve - description, respectively. Theta values should be input in - degrees. If Oper = FIT, one curve value should be supplied with - each theta value. If Oper = EVAL, one curve value will be - calculated for each theta value. + 2 - Damping from the aeroelastic code only. Notes ----- - Calculates the coefficients of a Fourier series for a given curve, or - evaluates the Fourier curve from the given (or previously calculated) - coefficients. The lengths of the COEFF, MODE, and ISYM vectors must be - the same--typically two times the number of modes desired, since two - terms (sine and cosine) are generally required for each mode. The - lengths of the CURVE and THETA vectors should be the same or the - smaller of the two will be used. There should be a sufficient number - of points to adequately define the curve--at least two times the number - of coefficients. A starting array element number (1) must be defined - for each array parameter vector. The vector specifications *VLEN, - *VCOL, *VABS, *VFACT, and *VCUM do not apply to this command. Array - elements should not be skipped with the *VMASK and the NINC value of - the *VLEN specifications. The vector being calculated (COEFF if Oper - is FIT, or CURVE if Oper is EVAL) must exist as a dimensioned array - [*DIM]. + WTBCREATE invokes a predefined ANSYS macro that will automatically + generate a turbine element and issue relevant data commands that are + necessary to run a full aeroelastic coupling analysis. For detailed + information on how to perform a fully coupled aeroelastic analysis, see + Fully Coupled Wind Turbine Example in Mechanical APDL in the Mechanical + APDL Programmer's Reference. - This command is valid in any processor. + The generated USER300 turbine element will have 9 nodes with node + numbers NODE, NMAX+1, NMAX+2, ..., NMAX+8, where NMAX is the maximum + node number currently in the model. + + There are 6 freedoms on the first node of the element: UX, UY, UZ, + ROTX, ROTY, ROTZ, and these are true structural freedoms. For all the + other nodes (i.e., nodes 2 to 9), only the translational freedoms (UX, + UY, UZ) are used. These are generalized freedoms that are internal to + the turbine element and are used by the aeroelastic code only. + + The element type integer of the USER300 element is the current maximum + element type integer plus one. + + The command will also set up the analysis settings appropriate for a + full aeroelastic coupling analysis. These include full Newton-Raphson + solution (NROPT,FULL) and a USRCAL command to activate the relevant + user routines. """ - command = "*MFOURI, %s, %s, %s, %s, %s, %s" % (str(oper), str(coeff), str(mode), str(isym), str(theta), str(curve)) + command = "WTBCREATE,%s,%s,%s" % (str(iel), str(node), str(damp)) self.RunCommand(command, **kwargs) - def Plcfreq(self, spec="", sectbeg="", sectend="", **kwargs): + def Fjdele(self, elem="", lab="", **kwargs): """ - APDL Command: PLCFREQ + APDL Command: FJDELE - Plots the frequency response for the given CYCSPEC specification. + Deletes forces (or moments) on the components of the relative motion of + a joint element. Parameters ---------- - spec - CYCSPEC specification number (ordered 1 to N in the order input; - use CYCSPEC,LIST to view the current list order). Defaults to 1. + elem + Element number, or ALL. (leaving this blank defaults to ALL) - sectbeg - Beginning sector number to plot. Defaults to 1. + lab + Valid labels are: - sectend - Ending sector number to plot. Defaults to the total number of - sectors expanded (/CYCEXPAND). + FX - Force in local x direction. + + FY - Force in local y direction. + + FZ - Force in local z direction. + + MX - Moment about local x axis. + + MY - Moment about local y axis. + + MZ - Moment about local z axis. + + ALL, or (blank) - Delete all valid forces or moments. Notes ----- - Following a cyclic mode-superposition harmonic analysis, this command - plots the result item given by a CYCSPEC specification versus the - harmonic frequency, one curve for each of the specified sectors. A - CYCCALC command must have been issued prior to this command. + Valid for MPC184 (joint options in KEYOPT(1)). + + See FJ for information on specifying forces (or moments). """ - command = "PLCFREQ, %s, %s, %s" % (str(spec), str(sectbeg), str(sectend)) + command = "FJDELE,%s,%s" % (str(elem), str(lab)) self.RunCommand(command, **kwargs) - def Kbc(self, key="", **kwargs): + def Nang(self, node="", x1="", x2="", x3="", y1="", y2="", y3="", z1="", + z2="", z3="", **kwargs): """ - APDL Command: KBC + APDL Command: NANG - Specifies ramped or stepped loading within a load step. + Rotates a nodal coordinate system by direction cosines. Parameters ---------- - key - Ramping key: + node + Rotate coordinate system of this node. - 0 - Loads are linearly interpolated (ramped) for each substep from the values of - the previous load step to the values of this load step. This is - the default value. + x1, x2, x3 + Global X, Y, Z components of a unit vector in new nodal X + direction. - 1 - Loads are step changed (stepped) at the first substep of this load step to the - values of this load step (i.e., the same values are used for - all substeps). Useful for rate-dependent behavior (e.g., - creep, viscoplasticity, etc.) or transient load steps only. + y1, y2, y3 + Global X, Y, Z components of a unit vector in new nodal Y + direction. + + z1, z2, z3 + Global X, Y, Z components of a unit vector in new nodal Z + direction. Notes ----- - Specifies whether loads applied to intermediate substeps within the - load step are to be stepped or ramped. Used only if DTIME on the DELTIM - command is less than the time span or, conversely, if NSBSTP on the - NSUBST command is greater than one. Flags (FSI, MXWF, MVDI, etc.) are - always stepped. - - Changing the ramping KEY (i.e., switching between ramped and stepped - boundary conditions) between load steps is not recommended. - - For ramped loading (KBC,0), when a load is applied for the first time, - it is interpolated from zero to the value of the current load step, and - not from the initial condition or value of the degree of freedom from - the previous load step. - - Spatially varying tabular loads or boundary conditions do not support - direct ramping or stepping options and, instead, apply their full - values according to the supplied tabular functions regardless of the - KBC setting. - - For a static or harmonic cyclic symmetry analysis, any load that varies - by sector (CYCOPT,LDSECT) is tabular and is applied as a step change, - regardless of the KBC setting; however, any non-tabular loads in the - same analysis are ramped or stepped according to the KBC setting. - - Irrespective of the KBC setting, loads are usually step-removed. See - Stepping or Ramping Loads in the Basic Analysis Guide for more - information. - - It is sometimes difficult to obtain successful convergence with stepped - loading in a nonlinear transient problem. If divergence is encountered, - determine if stepped loading was used by default, then determine if it - is appropriate for the analysis. + Rotates a nodal coordinate system to the orientation specified by the + X, Y and Z direction cosines. Existing rotation specifications on the + node are redefined. If only two of the three unit vectors are + specified, the third is defined according to the right hand rule. It + is the responsibility of the user to ensure that input direction + cosines are orthogonal in a right-handed system. - This command is also valid in PREP7. + See the NMODIF, NROTAT, and NORA commands for other rotation options. """ - command = "KBC, %s" % (str(key)) + command = "NANG,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(node), str(x1), str(x2), str(x3), str(y1), str(y2), str(y3), str(z1), str(z2), str(z3)) self.RunCommand(command, **kwargs) - def Areas(self, **kwargs): + def Cone(self, rbot="", rtop="", z1="", z2="", theta1="", theta2="", + **kwargs): """ - APDL Command: AREAS + APDL Command: CONE - Specifies "Areas" as the subsequent status topic. + Creates a conical volume centered about the working plane origin. - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Parameters + ---------- + rbot, rtop + Radii of the bottom and top faces of the cone. A value of zero or + blank for either RBOT or RTOP defines a degenerate face at the + center axis (i.e., the vertex of the cone). The same value for + both RBOT and RTOP defines a cylinder instead of a cone. + + z1, z2 + Working plane Z coordinates of the cone. The smaller value is + always associated with the bottom face. + + theta1, theta2 + Starting and ending angles (either order) of the cone. Used for + creating a conical sector. The sector begins at the algebraically + smaller angle, extends in a positive angular direction, and ends at + the larger angle. The starting angle defaults to 0° and the + ending angle defaults to 360°. See the Modeling and Meshing Guide + for an illustration. - If entered directly into the program, the STAT command should - immediately follow this command. + Notes + ----- + Defines a solid conical volume centered about the working plane origin. + The non-degenerate face (top or bottom) is parallel to the working + plane but not necessarily coplanar with (i.e., "on") the working plane. + The cone must have a spatial volume greater than zero. (i.e., this + volume primitive command cannot be used to create a degenerate volume + as a means of creating an area.) For a cone of 360°, top and bottom + faces will be circular (each area defined with four lines), and they + will be connected with two areas (each spanning 180°). See the CON4 + command for an alternate way to create cones. """ - command = "AREAS, " % () + command = "CONE,%s,%s,%s,%s,%s,%s" % (str(rbot), str(rtop), str(z1), str(z2), str(theta1), str(theta2)) self.RunCommand(command, **kwargs) - def Lcsum(self, lab="", **kwargs): + def Lsbac(self, enginename="", rhsvector="", solvector="", **kwargs): """ - APDL Command: LCSUM + APDL Command: *LSBAC - Specifies whether to process non-summable items in load case - operations. + Performs the solve (forward/backward substitution) of a factorized + linear system. Parameters ---------- - lab - Combination option + enginename + Name used to identify this engine. Must have been previously + created using *LSENGINE and factorized using *LSFACTOR. - (blank) - Only combine summable items [default]. + rhsvector + Name of vector containing the right-hand side (load) vectors as + input. Must have been previously defined as a *VEC vector or a + *DMAT matrix. - ALL - Combine all items including non summable items. + solvector + Name of vector that will contain the solution vectors upon + completion. Must be predefined as a *VEC vector or *DMAT matrix. Notes ----- - Allows non-summable items (e.g. plastic strains) to be included in load - combinations. Issue LCSUM,ALL before the first load case operation - (LCXX command). May also be used to include nonsummable items in the - appending of a results file (RAPPND command). + This command performs forward and back substitution to obtain the + solution to the linear matrix equation Ax = b. The matrix engine must + have been previously defined using *LSENGINE, and the matrix factored + using *LSFACTOR. + + You can use the *DMAT,,,COPY (or *VEC,,,COPY) command to copy the load + vector to the solution vector in order to predefine it with the + appropriate size. """ - command = "LCSUM, %s" % (str(lab)) + command = "*LSBAC,%s,%s,%s" % (str(enginename), str(rhsvector), str(solvector)) self.RunCommand(command, **kwargs) - def Asbl(self, na="", nl="", keepa="", keepl="", **kwargs): + def Cycexpand(self, wn="", option="", value1="", value2="", **kwargs): """ - APDL Command: ASBL + APDL Command: /CYCEXPAND - Subtracts lines from areas. + Graphically expands displacements, stresses and strains of a cyclically + symmetric model. Parameters ---------- - na - Area (or areas, if picking is used) to be subtracted from. If ALL, - use all selected areas. If P, graphical picking is enabled (valid - only in the GUI) and remaining fields are ignored. A component - name may also be substituted for NA. + wn + The window number to which the expansion applies. Valid values are + 1 through 5. The default value is 1. The window number applies only + to the AMOUNT argument. - nl - Line (or lines, if picking is used) to subtract. If ALL, use all - selected lines. A component name may also be substituted for NL. + option + One of the following options: - -- - Unused field. + ON - Activates cyclic expansion using the previous settings (if any). If no previous + settings exist, this option activates the default settings. - keepa - Specifies whether NA areas are to be deleted: + DEFAULT - Resets cyclic expansion to the default settings. - (blank) - Use the setting of KEEP on the BOPTN command. + OFF - Deactivates cyclic expansion. This option is the default. - DELETE - Delete NA areas after ASBL operation (override BOPTN command settings). + STATUS - Lists the current cyclic expansion settings. - KEEP - Keep NA areas after ASBL operation (override BOPTN command settings). + AMOUNT - The number of repetitions or the total angle. - keepl - Specifies whether NL lines are to be deleted: + Value1 - NREPEAT - (blank) - Use the setting of KEEP on the BOPTN command. + Value2 - The number of repetitions. The default is the total number of sectors in 360 + degrees. - DELETE - Delete NL lines after ASBL operation (override BOPTN command settings). + or - Value1 - KEEP - Keep NL lines after ASBL operation (override BOPTN command settings). + ANGLE - Value2 - Notes - ----- - Generates new areas by subtracting the regions common to both the areas - and lines (the intersection) from the NA areas. The intersection will - be a line(s). See Solid Modeling in the Modeling and Meshing Guide for - an illustration. See the BOPTN command for an explanation of the - options available to Boolean operations. Element attributes and solid - model boundary conditions assigned to the original entities will not be - transferred to the new entities generated. + The total angle in degrees. The default is 360. - WHAT - """ - command = "ASBL, %s, %s, %s, %s" % (str(na), str(nl), str(keepa), str(keepl)) - self.RunCommand(command, **kwargs) + A specified portion or subset of the model to expand: - Value1 - def Larc(self, p1="", p2="", pc="", rad="", **kwargs): - """ - APDL Command: LARC + The component name of the elements to expand. The default is all selected components. - EDGE - Defines a circular arc. + Sector edge display key. - -1 - Parameters - ---------- - p1 - Keypoint at one end of circular arc line. If P1 = P, graphical - picking is enabled and all remaining command fields are ignored - (valid only in the GUI). + Suppresses display of edges between sectors even if the cyclic count varies between active windows. - Caution:  Plots with fewer than the maximum number of repetitions may have + missing element faces at the sector boundaries. - p2 - Keypoint at other end of circular arc line. + 0 or OFF - Averages stresses or strains across sector boundaries. This value is the + default (although the default reverts to 1 or ON if the + cyclic count varies between active windows). - pc - Keypoint defining plane of arc and center of curvature side (with - positive radius). Must not lie along the straight line from P1 to - P2. PC need not be at the center of curvature. + 1 or ON - No averaging of stresses or strains occurs and sector boundaries are shown on + the plot. - rad - Radius of curvature of the arc. If negative, assume center of - curvature side is opposite to that defined by PC. If RAD is blank, - RAD will be calculated from a curve fit through P1, PC, and P2. + PHASEANG - The phase angle shift: + + Value1 - The phase angle shift in degrees. The valid range is 0 through 360. The default + is 0. For a full harmonic solution, this value is + typically the phase angle obtained via the CYCPHASE + command. If Value1 = AMPLITUDE (or if Value1 ≥ 360), the + amplitude is supplied. The amplitude solution for non- + component results (such as equivalent stress) are not + valid. For a mode-superposition harmonic solution, if + Value1 = SWEEP, the maximum values across a phase angle + sweep are supplied. Notes ----- - Defines a circular arc line from P1 to P2. The line shape is generated - as circular, regardless of the active coordinate system. The line - shape is invariant with coordinate system after it is generated. + In preprocessing, the /CYCEXPAND command verifies a cyclically + symmetric model by graphically expanding it partially or through the + full 360 degrees. - When dealing with a large radius arc (1e3), or if the location of the - arc you create is far away from the origin of your coordinate system, - anomalies may occur. You can prevent this by creating the arc at a - smaller scale, and then scaling the model back to full size (LSSCALE). + For the postprocessing plot nodal solution (PLNSOL) operation, the + command graphically expands displacements, stresses and strains of a + cyclically symmetric model partially or though the full 360 degrees by + combining the real (original nodes and elements) and imaginary + (duplicate nodes and elements) parts of the solution. - """ - command = "LARC, %s, %s, %s, %s" % (str(p1), str(p2), str(pc), str(rad)) - self.RunCommand(command, **kwargs) + For the print nodal solution (PRNSOL) operation, the command expands + the printed output of displacements or stresses on a sector-by-sector + basis. - def Ptxy(self, x1="", y1="", x2="", y2="", x3="", y3="", x4="", y4="", - **kwargs): - """ - APDL Command: PTXY + Use of the /CYCEXPAND command does not change the database. The command + does not modify the geometry, nodal displacements or element stresses. - Defines coordinate pairs for use in polygons and prisms. + The command affects element and result plots only. It has no effect on + operations other than plot element solution (PLESOL), plot nodal + solution (PLNSOL), print nodal solution (PRNSOL), and calculate + harmonic solution (CYCCALC). Operations other than PLESOL, PLNSOL, + PRNSOL, or CYCCALC work on the unprocessed real and imaginary parts of + a cyclic symmetry solution - Parameters - ---------- - x1, y1, x2, y2, x3, y3, x4, y4 - X and Y coordinate pairs on the working plane. + If you issue a /CYCEXPAND,,OFF command, you cannot then expand the + model by simply issuing another /CYCEXPAND command (for example, to + specify an NREPEAT value for the number of repetitions). In such a + case, you must specify /CYCEXPAND,,ON, which activates expansion using + the previous settings (if any) or the default settings. - Notes - ----- - Defines coordinate pairs for use in polygons and prisms [POLY, RPRISM]. - The coordinates must be in the Cartesian coordinate system. The - coordinate pairs must be input in a continuous order. PTXY may be - repeated (up to 100 pairs) until the required pairs have been defined. - The pairs will be saved until either the POLY or PRISM command is - entered. Use PTXY,STAT to list the saved coordinate pairs. Use - PTXY,DELE to delete all the saved coordinate pairs. See the RPOLY, - RPRISM, and RPR4 commands for other ways to create polygons and prisms. + The command requires PowerGraphics and will turn PowerGraphics on + (/GRAPHICS,POWER) if not already active. Any setting which bypasses + PowerGraphics (for example, /PBF) also bypasses cyclic expansion; in + such cases, the /CYCEXPAND command displays unprocessed real and + imaginary results. + + The CYCPHASE command uses full model graphics (/GRAPHICS,FULL) to + compute peak values. Because of this, there may be slight differences + between max/min values obtained with CYCPHASE, and those obtained via + /CYCEXPAND, which uses power graphics (/GRAPHICS,POWER). + + For PHASEANG = AMPLITUDE (or 360) with a cyclic full harmonic solution, + the only appropriate coordinate system is the solution coordinate + system (RSYS,SOLU) + + To learn more about analyzing a cyclically symmetric structure, see the + Cyclic Symmetry Analysis Guide. """ - command = "PTXY, %s, %s, %s, %s, %s, %s, %s, %s" % (str(x1), str(y1), str(x2), str(y2), str(x3), str(y3), str(x4), str(y4)) + command = "/CYCEXPAND,%s,%s,%s,%s" % (str(wn), str(option), str(value1), str(value2)) self.RunCommand(command, **kwargs) - def Efacet(self, num="", **kwargs): + def Expand(self, nrepeat="", hindex="", icsys="", sctang="", ph_ase="", + **kwargs): """ - APDL Command: /EFACET + APDL Command: EXPAND - Specifies the number of facets per element edge for PowerGraphics - displays. + Displays the results of a modal cyclic symmetry analysis. Parameters ---------- - num - Number of facets per element edge for element plots. + nrepeat + Number of sector repetitions for expansion. The default is 0 (no + expansion). - 1 - Use 1 facet per edge (default for h-elements). + modal + Specifies that the expansion is for a modal cyclic symmetry + analysis. - 2 - Use 2 facets per edge. + hindex + The harmonic index ID for the results to expand. - 4 - Use 4 facets per edge. + icsys + The coordinate system number used in the modal cyclic symmetry + solution. The default is the global cylindrical coordinate system + (specified via the CSYS command where KCN = 1). + + sctang + The sector angle in degrees, equal to 360 divided by the number of + cyclic sectors. + + -- + This field is reserved for future use. + + phase + The phase angle in degrees to use for the expansion. The default is + 0. Typically, the value is the peak displacement (or stress/strain) + phase angle obtained via the CYCPHASE command. Notes ----- - /EFACET is valid only when PowerGraphics is enabled [/GRAPHICS,POWER], - except that it can be used in FULL graphics mode for element CONTA174. - (See the /GRAPHICS command and element CONTA174 in the Element - Reference for more information.) The /EFACET command is only applicable - to element type displays. + Issue this command to display the results of a modal cyclic symmetry + analysis. - /EFACET controls the fineness of the subgrid that is used for element - plots. The element is subdivided into smaller portions called facets. - Facets are piecewise linear surface approximations of the actual - element face. In their most general form, facets are warped planes in - 3-D space. A greater number of facets will result in a smoother - representation of the element surface for element plots. /EFACET may - affect results averaging. See Contour Displays in the Basic Analysis - Guide for more information. + When you issue the EXPAND,Nrepeat command, subsequent SET commands read + data from the results file and expand them to Nrepeat sectors. As long + as no entities have been modified, this expansion can be negated (that + is, reverted to single sector) by issuing EXPAND with no arguments. If + you modify entities and wish to return to the partial model, use the + Session Editor (see Restoring Database Contents in the Operations + Guide). - For midside node elements, use NUM = 2; if NUM = 1, no midside node - information is output. For non-midside node elements, NUM should be set - to 1. See the PLNSOL and PRNSOL commands for more information. + EXPAND displays the results and allows you to print them, as if for a + full model. The harmonic index (automatically retrieved from the + results file) appears in the legend column. - With PowerGraphics active (/GRAPHICS,POWER), the averaging scheme for - surface data with interior element data included (AVRES,,FULL) and - multiple facets per edge (/EFACET,2 or /EFACET,4) will yield differing - minimum and maximum contour values depending on the Z-Buffering - options (/TYPE,,6 or /TYPE,,7). When the Section data is not included - in the averaging schemes (/TYPE,,7), the resulting absolute value for - the midside node is significantly smaller. + When plotting or printing element strain energy (SENE), the EXPAND + command works with brick or tet models only. Element kinetic energy + (KENE) plotting or printing is not supported. - For cyclic symmetry mode-superposition harmonic solutions, only NUM = 1 - is supported in postprocessing. + EXPAND is a specification command valid only in POST1. It is + significantly different from the /CYCEXPAND command in several + respects, (although you can use either command to display the results + of a modal cyclic symmetry analysis): - Caution:: : If you specify /EFACET,1, PowerGraphics does not plot - midside nodes. You must use /EFACET,2 to make the nodes visible. + EXPAND has none of the limitations of the /CYCEXPAND command. - This command is valid in any processor. + EXPAND changes the database by modifying the geometry, the nodal + displacements, and element stresses as they are read from the results + file, whereas the /CYCEXPAND command does not change the database. + + Caution:: : The EXPAND command creates new nodes and elements; + therefore, saving (or issuing the /EXIT, ALL command) after issuing the + EXPAND command can result in large databases. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/EFACET, %s" % (str(num)) + command = "EXPAND,%s,%s,%s,%s,%s" % (str(nrepeat), str(hindex), str(icsys), str(sctang), str(ph_ase)) self.RunCommand(command, **kwargs) - def Ocdelete(self, datatype="", zonename="", **kwargs): + def Psdfrq(self, tblno1="", tblno2="", freq1="", freq2="", freq3="", + freq4="", freq5="", freq6="", freq7="", **kwargs): """ - APDL Command: OCDELETE + APDL Command: PSDFRQ - Deletes a previously defined ocean load. + Defines the frequency points for the input spectrum tables PSDVAL vs. + PSDFRQ for PSD analysis. Parameters ---------- - datatype - Ocean data type to delete. Valid values are BASIC, CURRENT, WAVE, - ZONE, and ALL. + tblno1 + Input table number. When used with the COVAL or the QDVAL command, + TBLNO1 represents the row number of this table. Up to 200 tables + may be defined. - zonename - The name of the ocean zone to delete. If no name is specified, all - defined ocean zones are deleted. Valid only when DataType = ZONE. + tblno2 + Input table number. TBLNO2 is used only for the COVAL or the QDVAL + commands and represents the column number of this table. + + freq1, freq2, freq3, . . . , freq7 + Frequency points (cycles/time) for spectrum vs. frequency tables. + FREQ1 should be greater than zero, and values must be in ascending + order. Log-log interpolation will be used between frequency + points. Notes ----- - The OCDELETE command deletes previously specified ocean data from the - database. + The spectrum values may be input with the PSDVAL, COVAL , or QDVAL + commands. A separate PSDFRQ command must be used for each table and + cross table defined. Frequencies must be in ascending order. + + Repeat PSDFRQ command for additional frequency points. Values are + added after the last nonzero frequency. If all fields after PSDFRQ are + blank, all input vs. frequency tables are erased. If TBLNO1 is + nonblank, all corresponding PSDVAL tables are erased. If both TBLNO1 + and TBLNO2 are nonblank, all corresponding COVAL and QDVAL tables are + erased. This command is also valid in PREP7. """ - command = "OCDELETE, %s, %s" % (str(datatype), str(zonename)) + command = "PSDFRQ,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(tblno1), str(tblno2), str(freq1), str(freq2), str(freq3), str(freq4), str(freq5), str(freq6), str(freq7)) self.RunCommand(command, **kwargs) - def Bfvlist(self, volu="", lab="", **kwargs): + def Ngen(self, itime="", inc="", node1="", node2="", ninc="", dx="", dy="", + dz="", space="", **kwargs): """ - APDL Command: BFVLIST + APDL Command: NGEN - Lists the body force loads on a volume. + Generates additional nodes from a pattern of nodes. Parameters ---------- - volu - Volume at which body load is to be listed. If ALL (or blank), list - for all selected volumes [VSEL]. If VOLU = 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 VOLU. + itime, inc + Do this generation operation a total of ITIME times, incrementing + all nodes in the given pattern by INC each time after the first. + ITIME must be > 1 for generation to occur. - lab - Valid body load label. If ALL, use all appropriate labels. Load - labels are listed under "Body Loads" in the input table for each - element type in the Element Reference. See the BFV command for - labels. + node1, node2, ninc + Generate nodes from the pattern of nodes beginning with NODE1 to + NODE2 (defaults to NODE1) in steps of NINC (defaults to 1). If + NODE1 = ALL, NODE2 and NINC are ignored and the pattern is all + selected nodes [NSEL]. 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). + + dx, dy, dz + Node location increments in the active coordinate system (DR, Dθ, + DZ for cylindrical, DR, Dθ, DΦ for spherical or toroidal). + + space + Spacing ratio. Ratio of last division size to first division size. + If > 1.0, divisions increase. If < 1.0, divisions decrease. Ratio + defaults to 1.0 (uniform spacing). Notes ----- - Lists the body force loads for the specified volume and label. Body - loads may be defined on a volume with the BFV command. + Generates additional nodes from a given node pattern. Generation is + done in the active coordinate system. Nodes in the pattern may have + been generated in any coordinate system. - This command is valid in any processor. + This command is also valid in the /MAP processor. """ - command = "BFVLIST, %s, %s" % (str(volu), str(lab)) + command = "NGEN,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(itime), str(inc), str(node1), str(node2), str(ninc), str(dx), str(dy), str(dz), str(space)) self.RunCommand(command, **kwargs) - def Init(self, name="", method="", val1="", val2="", val3="", **kwargs): + def Fesurf(self, **kwargs): """ - APDL Command: *INIT + APDL Command: FESURF - Initializes a vector or dense matrix. + Specifies "Surface loads on elements" as the subsequent status topic. - Parameters - ---------- - name - Vector or matrix which will be initialized. This can be a vector - (created by the *VEC command) or a dense matrix (created by the - *DMAT command). + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - method - Initialization method to use: + If entered directly into the program, the STAT command should + immediately follow this command. - Fill the vector/matrix with zeros (default). - Fill the vector/matrix with a constant value. + """ + command = "FESURF," % () + self.RunCommand(command, **kwargs) - Fill the vector/matrix with random values. - Fill the nth diagonal of the matrix with a constant value. Other values are not - overwritten. + def Mater(self, **kwargs): + """ + APDL Command: MATER - val1, val2, val3 - Additional input. The meaning of Val1 through Val3 will vary - depending on the specified Method. See details below. + Specifies "Material properties" as the subsequent status topic. Notes ----- - This command initializes a previously defined vector (*VEC) or dense - matrix (*DMAT). + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "*INIT, %s, %s, %s, %s, %s" % (str(name), str(method), str(val1), str(val2), str(val3)) + command = "MATER," % () self.RunCommand(command, **kwargs) - def Cmlist(self, name="", key="", entity="", **kwargs): + def Fclist(self, mat="", temp="", **kwargs): """ - APDL Command: CMLIST + APDL Command: FCLIST - Lists the contents of a component or assembly. + To list what the failure criteria is that you have input. Parameters ---------- - name - Name of the component or assembly to be listed (if blank, list all - selected components and assemblies). If Name is specified, then - Entity is ignored. - - key - Expansion key: - - 0 - Do not list individual entities in the component. - - 1 or EXPA - List individual entities in the component. - - entity - If Name is blank, then the following entity types can be specified: + mat + Material number (defaults to ALL for all materials). - VOLU - List the volume components only. + -- + Unused field. - AREA - List the area components only. + temp + Temperature to be evaluated at (defaults to TUNIF). - LINE - List the line components only. + Notes + ----- + This command allows you to see what you have already input for failure + criteria using the FC commands. - KP - List the keypoint components only + """ + command = "FCLIST,%s,%s" % (str(mat), str(temp)) + self.RunCommand(command, **kwargs) - ELEM - List the element components only. + def List(self, level="", **kwargs): + """ + APDL Command: LIST - NODE - List the node components only. + Lists out the sets in the results file. Notes ----- - This command is valid in any processor. For components, it lists the - type of geometric entity. For assemblies, it lists the components - and/or assemblies that make up the assembly. - - Examples of possible usage: + This command lists the results set number, the load step, substep, and + time step for each set. It also shows all sets marked for deletion. """ - command = "CMLIST, %s, %s, %s" % (str(name), str(key), str(entity)) + command = "LIST,%s" % (str(level)) self.RunCommand(command, **kwargs) - def Solve(self, action="", **kwargs): + def Dtran(self, **kwargs): """ - APDL Command: SOLVE - - Starts a solution. - - Parameters - ---------- - action - Action to be performed on solve (used only for linear perturbation - analyses). + APDL Command: DTRAN - ELFORM - Reform all appropriate element matrices in the first phase of a linear - perturbation analysis. + Transfers solid model DOF constraints to the finite element model. Notes ----- - Starts the solution of one load step of a solution sequence based on - the current analysis type and option settings. Use Action = ELFORM only - in the first phase of a linear perturbation analysis. + Constraints are transferred only from selected solid model entities to + selected nodes. The DTRAN operation is also done if the SBCTRAN + command is issued, and is automatically done upon initiation of the + solution calculations [SOLVE]. + + This command is also valid in PREP7. """ - command = "SOLVE, %s" % (str(action)) + command = "DTRAN," % () self.RunCommand(command, **kwargs) - def Rmore(self, r7="", r8="", r9="", r10="", r11="", r12="", **kwargs): + def Secdata(self, val1="", val2="", val3="", val4="", val5="", val6="", + val7="", val8="", val9="", val10="", val11="", val12="", + **kwargs): """ - APDL Command: RMORE + APDL Command: SECDATA - Adds real constants to a set. + Describes the geometry of a section. Parameters ---------- - r7, r8, r9, . . . , r12 - Add real constants 7 to 12 (numerical values or table names) to the - most recently defined set. + val1, val2, val3, . . . , val12 + Values, such as thickness or the length of a side or the numbers of + cells along the width, that describe the geometry of a section. The + terms VAL1, VAL2, etc. are specialized for each type of cross- + section. Notes ----- - Adds six more real constants to the most recently defined set. Repeat - the RMORE command for constants 13 to 18, again for 19-24, etc. + The SECDATA command defines the data describing the geometry of a + section. The command is divided into these section types: Beams, Links, + Pipes, Axisymmetric, Taper, Shells, Pretension, Joints, Reinforcing, + and Contact. - If using table inputs (SURF151, SURF152, FLUID116, CONTA171, CONTA172, - CONTA173, CONTA174, and CONTA175 only), enclose the table name in % - signs (e.g., %tabname%). + The data input on the SECDATA command is interpreted based on the most + recently issued SECTYPE command. The data required is determined by the + section type and subtype, and is different for each one. - When copying real constants to new sets, ANSYS, Inc. recommends that - you use the command input. If you do use the GUI, restrict the real - constant copy to only the first six real constants (real constants - seven and greater will be incorrect for both the master and copy set). + Beam sections are referenced by BEAM188 and BEAM189 elements. Not all + SECOFFSET location values are valid for each subtype. - This command is also valid in SOLUTION. + Type: BEAM, Subtype: RECT - """ - command = "RMORE, %s, %s, %s, %s, %s, %s" % (str(r7), str(r8), str(r9), str(r10), str(r11), str(r12)) - self.RunCommand(command, **kwargs) + Type: BEAM, Subtype: QUAD - def Aesize(self, anum="", size="", **kwargs): - """ - APDL Command: AESIZE + Degeneration to triangle is permitted by specifying the same + coordinates for cells along an edge. - Specifies the element size to be meshed onto areas. + Type: BEAM, Subtype: CSOLID - Parameters - ---------- - anum - Area number of the area to which this element size specification - applies. If ANUM = ALL, size applies to all selected areas. If ANUM - = P, graphical picking is enabled. A component name may also be - substituted for ANUM. + Type: BEAM, Subtype: CTUBE - size - Desired element size. + This subtype is similar to type PIPE. However, elements using PIPE + account for internal or external pressures, whereas elements using + CTUBE do not. - Notes - ----- - AESIZE allows control over the element sizing inside any area or on the - face(s) of a volume. + Type: BEAM, Subtype: CHAN - SIZE controls element size on the interior of the area. For any line on - the area not having its own size assignment and not controlled by - keypoint size assignments, it specifies the element size along the line - as well, so long as no adjacent area has a smaller size, which would - take precedence. If the AESIZE governs the boundary and SmartSizing is - on, the boundary size can be refined for curvature or proximity. + Type: BEAM, Subtype: I - This command is also valid for rezoning. + Type: BEAM, Subtype: Z - """ - command = "AESIZE, %s, %s" % (str(anum), str(size)) - self.RunCommand(command, **kwargs) + Type: BEAM, Subtype: L - def Quot(self, ir="", ia="", ib="", name="", facta="", factb="", **kwargs): - """ - APDL Command: QUOT + If W2 is a negative value, the section will be flipped. - Divides two variables. + Type: BEAM, Subtype: T - Parameters - ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. + If W2 is a negative value, the section will be flipped. - ia, ib - Reference numbers of the two variables to be operated on. + Type: BEAM, Subtype: HATS - -- - Unused field. + Type: BEAM, Subtype: HREC - name - Thirty-two character name identifying the variable on printouts and - displays. Embedded blanks are compressed for output. + Type: BEAM, Subtype: ASEC - --, -- - Unused fields. + SECPLOT cannot display an ASEC plot. - facta, factb - Scaling factors (positive or negative) applied to the corresponding - variables (default to 1.0). + Type: BEAM, Subtype: MESH - Notes - ----- - Divides two variables according to the operation: + Link sections are referenced by the LINK180 element. - IR = (FACTA x IA)/(FACTB x IB) + Pipe sections are referenced by the PIPE288, PIPE289, and ELBOW290 + elements. - """ - command = "QUOT, %s, %s, %s, %s, %s, %s" % (str(ir), str(ia), str(ib), str(name), str(facta), str(factb)) - self.RunCommand(command, **kwargs) + The accuracy of the ovalization value (OVAL) output by ELBOW290 + (Structural Elbow form only) improves as the specified number of cells + around the circumference (Nc) is increased. - def Ftcalc(self, nloc="", node="", **kwargs): - """ - APDL Command: FTCALC + External material (Mins) adds mass and increases hydraulic diameter, + but does not add to stiffness. - Performs fatigue calculations for a particular node location. + Tapered sections are referenced by BEAM188, BEAM189 and ELBOW290 + elements. After specifying the tapered section type (SECTYPE,,TAPER), + issue separate SECDATA commands to define each end of the tapered beam + or pipe. - Parameters - ---------- - nloc - Location number of stress conditions to be used for fatigue - calculation. + For more information about tapered beams and pipes, including + assumptions and example command input, see Defining a Tapered Beam or + Pipe in the Structural Analysis Guide. - node - Node number (used only for convenience if NLOC is not input). + General axisymmetric sections are referenced by the SURF159, SOLID272, + and SOLID273 elements. Use this command to locate the axisymmetric + axis. - """ - command = "FTCALC, %s, %s" % (str(nloc), str(node)) - self.RunCommand(command, **kwargs) + Shell sections are referenced by the SHELL131, SHELL132, SHELL181, + SOLID185 Layered Solid, SOLID186 Layered Solid, SOLSH190, SHELL208, + SHELL209, SOLID278 Layered Solid, SOLID279 Layered Solid, and SHELL281 + elements. - def Ncnv(self, kstop="", dlim="", itlim="", etlim="", cplim="", **kwargs): - """ - APDL Command: NCNV + Pretension sections are referenced by the PRETS179 element. - Sets the key to terminate an analysis. + The following usage is typical: - Parameters - ---------- - kstop - Program behavior upon nonconvergence: + The PRETENSION section options of SECTYPE and SECDATA are documented + mainly to aid in the understanding of data written by CDWRITE. ANSYS, + Inc. recommends that you generate pretension sections using PSMESH. - 0 - Do not terminate the analysis if the solution fails to converge. + Joint sections are referenced by MPC184 joint elements. - 1 - Terminate the analysis and the program execution if the solution fails to - converge (default). + The following table shows the lengths and angles to be specified for + different kinds of joints. - 2 - Terminate the analysis, but not the program execution, if the solution fails to - converge. + angle1: for: x-axis: revolute: joint angle3: for: z-axis: revolute: + joint - dlim - Terminates program execution if the largest nodal DOF solution - value (displacement, temperature, etc.) exceeds this limit. - Defaults to 1.0E6 for all DOF except MAG and A. Defaults to 1.0E10 - for MAG and A. + length1: and: angle1: for: x-axis: cylindrical: joint length3: and: + angle3: for: z-axis: cylindrical: joint - itlim - Terminates program execution if the cumulative iteration number - exceeds this limit (defaults to infinity). + length2,: length3,: and: angle1: for: x-axis: planar: joint length1,: + length2,: and: angle3: for: z-axis: planar: joint - etlim - Terminates program execution if the elapsed time (seconds) exceeds - this limit (defaults to infinity). + The reference length and angle specifications correspond to the free + relative degrees of freedom in a joint element for which constitutive + calculations are performed. These values are used when stiffness and/or + damping are specified for the joint elements. - cplim - Terminates program execution if the CPU time (seconds) exceeds this - limit (defaults to infinity). + If the reference lengths and angles are not specified, they are + calculated from the default or starting configuration for the element. - Notes - ----- - Sets the key to terminate an analysis if not converged, or if any of - the following limits are exceeded for nonlinear and full transient - analyses: DOF (displacement), cumulative iteration, elapsed time, or - CPU time limit. Applies only to static and transient analyses - (ANTYPE,STATIC and ANTYPE,TRANS). Time limit checks are made at the end - of each equilibrium iteration. + See MPC184 or the individual joint element descriptions for more + information on joint element constitutive calculations. - This command is also valid in PREP7. + Reinforcing sections are referenced by REINF264 and REINF265 elements. - """ - command = "NCNV, %s, %s, %s, %s, %s" % (str(kstop), str(dlim), str(itlim), str(etlim), str(cplim)) - self.RunCommand(command, **kwargs) + - - - - - - - - - - - - - - - - - - - - - - def Nsle(self, type="", nodetype="", num="", **kwargs): - """ - APDL Command: NSLE + Type: REINF, Subtype: DISCRETE - Selects those nodes attached to the selected elements. + This subtype defines discrete reinforcing fibers with arbitrary + orientations. Issue separate SECDATA commands to define each + reinforcing fiber. - Parameters - ---------- - type - Label identifying the type of node select: + PATT : LAYN - S - Select a new set (default). + Description: The discrete reinforcing fiber is placed in the middle of + a layer in a layered base element. The orientation of the fiber within + the layer is adjustable via offsets with respect to a specified element + edge. - R - Reselect a set from the current set. + Required input: - A - Additionally select a set and extend the current set. + When applied to 8-node or 20-node layered solid elements: - U - Unselect a set from the current set. + When applied to 4-node or 8-node layered shell elements: - nodetype - Label identifying type of nodes to consider when selecting: + PATT : EDGO - ALL - Select all nodes of the selected elements (default). + Description: The orientation of the discrete reinforcing fiber is + similar to one of the specified element edges. The fiber orientation + can be further adjusted via offsets with respect to the specified + element edge. - ACTIVE - Select only the active nodes. An active node is a node that contributes DOFs to - the model. + Required input: - INACTIVE - Select only inactive nodes (such as orientation or radiation). + If the base element is a beam or link, ANSYS ignores values V2 through + V5 and instead places the reinforcing in the center of the beam or + link. - CORNER - Select only corner nodes. + When applied to 8-node or 20-node solid elements: - MID - Select only midside nodes. + When applied to tetrahedral elements: - POS - Select nodes in position Num. + When applied to 3-D shell elements: - FACE - Select nodes on face Num. + When applied to beam or link elements: - num - Position or face number for NodeType = POS or FACE. + PATT : BEAM - Notes - ----- - NSLE selects NodeType nodes attached to the currently-selected set of - elements. Only nodes on elements in the currently-selected element set - can be selected. + Description: Use this specialized input pattern for defining + reinforcing in regular constant and tapered beams. - Note:: : When using degenerate hexahedral elements, NSLE, U,CORNER and - NSLE,S,MID will not select the same set of nodes because some nodes - appear as both corner and midside nodes. + Required input: - This command is valid in any processor. + - - - - - - - - - - - - - - - - - - - - - - """ - command = "NSLE, %s, %s, %s" % (str(type), str(nodetype), str(num)) - self.RunCommand(command, **kwargs) + Type: REINF, Subtype: SMEAR - def Wpstyl(self, snap="", grspac="", grmin="", grmax="", wptol="", - wpctyp="", grtype="", wpvis="", snapang="", **kwargs): - """ - APDL Command: WPSTYL + This subtype defines reinforcing fibers in homogeneous layered forms. + Issue separate SECDATA commands to define each of the layers of + reinforcing fibers with uniform cross-section area and spacing. - Controls the display and style of the working plane. + PATT : LAYN - Parameters - ---------- - snap - Snap increment for a locational pick (1E-6 minimum). If -1, turn - off snap capability. For example, a picked location of 1.2456 with - a snap of 0.1 gives 1.2, with 0.01 gives 1.25, with 0.001 gives - 1.246, and with 0.025 gives 1.250 (defaults to 0.05). + Description: The smeared reinforcing layer is placed in the middle of a + layer in a layered base element. - grspac - Graphical spacing between grid points. For graphical - representation only and not related to snap points (defaults to - 0.1). + Required input: V1 (or n) -- The number of the layer in the base + element on which to apply the reinforcing layer. The default value is + 1. - grmin, grmax - Defines the size of a square grid (if WPCTYP = 0) to be displayed - over a portion of the working plane. The opposite corners of the - grid will be located at grid points nearest the working plane - coordinates of (GRMIN,GRMIN) and (GRMAX,GRMAX). If a polar system - (WPCTYP = 1), GRMAX is the outside radius of grid and GRMIN is - ignored. If GRMIN = GRMAX, no grid will be displayed (defaults to - -1.0 and 1.0 for GRMIN and GRMAX respectively). + When applied to layered solid elements: - wptol - The tolerance that an entity's location can deviate from the - specified working plane, while still being considered on the plane. - Used only for locational picking of vertices for polygons and - prisms (defaults to 0.003). + When applied to 2-D axisymmetric shells: - wpctyp - Working plane coordinate system type: + When applied to 3-D layered shells: - 0 - Cartesian (default). If working plane tracking is on [CSYS,4], the updated - active coordinate system will also be Cartesian. + PATT : EDGO - 1 - Polar. If working plane tracking is on, the updated active coordinate system - will be cylindrical. + Description: This pattern applies only to 2-D smeared reinforcing + element REINF263. The smeared reinforcing layer is represented by a + line in 2-D. The orientation of the 2-D smeared reinforcing layer is + similar to one of the specified element edges. The fiber orientation + can be further adjusted via offsets with respect to the specified + element edge. - 2 - Polar. If working plane tracking is on, the updated active coordinate system - will be spherical. + Required input: - grtype - Grid type: + When applied to 2-D 4-node or 8-node solid elements: - 0 - Grid and WP triad. + When applied to 2-D 3-node or 6-node triangular solid elements: - 1 - Grid only. + When applied to 2-node or 3-node axisymmetric shell elements: - 2 - WP triad only (default). + PATT : ELEF - wpvis - Grid visibility: + Description: The smeared reinforcing layer is oriented parallel to one + of three adjacent element faces. (This pattern does not apply to 2-D + smeared reinforcing element REINF263.) - 0 - Do not show GRTYPE entities (grid and/or triad) (default). + Required input: - 1 - Show GRTYPE entities. Cartesian working planes will be displayed with a - Cartesian grid, polar with a polar grid. + When applied to 8-node or 20-node solid elements: - snapang - Snap angle (0--180) in degrees. Used only if WPCTYP = 1 or 2. - Defaults to 5 degrees. + where - Notes - ----- - Use WPSTYL,DEFA to reset the working plane to its default location and - style. Use WPSTYL,STAT to list the status of the working plane. Blank - fields will keep present settings. + When applied to tetrahedral elements: - It is possible to specify SNAP and WPTOL values that will cause - conflicts during picking operations. Check your values carefully, and - if problems are noted, revert to the default values. + When applied to 3-D shell elements: - WPSTYL with no arguments will toggle the grid on and off. The working - plane can be displayed in the non-GUI interactive mode only after - issuing a /PLOPTS,WP,1 command. See the Modeling and Meshing Guide for - more information on working plane tracking. See /PLOPTS command for - control of hidden line working plane. + Geometry Correction: Contact sections for geometry correction (Subtype + = CIRCLE, SPHERE, or CYLINDER) are referenced by the following + elements: TARGE169, TARGE170, CONTA171, CONTA172, CONTA173, and + CONTA174. This geometry correction applies to cases where the original + meshes of contact elements or target elements are located on a portion + of a circular, spherical, or revolute surface. - This command is valid in any processor. + Type: CONTACT, Subtype: CIRCLE + + Type: CONTACT, Subtype: SPHERE + + Type: CONTACT, Subtype: CYLINDER + + User-Defined Contact Surface Normal: The contact section for a user- + defined contact surface normal (Subtype = NORMAL) is referenced by the + following elements: CONTA171, CONTA172, CONTA173, CONTA174, and + CONTA175. This geometry correction is used to define a shift direction + for interference fit solutions. + + Type: CONTACT, Subtype: NORMAL + + Simplified Bolt Thread Modeling: The contact section for bolt-thread + modeling (Subtype = BOLT) is referenced by the following elements: + CONTA171, CONTA172, CONTA173, CONTA174, and CONTA175. It applies to + cases where the original meshes of contact elements are located on a + portion of a bolt-thread surface. This feature allows you to include + the behavior of bolt threads without having to add the geometric detail + of the threads. Calculations are performed internally to approximate + the behavior of the bolt-thread connections. + + Type: CONTACT, Subtype: BOLT """ - command = "WPSTYL, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(snap), str(grspac), str(grmin), str(grmax), str(wptol), str(wpctyp), str(grtype), str(wpvis), str(snapang)) + command = "SECDATA,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9), str(val10), str(val11), str(val12)) self.RunCommand(command, **kwargs) - def Hrocean(self, type="", nph_ase="", **kwargs): + def Slashtype(self, wn="", type="", **kwargs): """ - APDL Command: HROCEAN + APDL Command: /TYPE - Perform the harmonic ocean wave procedure (HOWP). + Defines the type of display. Parameters ---------- - type - Specifies how to include ocean wave information in a harmonic - analysis: + wn + Window number (or ALL) to which command applies (defaults to 1). - HARMONIC - Performs a harmonic analysis using both real and imaginary load vectors - calculated via the harmonic ocean wave procedure (HOWP). - This behavior is the default. This option performs a - harmonic analysis running at a frequency determined by - the wave period (specified via OCTABLE command input). + type + Display type. Defaults to ZBUF for raster mode displays or BASIC + for vector mode displays: - STATIC - Performs a static analysis using both real and imaginary load vectors - (calculated via HOWP). This option works by performing a - harmonic analysis running at a frequency of 0.0. + BASIC or 0 - Basic display (no hidden or section operations). - OFF - Deactivates a previously activated HOWP and performs a standard harmonic - analysis. + SECT or 1 - Section display (plane view). Use the /CPLANE command to define the cutting + plane. - nphase - Positive number specifying the number of phases to calculate - forces. This value must be at least 8. The default value is 20. + HIDC or 2 - Centroid hidden display (based on item centroid sort). - Notes - ----- - The HROCEAN command applies ocean wave information (obtained via the - OCDATA and OCTABLE commands) in a harmonic analysis (ANTYPE,HARMIC) as - real and imaginary forces. + HIDD or 3 - Face hidden display (based on face centroid sort). - You can apply only one ocean load at a time. + HIDP or 4 - Precise hidden display (like HIDD but with more precise checking). Because all + facets are sorted, this mode can be extremely slow, + especially for large models. - The applied frequency in the harmonic (Type = HARMONIC) analysis is - based on the wave period input on the OCTABLE command (and not on - HARFRQ command input, which cannot be used). Phase-shift input on the - OCTABLE command is ignored. + CAP or 5 - Capped hidden display (same as combined SECT and HIDD with model in front of + section plane removed). - HOWP does not generate a damping matrix. If you require a damping - matrix, you must add it separately. + ZBUF or 6 - Z-buffered display (like HIDD but using software Z-buffering). - The command applies to regular wave types only (Airy with one wave - component, Wheeler with one wave component, Stokes, and stream - function). Irregular wave types are not supported. For information - about wave types, see Hydrodynamic Loads in the Mechanical APDL Theory - Reference. + ZCAP or 7 - Capped Z-buffered display (same as combined SECT and ZBUF with model in front + of section plane removed). - The program calculates the forces on each load component of each - element at NPHASE solutions, spread evenly over one wave cycle. Then, - the minimum and maximum, and the phase between them, are calculated. - The command uses the resulting information to generate the real and - imaginary loads. + ZQSL or 8 - QSLICE Z-buffered display (same as SECT but the edge lines of the remaining 3-D + model are shown). - HOWP cannot be used with stress stiffening. + HQSL or 9 - QSLICE precise hidden display (like ZQSL but using precise hidden). - HOWP works with the full harmonic analysis method (HROPT,FULL) only. + Notes + ----- + Defines the type of display, such as section display or hidden-line + display. Use the /DEVICE command to specify either raster or vector + mode. - For more information, see Harmonic Ocean Wave Procedure (HOWP) in the - Mechanical APDL Theory Reference. + The SECT, CAP, ZCAP, ZQSL, and HQSL options produce section displays. + The section or "cutting" plane is specified on the /CPLANE command as + either normal to the viewing vector at the focus point (default), or as + the working plane. - This command is also valid in PREP7. + When you use PowerGraphics, the section display options (Section, + Slice, and Capped) use different averaging techniques for the interior + and exterior results. Because of the different averaging schemes, + anomalies may appear at the transition areas. In many cases, the + automatically computed MIN and MAX values will differ from the full + range of interior values. You can lessen the effect of these anomalies + by issuing AVRES,,FULL (Main Menu> General Post Proc> Options for + Outp). This command sets your legend's automatic contour interval range + according to the minimum and maximum results found throughout the + entire model. - """ - command = "HROCEAN, %s, %s" % (str(type), str(nph_ase)) - self.RunCommand(command, **kwargs) + With PowerGraphics active (/GRAPHICS,POWER), the averaging scheme for + surface data with interior element data included (AVRES,,FULL) and + multiple facets per edge (/EFACET,2 or /EFACET,4) will yield differing + minimum and maximum contour values depending on the Z-Buffering + options (/TYPE,,6 or /TYPE,,7). When the Section data is not included + in the averaging schemes (/TYPE,,7), the resulting absolute value for + the midside node is significantly smaller. - def Rmalist(self, **kwargs): - """ - APDL Command: RMALIST + The HIDC, HIDD, HIDP, ZBUF, ZQSL, and HQSL options produce displays + with "hidden" lines removed. Hidden lines are lines obscured from view + by another element, area, etc. The choice of non-Z-buffered hidden- + line procedure types is available only for raster mode [/DEVICE] + displays. For vector mode displays, all non-Z-buffered "hidden-line" + options use the same procedure (which is slightly different from the + raster procedures). Both geometry and postprocessing displays may be + of the hidden-line type. Interior stress contour lines within solid + elements can also be removed as hidden lines, leaving only the stress + contour lines and element outlines on the visible surfaces. Midside + nodes of elements are ignored on postprocessing displays. Overlapping + elements will not be displayed. - Lists all defined master nodes for a ROM method. + The ZBUF, ZCAP, and ZQSL options use a specific hidden-line technique + called software Z-buffering. This technique allows a more accurate + display of overlapping surfaces (common when using Boolean operations + or /ESHAPE on element displays), and allows smooth shaded displays on + all interactive graphics displays. Z-buffered displays can be + performed faster than HIDP and CAP type displays for large models. See + also the /LIGHT, /SHADE, and /GFILE commands for additional options + when Z-buffering is used. - Notes - ----- - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "RMALIST, " % () + command = "/TYPE,%s,%s" % (str(wn), str(type)) self.RunCommand(command, **kwargs) - def Source(self, x="", y="", z="", **kwargs): + def Areas(self, **kwargs): """ - APDL Command: SOURCE - - Defines a default location for undefined nodes or keypoints. + APDL Command: AREAS - Parameters - ---------- - x, y, z - Global Cartesian coordinates for source nodes or keypoints - (defaults to the origin). + Specifies "Areas" as the subsequent status topic. Notes ----- - Defines a global Cartesian location for undefined nodes or keypoints - moved during intersection calculations [MOVE or KMOVE]. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "SOURCE, %s, %s, %s" % (str(x), str(y), str(z)) + command = "AREAS," % () self.RunCommand(command, **kwargs) - def Memm(self, lab="", kywrd="", **kwargs): + def Qdval(self, tblno1="", tblno2="", sv1="", sv2="", sv3="", sv4="", + sv5="", sv6="", sv7="", **kwargs): """ - APDL Command: MEMM + APDL Command: QDVAL - Allows the current session to keep allocated memory + Defines PSD quadspectral values. Parameters ---------- - lab - When Lab = KEEP, the memory manager's ability to acquire and keep - memory is controlled by Kywrd - - kywrd - Turns the memory “keep” mode on or off + tblno1 + First input PSD table number associated with this spectrum. - ON - Keep any memory allocated during the analysis. + tblno2 + Second input PSD table number associated with this spectrum. - OFF - Use memory dynamically and free it up to other users after use (default). + sv1, sv2, sv3, . . . , sv7 + PSD quadspectral values corresponding to the frequency points + [PSDFRQ]. Notes ----- - You can use the MEMM command to ensure that memory intensive operations - will always have the same memory available when the operations occur - intermittently. Normally, if a large amount of memory is allocated for - a specific operation, it will be returned to the system once the - operation is finished. This option always maintains the highest level - used during the analysis until the analysis is finished. + Defines PSD quadspectral values to be associated with the previously + defined frequency points. Repeat QDVAL command with the same table + number for additional points. Unlike autospectra [PSDVAL], the + quadspectra can be positive or negative. The quadspectral curve + segment where there is a sign change is interpolated linearly (the rest + of the curve segments use log-log interpolation). For better accuracy, + choose as small a curve segment as possible wherever a sign change + occurs. - The MEMM command does not affect the value you specify with the -m - switch. When you allocate memory with the -m switch, that amount will - always be available. However, if dynamic memory allocation in excess of - the-m value occurs, you can use the MEMM command to ensure that amount - is retained until the end of your analysis. + Two table numbers are required since values are off-diagonal terms. + This command is valid for SPOPT,PSD only. + + This command is also valid in PREP7. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "MEMM, %s, %s" % (str(lab), str(kywrd)) + command = "QDVAL,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(tblno1), str(tblno2), str(sv1), str(sv2), str(sv3), str(sv4), str(sv5), str(sv6), str(sv7)) self.RunCommand(command, **kwargs) - def Aatt(self, mat="", real="", type="", esys="", secn="", **kwargs): + def Sph4(self, xcenter="", ycenter="", rad1="", rad2="", **kwargs): """ - APDL Command: AATT + APDL Command: SPH4 - Associates element attributes with the selected, unmeshed areas. + Creates a spherical volume anywhere on the working plane. Parameters ---------- - mat - The material number to be associated with selected, unmeshed areas. - - real - The real constant set number to be associated with selected, - unmeshed areas. - - type - The type number to be associated with selected, unmeshed areas. - - esys - The coordinate system number to be associated with selected, - unmeshed areas. + xcenter, ycenter + Working plane X and Y coordinates of the center of the sphere. - secn - The section number to be associated with selected unmeshed areas. + rad1, rad2 + Inner and outer radii (either order) of the sphere. A value of + zero or blank for either RAD1 or RAD2 defines a solid sphere. Notes ----- - Areas subsequently generated from the areas will also have these - attributes. These element attributes will be used when the areas are - meshed. If an area does not have attributes associated with it (by - this command) at the time it is meshed, the attributes are obtained - from the then current MAT, REAL, TYPE, ESYS, and SECNUM command - settings. Reissue the AATT command (before areas are meshed) to change - the attributes. A zero (or blank) argument removes the corresponding - association. If any of the arguments MAT, REAL, TYPE, ESYS, or SECN are - defined as -1, then that value will be left unchanged in the selected - set. + Defines either a solid or hollow spherical volume anywhere on the + working plane. The sphere must have a spatial volume greater than + zero. (i.e., this volume primitive command cannot be used to create a + degenerate volume as a means of creating an area.) A sphere of 360° + will be defined with two areas, each consisting of a hemisphere. See + the SPHERE and SPH5 commands for other ways to create spheres. - In some cases, ANSYS can proceed with an area meshing operation even - when no logical element type has been assigned via AATT,,,TYPE or TYPE. - For more information, see the discussion on setting element attributes - in Meshing Your Solid Model in the Modeling and Meshing Guide. + When working with a model imported from an IGES file (DEFAULT import + option), you can create only solid spheres. If you enter a value for + both RAD1 and RAD2 the command is ignored. """ - command = "AATT, %s, %s, %s, %s, %s" % (str(mat), str(real), str(type), str(esys), str(secn)) + command = "SPH4,%s,%s,%s,%s" % (str(xcenter), str(ycenter), str(rad1), str(rad2)) self.RunCommand(command, **kwargs) - def Mopt(self, lab="", value="", **kwargs): + def Lrefine(self, nl1="", nl2="", ninc="", level="", depth="", post="", + retain="", **kwargs): """ - APDL Command: MOPT + APDL Command: LREFINE - Specifies meshing options. + Refines the mesh around specified lines. Parameters ---------- - lab - Meshing option to be specified (determines the meaning of Value): - - AORDER - Mesh by ascending area size order. Set Value to ON to mesh smaller areas - first. Using this results in finer meshes in critical - areas for volume meshes; this can be used for cases where - SMRTSIZE does not mesh as needed. Default is OFF. - - EXPND - Area mesh expansion (or contraction) option. (This option is the same as - SMRTSIZE,,,EXPND.) This option is used to size internal - elements in an area based on the size of the elements on - the area's boundaries. - - Value is the expansion (or contraction) factor. For example, issuing MOPT,EXPND,2 before meshing an area will allow a mesh with elements that are approximately twice as large in the interior of an area as they are on the boundary. If Value is less than 1, a mesh with smaller elements on the interior of the area will be allowed. Value for this option should be greater than 0.5 but less than 4. - Value defaults to 1, which does not allow expansion or contraction of internal - element sizes (except when using AESIZE sizing). - If Value = 0, the default value of 1 will be - used. The actual size of the internal elements - will also depend on the TRANS option (or upon - AESIZE or ESIZE sizing, if used). - - TETEXPND - Tet-mesh expansion (or contraction) option. This option is used to size - internal elements in a volume based on the size of the - elements on the volume's boundaries. - - Value is the expansion (or contraction) factor. For example, issuing MOPT,TETEXPND,2 before meshing a volume will allow a mesh with elements that are approximately twice as large in the interior of the volume as they are on the boundary. If Value is less than 1, a mesh with smaller elements on the interior of the volume will be allowed. Value for this option should be greater than 0.1 but less than 3. - Value defaults to 1, which does not allow expansion or contraction of internal - element sizes. If Value = 0, the default value - of 1 will be used. If Value is greater than 2, - mesher robustness may be affected. - - The TETEXPND option is supported for both the VMESH and FVMESH commands. Tet-mesh expansion is the only mesh control supported by FVMESH. - TRANS - - Mesh-transition option. Controls how rapidly elements are permitted to change in size from the boundary to the interior of an area. (This option performs the same operation as SMRTSIZE,,,,TRANS.) - Value is the transitioning factor. Value defaults to 2.0, which permits - elements to approximately double in size as they - approach the interior of the area. (If Value = - 0, the default value of 2 will be used.) Value - must be greater than 1 and, for best results, - should be less than 4. The actual size of the - internal elements will also depend on the EXPND - option (or upon AESIZE or ESIZE sizing, if used). - - For a quad mesh with any element size, this option has no effect, as the program strictly respects any face size to ensure the most uniform quad mesh possible. To obtain a graded mesh using this option, apply LESIZE to the lines of the desired face. - AMESH - - Triangle surface-meshing option. Valid inputs for Value are: - DEFAULT - - Allows the program to choose which triangle mesher to use. In most cases, the program chooses the main triangle mesher, which is the Riemann space mesher. If the chosen mesher fails for any reason, the program invokes the alternate mesher and retries the meshing operation. - MAIN - - The program uses the main triangle mesher (Riemann space mesher), and it does not invoke an alternate mesher if the main mesher fails. The Riemann space mesher is well suited for most surfaces. - ALTERNATE - - The program uses the first alternate triangle mesher (3-D tri-mesher), and it does not invoke another mesher if this mesher fails. This option is not recommended due to speed considerations. However, for surfaces with degeneracies in parametric space, this mesher often provides the best results. - ALT2 - - The program uses the second alternate triangle mesher (2-D parametric space mesher), and it does not invoke another mesher if this mesher fails. This option is not recommended for use on surfaces with degeneracies (spheres, cones, etc.) or poorly parameterized surfaces because poor meshes may result. - QMESH - - Quadrilateral surface meshing option. (Quadrilateral surface meshes will differ based on which triangle surface mesher is selected. This is true because all free quadrilateral meshing algorithms use a triangle mesh as a starting point.) Valid inputs for Value are: - DEFAULT - - Let the program choose which quadrilateral mesher to use. In most cases, the program will choose the main quadrilateral mesher, which is the Q-Morph (quad-morphing) mesher. For very coarse meshes, the program may choose the alternate quadrilateral mesher instead. In most cases, the Q-Morph mesher results in higher quality elements. If either mesher fails for any reason, the program invokes the other mesher and retries the meshing operation. (Default.) - MAIN - - The program uses the main quadrilateral mesher (Q-Morph mesher), and it does not invoke the alternate mesher if the main mesher fails. - ALTERNATE - - The program uses the alternate quadrilateral mesher, and it does not invoke the Q-Morph mesher if the alternate mesher fails. To use the alternate quadrilateral mesher, you must also select MOPT,AMESH,ALTERNATE or MOPT,AMESH,ALT2. - VMESH - - Tetrahedral element meshing option. Valid inputs for Value are: - DEFAULT - - Let the program choose which tetrahedra mesher to use. - MAIN - - Use the main tetrahedra mesher (Delaunay technique mesher). (GHS3D meshing technology by P. L. George, INRIA, France.) For most models, this mesher is significantly faster than the alternate mesher. - ALTERNATE - - Use the alternate tetrahedra mesher (advancing front mesher). This mesher does not support the generation of a tetrahedral volume mesh from facets (FVMESH). If this mesher is selected and you issue the FVMESH command, the program uses the main tetrahedra mesher to create the mesh from facets and issues a warning message to notify you. - SPLIT - - Quad splitting option for non-mapped meshing. If Value = 1, ON, or ERR, quadrilateral elements in violation of shape error limits are split into triangles (default). If Value = 2 or WARN, quadrilateral elements in violation of either shape error or warning limits are split into triangles. If Value = OFF, splitting does not occur, regardless of element quality. - LSMO - - Line smoothing option. Value can be ON or OFF. If Value = ON, smoothing of nodes on area boundaries is performed during smoothing step of meshing. During smoothing, node locations are adjusted to achieve a better mesh. If Value = OFF (default), no smoothing takes place at area boundaries. - CLEAR - - This option affects the element and node numbering after clearing a mesh. If Value = ON (default), the starting node and element numbers will be the lowest available number after the nodes and elements are cleared. If Value = OFF, the starting node and element numbers are not reset after the clear operation. - PYRA - - Transitional pyramid elements option. Value can be ON or OFF. If Value = ON (default), the program automatically creates transitional pyramid elements, when possible. Pyramids may be created at the interface of tetrahedral and hexahedral elements, or directly from quadrilateral elements. For pyramids to be created, you must also issue the command MSHAPE,1,3D (degenerate 3-D elements). If Value = OFF, the program does not create transitional pyramid elements. - TIMP - - Identifies the level of tetrahedra improvement to be performed when the next free volume meshing operation is initiated (VMESH, FVMESH). (For levels 2-5, improvement occurs primarily through the use of face swapping and node smoothing techniques.) Valid inputs for Value are: - 0 + nl1, nl2, ninc + Lines (NL1 to NL2 in increments of NINC) around which the mesh is + to be refined. NL2 defaults to NL1, and NINC defaults to 1. If + NL1 = ALL, NL2 and NINC are ignored and all selected lines are used + for refinement. If NL1 = 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 NL1 (NL2 and NINC are + ignored). - Turn off tetrahedra improvement. Although this value can lead to faster tetrahedral mesh creation, it is not recommended because it often leads to poorly shaped elements and mesh failures. - 1 + level + Amount of refinement to be done. Specify the value of LEVEL as an + integer from 1 to 5, where a value of 1 provides minimal + refinement, and a value of 5 provides maximum refinement (defaults + to 1). - Do the minimal amount of tetrahedra improvement. (Default.) This option is supported by the main tetrahedra mesher only [MOPT,VMESH,MAIN]. If the alternate tetrahedra mesher (MOPT,VMESH,ALTERNATE) is invoked with this setting, the program automatically performs tetrahedra improvement at level 3 instead (MOPT,TIMP,3). - 2 + depth + Depth of mesh refinement in terms of the number of elements outward + from the indicated lines (defaults to 1). - Perform the least amount of swapping/smoothing. No improvement occurs if all tetrahedral elements are within acceptable limits. - 3 + post + Type of postprocessing to be done after element splitting, in order + to improve element quality: - Perform an intermediate amount of swapping/smoothing. Some improvement is always done. - 4 + OFF - No postprocessing will be done. - Perform the greatest amount of swapping/smoothing. Meshing takes longer with this level of improvement, but usually results in a better mesh. - 5 + SMOOTH - Smoothing will be done. Node locations may change. - Perform the greatest amount of swapping/smoothing, plus additional improvement techniques. This level of improvement usually produces results that are similar to those at level 4, except for very poor meshes. - 6 + CLEAN - Smoothing and cleanup will be done. Existing elements may be deleted, and node + locations may change (default). - For linear tetrahedral meshes, this value provides the same level of improvement as MOPT,TIMP,5. For quadratic tetrahedral meshes, this value provides an additional pass of cleanup. This value is supported for both the main (MOPT,VMESH,MAIN) and alternate (MOPT,VMESH,ALTERNATE) tetrahedra meshers. - STAT + retain + Flag indicating whether quadrilateral elements must be retained in + the refinement of an all-quadrilateral mesh. (The ANSYS program + ignores the RETAIN argument when you are refining anything other + than a quadrilateral mesh.) - Display status of MOPT settings. Value is ignored. - DEFA + ON - The final mesh will be composed entirely of quadrilateral elements, regardless + of the element quality (default). - value - Value, as described for each different Lab above. + OFF - The final mesh may include some triangular elements in order to maintain + element quality and provide transitioning. Notes ----- - See the Modeling and Meshing Guide for more information on the MOPT - command and its options. + LREFINE performs local mesh refinement around the specified lines. By + default, the indicated elements are split to create new elements with + 1/2 the edge length of the original elements (LEVEL = 1). + + LREFINE refines all area elements and tetrahedral volume elements that + are adjacent to the specified lines. Any volume elements that are + adjacent to the specified lines, but are not tetrahedra (for example, + hexahedra, wedges, and pyramids), are not refined. + + You cannot use mesh refinement on a solid model that contains initial + conditions at nodes [IC], coupled nodes [CP family of commands], + constraint equations [CE family of commands], or boundary conditions or + loads applied directly to any of its nodes or elements. This applies to + nodes and elements anywhere in the model, not just in the region where + you want to request mesh refinement. For additional restrictions on + mesh refinement, see Revising Your Model in the Modeling and Meshing + Guide. This command is also valid for rezoning. """ - command = "MOPT, %s, %s" % (str(lab), str(value)) + command = "LREFINE,%s,%s,%s,%s,%s,%s,%s" % (str(nl1), str(nl2), str(ninc), str(level), str(depth), str(post), str(retain)) self.RunCommand(command, **kwargs) - def Fsnode(self, node="", nev="", nlod="", **kwargs): + def Cslist(self, kcn1="", kcn2="", kcinc="", **kwargs): """ - APDL Command: FSNODE + APDL Command: CSLIST - Calculates and stores the stress components at a node for fatigue. + Lists coordinate systems. Parameters ---------- - node - Node number for which stress components are stored. - - nev - Event number to be associated with these stresses (defaults to 1). - - nlod - Loading number to be associated with these stresses (defaults to - 1). + kcn1, kcn2, kcinc + List coordinate systems from KCN1 to KCN2 (defaults to KCN1) in + steps of KCINC (defaults to 1). If KCN1 = ALL (default), KCN2 and + KCINC are ignored and all coordinate systems are listed. Notes ----- - Calculates and stores the total stress components at a specified node - for fatigue. Stresses are stored according to the event number and - loading number specified. The location is associated with that - previously defined for this node [FL] or else it is automatically - defined. Stresses are stored as six total components (SX through SYZ). - Temperature and current time are also stored along with the total - stress components. Calculations are made from the stresses currently - in the database (last SET or LCASE command). Stresses stored are in - global Cartesian coordinates, regardless of the active results - coordinate system [RSYS]. The FSLIST command may be used to list - stresses. The FS command can be used to modify stored stresses. + This command is valid in any processor. """ - command = "FSNODE, %s, %s, %s" % (str(node), str(nev), str(nlod)) + command = "CSLIST,%s,%s,%s" % (str(kcn1), str(kcn2), str(kcinc)) self.RunCommand(command, **kwargs) - def Psdwav(self, tblno="", vx="", vy="", vz="", **kwargs): + def Accoption(self, activate="", **kwargs): """ - APDL Command: PSDWAV + APDL Command: ACCOPTION - Defines a wave propagation excitation in a PSD analysis. + Specifies GPU accelerator capability options. Parameters ---------- - tblno - Input PSD table number defined with PSDVAL command. - - vx - Global Cartesian X-velocity of traveling wave. - - vy - Global Cartesian Y-velocity of traveling wave. + activate + Activates the GPU accelerator capability within the equation + solvers. - vz - Global Cartesian Z-velocity of traveling wave. + Do not use GPU accelerator. - Use GPU accelerator. Notes ----- - Defines a traveling wave in a PSD analysis. This command is not - available for a pressure PSD analysis. + The GPU accelerator capability requires specific hardware to be + installed on the machine. See the appropriate ANSYS, Inc. Installation + Guide (Windows or Linux) for a list of supported GPU hardware. Use of + this capability also requires HPC licensing. For more information, see + GPU Accelerator Capability in the Parallel Processing Guide. - This command is also valid in PREP7. + The GPU accelerator capability is available for the sparse direct + solver and the PCG and JCG iterative solvers. Static, buckling, modal, + full harmonic, and full transient analyses are supported. For buckling + analyses, the Block Lanczos and Subspace eigensolvers are supported. + For modal analyses, only the Block Lanczos, PCG Lanczos, Subspace, + Unsymmetric, and Damped eigensolvers are supported. Activating this + capability when using other equation solvers or other analysis types + has no effect. + + The GPU accelerator capability is supported only on the Windows 64-bit + and Linux 64-bit platforms. """ - command = "PSDWAV, %s, %s, %s, %s" % (str(tblno), str(vx), str(vy), str(vz)) + command = "ACCOPTION,%s" % (str(activate)) self.RunCommand(command, **kwargs) - def Wplane(self, wn="", xorig="", yorig="", zorig="", xxax="", yxax="", - zxax="", xplan="", yplan="", zplan="", **kwargs): + def Ereinf(self, **kwargs): """ - APDL Command: WPLANE + APDL Command: EREINF - Defines a working plane to assist in picking operations. + Generates reinforcing elements from selected existing (base) elements. - Parameters - ---------- - wn - Window number whose viewing direction will be modified to be normal - to the working plane (defaults to 1). If WN is a negative value, - the viewing direction will not be modified. If fewer than three - points are used, the viewing direction of window WN will be used - instead to define the normal to the working plane. + Notes + ----- + The EREINF command generates reinforcing elements (REINF264 and + REINF265) directly from selected base elements (that is, existing + standard elements in your model). The command scans all selected base + elements and generates (if necessary) a compatible reinforcing element + type for each base element. (ANSYS allows a combination of different + base element types.) - xorig, yorig, zorig - Global Cartesian coordinates of the origin of the working plane - coordinate system. + Although predefining the reinforcing element type (ET) is not required, + you must define the reinforcing element section type (SECTYPE); + otherwise, ANSYS cannot generate the reinforcing element. - xxax, yxax, zxax - Global Cartesian coordinates of a point defining the x-axis - orientation. The x-axis aligns with the projection of the line - from this orientation point to the origin. + The EREINF command does not create new nodes. The reinforcing elements + and the base elements share the common nodes. - xplan, yplan, zplan - Global Cartesian coordinates of the third point defining the - working plane. This point will also define the location of the - positive XY-sector of the working plane coordinate system. + Elements generated by this command are not associated with the solid + model. - Notes - ----- - Defines a working plane to assist in picking operations using the - coordinates of three noncolinear points. The three points also define - the working plane coordinate system. A minimum of one point (the - working plane origin) is required. Immediate mode may also be active. - See WPSTYL command to set the style of working plane display. + After the EREINF command executes, you can issue ETLIST, ELIST, and + EPLOT commands to verify the newly created reinforcing element types + and elements. - This command is valid in any processor. + Reinforcing elements do not account for any subsequent modifications + made to the base elements. ANSYS, Inc. recommends issuing the EREINF + command only after the base elements are finalized. If you delete or + modify base elements (via EDELE, EMODIF, ETCHG, EMID, EORIENT, NUMMRG, + or NUMCMP commands, for example), remove all affected reinforcing + elements and reissue the EREINF command to avoid inconsistencies. """ - command = "WPLANE, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(wn), str(xorig), str(yorig), str(zorig), str(xxax), str(yxax), str(zxax), str(xplan), str(yplan), str(zplan)) + command = "EREINF," % () self.RunCommand(command, **kwargs) - def Avres(self, key="", opt="", **kwargs): + def Irlf(self, key="", **kwargs): """ - APDL Command: AVRES + APDL Command: IRLF - Specifies how results data will be averaged when PowerGraphics is - enabled. + Specifies that inertia relief calculations are to be performed. Parameters ---------- key - Averaging key. - - 1 - Average results at all common subgrid locations. - - 2 - Average results at all common subgrid locations except where material type - [MAT] discontinuities exist. This option is the default. - - 3 - Average results at all common subgrid locations except where real constant - [REAL] discontinuities exist. - - 4 - Average results at all common subgrid locations except where material type - [MAT] or real constant [REAL] discontinuities exist. + Calculation key: - opt - Option to determine how results data are averaged. +  0  - No inertia relief calculations. - (blank) - Average surface results data using only the exterior element faces (default). +  1  - Counterbalance loads with inertia relief forces. - FULL - Average surface results data using the exterior face and interior element data. + -1  - Precalculate masses for summary printout only (no inertia relief). Notes ----- - The AVRES command specifies how results data will be averaged at - subgrid locations that are common to 2 or more elements. The command - is valid only when PowerGraphics is enabled (via the /GRAPHICS,POWER - command). + The IRLF command specifies that the program is to calculate + accelerations to counterbalance the applied loads (inertia relief). + Displacement constraints on the structure should be only those + necessary to prevent rigid-body motions (3 are needed for a 2-D + structure and 6 for a 3-D structure). The sum of the reaction forces + at the constraint points will be zero. Accelerations are calculated + from the element mass matrices and the applied forces. Data needed to + calculate the mass (such as density) must be input. Both translational + and rotational accelerations may be calculated. - With PowerGraphics active (/GRAPHICS,POWER), the averaging scheme for - surface data with interior element data included (AVRES,,FULL) and - multiple facets per edge (/EFACET,2 or /EFACET,4) will yield differing - minimum and maximum contour values depending on the Z-Buffering - options (/TYPE,,6 or /TYPE,,7). When the Section data is not included - in the averaging schemes (/TYPE,,7), the resulting absolute value for - the midside node is significantly smaller. + This option applies only to the static (ANTYPE,STATIC) analysis. + Nonlinearities, elements that operate in the nodal coordinate system, + and axisymmetric or generalized plane strain elements are not allowed. + Symmetry models are not valid for inertia relief analysis. Models with + both 2-D and 3-D element types are not recommended. - PowerGraphics does not average your stresses across discontinuous - surfaces. The normals for various planes and facets are compared to a - tolerance to determine continuity. The ANGLE value you specify in the - /EDGE command is the tolerance for classifying surfaces as continuous - or “coplanar.” + Loads may be input as usual. Displacements and stresses are calculated + as usual. - The command affects nodal solution contour plots (PLNSOL), nodal - solution printout (PRNSOL), and subgrid solution results accessed - through the Query Results function (under General Postprocessing) in - the GUI. + Use IRLIST to print inertia relief calculation results. The mass and + moment of inertia summary printed before the solution is accurate + (because of the additional pre-calculations required for inertia + relief). See Inertia Relief in the Mechanical APDL Theory Reference + for calculation details. See also the Structural Analysis Guide for + procedural details. - The command has no effect on the nodal degree of freedom solution - values (UX, UY, UZ, TEMP, etc.). + If the inertia relief calculation is to be performed in the second or + later load step, you must specify EMATWRITE,YES in the initial load + step for the element matrices needed to perform the calculations to be + available. - For cyclic symmetry mode-superposition harmonic solutions, AVRES,,FULL - is not supported. Additionally, averaging does not occur across - discontinuous surfaces, and the ANGLE value on the /EDGE command has no - effect. + When a superelement (MATRIX50) is present in the model, any DOF + constraints that you need to apply (D) on a degree of freedom (DOF) + belonging to the superelement must be applied in the use pass of the + MATRIX50 element (not in the generation pass). The command has no + effect in the generation pass of a substructure. In the expansion pass, + precalculation of masses for summary printout (IRLF,-1) occurs only on + elements that are part of the substructure. - The command is also available in /SOLU. + This command is also valid in PREP7. """ - command = "AVRES, %s, %s" % (str(key), str(opt)) + command = "IRLF,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Mat(self, mat="", **kwargs): - """ - APDL Command: MAT + def Vplot(self, nv1="", nv2="", ninc="", degen="", scale="", **kwargs): + """ + APDL Command: VPLOT + + Displays the selected volumes. + + Parameters + ---------- + nv1, nv2, ninc + Display volumes from NV1 to NV2 (defaults to NV1) in steps of NINC + (defaults to 1). If NV1 = ALL (default), NV2 and NINC are ignored + and all selected volumes [VSEL] are displayed. + + degen + Degeneracy marker: + + (blank) - No degeneracy marker is used (default). - Sets the element material attribute pointer. + DEGE - A red star is placed on keypoints at degeneracies (see the Modeling and Meshing + Guide). Not available if /FACET,WIRE is set. - Parameters - ---------- - mat - Assign this material number to subsequently defined elements - (defaults to 1). + scale + Scale factor for the size of the degeneracy-marker star. The scale + is the size in window space (-1 to 1 in both directions) (defaults + to .075). Notes ----- - Identifies the material number to be assigned to subsequently defined - elements. This number refers to the material number (MAT) defined with - the material properties [MP]. Material numbers may be displayed - [/PNUM]. + Displays selected volumes. (Only volumes having areas within the + selected area set [ASEL] will be plotted.) With PowerGraphics on + [/GRAPHICS,POWER], VPLOT will display only the currently selected + areas. This command is also a utility command, valid anywhere. The + degree of tessellation used to plot the volumes is set through the + /FACET command. """ - command = "MAT, %s" % (str(mat)) + command = "VPLOT,%s,%s,%s,%s,%s" % (str(nv1), str(nv2), str(ninc), str(degen), str(scale)) self.RunCommand(command, **kwargs) - def Modify(self, set="", lstep="", iter="", cumit="", time="", ktitle="", - **kwargs): + def Copy(self, fname1="", ext1="", fname2="", ext2="", distkey="", + **kwargs): """ - APDL Command: MODIFY + APDL Command: /COPY - Changes the listed values of the data in a set. + Copies a file. Parameters ---------- - set - Set of data in results file to be modified. + fname1 + File name to be copied and its directory path (248 characters + maximum for both file name and directory). If you do not specify a + directory path, it will default to your working directory and you + can use all 248 characters for the file name. - lstep - The new load step number. + ext1 + Filename extension (eight-character maximum). - iter - The new load substep number. + -- + Unused field. - cumit - The new cumulative iteration. + fname2 + File name to be created and its directory path (248 characters + maximum for both file name and directory). If you do not specify a + directory path, it will default to your working directory and you + can use all 248 characters for the file name. - time - The new time/frequency value. + ext2 + Filename extension (eight-character maximum). - ktitle - Indicates if the set title should be modified. + -- + Unused field. - 0 - Keep the original title. + distkey + Key that specifies whether the copy operation is performed on all + processes in distributed parallel mode (Distributed ANSYS): - 1 - Change the title to the title specified with the most current /TITLE command. + 1 (ON or YES) - The program performs the copy operation locally on each process. + + 0 (OFF or NO) - The program performs the copy operation only on the master process (default). Notes ----- - Use this command to change the listed values in a data set in a results - file. Using this command does not change any actual model data; it - affects only the values listed in the results file. - - For example, if you start with the following results file: - - and you then issue the following commands: + The original file is untouched. Ex: /COPY,A,,,B copies file A to B in + the same directory. /COPY,A,DAT,,,INP copies the file A.DAT to A.INP. + See the Operations Guide for details. ANSYS binary and ASCII files can + be copied. - The modified results file would look like this: + In distributed parallel mode (Distributed ANSYS), only the master + process will copy Fname1.Ext1 to Fname2.Ext2 by default. However, when + DistKey is set to 1 (or ON or YES), the command is executed by all + processes. In this case, Fname1 and Fname2 will automatically have the + process rank appended to them. This means Fname1N.Ext1 will be copied + to Fname2N.Ext2 by all processes, where N is the Distributed ANSYS + process rank. For more information see Differences in General Behavior + in the Parallel Processing Guide. """ - command = "MODIFY, %s, %s, %s, %s, %s, %s" % (str(set), str(lstep), str(iter), str(cumit), str(time), str(ktitle)) + command = "/COPY,%s,%s,%s,%s,%s" % (str(fname1), str(ext1), str(fname2), str(ext2), str(distkey)) self.RunCommand(command, **kwargs) - def Vmesh(self, nv1="", nv2="", ninc="", **kwargs): + def Sexp(self, labr="", lab1="", lab2="", exp1="", exp2="", **kwargs): """ - APDL Command: VMESH + APDL Command: SEXP - Generates nodes and volume elements within volumes. + Forms an element table item by exponentiating and multiplying. Parameters ---------- - nv1, nv2, ninc - Mesh volumes from NV1 to NV2 (defaults to NV1) in steps of NINC - (defaults to 1). If NV1 = ALL, NV2 and NINC are ignored and all - selected volumes [VSEL] are meshed. If NV1 = 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 NV1 (NV2 - and NINC are ignored). - - Notes - ----- - Missing nodes required for the generated elements are created and - assigned the lowest available numbers [NUMSTR]. During a batch run and - if elements already exist, a mesh abort will write an alternative - database file (File.DBE) for possible recovery. + labr + Label assigned to results. If same as existing label, the existing + values will be overwritten by these results. - Tetrahedral mesh expansion [MOPT,TETEXPND,Value] is supported for both - the VMESH and FVMESH commands. + lab1 + First labeled result item in operation. - """ - command = "VMESH, %s, %s, %s" % (str(nv1), str(nv2), str(ninc)) - self.RunCommand(command, **kwargs) + lab2 + Second labeled result item in operation (may be blank). - def Rmxport(self, **kwargs): - """ - APDL Command: RMXPORT + exp1 + Exponent applied to Lab1. - Exports ROM model to external VHDL-AMS simulator. + exp2 + Exponent applied to Lab2. Notes ----- - Use this command to generate all files necessary to run the ROM - analysis in an external VHDL-AMS Simulator. + Forms a labeled result item (see ETABLE command) for the selected + elements by exponentiating and multiplying two existing labeled result + items according to the operation: - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + LabR = (|Lab1|EXP1) x (|Lab2|EXP2) - VHDL files: Initial.vhd, S_ams_ijk.vhd, Cxxx_ams_ijk.vhd, - transducer.vhd. + Roots, reciprocals, and divides may also be done with this command. """ - command = "RMXPORT, " % () + command = "SEXP,%s,%s,%s,%s,%s" % (str(labr), str(lab1), str(lab2), str(exp1), str(exp2)) self.RunCommand(command, **kwargs) - def Fcdele(self, mat="", **kwargs): + def Spread(self, value="", **kwargs): """ - APDL Command: FCDELE + APDL Command: SPREAD - Deletes previously defined failure criterion data for the given - material. + Turns on a dashed tolerance curve for the subsequent curve plots. Parameters ---------- - mat - Material number. Deletes all FC command input for this material. - - Notes - ----- - This command is also valid in POST1. + value + Amount of tolerance. For example, 0.1 is ± 10%. """ - command = "FCDELE, %s" % (str(mat)) + command = "SPREAD,%s" % (str(value)) self.RunCommand(command, **kwargs) - def Pdcdf(self, rlab="", name="", type="", conf="", nmax="", **kwargs): + def Resume(self, fname="", ext="", nopar="", knoplot="", **kwargs): """ - APDL Command: PDCDF + APDL Command: RESUME - Plots the cumulative distribution function. + Resumes the database from the database file. Parameters ---------- - rlab - Result set label. Identifies the result set to be used for - postprocessing. A result set label can be the solution set label - you defined in a PDEXE command (if you are directly postprocessing - Monte Carlo Simulation results), or the response surface set label - defined in an RSFIT command (for Response Surface Analyses). - - name - Parameter name. The parameter must have been previously defined as - a random input variable or a random output parameter with the PDVAR - command. - - type - Type of cumulative distribution curve to be displayed. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - EMP - Show an empirical cumulative distribution curve. + ext + Filename extension (eight-character maximum). - GAUS - Show a cumulative distribution curve in a normal distribution plot. A random - variable based on a normal or Gaussian distribution appears - as a straight line in this type of plot. + -- + Unused field. - LOGN - Show a cumulative distribution curve in a log-normal plot. A random variable - based on a log-normal distribution appears as a straight - line in this type of plot. + nopar + Parameter resume key: - WEIB - Show a cumulative distribution curve in a Weibull distribution plot. A random - variable based on a Weibull distribution appears as a - straight line in this type of plot. + 0 - All data in the database, including the scalar parameters, are replaced with + the data saved on File.DB (default). - conf - Confidence level. The confidence level is used to plot confidence - bounds around the cumulative distribution function. The value for - the confidence level must be between 0.0 and 1.0 and it defaults to - 0.95 (95%). Plotting of the confidence bound is suppressed for CONF - 0.5. This parameter is ignored for the postprocessing of response - surface methods results. + 1 - All data in the database, except the scalar parameters, are replaced with the + data saved on File.DB. - nmax - Maximum number of points to be plotted for the distribution curve. - This must be a positive number and it defaults to 100. If the - sample size is less than NMAX, all sample data is represented in - the plot. If the sample size is larger than NMAX, the probabilistic - design system classifies the sample into NMAX classes of - appropriate size. + knoplot + If equal to 1, will suppress automatic plot. Otherwise, if the GUI + is on and this RESUME command was not read from a file, the + selected elements from Fname are plotted. (If there are no selected + elements, selected nodes are plotted. If no nodes, volumes; if no + volumes, areas; if no areas, lines; if no lines, keypoints. If + there are no selected keypoints, the screen is erased.) Notes ----- - Plots the cumulative distribution function. + The RESUME command resumes a database file into the ANSYS program. The + command causes the database file (File.DB) to be read, thereby + resetting the database (including any geometry settings) either a) as + it was at the last SAVE command, or b) as it was saved with the last + /EXIT command, whichever was last. - The PDCDF command cannot be used to postprocess the results in a - solution set that is based on Response Surface Methods, only Monte - Carlo Simulations. + For multiple load step analyses (because only the data for one load + step at a time may reside in the database), the load step data restored + to the database will correspond to the load step data written when the + save occurred. - If Rlab is left blank, then the result set label is inherited from the - last PDEXE command (Slab), RSFIT command (RSlab), or the most recently - used PDS postprocessing command where a result set label was explicitly - specified. + If the database file was saved in another ANSYS, Inc. product, it may + contain element type and KEYOPT specifications which are invalid in the + resuming product. Immediately after the database resume is completed, + you should redefine these invalid element types and KEYOPT settings to + valid ones (ET, KEYOPT). + + The NOPAR = 1 option should not be used if array parameters are + defined, as existing array parameters might be redefined with arbitrary + values. For a more general method of preventing the replacement of both + scalar and array parameters, see PARSAV and PARRES.) + + This command is valid in any processor. If used in the solution + processor, this command is valid only within the first load step. """ - command = "PDCDF, %s, %s, %s, %s, %s" % (str(rlab), str(name), str(type), str(conf), str(nmax)) + command = "RESUME,%s,%s,%s,%s" % (str(fname), str(ext), str(nopar), str(knoplot)) self.RunCommand(command, **kwargs) - def Upcoord(self, factor="", key="", **kwargs): + def Nlopt(self, **kwargs): """ - APDL Command: UPCOORD - - Modifies the coordinates of the active set of nodes, based on the - current displacements. - - Parameters - ---------- - factor - Scale factor for displacements being added to nodal coordinates. - If FACTOR = 1.0, the full displacement value will be added to each - node, 0.5, half the displacement value will be added, etc. If - FACTOR = -1, the full displacement value will be subtracted from - each node, etc. - - key - Key for zeroing displacements in the database: - - OFF - Do not zero the displacements (default). + APDL Command: NLOPT - ON - Zero the displacements. + Specifies "Nonlinear analysis options" as the subsequent status topic. Notes ----- - The UPCOORD command uses displacements stored in the ANSYS database, - and not those contained within the results file, Jobname.RST. Nodal - coordinates are updated each time the command is issued. After - updating, both the nodal displacements and rotations are set to zero if - Key = ON. - - For structural solutions with an updated mesh, unless the coefficient - matrix is otherwise reformed (e.g., a new analysis or NLGEOM,ON) it - should first be reformed by issuing a KUSE,-1 command. - - UPCOORD should not be issued between load steps in structural analysis. - - For a multiphysics simulation where a CFD or electromagnetic field is - being coupled to a structure undergoing large displacements, all (or a - portion) of the surrounding field mesh may take part in the structural - solution to "move" with the displacing structure. You can use the - UPCOORD command with a suitable FACTOR to update the coordinates of the - nodes using the newly computed displacements. The mesh will now - conform with the displaced structure for subsequent field solutions. - However, the mesh should always be restored to its original location by - using an UPCOORD,FACTOR command before performing any subsequent - structural solutions. This is true for both repeated linear solutions, - and for nonlinear restarts. (All saved displacements are relative to - the original mesh location.) - - This command is not intended to replace either the large displacement - or birth and death logic. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - This command is also valid in PREP7. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "UPCOORD, %s, %s" % (str(factor), str(key)) + command = "NLOPT," % () self.RunCommand(command, **kwargs) - def Tiff(self, kywrd="", opt="", **kwargs): + def Device(self, label="", key="", **kwargs): """ - APDL Command: TIFF + APDL Command: /DEVICE - Provides TIFF file Export for ANSYS Displays. + Controls graphics device options. Parameters ---------- - kywrd - Specifies various TIFF file export options. + label + Device function label: - COMP - If Kywrd = COMP, then OPT controls data compression for the output file. If - COMP = 0, then compression is off. If COMP = 1 (default), - then compression is on. + BBOX - Bounding box mode. For PowerGraphics plots involving elements with /SHOW,x11 + and /SHOW,win32, ANSYS generally displays dynamic rotations + faster. If KEY = 1 (ON), then a bounding box (not the + elements) encompassing the model is displayed and rotated, + rather than the element outlines (ON is default in + preprocessing). When KEY = 0 (OFF), then dynamic rotations + may be slower (ANSYS redraws the element outlines) for plots + involving elements with /SHOW,x11 and /SHOW,win32. OFF is + default in postprocessing. This command is ignored if + /EDGE,WN,1 is set for any WN. This is ignored in POST1 and + SOLUTION plots. - ORIENT - If Kywrd = ORIENT, then OPT will determine the orientation of the entire plot. - OPT can be either Horizontal (default) or Vertical. + For any PowerGraphics plots involving elements, regardless of /SHOW settings, plots will generally be displayed faster. - VECTOR - COLOR - If Kywrd = COLOR, then OPT will determine the color attribute of the saved - file. OPT can be 0, 1, or 2, corresponding to Black and - White, Grayscale, and Color (default), respectively. + Vector mode. In vector mode, areas, volumes, elements, and postprocessing display geometries are shown as outlines (wireframes). When vector mode is off (default), these entities are shown filled with color. - DITHER - TMOD - If Kywrd = TMOD, then OPT will determine the text method. OPT can be either 1 - or 0, corresponding to bitmap text (default) or line stroke - text, respectively. + When dithering is turned on (default), color intensity transitions are smoothed. This selection a - applies only to smooth-shaded images, i.e., Z-buffered [/TYPE], or raster plots + with Gouraud or Phong shading [/SHADE]. - DEFAULT - If Kywrd = DEFAULT, then all of the default values, for all of the Kywrd - parameters listed above, are active. + ANIM - Select the animation type used on 2-D devices on the PC platform. A KEY value + of BMP (or 0) sets animation mode to ANSYS Animation + Controller (default). A KEY value of AVI (or 2) sets + animation mode to AVI movie player file. - opt - OPT can have the following names or values, depending on the value - for Kywrd (see above). + FONT - Font selection for the ANSYS graphics window. When Label = FONT, the command + format is: /DEVICE,FONT,KEY,Val1,Val2,Val3,Val4,Val5,Val6 + where KEY determines the type of font being controlled, and + values 1 through 6 control various font parameters. Note + that these values are device specific; using the same + command input file [/INPUT] on different machines may yield + different results.. The following KEY values determine the + font information that will be supplied to the appropriate + driver (e.g., Postscript, X11, Win32, JPEG, ...): - 1 or 0 - If Kywrd = COMP, a value or 1 (on) or 0 (off) will control compression for the - TIFF file. + KEY = 1 - The command controls the LEGEND (documentation column) font. - Horizontal, Vertical - If Kywrd = ORIENT, the terms Horizontal or Vertical determine the orientation - of the plot. + KEY = 2 - The command controls the ENTITY (node and keypoint number) font. - 0, 1, 2 - If Kywrd = COLOR, the numbers 0, 1, and 2 correspond to Black and White , - Grayscale and Color, respectively. + KEY = 3 - The command controls the ANNOTATION/GRAPH font. - 1, 0 - If Kywrd = TMOD, the values 1 and 0 determine whether bitmap (1) or stroke text - (0) fonts will be used + Linux: Values 1 through 4 are used to find a match in the X11 database of font strings. Values 1, 2, and 3 are character strings; value 4 is a nonzero integer: - Val1 - """ - command = "TIFF, %s, %s" % (str(kywrd), str(opt)) - self.RunCommand(command, **kwargs) + Family name (e.g., Courier). If Val1 = MENU, all other values are ignored and a font selection menu appears (GUI must be active). - Val2 - def Numcmp(self, label="", **kwargs): - """ - APDL Command: NUMCMP + Weight (e.g., medium) - Val3 - Compresses the numbering of defined items. + Slant (e.g., r) - Val4 - Parameters - ---------- - label - Items to be compressed: + Pixel size (e.g., 14). Note that this value does no affect the annotation fonts (KEY = 3). Use the /TSPEC command for annotation font size. - Val5 - NODE - Node numbers + unused - Val6 - ELEM - Element numbers + unused - PC: The values are encoded in a PC logical font structure. Value 1 is a + character string, and the remaining values are integers: - KP - Keypoint numbers + Val1 - Family name (e.g., Courier*New) Substitute an asterisk (*) for any blank + character that appears in a family name. If Val1 = MENU, all + other values are ignored and a font selection menu appears + (GUI must be active). When this value is blank ANSYS uses + the first available resource it finds. - LINE - Line numbers + Val2 - Weight (0 - 1000) - AREA - Area numbers + Val3 - Orientation (in tenths of a degree) - VOLU - Volume numbers + Val4 - Height (in logical units) - MAT - Material numbers + Val5 - Width (in logical units) - TYPE - Element type numbers + Val6 - Italics (0 = OFF, 1 = ON) - REAL - Real constant numbers + TEXT - Text size specification for the ANSYS Graphics window. Using this label with + the /DEVICE command requires the following form: + /DEVICE,TEXT,KEY,PERCENT. KEY = 1 for LEGEND fonts; KEY = 2 + for ENTITY fonts. PERCENT specifies the new text size as a + percent of the default text size. If PERCENT = 100, the new + text size is precisely the default size. If PERCENT = 200, + the new text size is twice the default text size. - CP - Coupled set numbers + key + Control key: - SECN - Section numbers + OFF or 0 - Turns specified function off. - CE - Constraint equation numbers + ON or 1 - Turns specified function on or designates the LEGEND font. - ALL - All item numbers + 2 - Designates the ENTITY font. + + 3 - Designates the ANNOTATION/GRAPH font. Notes ----- - The NUMCMP command effectively compresses out unused item numbers by - renumbering all the items, beginning with one and continuing throughout - the model. The renumbering order follows the initial item numbering - order (that is, compression lowers the maximum number by "sliding" - numbers down to take advantage of unused or skipped numbers). All - defined items are renumbered, regardless of whether or not they are - actually used or selected. Applicable related items are also checked - for renumbering as described for the merge operation (NUMMRG). - - Compressing material numbers (NUMCMP,ALL or NUMCMP,MAT) does not update - the material number referenced by either of the following: - - A temperature-dependent convection or surface-to-surface radiation load - (SF, SFE, SFL, SFA) - - Real constants for multi-material elements (such as SOLID65) + This command is valid in any processor. - Compression is usually not required unless memory space is limited and - there are large gaps in the numbering sequence. + The /DEVICE,BBOX command is ignored in POST1 and SOLUTION plots. Also, + the elements are displayed and rotated if you use /DEVICE,BBOX,ON and + /EDGE,WN,1,ANGLE (effectively ignoring the BBOX option). """ - command = "NUMCMP, %s" % (str(label)) + command = "/DEVICE,%s,%s" % (str(label), str(key)) self.RunCommand(command, **kwargs) - def Gsgdata(self, lfiber="", xref="", yref="", rotx0="", roty0="", - **kwargs): + def Trtime(self, time="", spacing="", offset="", size="", length="", + **kwargs): """ - APDL Command: GSGDATA + APDL Command: TRTIME - Specifies the reference point and defines the geometry in the fiber - direction for the generalized plane strain element option. + Defines the options used for the PLTRAC (particle flow or charged + particle trace) command. Parameters ---------- - lfiber - Fiber length from the reference point. Defaults to 1. - - xref - X coordinate of the reference point. Defaults to zero. - - yref - Y coordinate of the reference point. Defaults to zero. - - rotx0 - Rotation of the ending plane about X in radians Defaults to zero. - - roty0 - Rotation of the ending plane about Y in radians Defaults to zero. + time + Total Trace Time (seconds) (defaults to 0, which is the full flow + trace). - Notes - ----- - The ending point is automatically determined from the starting - (reference) point and the geometry inputs. 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. + spacing + Particle spacing in seconds (defaults to 0). - """ - command = "GSGDATA, %s, %s, %s, %s, %s" % (str(lfiber), str(xref), str(yref), str(rotx0), str(roty0)) - self.RunCommand(command, **kwargs) + offset + Particle offset in seconds (defaults to 0). It is used internally + in the ANFLOW macro to produce an animation of particle flow in a + flowing fluid or charged particle motion in an electric or magnetic + field. - def Emf(self, **kwargs): - """ - APDL Command: EMF + size + Particle size (defaults to 0, which is a line). - Calculates the electromotive force (emf), or voltage drop along a - predefined path. + length + Particle length fraction (defaults to .1). - Notes - ----- - EMF invokes an ANSYS macro which calculates the electromotive force - (emf), or voltage drop along a predefined path (specified with the PATH - command). It is valid for both 2-D and 3-D electric field analysis or - high-frequency electromagnetic field analysis. The calculated emf value - is stored in the parameter EMF. + Notes + ----- + The TRTIME command varies the type of PLTRAC display produced. + Particle flow or charged particle traces follow a particle's path in + the forward and backward direction of travel. The DOF selected + determines the color of the particle trace. SPACING defines the + particle spacing in seconds from adjacent particles in the stream line. + OFFSET defines the offset in seconds from the spacing set by the + SPACING argument. - You must define a line path (via the PATH command) before issuing the - EMF command macro. The macro uses calculated values of the electric - field (EF), and uses path operations for the calculations. All path - items are cleared when the macro finishes executing. + LENGTH defines the particle length fraction. The default value (.1), + means the particle occupies 10% of the flow region, and the other 90% + is a color-coded line. - The EMF macro sets the "ACCURATE" mapping method and "MAT" - discontinuity option on the PMAP command. The ANSYS program retains - these settings after executing the macro. + SIZE sets the radius of the particle. Use SPACING, OFFSET and LENGTH + only when SIZE is nonzero (i.e., the particle is bigger than the line). Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "EMF, " % () + command = "TRTIME,%s,%s,%s,%s,%s" % (str(time), str(spacing), str(offset), str(size), str(length)) self.RunCommand(command, **kwargs) - def Mcheck(self, lab="", **kwargs): + def Plopts(self, label="", key="", **kwargs): """ - APDL Command: MCHECK + APDL Command: /PLOPTS - Checks mesh connectivity. + Controls graphics options on subsequent displays. Parameters ---------- - lab - Operation: + label + Apply display items as selected from the following labels: - ESEL - Unselects the valid elements. + INFO - Controls the display of the legend (ON or OFF) and allows the choice of preset + or Multi-legend placement. Control is provided by the KEY + values. (Defaults to KEY=3 when the GUI is on. Defaults to + KEY= 2 otherwise.) - Notes - ----- - Wherever two area or volume elements share a common face, MCHECK - verifies that the way the elements are connected to the face is - consistent with their relative normals or integrated volumes. (This may - detect folds or otherwise overlapping elements.) + LEG1 - Header portion of legend column (defaults to ON). - MCHECK verifies that the element exterior faces form simply-connected - closed surfaces. (This may detect unintended cracks in a mesh.) + LEG2 - View portion of legend column (defaults to ON (except off with contour + displays)). - MCHECK warns if the number of element facets in a 2-D loop or 3-D - shell is not greater than a computed limit. This limit is the smaller - of either three times the number of faces on one element, or one-tenth - the total number of element faces in the model. (This may detect holes - in the middle of a mesh.) + LEG3 - View the contour section of the legend column (defaults to ON). - The MCHECK command will perform a number of validity checks on the - selected elements, including: + FRAME - Frame border lines around windows (defaults to ON). - Normal check: Wherever two area elements share a common edge, MCHECK - verifies that the ordering of the nodes on each element is consistent - with their relative normals. + TITLE - Title (bottom left text) (defaults to ON). - Volume check: Wherever two volume elements share a common face, MCHECK - verifies that the sign of the integrated volume of each element is - consistent. + MINM - Min-Max symbols on contour displays (defaults to ON). - Closed surface check: MCHECK verifies that the element exterior faces - form simply-connected closed surfaces (this may detect unintended - cracks in a mesh). + LOGO - ANSYS logo (defaults to OFF (displayed as text at top of legend column)). If + KEY = ON, the text is removed from legend column but the + logo symbol is displayed in whichever active window is + either in the uppermost right corner and on top, or if there + is no window in that location, then in the window to the + furthest right of the screen. Version information remains + in the legend column. - Check for holes in the mesh: MCHECK warns if the number of element - faces surrounding an interior void in the mesh is small enough to - suggest one or more accidentally omitted elements, rather than a - deliberately formed hole. For this test, the number of faces around the - void is compared to the smaller of a) three times the number of faces - on one element, or b) one-tenth the total number of element faces in - the model. + WINS - Controls whether graphics windows automatically stretch or shrink to adjust to + screen size as the legend column is turned off or on + [/PLOPTS,INFO] (defaults to ON). If WINS is on and the + legend column is changed from off to on, all windows are + shrunk regardless of what their correct size is. - """ - command = "MCHECK, %s" % (str(lab)) - self.RunCommand(command, **kwargs) + WP - Working plane (defaults to OFF). The working plane is drawn as part of the + display (not just an overlaid image as in WPSTYL). This + option is best used in combination with a hidden-line + technique [/TYPE]. - def Ksum(self, **kwargs): - """ - APDL Command: KSUM + DATE - Controls the display of the date and time in your legend. Subsequent KEY values + control the display as follows: - Calculates and prints geometry statistics of the selected keypoints. + FILE - Controls the display of the ANSYS jobname in your legend. Subsequent KEY values + control the display as follows: + + key + Switch: + + OFF or 0 - Do not apply this display item. For Label = DATE, no time or date are + displayed. + + ON or 1 - Apply this display item. For Label = DATE, show only the date. + + AUTO or 2 - For Label = INFO, initiate Auto-legend mode. If the display has contours, the + legend is ON; if the display has no contours, the + legend is OFF. For Label = DATE, display both the date + and time. + + 3 - For Label = INFO , switch to Multi-legend mode. See the /UDOC command for the + available legend configurations. Notes ----- - Calculates and prints geometry statistics (centroid location, moments - of inertia, etc.) associated with the selected keypoints. Geometry - items are reported in the global Cartesian coordinate system. A unit - density is assumed, irrespective of any material associations [KATT, - MAT]. Items calculated by KSUM and later retrieved by a *GET or *VGET - command are valid only if the model is not modified after the KSUM - command is issued. + Use /PLOPTS,STAT to display settings. Use /PLOPTS,DEFA to reset all + specifications back to their defaults. - """ - command = "KSUM, " % () - self.RunCommand(command, **kwargs) + When you perform multiple results displays, contours on the legend + column may be truncated. To avoid this, specify /PLOPTS,LEG1,0. - def Axpy(self, vr="", vi="", m1="", wr="", wi="", m2="", **kwargs): - """ - APDL Command: *AXPY + The Multi-legend mode provides a number of legend data item priority + and placement options. These options are accessed via the GUI at + Utility Menu> PlotCtrls> Window Controls> Window Options. The /UDOC + command provides command line options for this capability. - Performs the matrix operation M2= v*M1 + w*M2. + This command is valid in any processor. - Parameters - ---------- - vr, vi - The real and imaginary parts of the scalar v. Default value is 0. + This command is not available for Academic Research or Teaching level + products - m1 - Name of matrix M1. If not specified, the operation M2 = w*M2 will - be performed. + """ + command = "/PLOPTS,%s,%s" % (str(label), str(key)) + self.RunCommand(command, **kwargs) - wr, wi - The real and imaginary parts of the scalar w. Default value is 0. + def Selm(self, **kwargs): + """ + APDL Command: SELM - m2 - Name of matrix M2. Must be specified. + Specifies "Superelements" as the subsequent status topic. Notes ----- - The matrices M1 and M2 must have the same dimensions and same type - (dense or sparse). If M2 is real, vi and wi are ignored. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "*AXPY, %s, %s, %s, %s, %s, %s" % (str(vr), str(vi), str(m1), str(wr), str(wi), str(m2)) + command = "SELM," % () self.RunCommand(command, **kwargs) def Pdropt(self, rvar="", corr="", stat="", shis="", hist="", cdf="", @@ -51221,5846 +50939,6521 @@ def Pdropt(self, rvar="", corr="", stat="", shis="", hist="", cdf="", Notes ----- - Specifies the options for an HTML report. An HTML report includes a - description of the deterministic model, the probabilistic model, the - probabilistic methods used for the analyses, and the results obtained - from the analyses. The deterministic model is documented in the report - by including a link to the analysis file (see PDANL command). In - addition, an element plot of the component is shown, if available, - based on the current view settings. The command ALLSEL is issued - automatically prior to the respective plot command. + Specifies the options for an HTML report. An HTML report includes a + description of the deterministic model, the probabilistic model, the + probabilistic methods used for the analyses, and the results obtained + from the analyses. The deterministic model is documented in the report + by including a link to the analysis file (see PDANL command). In + addition, an element plot of the component is shown, if available, + based on the current view settings. The command ALLSEL is issued + automatically prior to the respective plot command. + + """ + command = "PDROPT,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(rvar), str(corr), str(stat), str(shis), str(hist), str(cdf), str(sens), str(cmat), str(conf)) + self.RunCommand(command, **kwargs) + + def Coval(self, tblno1="", tblno2="", sv1="", sv2="", sv3="", sv4="", + sv5="", sv6="", sv7="", **kwargs): + """ + APDL Command: COVAL + + Defines PSD cospectral values. + + Parameters + ---------- + tblno1 + First input PSD table number associated with this spectrum. + + tblno2 + Second input PSD table number associated with this spectrum. + + sv1, sv2, sv3, . . . , sv7 + PSD cospectral values corresponding to the frequency points + [PSDFRQ]. + + Notes + ----- + Defines PSD cospectral values to be associated with the previously + defined frequency points. Two table references are required since + values are off-diagonal terms. Unlike autospectra [PSDVAL], the + cospectra can be positive or negative. The cospectral curve segment + where there is a sign change is interpolated linearly (the rest of the + curve segments use log-log interpolation). For better accuracy, choose + as small a curve segment as possible wherever a sign change occurs. + + Repeat COVAL command using the same table numbers for additional + points. This command is valid for SPOPT,PSD only. + + This command is also valid in PREP7. + + """ + command = "COVAL,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(tblno1), str(tblno2), str(sv1), str(sv2), str(sv3), str(sv4), str(sv5), str(sv6), str(sv7)) + self.RunCommand(command, **kwargs) + + def Hfang(self, lab="", phi1="", phi2="", theta1="", theta2="", **kwargs): + """ + APDL Command: HFANG + + Defines or displays spatial angles of a spherical radiation surface for + sound radiation parameter calculations. + + Parameters + ---------- + lab + Spatial angle label. + + ANGLE - Define spatial angles (default). + + STATE - Display spatial angles. PHI1, PHI2, THETA1, and THETA2 are ignored. + + phi1, phi2 + Starting and ending ϕ angles (degrees) in the spherical coordinate + system. Defaults to 0. + + theta1, theta2 + Starting and ending θ angles (degrees) in the spherical coordinate + system. Defaults to 0. + + Notes + ----- + Defines or displays spatial angles of a spherical radiation surface. + + Use this command only with PLFAR,Lab = PRES, or PRFAR,Lab = PRES. + + """ + command = "HFANG,%s,%s,%s,%s,%s" % (str(lab), str(phi1), str(phi2), str(theta1), str(theta2)) + self.RunCommand(command, **kwargs) + + def Ugin(self, name="", extension="", path="", entity="", layer="", fmt="", + **kwargs): + """ + APDL Command: ~UGIN + + Transfers an NX part into the ANSYS program. + + Parameters + ---------- + name + The file name of the NX part to be imported, which cannot exceed 64 + characters in length. The path name must begin with an alphanumeric + character. Special characters such as &, -, and * are not + permitted in the part name. + + extension + The NX part file extension. The default is .prt. + + path + The full path name to the directory containing the part, enclosed + in single quotes; for example, '/ug_parts'. The default is the + current working directory. + + entity + Entity to be imported. + + 0 or Solid - Solids only, imported as ANSYS volumes (the default). + + 1 or Surface - Surfaces only, imported as ANSYS areas. + + 2 or Wireframe - Wireframe only, imported as ANSYS lines. + + 3 or All - All entities. Use this option when the part contains entities that may not be + attached to each other, such as a solid in one location + and a surface in another. + + layer + The number(s) assigned to the layer(s) to be imported. You can + import one layer or a range of layers (designated by hyphens). + Defaults to 1-256 (all layers). + + fmt + The format in which ANSYS will store the model. + + 0 - Neutral format (default). Defeaturing after import is restricted. + + 1 - Solid format; this allows defeaturing after import. + + Notes + ----- + More information on importing NX parts is available in UG/NX in the + Connection User's Guide. + + """ + command = "~UGIN,%s,%s,%s,%s,%s,%s" % (str(name), str(extension), str(path), str(entity), str(layer), str(fmt)) + self.RunCommand(command, **kwargs) + + def Fk(self, kpoi="", lab="", value="", value2="", **kwargs): + """ + APDL Command: FK + + Defines force loads at keypoints. + + Parameters + ---------- + kpoi + Keypoint at which force is to be specified. If ALL, apply to all + selected keypoints [KSEL]. If KPOI = 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 KPOI. + + lab + Valid force label. Structural labels: FX, FY, or FZ (forces); MX, + MY, or MZ (moments). Thermal labels: HEAT, HBOT, HE2, HE3, . . ., + HTOP (heat flow). Fluid labels: FLOW (fluid flow). Electric + labels: AMPS (current flow), CHRG (electric charge). Magnetic + labels: FLUX (magnetic flux); CSGX, CSGY, or CSGZ (magnetic + current segments). Diffusion labels: RATE (diffusion flow rate). + + value + Force value or table name reference for specifying tabular boundary + conditions. To specify a table, enclose the table name in percent + signs (%), e.g., FK, KPOI, HEAT,%tabname%). Use the *DIM command + to define a table. + + value2 + Second force value (if any). If the analysis type and the force + allow a complex input, VALUE (above) is the real component and + VALUE2 is the imaginary component. + + Notes + ----- + Forces may be transferred from keypoints to nodes with the FTRAN or + SBCTRAN commands. See the F command for a description of force loads. + + Tabular boundary conditions (VALUE = %tabname%) are available only for + the following labels: Fluid (FLOW), Electric (AMPS), Structural force + (FX, FY, FZ, MX, MY, MZ), and Thermal (HEAT, HBOT, HE2, HE3, . . ., + HTOP). + + This command is also valid in PREP7. + + """ + command = "FK,%s,%s,%s,%s" % (str(kpoi), str(lab), str(value), str(value2)) + self.RunCommand(command, **kwargs) + + def Swlist(self, ecomp="", **kwargs): + """ + APDL Command: SWLIST + + Lists spot weld sets. + + Parameters + ---------- + ecomp + Name of an existing spot weld set that was previously defined using + SWGEN. If Ecomp = ALL (default), all spot weld sets are listed. + + Notes + ----- + This command lists spot weld node, beam, and contact pair information + for all defined spot weld sets, or for the specified set. To ensure + that all defined spotwelds are listed, issue CMSEL,ALL (to select all + components) before issuing the SWLIST command. + + When SWLIST is issued in POST1, the beam forces and moments are output. + For the case of a deformable spot weld, the stresses are also output in + the beam local coordinate system. + + """ + command = "SWLIST,%s" % (str(ecomp)) + self.RunCommand(command, **kwargs) + + def Abs(self, ir="", ia="", name="", facta="", **kwargs): + """ + APDL Command: ABS + + Forms the absolute value of a variable. + + Parameters + ---------- + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. + + ia + Reference number of the variable to be operated on. + + --, -- + Unused fields. + + name + Thirty-two character name for identifying the variable on the + printout and displays. Embedded blanks are compressed upon output. + + --, -- + Unused fields. + + facta + Scaling factor (positive or negative) applied to variable IA + (defaults to 1.0). + + Notes + ----- + The new variable is calculated as: + + IR = | FACTA x IA | + + For a complex number (a + ib), the absolute value is the magnitude, + where the IA values are obtained from: + + See POST26 - Data Operations in the Mechanical APDL Theory Reference + for details. + + """ + command = "ABS,%s,%s,%s,%s" % (str(ir), str(ia), str(name), str(facta)) + self.RunCommand(command, **kwargs) + + def K(self, npt="", x="", y="", z="", **kwargs): + """ + APDL Command: K + + Defines a keypoint. + + Parameters + ---------- + npt + Reference number for keypoint. If zero, the lowest available + number is assigned [NUMSTR]. + + x, y, z + Keypoint location in the active coordinate system (may be R, θ, Z + or R, θ, Φ). If X = P, graphical picking is enabled and all other + fields (including NPT) are ignored (valid only in the GUI). + + Notes + ----- + Defines a keypoint in the active coordinate system [CSYS] for line, + area, and volume descriptions. A previously defined keypoint of the + same number will be redefined. Keypoints may be redefined only if it + is not yet attached to a line or is not yet meshed. Solid modeling in + a toroidal system is not recommended. + + """ + command = "K,%s,%s,%s,%s" % (str(npt), str(x), str(y), str(z)) + self.RunCommand(command, **kwargs) + + def Kclear(self, np1="", np2="", ninc="", **kwargs): + """ + APDL Command: KCLEAR + + Deletes nodes and point elements associated with selected keypoints. + + Parameters + ---------- + np1, np2, ninc + Delete mesh for keypoints NP1 to NP2 (defaults to NP1) in steps of + NINC (defaults to 1). If NP1 = ALL, NP2 and NINC are ignored and + the mesh for all selected keypoints [KSEL] is deleted. If NP1 = 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 NP1. + + Notes + ----- + Deletes all nodes and point elements associated with selected keypoints + (regardless of whether the nodes or elements are selected). Nodes + associated with non-point elements will not be deleted. Attributes + assigned as a result of KATT are maintained. In the program's response + to the command, if a keypoint is tallied as "cleared," it means either + its node or element reference was deleted. + + """ + command = "KCLEAR,%s,%s,%s" % (str(np1), str(np2), str(ninc)) + self.RunCommand(command, **kwargs) + + def Clog(self, ir="", ia="", name="", facta="", factb="", **kwargs): + """ + APDL Command: CLOG + + Forms the common log of a variable + + Parameters + ---------- + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. + + ia + Reference number of the variable to be operated on. + + --, -- + Unused fields. + + name + Thirty-two character name for identifying the variable on printouts + and displays. Embedded blanks are compressed for output. + + --, -- + Unused fields. + + facta + Scaling factor applied to variable IA (defaults to 1.0). + + factb + Scaling factor (positive or negative) applied to the operation + (defaults to 1.0). + + Notes + ----- + Forms the common log of a variable according to the operation: + + IR = FACTB*LOG(FACTA x IA) """ - command = "PDROPT, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(rvar), str(corr), str(stat), str(shis), str(hist), str(cdf), str(sens), str(cmat), str(conf)) + command = "CLOG,%s,%s,%s,%s,%s" % (str(ir), str(ia), str(name), str(facta), str(factb)) self.RunCommand(command, **kwargs) - def Domega(self, domgx="", domgy="", domgz="", **kwargs): + def Cfact(self, rfacta="", ifacta="", rfactb="", ifactb="", rfactc="", + ifactc="", **kwargs): """ - APDL Command: DOMEGA + APDL Command: CFACT - Specifies the rotational acceleration of the structure. + Defines complex scaling factors to be used with operations. Parameters ---------- - domgx, domgy, domgz - Rotational acceleration of the structure about the global Cartesian - X , Y, and Z axes. + rfacta + Real portion of the complex scale factor used in place of FACTA. - Notes - ----- - Specifies the rotational acceleration of the structure about each of - the global Cartesian axes. Rotational accelerations may be defined in - analysis types ANTYPE,STATIC, HARMIC (full or mode-superposition), - TRANS (full or mode-superposition), and SUBSTR. See Acceleration - Effect in the Mechanical APDL Theory Reference for details. Units are - radians/time2. + ifacta + Imaginary portion of the complex scale factor used in place of + FACTA. - The DOMEGA command supports tabular boundary conditions (%TABNAME_X%, - %TABNAME_Y%, and %TABNAME_Z%) for DOMEGA_X, DOMEGA_Y, and DOMEGA_Z - input values (*DIM) for full transient and harmonic analyses. + rfactb + Real portion of the complex scale factor used in place of FACTB. - Related commands are ACEL, CGLOC, CGOMGA, DCGOMG, and OMEGA. + ifactb + Imaginary portion of the complex scale factor used in place of + FACTB. - See Analysis Tools in the Mechanical APDL Theory Reference for more - information. + rfactc + Real portion of the complex scale factor used in place of FACTC. - In a modal harmonic or transient analysis, you must apply the load in - the modal portion of the analysis. Mechanical APDL calculates a load - vector and writes it to the mode shape file, which you can apply via - the LVSCALE command. + ifactc + Imaginary portion of the complex scale factor used in place of + FACTC. - This command is also valid in PREP7. + Notes + ----- + Defines complex scale factors to be used with the operations [ADD, + PROD, etc.]. If this command is supplied, these complex factors + override any real factors (FACTA, FACTB, FACTC) supplied on the + operation commands. Factors are typically involved in scaling a + specified variable, such as in the term FACTA x IA of the ADD command + to scale variable IA before the ADD operation. + + When the CFACT command is active, defaults are as follows: 1) if the + complex factor is not specified, but the variable upon which it acts + (such as IA) is specified, the factor defaults to 1.0+i0.0; 2) if the + variable upon which the factor operates is not specified, but the + factor is specified, the variable defaults to 1.0 so that the term in + the operation becomes the complex factor itself; 3) if neither the + factor nor the variable number is supplied, the term is omitted from + the operation. Once the operation (such as the ADD command) has been + processed, the CFACT command becomes inactive and must be specified + again if it is to be used. """ - command = "DOMEGA, %s, %s, %s" % (str(domgx), str(domgy), str(domgz)) + command = "CFACT,%s,%s,%s,%s,%s,%s" % (str(rfacta), str(ifacta), str(rfactb), str(ifactb), str(rfactc), str(ifactc)) self.RunCommand(command, **kwargs) - def Ematwrite(self, key="", **kwargs): + def Escheck(self, sele="", levl="", defkey="", **kwargs): """ - APDL Command: EMATWRITE + APDL Command: ESCHECK - Forces the writing of all the element matrices to File.EMAT. + Perform element shape checking for a selected element set. Parameters ---------- - key - Write key: + sele + Specifies whether to select elements for checking: - YES - Forces the writing of the element matrices to File.EMAT even if not normally - done. + (blank) - List all warnings/errors from element shape checking. - NO - Element matrices are written only if required. This value is the default. + ESEL - Select the elements based on the .Levl criteria specified below. - Notes - ----- - The EMATWRITE command forces ANSYS to write the File.EMAT file. The - file is necessary if you intend to follow the initial load step with a - subsequent inertia relief calculation (IRLF). If used in the solution - processor (/SOLU), this command is only valid within the first load - step. + levl + WARN - This command is also valid in PREP7. + WARN - Select elements producing warning and error messages. - """ - command = "EMATWRITE, %s" % (str(key)) - self.RunCommand(command, **kwargs) + ERR - Select only elements producing error messages (default). - def Unpause(self, **kwargs): - """ - APDL Command: UNPAUSE + defkey + Specifies whether check should be performed on deformed element + shapes. . - Restores use of a temporarily released product license. + 0 - Do not update node coordinates before performing shape checks (default). + + 1 - Update node coordinates using the current set of deformations in the database. Notes ----- - The UNPAUSE command restores use of a temporarily released (paused) - product license. The command is valid only after a previously issued - PAUSE command. - - When use of the product license is paused via the PAUSE command, no - other operation (other than SAVE or /EXIT) is possible until you issue - the UNPAUSE command. + Shape checking will occur according to the current SHPP settings. + Although ESCHECK is valid in all processors, Defkey uses the current + results in the database. If no results are available a warning will be + issued. - For more information, see the documentation for the PAUSE command and - the ANSYS, Inc. Licensing Guide. + This command is also valid in PREP7, SOLUTION and POST1. """ - command = "UNPAUSE, " % () + command = "ESCHECK,%s,%s,%s" % (str(sele), str(levl), str(defkey)) self.RunCommand(command, **kwargs) - def Ndsurf(self, snode="", telem="", dimn="", **kwargs): + def Header(self, header="", stitle="", idstmp="", notes="", colhed="", + minmax="", **kwargs): """ - APDL Command: NDSURF + APDL Command: /HEADER - Generates surface elements overlaid on the edge of existing elements - and assigns the extra node as the closest fluid element node. + Sets page and table heading print controls. Parameters ---------- - snode - Component name for the surface nodes of the solid elements. + header + ANSYS page header (system, date, time, version, copyright, title, + etc.): - telem - Component name for the target fluid elements. + ON - Turns this item on (default for batch mode; not available for interactive + mode). - dimn - Model dimensionality: + OFF - Turns this item off. - 2 - 2-D model. + (blank) - Retains the previous setting. - 3 - 3-D model. + stitle + Subtitles (see /STITLE command): ON, OFF, or (blank) (see above). + + idstmp + Load step information (step number, substep number, time value): + ON, OFF, or (blank) (see above). + + notes + Information relative to particular table listings: ON, OFF, or + (blank) (see above). + + colhed + Column header labels of table listings (currently only for single + column tables): ON, OFF, or (blank) (see above). + + minmax + Minimum/maximum information or totals after table listings: ON, + OFF, or (blank) (see above). Notes ----- - This command macro is used to generate surface effect elements (SURF151 - or SURF152) overlaid on the surface of existing plane or solid elements - and, based on proximity, to determine and assign the extra node - (FLUID116) for each surface element. The active element type must be - SURF151 or SURF152 with appropriate settings for KEYOPT(4), KEYOPT(5), - KEYOPT(6), and KEYOPT(8). - - The surface nodes of the plane or solid elements must be grouped into a - node component and the fluid elements must be grouped into an element - component and named using the CM command. The names must be enclosed - in single quotes (e.g., 'NOD') when the NDSURF command is manually - typed in. + Sets specifications on or off for page and table heading print controls + associated with the POST1 PRNSOL, PRESOL, PRETAB, PRRSOL, and PRPATH + commands. - When using the GUI method, node and element components are created - through the picking dialog boxes associated with this command. + Note:: : If the printout caused a top-of-form (page eject to top of + next page), the top-of-form is also suppressed with the printout. + Issue /HEADER,STAT to display the current settings. Issue /HEADER,DEFA + to reset the default specifications. - The macro is applicable for the SURF151, SURF152, and FLUID116 element - types. + This command is valid in any processor. """ - command = "NDSURF, %s, %s, %s" % (str(snode), str(telem), str(dimn)) + command = "/HEADER,%s,%s,%s,%s,%s,%s" % (str(header), str(stitle), str(idstmp), str(notes), str(colhed), str(minmax)) self.RunCommand(command, **kwargs) - def Csys(self, kcn="", **kwargs): + def Rthick(self, par="", iloc="", jloc="", kloc="", lloc="", **kwargs): """ - APDL Command: CSYS + APDL Command: RTHICK - Activates a previously defined coordinate system. + Defines variable thickness at nodes for shell elements. Parameters ---------- - kcn - Specifies the active coordinate system, as follows: - - 0 (default) - Cartesian - - 1 - Cylindrical with global Cartesian Z as the axis of rotation + par + Array parameter (indexed by node number) that expresses the + function to be mapped. For example, func (17) should be the + desired shell thickness at node 17. - 2 - Spherical + iloc + Position in real constant set for thickness at node I of the + element (default 1). - 4 or WP - Working Plane + jloc + Position in real constant set for thickness at node J of the + element (default 2). - 5 - Cylindrical with global Cartesian Y as the axis of rotation + kloc + Position in real constant set for thickness at node K of the + element (default 3). - 11 or greater - Any previously defined local coordinate system + lloc + Position in real constant set for thickness at node L of the + element (default 4). Notes ----- - The CSYS command activates a previously defined coordinate system for - geometry input and generation. The LOCAL, CLOCAL, CS, CSKP, and CSWPLA - commands also activate coordinate systems as they are defined. To set - the active element coordinate system attribute pointer, issue the ESYS - command. - - The active coordinate system for files created via the CDWRITE command - is Cartesian (CSYS,0). - - This command is valid in any processor. - - CSYS,4 (or CSYS,WP) activates working plane tracking, which updates the - coordinate system to follow working plane changes. To deactivate - working plane tracking, activate any other coordinate system (for - example, CSYS,0 or CSYS,11). + After RTHICK, the REAL number will match the ELEM number of each + selected element. For example, R (ILOC) = func (I NODE), R (JLOC) = + func (J NODE), etc. - CSYS,5 is a cylindrical coordinate system with global Cartesian Y as - the axis. The local x, y and z axes are radial, θ, and axial - (respectively). The R-Theta plane is the global X-Z plane, as it is for - an axisymmetric model. Thus, at θ = 0.0, CSYS,5 has a specific - orientation: the local x is in the global +X direction, local y is in - the global -Z direction, and local z (the cylindrical axis) is in the - global +Y direction. + R(ILOC), R(JLOC), R(KLOC), and R(LLOC) on a previously defined real + constant will be overwritten. Any other real constants on a previously + defined real constant set will remain unchanged. This command cannot be + used for beam elements. """ - command = "CSYS, %s" % (str(kcn)) + command = "RTHICK,%s,%s,%s,%s,%s" % (str(par), str(iloc), str(jloc), str(kloc), str(lloc)) self.RunCommand(command, **kwargs) - def Dmpoption(self, filetype="", combine="", **kwargs): + def Wsort(self, lab="", kord="", wopt="", oldmax="", oldrms="", **kwargs): """ - APDL Command: DMPOPTION + APDL Command: WSORT - Specifies distributed memory parallel (Distributed ANSYS) file - combination options. + Initiates element reordering based upon a geometric sort. Parameters ---------- - filetype - Type of solution file to combine after a distributed memory - parallel solution. There is no default; if (blank), the command is - ignored. - - RST - Results files (.RST, .RTH, .RMG, .RSTP) - - EMAT - Element matrix files (.EMAT). - - ESAV - Element saved data files (.ESAVE) - - MODE - Modal results files (.MODE) + lab + Coordinate (in the active system) along which element centroid + locations are sorted. Valid labels are: X, Y, Z, ALL. If ALL + (default), all three directions will be used, and the order + corresponding to the lowest MAX or RMS wavefront value will be + retained. - MLV - Modal load vector file (.MLV) + kord + Sort order: - IST - Initial state file (.IST) + 0 - Sort according to ascending coordinate values. - FULL - Full matrix file (.FULL) + 1 - Sort according to descending coordinate values. - RFRQ - Reduced complex displacement file (.RFRQ) + -- + Unused field. - RDSP - Reduced displacement file (.RDSP) + wopt + Option for comparison: - combine - Option to combine solution files. + MAX - Use maximum wavefront value for comparison (default). - Yes - Combine solution files (default). + RMS - Use RMS wavefront value. - No - Do not combine solution files. + oldmax, oldrms + MAX and RMS wavefront values of model to be used in place of the + old values. OLDRMS defaults to OLDMAX (and vice versa). If + neither is specified, each defaults to its calculated old value. Notes ----- - The DMPOPTION command controls how solution files are written during a - distributed memory parallel (Distributed ANSYS) solution. This command - is most useful for controlling how results files (.RST,.RTH, etc.) are - written. - - In a distributed memory parallel solution, a local results file is - written by each process (JobnameN.ext, where N is the process number). - By default, the program automatically combines the local results files - (for example, JobnameN.RST) upon leaving the SOLUTION processor (for - example, upon the FINISH command) into a single global results file - (Jobname.RST) which can be used in ANSYS postprocessing. To reduce the - amount of communication and I/O performed by this operation, you can - issue the command DMPOPTION,RST,NO to bypass this step of combining the - local results files; the local files will remain on the local disks in - the current working directory. You can then use the RESCOMBINE command - macro in the POST1 general postprocessor (/POST1) to read all results - into the database for postprocessing. - - The RESCOMBINE command macro is intended for use with POST1. If you - want to postprocess distributed parallel solution results using the - POST26 time-history postprocessor (/POST26), it is recommended that you - combine your local results files into one global results file - (DMPOPTION,RST,YES or COMBINE). - - Local .EMAT, .ESAV, .MODE, .MLV, .IST, .RFRQ, .RDSP, and .FULL files - are also written (when applicable) by each process in a distributed - memory parallel solution. If these files are not needed for a - downstream solution or operation, you can issue the command - DMPOPTION,FileType,NO for each file type to bypass the file combination - step and thereby improve performance. You should not bypass the file - combination step if a downstream PSD analysis or modal expansion pass - will be performed. - - If DMPOPTION,MODE,NO or DMPOPTION,RST,NO is specified in a modal - analysis, element results cannot be written to the combined mode file - (Jobname.MODE). In this case, if Distributed ANSYS is used in a - downstream harmonic or transient analysis that uses the mode- - superposition method, the MSUPkey on the MXPAND command can retain its - value. However, if shared memory parallel processing is used in the - downstream harmonic or transient analysis, the MSUPkey is effectively - set to NO. + Initiates element reordering based upon a geometric sort of the element + centroid locations. Wave lists, if any [WSTART], are ignored. + Reordering affects only the element order for the solution phase and + not the element numbers (input referring to element numbers, such as + element pressures, is unaffected by reordering). - The DMPOPTION command can be changed between load steps; however, doing - so will not affect which set of solution files are combined. Only the - last values of FileType and Combine upon leaving the solution processor - will be used to determine whether the solution files are combined. For - example, given a two load step solution and FileType = RST, setting - Combine = NO for the first load step and YES for the second load step - will cause all sets on the local results files to be combined. If the - opposite is true (Combine = YES for the first load step and NO for the - second load step), no results will be combined. + Note:: : The new order is retained only if new the new maximum or RMS + wavefront values are lower than the old values, as described below. + See the WAVES command for another reordering procedure and for more + details on reordering. The resulting element ordering can be shown by + listing the wavefront history [WFRONT,1] or by displaying elements with + their element location numbers [/PNUM]. - After using DMPOPTION to suppress file combination, you may find it - necessary to combine the local files for a specific FileType for use in - a subsequent analysis. In this case, use the COMBINE command to combine - local solution files into a single, global file. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "DMPOPTION, %s, %s" % (str(filetype), str(combine)) + command = "WSORT,%s,%s,%s,%s,%s" % (str(lab), str(kord), str(wopt), str(oldmax), str(oldrms)) self.RunCommand(command, **kwargs) - def Exp(self, ir="", ia="", name="", facta="", factb="", **kwargs): + def Usrcal(self, rnam1="", rnam2="", rnam3="", rnam4="", rnam5="", + rnam6="", rnam7="", rnam8="", rnam9="", **kwargs): """ - APDL Command: EXP + APDL Command: USRCAL - Forms the exponential of a variable. + Allows user-solution subroutines to be activated or deactivated. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. - - ia - Reference number of the variable to be operated on. - - --, -- - Unused fields. - - name - Thirty-two character name for identifying the variable on the - printout and displays. Embedded blanks are compressed upon output. + rnam1, rnam2, rnam3, . . . , rnam9 + User-defined solution subroutine names to be activated. Up to nine + may be defined on one command or multiple commands may be used. If + Rnam1 = ALL, activate all valid user subroutines. If Rnam1 = + NONE, deactivate all valid user subroutines. All characters are + required: - --, -- - Unused fields. + USREFL - Allows user defined scalar field (body force) loads. - facta - Scaling factor applied to variable IA (defaults to 1.0). + USERCV - Allows user defined convection (surface) loads. - factb - Scaling factor (positive or negative) applied to the operation - (defaults to 1.0). + USERPR - Allows user defined pressure (surface) loads. - Notes - ----- - Forms the exponential of a variable according to the operation: + USERFX - Allows user-defined heat flux (surface) loads. - IR = FACTB*EXP(FACTA x IA) + USERCH - Allows user-defined charge density (surface) loads. - """ - command = "EXP, %s, %s, %s, %s, %s" % (str(ir), str(ia), str(name), str(facta), str(factb)) - self.RunCommand(command, **kwargs) + USERFD - Computes the complex load vector for the frequency domain logic. - def Perbc2d(self, loc1="", loc2="", loctol="", r1="", r2="", tolr="", - opt="", plnopt="", **kwargs): - """ - APDL Command: PERBC2D + USEROU - Allows user supplied element output. - Generates periodic constraints for 2-D planar magnetic field analyses. + USERMC - Allows user control of the hygrothermal growth). - Parameters - ---------- - loc1 - Constant coordinate location of the first plane of nodes. For - PLNOPT = 1 or 2, the constant coordinate location is the global - Cartesian coordinate system [CSYS,0] location in the X or Y - direction respectively. For PLNOPT = 0, the location is the angle - in the global cylindrical coordinate system [CSYS,1]. + USOLBEG - Allows user access before each solution. - loc2 - Constant coordinate location of the second plane of nodes. For - PLNOPT = 1 or 2, the constant coordinate location is the global - Cartesian coordinate system [CSYS,0] location in the X or Y - direction respectively. For PLNOPT = 0, the location is the angle - (in degrees) in the global cylindrical coordinate system [CSYS,1]. + ULDBEG - Allows user access before each load step. - loctol - Tolerance on the constant coordinate location for node selection. - Defaults to .00001 for PLNOPT = 1 or 2 and .001 degrees for PLNOPT - = 0. + USSBEG - Allows user access before each substep. - r1 - Minimum coordinate location along the second plane of nodes. For - PLNOPT = 1 or 2, the coordinate location is the global Cartesian - coordinate system location in the Y or X direction respectively. - For PLNOPT = 0, the coordinate location is the radial coordinate - value in the global cylindrical coordinate system. Periodic - conditions are not applied to nodes at this location. + UITBEG - Allows user access before each equilibrium iteration. - r2 - Maximum coordinate location along the second plane of nodes. For - PLNOPT = 1 or 2, the coordinate location is the global Cartesian - coordinate system location in the Y or X direction respectively. - For PLNOPT = 0, the coordinate location is the radial coordinate - value in the global cylindrical coordinate system. Periodic - conditions are not applied to nodes at this location. + UITFIN - Allows user access after each equilibrium iteration. - tolr - Tolerance dimension on node selection along the plane of nodes. - Defaults to .00001. + USSFIN - Allows user access after each substep. - opt - Periodic option: + ULDFIN - Allows user access after each load step. - 0 - Odd symmetry (default). Apply constraint equations such that AZ(i) = -AZ(j). + USOLFIN - Allows user access after each solution. - 1 - Even symmetry. Apply node coupling such that AZ(i) = AZ(j). + UANBEG - Allows user access at start of run. - plnopt - Symmetry plane option: + UANFIN - Allows user access at end of run. - 0 - Planes of constant angle in the global cylindrical coordinate system [CSYS,1]. + UELMATX - Allows user access to element matrices and load vectors. - 1 - Planes parallel to the global Cartesian X axis [CSYS,0]. + UTIMEINC - Allows a user-defined time step, overriding the program-determined time step. - 2 - Planes parallel to the global Cartesian Y axis [CSYS,0]. + UCNVRG - Allows user-defined convergence checking, overriding the program-determined + convergence. Notes ----- - PERBC2D invokes an ANSYS macro which generates periodic boundary - condition constraints for 2-D planar magnetic field analysis. The - macro is restricted to node pairs sharing common coordinate values - along symmetry planes separated by a constant coordinate value. Planes - (or lines) must lie at either constant angles (PLNOPT = 0), constant X - values (PLNOPT = 1), or constant Y values (PLNOPT = 2). PERBC2D - applies constraint equations (OPT = 0, odd symmetry) or node coupling - (OPT = 1, even symmetry) to each node pair sharing a common coordinate - value along the symmetry planes. By default, periodic conditions are - not applied at the first and last node pairs on the symmetry planes - unless the input location values, R1 and R2, are adjusted to be less - than or greater than the actual node coordinate values. Nodes are - selected for application of the constraints using the NSEL command with - tolerances on the constant coordinate location (LOCTOL) and the - coordinate location along the plane (RTOL). + Allows certain user-solution subroutines to be activated or deactivated + (system-dependent). This command only affects the subroutines named. + Other user subroutines (such as user elements, user creep, etc.) have + their own activation controls described with the feature. + + The routines are commented and should be listed after performing a + custom installation from the distribution media for more details. See + also the Advanced Analysis Guide for a general description of user- + programmable features. + + Users must have system permission, system access, and knowledge to + write, compile, and link the appropriate subroutines into the program + at the site where it is to be run. All routines should be written in + FORTRAN. (For more information on FORTRAN compilers please refer to + either the ANSYS, Inc. Windows Installation Guide or the ANSYS, Inc. + Linux Installation Guide for details specific to your platform or + operating system.) Issue USRCAL,STAT to list the status of these user + subroutines. Since a user-programmed subroutine is a nonstandard use + of the program, the verification of any ANSYS run incorporating these + commands is entirely up to the user. In any contact with ANSYS + customer support regarding the performance of a custom version of the + ANSYS program, you should explicitly state that a user programmable + feature has been used. + + This command is also valid in PREP7. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "PERBC2D, %s, %s, %s, %s, %s, %s, %s, %s" % (str(loc1), str(loc2), str(loctol), str(r1), str(r2), str(tolr), str(opt), str(plnopt)) + command = "USRCAL,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(rnam1), str(rnam2), str(rnam3), str(rnam4), str(rnam5), str(rnam6), str(rnam7), str(rnam8), str(rnam9)) self.RunCommand(command, **kwargs) - def Mfsorder(self, gname1="", gname2="", **kwargs): + def Soluopt(self, **kwargs): """ - APDL Command: MFSORDER - - Sets up the solution sequence of simultaneous field solver groups for - code coupling analyses. + APDL Command: SOLUOPT - Parameters - ---------- - gname1, gname2 - Specifies the group name for groups defined by the MFPSIMUL command - with a character string of up to 80 characters. + Specifies "Solution options" as the subsequent status topic. Notes ----- - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "MFSORDER, %s, %s" % (str(gname1), str(gname2)) + command = "SOLUOPT," % () self.RunCommand(command, **kwargs) - def Vglue(self, nv1="", nv2="", nv3="", nv4="", nv5="", nv6="", nv7="", - nv8="", nv9="", **kwargs): + def Pds(self, **kwargs): """ - APDL Command: VGLUE - - Generates new volumes by "gluing" volumes. + APDL Command: /PDS - Parameters - ---------- - nv1, nv2, nv3, . . . , nv9 - Numbers of the volumes to be glued. If NV1 = ALL, all selected - volumes will be glued (NV2 to NV9 will be ignored). If NV1 = 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 NV1. + Enters the probabilistic design system. Notes ----- - Use of the VGLUE command generates new volumes by "gluing" input - volumes. The glue operation redefines the input volumes so that they - share areas along their common boundaries. The new volumes encompass - the same geometry as the original volumes. This operation is only - valid if the intersections of the input volumes are areas along the - boundaries of those volumes. See the Modeling and Meshing Guide for an - illustration. See the BOPTN command for an explanation of the options - available to Boolean operations. Element attributes and solid model - boundary conditions assigned to the original entities will not be - transferred to the new entities generated. - - The VGLUE command results in the merging of areas, lines, and keypoints - at the common volume boundaries. The areas, lines, and keypoints of the - lower numbered volume will be kept. This means one must be aware of - volume numbering when multiple VGLUE commands are applied to avoid any - "ungluing" of geometry. + Enters the Probabilistic Design System (PDS). This command is valid + only at the Begin Level. """ - command = "VGLUE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nv1), str(nv2), str(nv3), str(nv4), str(nv5), str(nv6), str(nv7), str(nv8), str(nv9)) + command = "/PDS," % () self.RunCommand(command, **kwargs) - def Rezone(self, option="", ldstep="", sbstep="", **kwargs): + def Ndsurf(self, snode="", telem="", dimn="", **kwargs): """ - APDL Command: REZONE + APDL Command: NDSURF - Initiates the rezoning process, sets rezoning options, and rebuilds the - database. + Generates surface elements overlaid on the edge of existing elements + and assigns the extra node as the closest fluid element node. Parameters ---------- - option - The rezoning method to employ: + snode + Component name for the surface nodes of the solid elements. - MANUAL - Manual rezoning. You decide when to use rezoning, what region(s) to rezone, and - what remeshing method to use on the selected region(s). - This method is currently the default and only option. + telem + Component name for the target fluid elements. - ldstep - The load step number at which rezoning should occur. The default - value is the highest load step number found in the Jobname.Rnnn - files (for the current jobname and in the current directory). + dimn + Model dimensionality: - sbstep - The substep number of the specified load step (LDSTEP) at which - rezoning should occur. The default value is the highest substep - number found in the specified load step in the Jobname.Rnnn files - (for the current jobname and in the current directory). + 2 - 2-D model. + + 3 - 3-D model. Notes ----- - The REZONE command rebuilds the database (.db file) based on the - specified load step and substep information, and updates nodes to their - deformed position for remeshing. + This command macro is used to generate surface effect elements (SURF151 + or SURF152) overlaid on the surface of existing plane or solid elements + and, based on proximity, to determine and assign the extra node + (FLUID116) for each surface element. The active element type must be + SURF151 or SURF152 with appropriate settings for KEYOPT(4), KEYOPT(5), + KEYOPT(6), and KEYOPT(8). - Before issuing this command, clear the database via the /CLEAR command. + The surface nodes of the plane or solid elements must be grouped into a + node component and the fluid elements must be grouped into an element + component and named using the CM command. The names must be enclosed + in single quotes (e.g., 'NOD') when the NDSURF command is manually + typed in. - For more information, see Rezoning in the Advanced Analysis Guide. + When using the GUI method, node and element components are created + through the picking dialog boxes associated with this command. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The macro is applicable for the SURF151, SURF152, and FLUID116 element + types. """ - command = "REZONE, %s, %s, %s" % (str(option), str(ldstep), str(sbstep)) + command = "NDSURF,%s,%s,%s" % (str(snode), str(telem), str(dimn)) self.RunCommand(command, **kwargs) - def Lvscale(self, fact="", ldstep="", **kwargs): + def Toper(self, parr="", par1="", oper="", par2="", fact1="", fact2="", + con1="", **kwargs): """ - APDL Command: LVSCALE + APDL Command: *TOPER - Scales the load vector for mode-superposition analyses. + Operates on table parameters. Parameters ---------- - fact - Scale factor applied to both the real and imaginary (if they exist) - components of the load vector. Defaults to 0.0. + parr + Name of the resulting table parameter. The command will create a + table array parameter with this name. Any existing parameter with + this name will be overwritten. - ldstep - Specifies the load step number from the modal analysis - (MODCONT,ON). It corresponds to the load vector number. Defaults to - 1. The maximum value is 240. + par1 + Name of the first table parameter. + + oper + The operation to be performed: ADD. The operation is: ParR(i,j,k) + = FACT1*Par1(i,j,k) + FACT2 *Par2(i,j,k) +CON1 + + par2 + Name of the second table parameter. + + fact1 + The first table parameter multiplying constant. Defaults to 1. + + fact2 + The second table parameter multiplying constant. Defaults to 1. + + con1 + The constant increment for offset. Defaults to 0. Notes ----- - Specifies the scale factor for the load vector that was created in a - modal (ANTYPE,MODAL) analysis. Applies only to the mode-superposition - transient analysis (ANTYPE,TRANS), mode-superposition harmonic analysis - (ANTYPE,HARMIC), random vibration analysis (ANTYPE,SPECTR with - SPOPT,PSD), and multiple point response spectrum analysis - (ANTYPE,SPECTR with SPOPT,MPRS). For PSD and MPRS analyses, LVSCALE is - only applicable for pressure loading. - - The LVSCALE command supports tabular boundary conditions (%TABNAME_X%) - for FACT input values only as a function of time in the mode- - superposition transient (ANTYPE,TRANS) or as a function of frequency in - mode-superposition harmonic (ANTYPE,HARMIC). + *TOPER operates on table parameters according to: ParR(i,j,k) = + FACT1*Par1(i,j,k) + FACT2 *Par2(i,j,k) +CON1 - MPC contact generates constraint equations that can include constant - terms (included on the right-hand side of the system equation). The - LVSCALE command scales the constant terms. + Par1 and Par2 must have the same dimensions and the same variable names + corresponding to those dimensions. Par1 and Par2 must also have + identical index values for rows, columns, etc. - In mode-superposition transient and harmonic analyses, all of the load - vectors need to be scaled in the first load step. Use a zero scale - factor if they are not actually used in this first load step. : - Similarly, in random vibration and multipoint response spectrum - analyses, all of the load vectors need to be scaled in the first - participation factor calculation (PFACT). : Use a zero scale factor if - they are not actually used for the first input table. + If you want a local coordinate system for the resulting array, you must + dimension it as such using the *DIM command before issuing *TOPER. - This command is also valid in PREP7. + This command is valid in any processor. """ - command = "LVSCALE, %s, %s" % (str(fact), str(ldstep)) + command = "*TOPER,%s,%s,%s,%s,%s,%s,%s" % (str(parr), str(par1), str(oper), str(par2), str(fact1), str(fact2), str(con1)) self.RunCommand(command, **kwargs) - def Egen(self, itime="", ninc="", iel1="", iel2="", ieinc="", minc="", - tinc="", rinc="", cinc="", sinc="", dx="", dy="", dz="", - **kwargs): + def Plst(self, fname="", ext="", parmplot="", mslvstep="", **kwargs): """ - APDL Command: EGEN + APDL Command: PLST - Generates elements from an existing pattern. + Plots sound power parameters vs. frequency, or postprocesses results + for a random acoustics analysis with diffuse sound field. Parameters ---------- - itime, ninc - Do this generation operation a total of ITIMEs, incrementing all - nodes in the given pattern by NINC each time after the first. ITIME - must be >1 if generation is to occur. NINC may be positive, zero, - or negative. If DX, DY, and/or DZ is specified, NINC should be set - so any existing nodes (as on NGEN) are not overwritten. + fname + File name and directory path of a sound power data file (248 + characters maximum, including the characters needed for the + directory path). The sound power data file is created via the + SPOWER command macro. An unspecified directory path defaults to the + working directory; in this case, you can use all 248 characters for + the file name. When postprocessing a random acoustics analysis, a + file named Fname is generated if no file already exists. - iel1, iel2, ieinc - Generate elements from selected pattern beginning with IEL1 to IEL2 - (defaults to IEL1) in steps of IEINC (defaults to 1). If IEL1 is - negative, IEL2 and IEINC are ignored and the last |IEL1| elements - (in sequence backward from the maximum element number) are used as - the pattern to be repeated. If IEL1 = ALL, IEL2 and IEINC are - ignored and use all selected elements [ESEL] as pattern to be - repeated. If P1 = 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 IEL1 (IEL2 and INC are ignored). + ext + Extension of the sound power data file (.anp where n is the number + of ports), or the random acoustics data file. When postprocessing + a random acoustics analysis, an extension named Ext is assigned if + no extension already exists. - minc - Increment material number of all elements in the given pattern by - MINC each time after the first. + parmplot + Specified parameter to plot: - tinc - Increment type number by TINC. + LWIN - Input sound power level (default) - rinc - Increment real constant table number by RINC. + LWOUT - Output sound power level at driven port - cinc - Increment element coordinate system number by CINC. + RL - Return loss - sinc - Increment section ID number by SINC. + ALPHA - Absorption coefficient - dx, dy, dz - Define nodes that do not already exist but are needed by generated - elements (as though the NGEN,ITIME,INC,NODE1,,,DX,DY,DZ were issued - before EGEN). Zero is a valid value. If blank, DX, DY, and DZ are - ignored. + TL - Transmission loss + + DFSTL - Transmission loss of random acoustics analysis + + DFSPW - Radiated power in random acoustics analysis + + mslvstep + Solution step (load step) of a random acoustics analysis (MSOLVE): + + 0 - Average result of multiple samplings (default) + + > 0 - Result at the specified solution step (load step) + + ALL - Average of all solution step (load step) results Notes ----- - A pattern may consist of any number of previously defined elements. The - MAT, TYPE, REAL, ESYS, and SECNUM numbers of the new elements are based - upon the elements in the pattern and not upon the current specification - settings. - - You can use the EGEN command to generate interface elements (INTER192, - INTER193, INTER194, and INTER195) directly. However, because interface - elements require that the element connectivity be started from the - bottom surface, you must make sure that you use the correct element - node connectivity. See the element descriptions for INTER192, INTER193, - INTER194, and INTER195 for the correct element node definition. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "EGEN, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(itime), str(ninc), str(iel1), str(iel2), str(ieinc), str(minc), str(tinc), str(rinc), str(cinc), str(sinc), str(dx), str(dy), str(dz)) + command = "PLST,%s,%s,%s,%s" % (str(fname), str(ext), str(parmplot), str(mslvstep)) self.RunCommand(command, **kwargs) - def Ksln(self, type="", **kwargs): + def Pfact(self, tblno="", excit="", parcor="", **kwargs): """ - APDL Command: KSLN + APDL Command: PFACT - Selects those keypoints associated with the selected nodes. + Calculates participation factors for the PSD or multi-point response + spectrum table. Parameters ---------- - type - Label identifying the type of keypoint select: + tblno + Input PSD (Power Spectral Density) table number for which + participation factors are to be calculated. - S - Select a new set (default). + excit + Label defining the location of excitation: - R - Reselect a set from the current set. + BASE - Base excitation (default). - A - Additionally select a set and extend the current set. + NODE - Nodal excitation. - U - Unselect a set from the current set. + parcor + Label defining excitation type (applies only to SPOPT,PSD + analysis). Used only when partially correlated excitation is due + to wave propagation or spatial correlation. Defaults to partially + correlated excitation as defined by COVAL and QDVAL commands. + + WAVE - Excitation defined by PSDWAV command. + + SPAT - Excitation defined by PSDSPL command. Notes ----- - Valid only if the nodes were generated by a meshing operation [KMESH, - LMESH, AMESH, VMESH] on a solid model that contains the associated - keypoints. + Calculates the participation factors for a particular PSD or multi- + point response spectrum table defined with the PSDVAL or SPVAL command. + The Jobname.DB file must contain modal solution data in order for this + command to calculate the participation factor. There must be a PFACT + command for each excitation spectrum. You are limited to 300 + excitations. - This command is valid in any processor. + This command is also valid in PREP7. """ - command = "KSLN, %s" % (str(type)) + command = "PFACT,%s,%s,%s" % (str(tblno), str(excit), str(parcor)) self.RunCommand(command, **kwargs) - def Plzz(self, rotvel="", deltarotvel="", **kwargs): + def Rmodif(self, nset="", stloc="", v1="", v2="", v3="", v4="", v5="", + v6="", **kwargs): """ - APDL Command: PLZZ + APDL Command: RMODIF - Plots the interference diagram from a cyclic modal analysis. + Modifies real constant sets. Parameters ---------- - rotvel - Rotational speed in revolutions per minute (RPM) used to define the - speed line. If blank, use the rotational speed (from OMEGA) - specified in the prestressing step of the linear perturbation - analysis. If explicitly input as 0, or if the linear perturbation - was not used, no speed lines are plotted. + nset + Number of existing real constant set to be modified. - deltarotvel - Adds speed lines about the RotVel speed line corresponding to - RotVel ± DeltaRotVel. Only plotted if RotVel is known. + stloc + Starting location in table for modifying data. For example, if + STLOC = 1, data input in the V1 field is the first constant in the + set. If STLOC = 7, data input in the V1 field is the seventh + constant in the set, etc. Must be greater than zero. + + v1 + New value assigned to constant in location STLOC. If zero (or + blank), a zero value will be assigned. + + v2, v3, v4, . . . , v6 + New values assigned to constants in the next five locations. If + blank, the value remains unchanged. Notes ----- - PLZZ plots the cyclic modal frequencies as points on a frequency vs. - harmonic index (nodal diameter) graph. If rotational speed (RotVel) is - provided, the speed line is also plotted, leading to the interference - diagram (also known as the SAFE or ZZENF diagram). If DeltaRotVel is - also provided, two additional speed lines are plotted, enveloping the - safe speed line itself. + Allows modifying (or adding) real constants to an existing set [R] at + any location. - For more information, see Postprocessing a Modal Cyclic Symmetry - Analysis in the Cyclic Symmetry Analysis Guide. + Specify NSET = GCN to define/modify real constants for real constant + sets that were previously assigned by the GCDEF command (that is, real + constants used in general contact interactions). + + This command is also valid in SOLUTION. For important information about + using this command within the solution phase, see What Are Nonstandard + Uses? in the Advanced Analysis Guide. """ - command = "PLZZ, %s, %s" % (str(rotvel), str(deltarotvel)) + command = "RMODIF,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nset), str(stloc), str(v1), str(v2), str(v3), str(v4), str(v5), str(v6)) self.RunCommand(command, **kwargs) - def Msave(self, key="", **kwargs): + def Fluread(self, fname="", ext="", kdim="", kout="", limit="", listopt="", + **kwargs): """ - APDL Command: MSAVE + APDL Command: FLUREAD - Sets the solver memory saving option. This option only applies to the - PCG solver (including PCG Lanczos). + Reads one-way Fluent-to-Mechanical APDL coupling data via a .cgns file + with one-side fast Fourier transformation complex pressure peak value. Parameters ---------- - key - Activation key: - - 0 or OFF - Use global assembly for the stiffness matrix (and mass matrix, when using PCG - Lanczos) of the entire model. - - 1 or ON - Use an element-by-element approach when possible to save memory during the - solution. In this case, the global stiffness (and mass) - matrix is not assembled; element stiffness (and mass) is - regenerated during PCG or PCG Lanczos iterations. - - Notes - ----- - MSAVE,ON only applies to and is the default for parts of the model - using the following element types with linear material properties that - meet the conditions listed below. - - SOLID186 (Structural Solid only) - - SOLID187 + -- + Reserved. - The following conditions must also be true: + fname + File name and directory path of a one-way Fluent-to-Mechanical APDL + coupling data file (248 characters maximum, including the + characters needed for the directory path). An unspecified directory + path defaults to the working directory; in this case, you can use + all 248 characters for the file name. Defaults to jobname. - The PCG solver has been specified. + ext + File name extension of the one-way Fluent-to-Mechanical APDL + coupling data file. Defaults to .cgns). - Small strains are assumed (NLGEOM,OFF). + kdim + Interpolation data for mapping. A value of 0 (default) or 2 applies + 2-D interpolation (where interpolation occurs on a surface). - No prestress effects (PSTRES) are included. + kout + Outside region results for mapping: - All nodes on the supported element types must be defined (i.e., the - midside nodes cannot be removed using the EMID command). + 0 - Use the value(s) of the nearest region point for points outside of the region. + This behavior is the default. - For elements with thermally dependent material properties, MSAVE,ON - applies only to elements with uniform temperatures prescribed. + 1 - Set results extrapolated outside of the region to zero. - The default element coordinate system must be used. + limit + Number of nearby nodes considered for mapping interpolation. + Minimum = 5. Default = 20. - If you manually force MSAVE,ON by including it in the input file, the - model can include the following additional conditions: + listopt + Type of items picked: - The analysis can be a modal analysis using the PCG Lanczos method - (MODOPT,LANPCG). + (blank) - No listing (default). - Large deflection effects (NLGEOM,ON) are included. + SOURCE - List the node coordinates and complex pressure values on the Fluent source side + during the solution. - SOLID185 (brick shapes and KEYOPT(2) = 3 only) elements can be - included. + TARGET - List the node coordinates and complex pressure values on the mapped Mechanical + APDL target side during the solution. - All other element types or other parts of the model that don't meet the - above criteria will be solved using global assembly (MSAVE,OFF). This - command can result in memory savings of up to 70 percent over the - global assembly approach for the part of the model that meets the - criteria. Depending on the hardware (e.g., processor speed, memory - bandwidth, etc.), the solution time may increase or decrease when this - feature is used. + BOTH - List the node coordinates and complex pressure values on both the Fluent source + side and the mapped Mechanical APDL target side during the + solution. - This memory-saving feature runs in parallel when multiple processors - are used with the /CONFIG command or with Distributed ANSYS. The gain - in performance with using multiple processors with this feature turned - on should be similar to the default case when this feature is turned - off. Performance also improves when using the uniform reduced - integration option for SOLID186 elements. + Notes + ----- + The FLUREAD command reads one-way Fluent-to-Mechanical APDL coupling + data from a .cgns file. The Fluent one-side fast Fourier transformation + (FFT) peak complex pressure values are mapped to the Mechanical APDL + structure model during the acoustic-structural solution at each FFT + frequency. - This command does not support the layered option of the SOLID185 and - SOLID186 elements. + The command can be used only for the model with the acoustic elements. - When using MSAVE,ON with the PCGOPT command, note the following - restrictions: + To apply complex pressure to the structure model, define the SURF154 + surface element, then define the one-way coupling interface (SF,,FSIN) + on the element. - For static and modal analyses, MSAVE,ON is not valid when using a - Lev_Diff value of 5 on the PCGOPT command; Lev_Diff will automatically - be reset to 2. + You can define the solving frequency range via the HARFRQ command. The + solver selects the FFT frequencies between the beginning and ending + frequencies. The number of substeps is determined by the number of FFT + frequencies over the frequency range. The number of substeps defined + via the NSUBST command is overwritten. - For modal analyses, MSAVE,ON is not valid with the StrmCk option of the - PCGOPT command; Strmck will be set to OFF. + For better mapping performance, consider the following: - For all analysis types, MSAVE,ON is not valid when the Lagrange - multiplier option (LM_Key) of the PCGOPT command is set to ON; the - MSAVE activation key will be set to OFF. + Calculations for out-of-bound points require much more processing time + than do points that are within bounds. - For linear perturbation static and modal analyses, MSAVE,ON is not - valid; the MSAVE activation key will be set to OFF. + For each point in the structural destination mesh, the command searches + all possible triangles in the Fluent source mesh to find the best + triangle containing each point, then performs a linear interpolation + inside this triangle. For faster and more accurate results, consider + your interpolation method and search criteria carefully. (See LIMIT.) - When using MSAVE,ON for modal analyses, no .FULL file will be created. - The .FULL file may be necessary for subsequent analyses (e.g., - harmonic, transient mode-superposition, or spectrum analyses). To - generate the .FULL file, rerun the modal analysis using the WRFULL - command. + It is possible to apply one-way coupling excitation to multiple + frequencies. The one-side FFT peak complex pressure values are + necessary to do so. """ - command = "MSAVE, %s" % (str(key)) + command = "FLUREAD,%s,%s,%s,%s,%s,%s" % (str(fname), str(ext), str(kdim), str(kout), str(limit), str(listopt)) self.RunCommand(command, **kwargs) - def Adams(self, nmodes="", kstress="", kshell="", **kwargs): + def Essolv(self, electit="", strutit="", dimn="", morphopt="", mcomp="", + xcomp="", electol="", strutol="", mxloop="", ruseky="", + restky="", eiscomp="", **kwargs): """ - APDL Command: ADAMS + APDL Command: ESSOLV - Performs solutions and writes flexible body information to a modal - neutral file (Jobname.MNF) for use in an ADAMS analysis. + Performs a coupled electrostatic-structural analysis. Parameters ---------- - nmodes - Number of normal modes to be written to Jobname.MNF file (no - default). + electit + Title of the electrostatics physics file as assigned by the PHYSICS + command. - kstress - Specifies whether to write stress or strain results: + strutit + Title of the structural physics file as assigned by the PHYSICS + command. - 0 - Do not write stress or strain results (default). + dimn + Model dimensionality (a default is not allowed): - 1 - Write stress results. + 2 - 2-D model. - 2 - Write strain results. + 3 - 3-D model. - 3 - Write both stress and strain results. + morphopt + Morphing option: - kshell - Shell element output location. This option is valid only for shell - elements. + <0 - Do not perform any mesh morphing or remeshing. - 0, 1 - Shell top surface (default). + 0 - Remesh the non-structural regions for each recursive loop only if mesh morphing + fails (default). - 2 - Shell middle surface. + 1 - Remesh the non-structural regions each recursive loop and bypass mesh morphing. - 3 - Shell bottom surface. + 2 - Perform mesh morphing only, do not remesh any non-structural regions. - Notes - ----- - ADAMS invokes a predefined ANSYS macro that solves a series of analyses - and then writes the modal neutral file, Jobname.MNF. This file can be - imported into the ADAMS program in order to perform a rigid body - dynamics simulation. For detailed information on how to use the ADAMS - command macro to create a modal neutral file, see Rigid Body Dynamics - and the ANSYS-ADAMS Interface in the Substructuring Analysis Guide. + mcomp + Component name of the region to be morphed. For 2-D models, the + component may be elements or areas. For 3-D models, the component + may be elements or volumes. A component must be specified. You + must enclose name-strings in single quotes in the ESSOLV command + line. - Before running the ADAMS command macro, you must specify the units with - the /UNITS command. The interface points should be the only selected - nodes when the command macro is initiated. (Interface points are nodes - where constraints may be applied in ADAMS.) Only selected elements will - be considered in the calculations. + xcomp + Component name of entities excluded from morphing. In the 2-D + case, it is the component name for the lines excluded from + morphing. In the 3-D case, it is component name for the areas + excluded from morphing. Defaults to exterior non-shared entities + (see the DAMORPH, DVMORPH, and DEMORPH commands). You must enclose + name-strings in single quotes in the ESSOLV command line. - By default, stress and strain data is transferred to the ADAMS program - for all nodes, as specified by the KSTRESS value. If you want to - transfer stress/strain data for only a subset of nodes, select the - desired subset and create a node component named "STRESS" before - running the ADAMS command macro. For example, you may want to select - exterior nodes for the purpose of visualization in the ADAMS program. + electol + Electrostatic energy convergence tolerance. Defaults to .005 (.5%) + of the value computed from the previous iteration. If less than + zero, the convergence criteria based on electrostatics results is + turned off. - The default filename for the modal neutral file is Jobname.MNF. In - interactive (GUI) mode, you can specify a filename other than - Jobname.MNF. In batch mode, there is no option to change the filename, - and the modal neutral file is always written to Jobname.MNF. + strutol + Structural maximum displacement convergence tolerance. Defaults to + .005 (.5%) of the value computed from the previous iteration. If + less than zero, the convergence criteria base on structural results + is turned off. - """ - command = "ADAMS, %s, %s, %s" % (str(nmodes), str(kstress), str(kshell)) - self.RunCommand(command, **kwargs) + mxloop + Maximum number of allowable solution recursive loops. A single + pass through both an electrostatics and structural analysis + constitutes one loop. Defaults to 100. - def Ssln(self, fact="", size="", **kwargs): - """ - APDL Command: SSLN + -- + Unused field. - Selects and displays small lines in the model. + ruseky + Reuse flag option: - Parameters - ---------- - fact - Factor used to determine small lines. FACT times the average line - length in the model is used as the line length limit below which - lines will be selected. + 1 - Assumes initial run of ESSOLV using base geometry for the first electrostatics + solution. - size - Line length limit for line selection. Lines that have a length - less than or equal to SIZE will be selected. Used only if FACT is - blank. + >1 - Assumes ESSOLV run is a continuation of a previous ESSOLV run, whereby the + morphed geometry is used for the initial electrostatic + simulation. - Notes - ----- - SSLN invokes a predefined ANSYS macro for selecting small lines in a - model. Lines that are smaller than or equal to the specified limit - (FACT or SIZE) are selected and line numbers are displayed. This - command macro is useful for detecting very small lines in a model that - may cause problems (i.e., poorly shaped elements or a meshing failure) - during meshing. All lines that are not "small" will be unselected and - can be reselected with the LSEL command. + restky + Structural restart key. - """ - command = "SSLN, %s, %s" % (str(fact), str(size)) - self.RunCommand(command, **kwargs) + 0 - Use static solution option for structural solution. - def Focus(self, wn="", xf="", yf="", zf="", ktrans="", **kwargs): - """ - APDL Command: /FOCUS + 1 - Use static restart solution option for structural solution. - Specifies the focus point (center of the window). + eiscomp + Element component name for elements containing initial stress data + residing in file jobname.ist. The initial stress data must be + defined prior to issuing ESSOLV (see INISTATE command). - Parameters - ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). + Notes + ----- + ESSOLV invokes an ANSYS macro which automatically performs a coupled + electrostatic-structural analysis. - xf, yf, zf - Location of the object to be at the focus point (center of the - window) in the global Cartesian coordinate system. If XF = AUTO, - allow automatic location calculation. If XF = USER, use focus - location of last display (useful when last display had auto focus). + The macro displays periodic updates of the convergence. - ktrans - Translate key: + If non-structural regions are remeshed during the analysis, boundary + conditions and loads applied to nodes and elements will be lost. + Accordingly, it is better to assign boundary conditions and loads to + the solid model. - 0 - Interpret numerical XF, YF, ZF values as described above. + Use RUSEKY > 1 for solving multiple ESSOLV simulations for different + excitation levels (i.e., for running a voltage sweep). Do not issue the + SAVE command to save the database between ESSOLV calls. - 1 - Interpret XF, YF, ZF values as multiples of half-screens to translate from the - current position in the screen coordinate system. Example: XF - of 2.4 translates the display approximately 2.4 half-screens to - the left in the screen X (horizontal) direction. + For nonlinear structural solutions, the structural restart option + (RESTKY = 1) may improve solution time by starting from the previous + converged structural solution. - 2 - Interpret XF, YF, ZF values as multiples of half-screens to translate from the - current position in the global Cartesian coordinate system. - Example: XF of 1.5 translates the display approximately 1.5 - half-screens in the global Cartesian X direction of the model. + For solid elements, ESSOLV automatically detects the air-structure + interface and applies a Maxwell surface flag on the electrostatic + elements. This flag is used to initiate the transfer for forces from + the electrostatic region to the structure. When using the ESSOLV + command with structural shell elements (for example, SHELL181), you + must manually apply the Maxwell surface flag on all air elements + surrounding the shells before writing the final electrostatic physics + file. Use the SFA command to apply the Maxwell surface flag to the + areas representing the shell elements; doing so ensures that the air + elements next to both sides of the shells receive the Maxwell surface + flag. - Notes - ----- - Specifies the location on (or off) the model which is to be located at - the focus point (center of the window). For section and capped - displays, the cutting plane is also assumed to pass through this - location (unless the working plane is used via /CPLANE). See also - /AUTO and /USER commands. + If lower-order structural solids or shells are used, set KEYOPT(7) = 1 + for the electrostatic element types to ensure the correct transfer of + forces. - This command is valid in any processor. + Information on creating the initial stress file is documented in the + Loading chapter in the Basic Analysis Guide. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/FOCUS, %s, %s, %s, %s, %s" % (str(wn), str(xf), str(yf), str(zf), str(ktrans)) + command = "ESSOLV,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(electit), str(strutit), str(dimn), str(morphopt), str(mcomp), str(xcomp), str(electol), str(strutol), str(mxloop), str(ruseky), str(restky), str(eiscomp)) self.RunCommand(command, **kwargs) - def Tspec(self, tcolor="", tsize="", txthic="", pangle="", iangle="", - **kwargs): + def Bf(self, node="", lab="", val1="", val2="", val3="", val4="", val5="", + val6="", **kwargs): """ - APDL Command: /TSPEC + APDL Command: BF - Creates annotation text attributes (GUI). + Defines a nodal body force load. Parameters ---------- - tcolor - Text color (0 TCOLOR   15): + node + Node to which body load applies. If Node = ALL, apply to all + selected nodes [NSEL]. A component name may also be substituted + for Node. - 0 - Black. + lab + Valid body load label. Load labels are listed under "Body Loads" in + the input table for each element type in the Element Reference. - 1 - Red-Magenta. + val1, val2, val3, val4, val5, val6 + Value associated with the Lab item or table name reference for + tabular boundary conditions. To specify a table, enclose the table + name in percent signs (%) (e.g., BF,Node,TEMP,%tabname%). Use the + *DIM command to define a table. Use only VAL1 for TEMP, FLUE, HGEN, + DGEN, MVDI, CHRGD. If Lab = CHRGD for acoustics, VAL1 is the static + pressure for a non-uniform acoustic medium calculation. - 2 - Magenta. + VAL1 - Mass source with units kg/(m3s) in a harmonic analysis, or mass source rate + with units kg/( m3s2) in a transient analysis - 3 - Blue-Magenta. + VAL2 - Phase angle in degrees - 4 - Blue. + VAL3 - Not used - 5 - Cyan-Blue. + VAL4 - Not used - 6 - Cyan. + VAL5 - Not used - 7 - Green-Cyan. + VAL6 - Not used - 8 - Green. + Notes + ----- + Defines a nodal body force load (such as temperature in a structural + analysis, heat generation rate in a thermal analysis, etc.). Nodal body + loads default to the BFUNIF values, if they were previously specified. - 9 - Yellow-Green. + Table names are valid for Lab value (VALn) inputs in these cases only: - 10 - Yellow. + VAL = %tabname% for temperatures (TEMP), diffusing substance generation + rates (DGEN), heat generation rates (HGEN), and nodal body force + densities (FORC). - 11 - Orange. + VAL1 = %tabname1%, VAL2 = %tabname2%, VAL3 = %tabname3%, VAL4 = + %tabname4%, VAL5 = %tabname5%, and VAL6 = %tabname6% for velocities or + accelerations (VELO). - 12 - Red. + VAL1 = %tabname1% and VAL2 = %tabname2% for mass sources or mass source + rates (MASS). - 13 - Dark Gray. + The heat generation rate loads specified with the BF command are + multiplied by the weighted nodal volume of each element adjacent to + that node. This yields the total heat generation at that node. - 14 - Light Gray. + Graphical picking is available only via the listed menu paths. - 15 - White. + Body load labels VELO and MASS cannot be accessed from a menu. - tsize - Text size factor. + This command is also valid in PREP7. - txthic - Text thickness key: + """ + command = "BF,%s,%s,%s,%s,%s,%s,%s,%s" % (str(node), str(lab), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6)) + self.RunCommand(command, **kwargs) - 1 - normal. + def Subopt(self, option="", value1="", **kwargs): + """ + APDL Command: SUBOPT - 2 - twice as thick. + Specifies Subspace (SUBSP) eigensolver options. - 3 - three times as thick. + Parameters + ---------- + option + One of the following options: - 4 - four times as thick. + STRMCK - Controls whether a Sturm sequence check is performed. - pangle - Text path angle (0.0 < angle < 360.0). + Value1: - OFF - iangle - Text italic angle (0.0 < angle < 45.0). + Do not perform Sturm sequence check (default). - ON + + Perform Sturm sequence check. - MEMORY + + Controls the memory allocation strategy for the Subspace eigensolver. - Value1: + + AUTO - Use the default memory allocation strategy (default). + + INCORE - Force the Subspace eigensolver to allocate in-core memory. + + OUTOFCORE - Force the Subspace eigensolver to use scratch files. Notes ----- - Defines annotation text attributes to control certain characteristics - of the text created via the /TLABEL command. This is a command - generated by the Graphical User Interface (GUI) and will appear in the - log file (Jobname.LOG) if annotation is used. This command is not - intended to be typed in directly in an ANSYS session (although it can - be included in an input file for batch input or for use with the /INPUT - command). - - This command is valid in any processor. + SUBOPT specifies options to be used with the Subspace eigensolver + (MODOPT,SUBSP) during a modal analysis. """ - command = "/TSPEC, %s, %s, %s, %s, %s" % (str(tcolor), str(tsize), str(txthic), str(pangle), str(iangle)) + command = "SUBOPT,%s,%s" % (str(option), str(value1)) self.RunCommand(command, **kwargs) - def Pdanl(self, fname="", ext="", **kwargs): + def Timp(self, elem="", chgbnd="", implevel="", **kwargs): """ - APDL Command: PDANL + APDL Command: TIMP - Defines the analysis file to be used for probabilistic looping. + Improves the quality of tetrahedral elements that are not associated + with a volume. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. - - ext - Filename extension (eight-character maximum). - - -- - Unused field. - - Notes - ----- - The analysis file containing the deterministic, parameterized model - must be specified if the probabilistic analysis is performed - interactively. The file must exist at the time the PDANL command is - issued. In this file, where /PREP7 and /PDS occur, they must be the - first nonblank characters on the line (do not use the $ delimiter on - any /PREP7 and /PDS command lines). + elem + Identifies the tetrahedral elements to be improved. Valid values + are ALL and P. If ELEM = ALL (default), improve all selected + tetrahedral elements. If ELEM = P, graphical picking is enabled + and all remaining command fields are ignored (valid only in the + GUI). - By default the analysis files specified with PDANL are executed from - the top. All definitions of random input variables (for example, APDL - parameters defined as random input variables with the PDVAR command, - using *SET or Pname = ... ) are ignored in the analysis file. The PDS - takes control of setting the values of random input variable values for - each loop. + chgbnd + Specifies whether to allow boundary modification. Boundary + modification includes such things as changes in the connectivity of + the element faces on the boundary and the addition of boundary + nodes. (Also see the Notes section below for important usage + information for CHGBND.) - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + 0 - Do not allow boundary modification. - """ - command = "PDANL, %s, %s" % (str(fname), str(ext)) - self.RunCommand(command, **kwargs) + 1 - Allow boundary modification (default). - def Edfplot(self, key="", **kwargs): - """ - APDL Command: EDFPLOT + implevel + Identifies the level of improvement to be performed on the + elements. (Improvement occurs primarily through the use of face + swapping and node smoothing techniques.) - Allows plotting of explicit dynamics forces and other load symbols. + 0 - Perform the least amount of swapping/smoothing. - Parameters - ---------- - key - Load symbol plotting key. + 1 - Perform an intermediate amount of swapping/smoothing. - ON or 1 - Turn display of load symbols on (default). + 2 - Perform the greatest amount of swapping/smoothing. - OFF or 0 - Turn display of load symbols off. + 3 - Perform the greatest amount of swapping/smoothing, plus additional improvement + techniques (default). Notes ----- - You must issue EDFPLOT,ON to display explicit dynamics load symbols. - The explicit load symbols are erased automatically upon a subsequent - plot command. + The TIMP command enables you to improve a given tetrahedral mesh by + reducing the number of poorly-shaped tetrahedral elements (in + particular, the number of sliver tetrahedral elements)--as well as the + overall number of elements--in the mesh. It also improves the overall + quality of the mesh. - An explicit load symbol always indicates a positive load direction - (e.g., positive X direction for FX load), even if the load value is - negative. The load symbol does not reflect the load magnitude. You can - use standard ANSYS symbol controls to control the appearance of the - load symbol. No load symbol is displayed for temperature loads. + TIMP is particularly useful for an imported tetrahedral mesh for which + no geometry information is attached. - This command is also valid in PREP7. + Regardless of the value of the CHGBND argument, boundary mid-nodes can + be moved. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + When loads or constraints have been placed on boundary nodes or mid- + nodes, and boundary mid-nodes are later moved, ANSYS issues a warning + message to let you know that it will not update the loads or + constraints. + + No boundary modification is performed if shell or beam elements are + present in the mesh, even when CHGBND = 1. """ - command = "EDFPLOT, %s" % (str(key)) + command = "TIMP,%s,%s,%s" % (str(elem), str(chgbnd), str(implevel)) self.RunCommand(command, **kwargs) - def Accoption(self, activate="", **kwargs): + def Plvar(self, nvar1="", nvar2="", nvar3="", nvar4="", nvar5="", nvar6="", + nvar7="", nvar8="", nvar9="", nvar10="", **kwargs): """ - APDL Command: ACCOPTION + APDL Command: PLVAR - Specifies GPU accelerator capability options. + Displays up to ten variables in the form of a graph. Parameters ---------- - activate - Activates the GPU accelerator capability within the equation - solvers. - - Do not use GPU accelerator. - Use GPU accelerator. + nvar1, nvar2, nvar3, . . . , nvar10 + Variables to be displayed, defined either by the reference number + or a unique thirty-two character name. If duplicate names are used + the command will plot the data for the lowest-numbered variable + with that name. Notes ----- - The GPU accelerator capability requires specific hardware to be - installed on the machine. See the appropriate ANSYS, Inc. Installation - Guide (Windows or Linux) for a list of supported GPU hardware. Use of - this capability also requires HPC licensing. For more information, see - GPU Accelerator Capability in the Parallel Processing Guide. - - The GPU accelerator capability is available for the sparse direct - solver and the PCG and JCG iterative solvers. Static, buckling, modal, - full harmonic, and full transient analyses are supported. For buckling - analyses, the Block Lanczos and Subspace eigensolvers are supported. - For modal analyses, only the Block Lanczos, PCG Lanczos, Subspace, - Unsymmetric, and Damped eigensolvers are supported. Activating this - capability when using other equation solvers or other analysis types - has no effect. - - The GPU accelerator capability is supported only on the Windows 64-bit - and Linux 64-bit platforms. + Variables are displayed vs. variable N on the XVAR command. The string + value will be a predefined, unique name. For complex variables, the + amplitude is displayed by default [PLCPLX]. Each PLVAR command + produces a new frame. See the /GRTYP command for displaying multiple + variables in a single frame with separate Y-axes. """ - command = "ACCOPTION, %s" % (str(activate)) + command = "PLVAR,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nvar1), str(nvar2), str(nvar3), str(nvar4), str(nvar5), str(nvar6), str(nvar7), str(nvar8), str(nvar9), str(nvar10)) self.RunCommand(command, **kwargs) - def Vcone(self, wn="", phi="", **kwargs): + def Mfvolume(self, inumb="", fnumb1="", label="", fnumb2="", **kwargs): """ - APDL Command: /VCONE + APDL Command: MFVOLUME - Defines the view cone angle for perspective displays. + Defines a volume load transfer for an ANSYS Multi-field solver + analysis. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). + inumb + Interface number for load transfer. The interface number + corresponds to the interface number specified by the volume flag + FVIN (BFE command). - phi - View cone angle (0.0 to 85.°) to define perspective. Use PHI = - 45.0° for typical perspective. Increase angle for more - perspective, decrease angle for less. If the distance [/DIST] is - not specified, it will be automatically calculated to give full - window magnification. If the distance is also specified, PHI - controls both the perspective and the magnification. The larger - the angle, the more the perspective and the less the magnification. - Defaults to 0.0 (no perspective). + fnumb1 + Field number of sending field. - Notes - ----- - Perspective shows the true depth of the object in the display. A - variable magnification results since the back plane of the object is - further from the observer than the front plane. The largest - magnification occurs at the front plane. With perspective, the - magnification factor (MAGF) is not only a function of the distance from - the object, but also the window shape and the perspective (or view - cone) angle: Φ as follows: + label + Valid volume load labels: - where , for square windows, is the largest in-plane vertical or - horizontal dimension, d is the distance from the observer to the plane - of: (usually the front plane of the object), and: Φ is the view cone - angle (defined with the /VCONE command). The bigger the cone angle, - the more the perspective. The magnification factor proportionally - decreases with increasing: Φ. The distance can be defined with the - /DIST or the /FOCUS command. Note, the distance input on the /DIST - command is equal to d only if the focus point is located on the plane - of : . It is recommended that if a general perspective is desired - (i.e., not any specific cone angle), use Φ = 45.0 (since TAN(45.0) = - 1.0) and let the d value be automatically calculated for full window - magnification. + fnumb2 + Field number for receiving field. - Note that any number of /DIST, /FOCUS, and /VCONE combinations can be - used to produce the same magnification. Distances less than the object - depth will produce views from within the object. + Notes + ----- + This command is also valid in PREP7. - A magnification factor of 1.0 just fills the window. If the automatic - scaling option is used [/AUTO], the magnification factor is fixed at - 0.91 (to allow a 10% margin around the object) and d is automatically - calculated for the given /VCONE and /FOCUS values. Any value of Φ - between 0.0 and 85.0 (usually 45.0) may be used to activate the - perspective. Views from inside the object are not possible when d is - automatically calculated (use manual scaling [/USER] along with /DIST - specification). + The ANSYS Multi-field solver solver does not allow you to switch the + load transfer direction for the same load quantity across the same + interfaces for a restart run. For example, if Field1 sends temperature + to and receives heat flow from Field2 across Interface 1 in a previous + solution, then you cannot make Field1 send heat flow to and receive + temperatures from Field2 across the same interface in a restart run, + even if you cleared the corresponding load transfer command. - This command is valid in any processor. + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/VCONE, %s, %s" % (str(wn), str(phi)) + command = "MFVOLUME,%s,%s,%s,%s" % (str(inumb), str(fnumb1), str(label), str(fnumb2)) self.RunCommand(command, **kwargs) - def Nrrang(self, nmin="", nmax="", ninc="", **kwargs): + def Plls(self, labi="", labj="", fact="", kund="", viewup="", **kwargs): """ - APDL Command: NRRANG + APDL Command: PLLS - Specifies the range of nodes to be read from the node file. + Displays element table items as contoured areas along elements. Parameters ---------- - nmin, nmax, ninc - Node range is defined from NMIN (defaults to 1) to NMAX (defaults - to 99999999) in steps of NINC (defaults to 1). - - Notes - ----- - Defines the range of nodes to be read [NREAD] from the node file. Also - implies an element range since only elements fully attached to these - nodes will be read from the element file. - - """ - command = "NRRANG, %s, %s, %s" % (str(nmin), str(nmax), str(ninc)) - self.RunCommand(command, **kwargs) + labi + Label of element table item (ETABLE) for node I magnitude. - def Desol(self, elem="", node="", item="", comp="", v1="", v2="", v3="", - v4="", v5="", v6="", **kwargs): - """ - APDL Command: DESOL + labj + Label of element table item for node J magnitude. - Defines or modifies solution results at a node of an element. + fact + Scale factor for display (defaults to 1). A negative scaling + factor may be used to invert the display. - Parameters - ---------- - elem - Element number for which results are defined or modified. If ALL, - apply to all selected elements [ESEL]. + kund + Undisplaced shape key: - node - Node of element (actual node number, not the position) to which - results are specified. If ALL, specify results for all selected - nodes [NSEL] of element. 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. + 0 - Display selected items on undeformed shape. - item - Label identifying results. Valid item labels are shown in Table - 129: DESOL - Valid Item and Component Labels below. Some items - also require a component label (Comp). + 1 - Display selected items on deformed shape. - comp - Component of the item (if required); see Table 129: DESOL - Valid - Item and Component Labels. + viewup + View Up key: - v1 - Value (in the element coordinate system) assigned to the database - item (and component, if any). If zero, a zero value will be - assigned. If blank, value remains unchanged. + 0 - Ignore the view-up (/VUP) vector when calculating trapezoid orientation + (default). - v2, v3, v4, . . . , v6 - Additional values (if any) assigned to the remaining components (in - the order corresponding to the Comp list shown below) for the - specified Item (starting from the specified Comp label and - proceeding to the right). + 1 - Use the view-up (/VUP) vector to calculate trapezoid orientation. Notes ----- - The DESOL command defines or modifies solution results in the database - at a node of an area or volume element. For example, - DESOL,35,50,S,X,1000,2000,1000 assigns values 1000, 2000, and 1000 to - SX, SY, and SZ (respectively) of node 50 of element 35. + Displays selected items (such as shears and moments) as a contoured + area (trapezoid) display along line elements and 2-D axisymmetric shell + elements (such as shear and moment diagrams). Three sides of the + trapezoid are formed by the element (one side) and lines at nodes I and + J of length proportional to the item magnitude and displayed normal to + the element and the viewing direction (the two parallel sides). - The settings of the POST1 FORCE, SHELL, and LAYER commands, if - applicable, further specify which database items are affected. + When ViewUP = 1, the trapezoid is oriented within the plane created by + the element and the global Cartesian coordinate system reference + orientation (/VUP or view up) vector. In this case, the program does + not perform the calculation involving the element and view direction. - For layered composite shells, specify the current element layer (LAYER) - before issuing the DESOL command. + Portions of this command are not supported by PowerGraphics + [/GRAPHICS,POWER]. - All data is stored in the solution coordinate system but is displayed - in the results coordinate system (RSYS). To list the current results, - use the PRESOL command. + """ + command = "PLLS,%s,%s,%s,%s,%s" % (str(labi), str(labj), str(fact), str(kund), str(viewup)) + self.RunCommand(command, **kwargs) - Modified solution results are not saved automatically. To save separate - records of modified results, use either the RAPPND or LCWRITE command. + def Fatigue(self, **kwargs): + """ + APDL Command: FATIGUE - Result items are available depending on element type; check the - individual element for availability. Valid item and component labels - for element results are: + Specifies "Fatigue data status" as the subsequent status topic. - Table: 129:: : DESOL - Valid Item and Component Labels + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "DESOL, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(elem), str(node), str(item), str(comp), str(v1), str(v2), str(v3), str(v4), str(v5), str(v6)) + command = "FATIGUE," % () self.RunCommand(command, **kwargs) - def Lcfact(self, lcno="", fact="", **kwargs): + def Prpath(self, lab1="", lab2="", lab3="", lab4="", lab5="", lab6="", + **kwargs): """ - APDL Command: LCFACT + APDL Command: PRPATH - Defines scale factors for load case operations. + Prints path items along a geometry path. Parameters ---------- - lcno - Load case pointer number. If ALL, apply to all selected load cases - [LCSEL]. - - fact - Scale factor applied to load case LCNO. Blank defaults to 1.0. + lab1, lab2, lab3, . . . , lab6 + Labels identifying the path items to be printed. Up to six items + may be printed at a time. Predefined path geometry items XG, YZ, + ZG, and S [PDEF] may also be printed. Notes ----- - Defines scale factors to be used in the load case operations [LCASE or - LCOPER]. Scale factors are applied after an absolute value operation - [LCABS] and are applied only to defined load cases [LCDEF]. + Prints path items with respect to a geometry path (as defined by the + PATH and PPATH commands). Path items and their labels must have been + defined with the PDEF, PVECT, PCALC, PDOT, PCROSS, or PRNEAR commands. + Path items may also be displayed with the PLPATH and PLPAGM commands. + See the PRANGE command for range control of the path. """ - command = "LCFACT, %s, %s" % (str(lcno), str(fact)) + command = "PRPATH,%s,%s,%s,%s,%s,%s" % (str(lab1), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6)) self.RunCommand(command, **kwargs) - def Selm(self, **kwargs): + def Vcol(self, ncol1="", ncol2="", **kwargs): """ - APDL Command: SELM + APDL Command: *VCOL - Specifies "Superelements" as the subsequent status topic. + Specifies the number of columns in matrix operations. + + Parameters + ---------- + ncol1 + Number of columns to be used for Par1 with *MXX operations. + Defaults to whatever is needed to fill the result array. + + ncol2 + Number of columns to be used for Par2 with *MXX operations. + Defaults to whatever is needed to fill the result array. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Specifies the number of columns to be used in array parameter matrix + operations. The size of the submatrix used is determined from the + upper left starting array element (defined on the operation command) to + the lower right array element (defined by the number of columns on this + command and the number of rows on the *VLEN command). - If entered directly into the program, the STAT command should - immediately follow this command. + The default NCOL is calculated from the maximum number of columns of + the result array (the *DIM column dimension) minus the starting + location + 1. For example, *DIM,R,,1,10 and a starting location of + R(1,7) gives a default of 4 columns ( starting with R(1,7), R(1,8), + R(1,9), and R(1,10)). Repeat operations automatically terminate at the + last column of the result array. Existing values in the rows and + columns of the results matrix remain unchanged where not overwritten by + the requested input or operation values. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The column control settings are reset to the defaults after each *MXX + operation. Use *VSTAT to list settings. + + This command is valid in any processor. """ - command = "SELM, " % () + command = "*VCOL,%s,%s" % (str(ncol1), str(ncol2)) self.RunCommand(command, **kwargs) - def Impd(self, vpath="", ipath="", vsymm="", isymm="", **kwargs): + def Et(self, itype="", ename="", kop1="", kop2="", kop3="", kop4="", + kop5="", kop6="", inopr="", **kwargs): """ - APDL Command: IMPD + APDL Command: ET - Calculates the impedance of a conductor at a reference plane. + Defines a local element type from the element library. Parameters ---------- - vpath - Path name for a predefined path [PATH command] for calculating the - EMF (voltage drop) from the conductor to a reference point. The - path should start at the outer conductor wall and end at a - reference voltage point. + itype + Arbitrary local element type number. Defaults to 1 + current + maximum. - ipath - Path name for a predefined path [PATH command] for calculating the - MMF (current) in a conductor. The path should traverse a closed - contour surrounding the conductor, and you should define the path - in a counterclockwise direction. + ename + Element name (or number) as given in the element library in Chapter + 4 of the Element Reference. The name consists of a category prefix + and a unique number, such as PIPE288. The category prefix of the + name (PIPE for the example) may be omitted but is displayed upon + output for clarity. If Ename = 0, the element is defined as a null + element. - vsymm - Symmetry factor applied to the calculated EMF (voltage drop). The - EMF (voltage drop) from the conductor to the reference point is - multiplied by Vsymm. + kop1, kop2, kop3, . . . , kop6 + KEYOPT values (1 through 6) for this element, as described in the + Element Reference. - isymm - Symmetry factor applied to the calculated current. The calculated - current is multiplied by Isymm. + inopr + If 1, suppress all element solution printout for this element type. Notes ----- - Used in a harmonic high-frequency electromagnetic analysis, IMPD - calculates the impedance of a conductor at a reference plane from the - EMF (voltage) and MMF (current) at the reference plane. The EMF - (voltage drop) is calculated by a line integral from the input path - name (specified by the Vpath argument) that extends from the conductor - to a reference point. The MMF (current) is calculated by a closed path - around the conductor from the input path name (specified with Ipath). - In cases having modeled symmetry, you can multiply the voltage drop or - current by symmetry factors (Vsymm and Isymm respectively). + The ET command selects an element type from the element library and + establishes it as a local element type for the current model. + Information derived from the element type is used for subsequent + commands, so the ET command(s) should be issued early. (The Element + Reference describes the available elements.) - This command macro returns the scalar parameters Zre and Zim, - representing the real and imaginary components of the impedance. + A special option, Ename = 0, permits the specified element type to be + ignored during solution without actually removing the element from the + model. Ename may be set to zero only after the element type has been + previously defined with a nonzero Ename. The preferred method of + ignoring elements is to use the select commands (such as ESEL). - See magnetic macros for further details. + KOPn are element option keys. These keys (referred to as KEYOPT(n)) are + used to turn on certain element options for this element. These options + are listed under "KEYOPT" in the input table for each element type in + the Element Reference. KEYOPT values include stiffness formulation + options, printout controls, and various other element options. If + KEYOPT(7) or greater is needed, input their values with the KEYOPT + command. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The ET command only defines an element type local to your model (from + the types in the element library). The TYPE or similar [KATT, LATT, + AATT, or VATT] command must be used to point to the desired local + element type before meshing. + + To activate the ANSYS program's LS-DYNA explicit dynamic analysis + capability, use the ET command or its GUI equivalent to choose an + element that works only with LS-DYNA (such as SHELL163). Choosing LS- + DYNA in the Preferences dialog box does not activate LS-DYNA; it simply + makes items and options related to LS-DYNA accessible in the GUI. """ - command = "IMPD, %s, %s, %s, %s" % (str(vpath), str(ipath), str(vsymm), str(isymm)) + command = "ET,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(itype), str(ename), str(kop1), str(kop2), str(kop3), str(kop4), str(kop5), str(kop6), str(inopr)) self.RunCommand(command, **kwargs) - def Msolve(self, numslv="", nrmtol="", nrmchkinc="", **kwargs): + def Tee(self, label="", fname="", ext="", **kwargs): """ - APDL Command: MSOLVE + APDL Command: /TEE - Starts multiple solutions for random acoustics analysis with diffuse - sound field. + Writes a list of commands to a specified file at the same time that the + commands are being executed. Parameters ---------- - numslv - Number of multiple solutions (load steps) corresponding to the - number of samplings. Default = 1. + label + Indicates how ANSYS is to interpret this /TEE command: + + Signals the beginning of the command text that is to be written to Fname. If Fname already exists, specifying NEW causes the contents of Fname to be overwritten. - Indicates that you want to append to Fname the command text that follows. + + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. + + ext + Filename extension (eight-character maximum). + + -- + Unused field. Notes ----- - The MSOLVE command starts multiple solutions (load steps) for random - acoustics analysis with multiple samplings. + You can use the /TEE command to record a macro to a specified file at + the same time that the macro is being executed. It is similar to the + Linux tee command. - The process is controlled by the norm convergence tolerance NRMTOL or - the number of multiple solutions NUMSLV (if the solution steps reach - the defined number). + For more information about the /TEE command, see the Introducing APDL + of the ANSYS Parametric Design Language Guide. - The program checks the norm convergence by comparing two averaged sets - of radiated sound powers with the interval NRMCHKINC over the frequency - range. For example, if NRMCHKINC = 5, the averaged values from 5 - solutions are compared with the averaged values from 10 solutions, then - the averaged values from 10 solutions are compared with the averaged - values from 15 solutions, and so on. + The following example illustrates the use of the /TEE command. If you + issue these commands: - The incident diffuse sound field is defined via the DFSWAVE command. + the content of myfile.mac is: - The average result of multiple solutions with different samplings is - calculated via the PLST command. + This command is valid in any processor, but only during an interactive + run. """ - command = "MSOLVE, %s, %s, %s" % (str(numslv), str(nrmtol), str(nrmchkinc)) + command = "/TEE,%s,%s,%s" % (str(label), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Slashreset(self, **kwargs): + def Eresx(self, key="", **kwargs): """ - APDL Command: /RESET + APDL Command: ERESX - Resets display specifications to their initial defaults. + Specifies extrapolation of integration point results. + + Parameters + ---------- + key + Extrapolation key: + + DEFA - If element is fully elastic (no active plasticity, creep, or swelling + nonlinearities), extrapolate the integration point results + to the nodes. If any portion of the element is plastic (or + other active material nonlinearity), copy the integration + point results to the nodes (default). + + YES - Extrapolate the linear portion of the integration point results to the nodes + and copy the nonlinear portion (for example, plastic + strains). + + NO - Copy the integration point results to the nodes. Notes ----- - Resets slash display specifications (/WINDOW, /TYPE, /VIEW, etc.) back - to their initial default settings (for convenience). Also resets the - focus location to the geometric center of the object. + Specifies whether the solution results at the element integration + points are extrapolated or copied to the nodes for element and nodal + postprocessing. The structural stresses, elastic and thermal strains, + field gradients, and fluxes are affected. Nonlinear data (plastic, + creep, and swelling strains) are always copied to the nodes, never + extrapolated. For shell elements, ERESX applies only to integration + point results in the in-plane directions. - This command is valid in any processor. + This command is also valid in PREP7. """ - command = "/RESET, " % () + command = "ERESX,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Erefine(self, ne1="", ne2="", ninc="", level="", depth="", post="", - retain="", **kwargs): + def Map2dto3d(self, action="", ldstep="", sbstep="", option="", **kwargs): """ - APDL Command: EREFINE + APDL Command: MAP2DTO3D - Refines the mesh around specified elements. + Initiates a 2-D to 3-D analysis and maps variables. Parameters ---------- - ne1, ne2, ninc - Elements (NE1 to NE2 in increments of NINC) around which the mesh - is to be refined. NE2 defaults to NE1, and NINC defaults to 1. If - NE1 = ALL, NE2 and NINC are ignored and all selected elements are - used for refinement. If NE1 = 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 NE1 (NE2 and NINC are - ignored). - - level - Amount of refinement to be done. Specify the value of LEVEL as an - integer from 1 to 5, where a value of 1 provides minimal - refinement, and a value of 5 provides maximum refinement (defaults - to 1). - - depth - Depth of mesh refinement in terms of number of elements outward - from the indicated elements, NE1 to NE2 (defaults to 0). + action + The 2-D to 3-D action to perform: - post - Type of postprocessing to be done after element splitting, in order - to improve element quality: + START - Start the analysis process by rebuilding the 2-D analysis database (.db) based + on the specified load step and substep information, and + update nodes to their deformed positions in the 2-D mesh. - OFF - No postprocessing will be done. + FINISH - Maps solution variables from the 2-D mesh to the extruded 3-D mesh. - SMOOTH - Smoothing will be done. Node locations may change. + ldstep + The load step number at which 2-D to 3-D analysis should occur. The + default value is the highest load step number found in the + Jobname.Rnnn files (for the current jobname and in the current + directory). - CLEAN - Smoothing and cleanup will be done. Existing elements may be deleted, and node - locations may change (default). + sbstep + The substep number of the specified load step (LDSTEP) at which the + 2-D to 3-D analysis should occur. The default value is the highest + substep number found in the specified load step in the Jobname.Rnnn + files (for the current jobname and in the current directory). - retain - Flag indicating whether quadrilateral elements must be retained in - the refinement of an all-quadrilateral mesh. (The ANSYS program - ignores the RETAIN argument when you are refining anything other - than a quadrilateral mesh.) + option + Mapping option: - ON - The final mesh will be composed entirely of quadrilateral elements, regardless - of the element quality (default). + (Blank) - Transfer and map all applied boundary conditions, nodal temperatures, loads, + and surface pressures from the 2-D mesh to the extruded + 3-D mesh. This behavior is the default. - OFF - The final mesh may include some triangular elements in order to maintain - element quality and provide transitioning. + NOBC - No applied boundary conditions or loads are transferred from the 2-D mesh to + the extruded 3-D mesh. Nodal temperatures (defined via the + BF,TEMP command) are transferred. Notes ----- - EREFINE performs local mesh refinement around the specified elements. - By default, the surrounding elements are split to create new elements - with 1/2 the edge length of the original elements (LEVEL = 1). + The MAP2DTO3D command initiates the 2-D to 3-D analysis process, sets + analysis options, rebuilds the database, and maps the solution + variables from the 2-D mesh to the 3-D mesh. - EREFINE refines all area elements and tetrahedral volume elements that - are adjacent to the specified elements. Any volume elements that are - adjacent to the specified elements, but are not tetrahedra (for - example, hexahedra, wedges, and pyramids), are not refined. + Before issuing this command, clear the database (/CLEAR). - You cannot use mesh refinement on a solid model that contains initial - conditions at nodes [IC], coupled nodes [CP family of commands], - constraint equations [CE family of commands], or boundary conditions or - loads applied directly to any of its nodes or elements. This applies to - nodes and elements anywhere in the model, not just in the region where - you want to request mesh refinement. If you have detached the mesh - from the solid model, you must disable postprocessing cleanup or - smoothing (POST = OFF) after the refinement to preserve the element - attributes. + The LDSTEP and SBSTEP values apply only when Action = START. - For additional restrictions on mesh refinement, see Revising Your Model - in the Modeling and Meshing Guide. + For more information, see 2-D to 3-D Analysis in the Advanced Analysis + Guide. - This command is also valid for rezoning. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "EREFINE, %s, %s, %s, %s, %s, %s, %s" % (str(ne1), str(ne2), str(ninc), str(level), str(depth), str(post), str(retain)) + command = "MAP2DTO3D,%s,%s,%s,%s" % (str(action), str(ldstep), str(sbstep), str(option)) self.RunCommand(command, **kwargs) - def Starlist(self, fname="", ext="", **kwargs): + def Monitor(self, var="", node="", lab="", **kwargs): """ - APDL Command: *LIST + APDL Command: MONITOR - Displays the contents of an external, coded file. + Controls contents of three variable fields in nonlinear solution + monitor file. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + var + One of three variable field numbers in the monitor file whose + contents can be specified by the Lab field. Valid arguments are + integers 1, 2, or 3. See Notes section for default values. + + node + The node number for which information is monitored in the specified + VAR field. In the GUI, if Node = P, graphical picking is enabled. + If blank, the monitor file lists the maximum value of the specified + quantity (Lab field) for the entire structure. + + lab + The solution quantity to be monitored in the specified VAR field. + Valid labels for solution quantities are UX, UY, and UZ + (displacements); ROTX, ROTY, and ROTZ (rotations); and TEMP + (temperature). Valid labels for reaction force are FX, FY, and FZ + (structural force) and MX, MY, and MZ (structural moment). Valid + label for heat flow rate is HEAT. For defaults see the Notes + section. + + Notes + ----- + The monitor file always has an extension of .mntr, and takes its file + name from the specified Jobname. If no Jobname is specified, the file + name defaults to file. + + You must issue this command once for each solution quantity you want to + monitor at a specified node at each load step. You cannot monitor a + reaction force during a linear analysis. The variable field contents + can be redefined at each load step by reissuing the command. The + monitored quantities are appended to the file for each load step. + + Reaction forces reported in the monitor file may be incorrect if the + degree of freedom of the specified node is involved in externally + defined coupling (CP command) or constraint equations (CE command), or + if the program has applied constraint equations internally to the node. + + The following example shows the format of a monitor file. Note that + the file only records the solution substep history when a substep is + convergent. + + The following details the contents of the various fields in the monitor + file: + + The current load step number. + + The current substep (time step) number. + + The number of attempts made in solving the current substep. This + number is equal to the number of failed attempts (bisections) plus one + (the successful attempt). + + The number of iterations used by the last successful attempt. + + Total cumulative number of iterations (including each iteration used by + a bisection). - ext - Filename extension (eight-character maximum). + : - -- - Unused field. + Time or load factor increments for the current substep. - Notes - ----- - Displays the contents of an external, coded file. The file to be - listed cannot be in use (open) at the time (except for the error file, - File.ERR, which may be displayed with *LIST,ERR). + Total time (or load factor) for the last successful attempt in the + current substep. - Use caution when you are listing active ANSYS files via the List> - Files> Other and File> List> Other menu paths. File I/O buffer and - system configurations can result in incomplete listings unless the - files are closed. + Variable field 1. In this example, the field is reporting the UZ + value. By default, this field lists the CPU time used up to (but not + including) the current substep. - This command is valid in any processor. + Variable field 2. In this example, the field is reporting the MZ + value. By default, this field lists the maximum displacement in the + entire structure. + + Variable field 3. By default (and in the example), this field reports + the maximum equivalent plastic strain increment in the entire + structure. """ - command = "*LIST, %s, %s" % (str(fname), str(ext)) + command = "MONITOR,%s,%s,%s" % (str(var), str(node), str(lab)) self.RunCommand(command, **kwargs) - def Anstoaqwa(self, fname="", vertaxis="", gc="", rho="", hwl="", - diffkey="", symxkey="", symykey="", **kwargs): + def Lesize(self, nl1="", size="", angsiz="", ndiv="", space="", kforc="", + layer1="", layer2="", kyndiv="", **kwargs): """ - APDL Command: ANSTOAQWA + APDL Command: LESIZE - Creates an AQWA-LINE input file from the current ANSYS model. + Specifies the divisions and spacing ratio on unmeshed lines. Parameters ---------- - fname - AQWA file name. Defaults to Jobname. - - vertaxis - Axis in the vertical direction: - - Y (or 2)  - Global Y axis. + nl1 + Number of the line to be modified. If ALL, modify all selected + lines [LSEL]. If NL1 = 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 NL1. - Z (or 3)  - Global Z axis (default). + size + If NDIV is blank, SIZE is the division (element edge) length. The + number of divisions is automatically calculated from the line + length (rounded upward to next integer). If SIZE is zero (or + blank), use ANGSIZ or NDIV. - gc - Gravitational acceleration. Defaults to 9.81. + angsiz + The division arc (in degrees) spanned by the element edge (except + for straight lines, which always result in one division). The + number of divisions is automatically calculated from the line + length (rounded upward to next integer). - rho - Density of water. Defaults to 1025.0. + ndiv + If positive, NDIV is the number of element divisions per line. If + -1 (and KFORC = 1), NDIV is assumed to be zero element divisions + per line. TARGE169 with a rigid specification ignores NDIV and will + always mesh with one element division. - hwl - Waterline height in model coordinates. Defaults to 0.0. + space + Spacing ratio. If positive, nominal ratio of last division size to + first division size (if > 1.0, sizes increase, if < 1.0, sizes + decrease). If negative, |SPACE| is nominal ratio of center + division(s) size to end divisions size. Ratio defaults to 1.0 + (uniform spacing). For layer-meshing, a value of 1.0 normally is + used. If SPACE = FREE, ratio is determined by other considerations - diffkey - Diffracting model key: + kforc + KFORC 0-3 are used only with NL1 = ALL. Specifies which selected + lines are to be modified. - 0 - Create a non-diffracting AQWA model. + 0 - Modify only selected lines having undefined (zero) divisions. - 1 - Create a diffracting AQWA model (default). + 1 - Modify all selected lines. - symxkey - Key indicating if model is symmetric about the global XZ plane: + 2 - Modify only selected lines having fewer divisions (including zero) than + specified with this command. - 0 - No symmetry about XZ plane (default). + 3 - Modify only selected lines having more divisions than specified with this + command. - 1 - Use symmetry about XZ plane. Only include (or select) half the model. + 4 - Modify only nonzero settings for SIZE, ANGSIZ, NDIV, SPACE, LAYER1, and + LAYER2. If KFORC = 4, blank or 0 settings remain unchanged. - symykey - Key indicating if model is symmetric about the global YZ plane: + layer1 + Layer-meshing control parameter. Distance which defines the + thickness of the inner mesh layer, LAYER1. Elements in this layer + are uniformly-sized with edge lengths equal to the specified + element size for the line (either through SIZE or line- + length/NDIV). A positive value for LAYER1 is interpreted as an + absolute length, while a negative value in interpreted as a + multiplier on the specified element size for the line. As a + general rule, the resulting thickness of the inner mesh layer + should be greater than or equal to the specified element size for + the line. If LAYER1 = OFF, layer-meshing control settings are + cleared for the selected lines. The default value is 0.0 - 0 - No symmetry about YZ plane (default). + layer2 + Layer-meshing control parameter. Distance which defines the + thickness of the outer mesh layer, LAYER2. Elements in this layer + transition in size from those in LAYER1 to the global element size. + A positive value of LAYER2 is interpreted as an absolute length, + while a negative value is interpreted as a mesh transition factor. + A value of LAYER2 = -2 would indicate that elements should + approximately double in size as the mesh progresses normal to + LAYER1. The default value is 0.0. - 1 - Use symmetry about YZ plane. Only include (or select) half the model. + kyndiv + 0, No, and Off means that SmartSizing cannot override specified + divisions and spacing ratios. Mapped mesh fails if divisions do not + match. This defines the specification as "hard". Notes ----- - This command creates the input file Fname.aqwa for the ANSYS Aqwa - Multi-Body Hydrodynamics System for diffraction analysis in AQWA-LINE - from the model currently in the database, based on the currently - selected set of elements. The selected set must only include the hull - envelope; no internal structure should be selected. - - There should be a line of nodes defined at the waterline. Only those - elements that are entirely below the waterline will be specified as - diffracting. If there are no waterline nodes, there will be no - diffracting elements at the waterline, which will severely reduce the - accuracy of the diffraction analysis. - - The translator maps PLANE42, SHELL41, SHELL63, and SHELL181 elements to - PANELs, and maps PIPE16 and PIPE59 elements to TUBEs. It does not - recognize any other element types. Any material or geometric properties - can be used for the shell elements, as AQWA does not need any - properties at all and the command does not use them. All the shell - elements below the water must have their normals pointing outward. - - TUBE elements in AQWA have material density, outside diameter, wall - thickness, added mass, and drag coefficients, so appropriate properties - should be used in the ANSYS model. PIPE59 elements can have added mass - and damping coefficients; these will be written to the file. The ANSYS - program uses the inertia coefficient CM, whereas AQWA uses the added - mass coefficient CA, where CM = (1 + CA). This correction is made - automatically. - - In AQWA the vertical axis is always the Z-axis. The command can convert - a model built with either the Y or Z-axis vertical, but the X-axis must - be horizontal and should preferably be along the fore/aft axis of the - vessel. If the structure is symmetric and you wish to use the symmetry - options, you must only select one half or one quarter of the model, as - appropriate. If you model a complete vessel and specify X symmetry, the - AQWA model will contain two sets of coincident elements. - - If you are working from a model created for a structural analysis, it - will probably be necessary to remesh the model as the structural mesh - is most likely finer than needed for a diffraction analysis. - - If you enter this command interactively (with the GUI active) and no - data is provided for the command options, you will be prompted for - their values. + Defines the number of divisions and the spacing ratio on selected + lines. Lines with previously specified divisions may also be changed. - You must verify the completeness and accuracy of the data written. + This command is also valid for rezoning. """ - command = "ANSTOAQWA, %s, %s, %s, %s, %s, %s, %s, %s" % (str(fname), str(vertaxis), str(gc), str(rho), str(hwl), str(diffkey), str(symxkey), str(symykey)) + command = "LESIZE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nl1), str(size), str(angsiz), str(ndiv), str(space), str(kforc), str(layer1), str(layer2), str(kyndiv)) self.RunCommand(command, **kwargs) - def Nkpt(self, node="", npt="", **kwargs): + def N(self, node="", x="", y="", z="", thxy="", thyz="", thzx="", + **kwargs): """ - APDL Command: NKPT + APDL Command: N - Defines a node at an existing keypoint location. + Defines a node. Parameters ---------- node - Arbitrary reference number for node. If zero or blank, defaults to - the highest node number +1 [NUMSTR]. + Node number to be assigned. A previously defined node of the same + number will be redefined. Defaults to the maximum node number used + +1. - npt - Keypoint number defining global X, Y, Z location. If NPT = All, - then a node will be placed at each selected keypoint. If NPT = P, + x, y, z + Node location in the active coordinate system (R, θ, Z for + cylindrical, R, θ, Φ for spherical or toroidal). If X = 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 NPT. + ignored (valid only in the GUI). + + thxy + First rotation about nodal Z (positive X toward Y). + + thyz + Second rotation about nodal X (positive Y toward Z). + + thzx + Third rotation about nodal Y (positive Z toward X). + + Notes + ----- + Defines a node in the active coordinate system [CSYS]. The nodal + coordinate system is parallel to the global Cartesian system unless + rotated. Rotation angles are in degrees and redefine any previous + rotation angles. See the NMODIF, NANG, NROTAT, and NORA commands for + other rotation options. """ - command = "NKPT, %s, %s" % (str(node), str(npt)) + command = "N,%s,%s,%s,%s,%s,%s,%s" % (str(node), str(x), str(y), str(z), str(thxy), str(thyz), str(thzx)) self.RunCommand(command, **kwargs) - def Yrange(self, ymin="", ymax="", num="", **kwargs): + def Pretab(self, lab1="", lab2="", lab3="", lab4="", lab5="", lab6="", + lab7="", lab8="", lab9="", **kwargs): """ - APDL Command: /YRANGE + APDL Command: PRETAB - Specifies a linear ordinate (Y) scale range. + Prints the element table items. Parameters ---------- - ymin - Minimum ordinate scale value. - - ymax - Maximum ordinate scale value. - - num - Y-axis number to which range applies (defaults to 1). Valid - numbers are 1 to 3 for /GRTYP,2 and 1 to 6 for /GRTYP,3. If ALL, - apply to all Y-axes. + lab1, lab2, lab3, . . . , lab9 + Print selected items. Valid labels are (blank) or any label as + specified with the ETABLE command. Convenience labels may be used + for Lab1 to select groups of labels (10 labels maximum): GRP1 for + first 10 stored items; GRP2 for items 11 to 20; GRP3 for items 21 + to 30; GRP4 for items 31 to 40; GRP5 for items 41 to 50. Enter + ETABLE,STAT command to list stored item order. If all labels are + blank, print first 10 stored items (GRP1). Notes ----- - Specifies a linear ordinate (Y) scale range for the line graph display. - Use /YRANGE,DEFAULT to return to automatic scaling. For multiple - Y-axes graphs [/GRTYP], see /GROPT, ASCAL to automatically scale the - additional Y-axes. - - Automatic scaling will often yield inappropriate range values for - logarithmic scales (/GROPT, LOGY). + Prints the items stored in the table defined with the ETABLE command. + Item values will be listed for the selected elements in the sorted + sequence [ESORT]. The FORCE command can be used to define which + component of the nodal load is to be used (static, damping, inertia, + or total). - This command is valid in any processor. + Portions of this command are not supported by PowerGraphics + [/GRAPHICS,POWER]. """ - command = "/YRANGE, %s, %s, %s" % (str(ymin), str(ymax), str(num)) + command = "PRETAB,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(lab1), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6), str(lab7), str(lab8), str(lab9)) self.RunCommand(command, **kwargs) - def Ddele(self, node="", lab="", nend="", ninc="", rkey="", **kwargs): + def Pdlhs(self, nsim="", nrep="", isopt="", _astop="", accmean="", + accstdv="", check="", seed="", **kwargs): """ - APDL Command: DDELE + APDL Command: PDLHS - Deletes degree-of-freedom constraints. + Specifies options for Monte Carlo Simulations using Latin-Hypercube + sampling. 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. + nsim + Number of simulation loops per repetition cycle. - 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). + nrep + Number of repetition cycles of the analysis. - nend, ninc - Delete constraints from NODE to NEND (defaults to NODE) in steps of - NINC (defaults to 1). + isopt + Latin-Hypercube sampling divides the domain of each random input + variable into intervals of equal probability. The interval sampling + option ISopt determines where the samples are located within each + interval. - rkey - Ramping key: + RAND - Picks a random location within the interval (default). - OFF  - Loads are step-removed (default). + MEAN - Picks the mean value location within the interval. - 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. + MEDI - Picks the median value location within the interval. - 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]. + -- + Unused field. - This command is also valid in PREP7. + astop + Autostop option label. - """ - command = "DDELE, %s, %s, %s, %s, %s" % (str(node), str(lab), str(nend), str(ninc), str(rkey)) - self.RunCommand(command, **kwargs) + AUTO - Enable Autostop. When Autostop is used, the PDS feature continues the + simulation loops until the convergence criteria for the mean + value and the standard deviation have been met or until the + number of simulations NSIM are complete, whichever comes + first. The convergence criteria (mean value and standard + deviations of all random output parameters) are specified by + the ACCMEAN and ACCSTDEV parameters. The criteria are met if + the mean value and the standard deviations converge within + the accuracy specified in the ACCMEAN and ACCSTDEV options. + The convergence check is done every i-th loop, where i is + specified in the CHECK parameter. - def Gmface(self, lab="", n="", **kwargs): - """ - APDL Command: GMFACE + ALL - Disable Autostop option. All Monte Carlo Simulations as specified by NSIM and + NREP are performed (default). - Specifies the facet representation used to form solid models. + accmean + Accuracy of the mean values of all random output parameters that + must be met to activate Autostop. Default is 0.01 (1%). ACCMEAN is + ignored for Astop = ALL. The convergence for the mean values is met + if for all random output parameters y the following equation is + true: - Parameters - ---------- - lab - Valid Labels: + accstdev + Accuracy of the standard deviations of all random output parameters + that must be met to activate Autostop. The default is 0.02 (2%). + ACCSTDEV is ignored for Astop = ALL. The convergence for the + standard deviations is met if for all random output parameters y + the following equation is true: - FINE - Value that determines how coarse the facets will be. + check + Sets how often conditions for convergence are checked for Autostop. + The PDS feature checks if the convergence criteria are met every + i-th loop, where i is given by the CHECK parameter. The default + value is 10. It not recommended to use CHECK = 1, because it could + cause Autostop to terminate the simulations prematurely. The mean + values and standard deviation might not show large differences + between all simulation loops but might still have a visible + "global" trend if viewed over several simulations. This behavior + indicates that convergence has not really been achieved. If you set + CHECK = 1, then Autostop is not able to detect such a global trend. + CHECK is ignored for Astop = ALL. - n - An integer value between one (small) and ten (large) that - determines the tolerances that will be applied to the creation of - arcs and surfaces. Ten will create many facets, which may in turn - cause ANSYS to run very slowly. One will create fewer facets, which - may in turn cause larger tolerance errors. + seed + Seed value label. Random number generators require a seed value + that is used to calculate the next random number. After each random + number generation finishes, the seed value is updated and is used + again to calculate the next random number. ANSYS initializes the + seed value with the system time when the ANSYS session started. - """ - command = "GMFACE, %s, %s" % (str(lab), str(n)) - self.RunCommand(command, **kwargs) + CONT - Continues updating using the derived seed value (default). - def Space(self, node="", **kwargs): - """ - APDL Command: SPACE + TIME - Initializes the seed value with the system time. You can use this if you want + the seed value set to a specific value for one analysis and + then you want to continue with a "random" seed in the next + analysis. It is not recommended to "randomize" the seed + value with the Seed = TIME option for multiple analyses. If + the Monte Carlo simulations requested with this command will + be appended to previously existing simulations, then the + Seed option is ignored and Seed = CONT is used. - Defines a space node for radiation using the Radiation Matrix method. + INIT - Initializes the seed value using 123457 (a typical recommendation). This option + leads to identical random numbers for all random input + variables when the exact analysis will be repeated, making + it useful for benchmarking and validation purposes (where + identical random numbers are desired). If the Monte Carlo + simulations requested with this command will be appended to + previously existing simulations, then the Seed option is + ignored and Seed = CONT is used. - Parameters - ---------- - node - Node defined to be the space node. + Value - Uses the specified (positive) value for the initialization of the seed value. + This option has the same effect as Seed = INIT, except you + can chose an arbitrary (positive) number for the + initialization. If the Monte Carlo simulations requested + with this command will be appended to previously existing + simulations, then the Seed option is ignored and Seed = + CONT is used. Notes ----- - A space node is required in an open system to account for radiation - losses. + Defines the number of simulations per repetition cycle, number of + repetition cycles, specification of the Autostop option, checking + frequency for the Autostop option, and the seed value for random number + generation. - If using SPACE with the ANSYS Multi-field solver (MFS), you must - capture this command in the command file using MFCMMAND. This step is - necessary because at the end of each field computation, this command is - unset. + For Latin-Hypercube sampling, it is advantageous to divide the total + number of requested simulations into a few repetitions. This adds more + randomness to the sampling process. If NTOT is the total number of + simulations, then as a rough rule of thumb NTOT should be NREP = + repetitions. The number obtained with this rule of thumb must be + adjusted such that NTOT = NREP*NSIM. For example if NTOT = 1000 then + NREP = = 10, so the 1000 simulations can be done in 100 simulations + with 10 repetitions. If for example NTOT = 100 then NREP = = 3.16, + which means that the 100 simulations could be broken up into either + 2*50 or 4*25 simulations. + + If Autostop is enabled then the maximum number of simulations to be + performed is given by NSIM*NREP. The Autostop option will terminate the + simulations before the NSIM*NREP simulations are done if the + convergence criteria are met. """ - command = "SPACE, %s" % (str(node)) + command = "PDLHS,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nsim), str(nrep), str(isopt), str(_astop), str(accmean), str(accstdv), str(check), str(seed)) self.RunCommand(command, **kwargs) - def Pasave(self, lab="", fname="", ext="", **kwargs): + def Nerr(self, nmerr="", nmabt="", ifkey="", num="", **kwargs): """ - APDL Command: PASAVE + APDL Command: /NERR - Saves selected paths to an external file. + Limits the number of warning and error messages displayed. Parameters ---------- - lab - Write operation: + nmerr + Maximum number of warning and error messages displayed per command. + Defaults to 5 for interactive runs with the GUI turned on, 20 for + interactive runs with the GUI turned off, 200 for batch runs. If + NMERR is negative, the absolute value of NMERR is used as the + maximum number of warning and error messages written to the error + file (file.ERR) per command, as well as the maximum number of + messages displayed per command. - S - Saves only selected paths. + nmabt + Maximum number of warning and error messages allowed per command + before run aborts (must be greater than zero). Maximum value is + 99,999,999. Defaults to 10,000. - ALL - Saves all paths (default). + -- + Unused field. - Pname - Saves the named path (from the PSEL command). + ifkey + Specifies whether or not to abort if an error occurs during a + /INPUT operation: - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + 0 or OFF - Do not abort. This option is the default. - ext - Filename extension (eight-character maximum). + 1 or ON - Abort. - -- - Unused field. + num + The number of invalid command warnings before a stop warning will + be issued: + + 0 - Disables the stop warning/error function. + + n - An integer value representing the number of warnings that will be encountered + before prompting the user to stop (default = 5). The first + error encountered will ALWAYS result in a prompt. Notes ----- - Saves the paths selected with the PSEL command to an external file - (Jobname.path by default). Previous paths on this file, if any, will - be overwritten. The path file may be read with the PARESU command. + Limits the number of warning and error messages displayed for any one + command in an interactive run. - This command is valid in POST1. + Warning and error messages continue to be written to Jobname.ERR + regardless of these limits (unless NMERR is negative). + + Issue this command with NUM = n to specify the number of "invalid + command" warnings to be encountered before the user is prompted to + stop. You can then continue or abort the run. If you choose to abort + the run, the log file can be saved so that any of the processing up to + that point can be appended to an input that rectifies the condition. A + batch run always aborts on the first error. Issue /NERR,STAT to list + current settings. + + Issue /NERR,DEFA to reset values to initial defaults. + + An IFKEY value of 1 or ON causes the ANSYS program to abort immediately + upon encountering an error during a file /INPUT operation. However, use + of this option may cause the following conditions to occur: + + The /INPUT command may abort if issued for a log file (jobname.log). + + Some macros may abort. + + A CAD connection may fail after reading only a small portion of a CAD + model. + + The command is valid in any processor. """ - command = "PASAVE, %s, %s, %s" % (str(lab), str(fname), str(ext)) + command = "/NERR,%s,%s,%s,%s" % (str(nmerr), str(nmabt), str(ifkey), str(num)) self.RunCommand(command, **kwargs) - def Menu(self, key="", **kwargs): + def Omega(self, omegx="", omegy="", omegz="", **kwargs): """ - APDL Command: /MENU + APDL Command: OMEGA - Activates the Graphical User Interface (GUI). + Specifies the rotational velocity of the structure. Parameters ---------- - key - Activation key: - - ON - Activates the menu system (device dependent). - - GRPH - Enters non-GUI graphics mode. + omegx, omegy, omegz + Rotational velocity of the structure about the global Cartesian X, + Y, and Z axes. Notes ----- - Activates the Graphical User Interface (GUI). - - Caution:: : if you include the /MENU,ON command in your start162.ans, - it should be the last command in the file. Any commands after /MENU,ON - may be ignored. (It is not necessary to include the /SHOW and /MENU,ON - commands in start162.ans if you will be using the launcher to enter the - ANSYS program.) + This command specifies the rotational velocity of the structure about + each of the global Cartesian axes (right-hand rule). Rotational + velocities may be defined in these analysis types: - This command is valid in any processor. + Static (ANTYPE,STATIC) - """ - command = "/MENU, %s" % (str(key)) - self.RunCommand(command, **kwargs) + Harmonic (ANTYPE,HARMIC) -- Full or mode-superposition - def Starvplot(self, parx="", pary="", y2="", y3="", y4="", y5="", y6="", - y7="", y8="", **kwargs): - """ - APDL Command: *VPLOT + Transient (ANTYPE,TRANS) -- Full or mode-superposition - Graphs columns (vectors) of array parameters. + Substructuring (ANTYPE,SUBSTR) - Parameters - ---------- - parx - Name of the array parameter whose column vector values will be the - abscissa of the graph. If blank, row subscript numbers are used - instead. ParX is not sorted by the program. + Modal (ANTYPE,MODAL) - pary - Name of the array parameter whose column vector values will be - graphed against the ParX values. + The OMEGA command supports tabular boundary conditions (%TABNAME_X%, + %TABNAME_Y%, and %TABNAME_Z%) for OMEGA_X, OMEGA_Y, and OMEGA_Z input + values (*DIM) for full transient and harmonic analyses. - y2, y3, y4, . . . , y8 - Additional column subscript of the ParY array parameter whose - values are to be graphed against the ParX values. + Rotational velocities are combined with the element mass matrices to + form a body force load vector term. Units are radians/time. Related + commands are ACEL, CGLOC, CGOMGA, DCGOMG, and DOMEGA. - Notes - ----- - The column to be graphed and the starting row for each array parameter - must be specified as subscripts. Additional columns of the ParY array - parameter may be graphed by specifying column numbers for Y2, Y3, - ...,Y8. For example, *VPLOT,TIME (4,6), DISP (8,1),2,3 specifies that - the 1st, 2nd, and 3rd columns of array parameter DISP (all starting at - row 8) are to be graphed against the 6th column of array parameter TIME - (starting at row 4). The columns are graphed from the starting row to - their maximum extent. See the *VLEN and *VMASK commands to limit or - skip data to be graphed. The array parameters specified on the *VPLOT - command must be of the same type (type ARRAY or TABLE; [*DIM]. Arrays - of type TABLE are graphed as continuous curves. Arrays of type ARRAY - is displayed in bar chart fashion. + See Analysis Tools in the Mechanical APDL Theory Reference for more + information. - The normal curve labeling scheme for *VPLOT is to label curve 1 “COL - 1”, curve 2 “COL 2” and so on. You can use the /GCOLUMN command to - apply user-specified labels (8 characters maximum) to your curves. See - Modifying Curve Labels in the ANSYS Parametric Design Language Guide - for more information on using /GCOLUMN. + If you have applied the Coriolis effect (CORIOLIS) using a stationary + reference frame, the OMEGA command takes the gyroscopic damping matrix + into account for the elements listed in the “Stationary Reference + Frame” heading in the notes section of the CORIOLIS command. The + element axis must pass through the global Cartesian origin. ANSYS + verifies that the rotation vector axis is parallel to the axis of the + element; if not, the gyroscopic effect is not applied. After issuing + the OMEGA command when the Coriolis or gyroscopic effect is present, a + subsequently issued CMOMEGA command has no effect. - When a graph plot reaches minimum or maximum y-axis limits, the program - indicates the condition by clipping the graph. The clip appears as a - horizontal magenta line. Mechanical APDL calculates y-axis limits - automatically; however, you can modify the (YMIN and YMAX) limits via - the /YRANGE command. + In a mode-superposition harmonic or transient analysis, you must apply + the load in the modal portion of the analysis. Mechanical APDL + calculates a load vector and writes it to the MODE file, which you can + apply via the LVSCALE command. - This command is valid in any processor. + This command is also valid in PREP7. """ - command = "*VPLOT, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(parx), str(pary), str(y2), str(y3), str(y4), str(y5), str(y6), str(y7), str(y8)) + command = "OMEGA,%s,%s,%s" % (str(omegx), str(omegy), str(omegz)) self.RunCommand(command, **kwargs) - def Subset(self, lstep="", sbstep="", fact="", kimg="", time="", angle="", - nset="", **kwargs): + def Msg(self, lab="", val1="", val2="", val3="", val4="", val5="", val6="", + val7="", val8="", **kwargs): """ - APDL Command: SUBSET + APDL Command: *MSG - Reads results for the selected portions of the model. + Writes an output message via the ANSYS message subroutine. Parameters ---------- - lstep - Load step number of the data set to be read (defaults to 1): - - N - Read load step N. - - FIRST - Read the first data set (SBSTEP and TIME are ignored). + lab + Label for output and termination control: - LAST - Read the last data set (SBSTEP and TIME are ignored). + Writes the message with no heading (default). - Writes the message with a "NOTE" heading. - NEXT - Read the next data set (SBSTEP and TIME are ignored). If at the last data set, - the first data set will be read as the next. + Writes the message with a "WARNING" heading. Also writes the message to the errors file, Jobname.ERR. - Writes the message with a "ERROR" heading and causes run termination (if batch) + at earliest "clean exit" point. Also writes the + message to the errors file, Jobname.ERR. - NEAR - Read the data set nearest to TIME (SBSTEP is ignored). If TIME is blank, read - the first data set. + Writes the message with a "FATAL ERROR" heading and causes run termination immediately. Also writes the message to the errors file, Jobname.ERR. - Writes the message with a "NOTE" heading and displays it in the message dialog + box. This option is most useful in GUI mode. - LIST - Scan the results file and list a summary of each load step. (FACT, KIMG, TIME - and ANGLE are ignored.) + val1, val2, val3, . . . , val8 + Numeric or alphanumeric character values to be included in message. + Values may be the results of parameter evaluations. All numeric + values are assumed to be double precision. The FORTRAN nearest + integer (NINT) function is used to form integers for the %I + specifier. - sbstep - Substep number (within Lstep). For the buckling (ANTYPE,BUCKLE) - analysis or the modal (ANTYPE,MODAL) analysis, the substep - corresponds to the mode number. Defaults to last substep of load - step (except for ANTYPE,BUCKLE or MODAL). If Lstep = LIST, SBSTEP - = 0 or 1 lists the basic step information, whereas SBSTEP = 2 also - lists the load step title, and labels imaginary data sets if they - exist. + Notes + ----- + Allows writing an output message via the ANSYS message subroutine. + Also allows run termination control. This command is used only when + contained in a prepared file read into the ANSYS program (i.e., + *USE,/INPUT, etc.). A message format must immediately follow the *MSG + command (on a separate line, without parentheses, as described below). - fact - Scale factor applied to data read from the file. If zero (or - blank), a value of 1.0 is used. Harmonic velocities or - accelerations may be calculated from the displacement results from - a modal (ANTYPE,MODAL) or harmonic (ANTYPE,HARMIC) analyses. If - FACT = VELO, the harmonic velocities (v) are calculated from the - displacements (d) at a particular frequency (f) according to the - relationship v = 2 πfd. Similarly, if FACT = ACEL, the harmonic - accelerations (a) are calculated as a = (2 πf)2d. + The message format may be up to 80 characters long, consisting of text + strings and predefined "data descriptors" between the strings where + numeric or alphanumeric character data are to be inserted. The normal + descriptors are %I for integer data, %G for double precision data, %C + for alphanumeric character data, and %/ for a line break. The + corresponding FORTRAN data descriptors are I9, 1PG16.9 and A8, + respectively. Each descriptor must be preceded by a blank. There must + be one data descriptor for each specified value (8 maximum) in the + order of the specified values. - kimg - Used only with results from complex analyses: + Enhanced descriptions may also be used: - 0 - Store real part of complex solution + Do not begin *MSG format lines with *IF, *ELSE , *ELSEIF , or *ENDIF . + If the last nonblank character of the message format is an ampersand + (&), a second line will also be read as a continuation of the format. + Up to nine continuations (ten total lines) may be read. If normal + descriptions are used, then consecutive blanks are condensed into one + blank upon output, and a period is appended. Up to ten lines of output + of 72 characters each may be produced (using the %/ descriptor). Two + examples follow. - 1 - Store imaginary part. + Here is an example of the *MSG command and a format to print a message + with two integer values and one real value: - time - Time-point identifying the data set to be read. For harmonic - analyses, time corresponds to the frequency. For the buckling - analysis, time corresponds to the load factor. Used only in the - following cases: If Lstep is NEAR, read the data set nearest to - TIME. If both Lstep and SBSTEP are zero (or blank), read data set - at time = TIME. If TIME is between two solution time points on the - results file, a linear interpolation is done between the two data - sets. Solution items not written to the results file [OUTRES] for - either data set will result in a null item after data set - interpolation. If TIME is beyond the last time point on the file, - use the last time point. + The output line is: - angle - Circumferential location (0.0 to 360°). Defines the - circumferential location for the harmonic calculations used when - reading from the results file. The harmonic factor (based on the - circumferential angle) is applied to the harmonic elements - (PLANE25, PLANE75, PLANE78, PLANE83, and SHELL61) of the load case. - See the Mechanical APDL Theory Reference for details. Note that - factored values of applied constraints and loads will overwrite any - values existing in the database. + Here is an example illustrating multiline displays in GUI message + windows: - nset - Data set number of the data set to be read. If a positive value - for NSET is entered, Lstep, SBSTEP, KIMG, and TIME are ignored. - Available set numbers can be determined by *SET,LIST. + Note:: : The /UIS,MSGPOP command controls which messages are displayed + in the message dialog box when the GUI is active. All messages + produced by the *MSG command are subject to the /UIS specification, + with one exception, If Lab = UI, the message will be displayed in the + dialog box regardless of the /UIS specification. - Notes - ----- - Reads a data set from the results file into the database for the - selected portions of the model only. Data that has not been specified - for retrieval from the results file by the INRES command will be listed - as having a zero value. Each time that the SUBSET command is issued, - the data currently in the database will be overwritten with a new set - of data. Various operations may also be performed during the read - operation. The database must have the model geometry available (or - used the RESUME command before the SUBSET command to restore the - geometry from File.DB). + This command is valid in any processor. """ - command = "SUBSET, %s, %s, %s, %s, %s, %s, %s" % (str(lstep), str(sbstep), str(fact), str(kimg), str(time), str(angle), str(nset)) + command = "*MSG,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(lab), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8)) self.RunCommand(command, **kwargs) - def Afsurf(self, sarea="", tline="", **kwargs): + def Plnear(self, lab="", opt="", kcn="", val1="", val2="", val3="", + val4="", val5="", val6="", val7="", val8="", val9="", **kwargs): """ - APDL Command: AFSURF + APDL Command: PLNEAR - Generates surface elements overlaid on the surface of existing solid - elements and assigns the extra node as the closest fluid element node. + Plots the pressure in the near zone exterior to the equivalent source + surface. Parameters ---------- - sarea - Component name for the surface areas of the meshed solid volumes. + lab + Plot the maximum pressure or sound pressure level: - tline - Component name for the target lines meshed with fluid elements. + SPHERE - on the spherical structure - Notes - ----- - This command macro is used to generate surface effect elements overlaid - on the surface of existing solid elements and, based on proximity, to - determine and assign the extra node for each surface element. The - underlying volumes of the solid region and the fluid lines must be - meshed prior to calling this command macro. The active element type - must be SURF152 with appropriate settings for KEYOPT(4), KEYOPT(5), - KEYOPT(6), and KEYOPT(8). + PATH - along the path - The surface areas of the solid and the target lines of the fluid are - grouped into components and named using the CM command. The names must - be enclosed in single quotes (e.g., 'SAREA') when the AFSURF command is - manually typed in. + opt + PSUM - When using the GUI method, node and element components are created - through the picking dialog boxes associated with this command. + PSUM - Maximum complex pressure for acoustics. - The macro is applicable for the SURF152 and FLUID116 element types. + PHAS - Phase angle of complex pressure for acoustics. - """ - command = "AFSURF, %s, %s" % (str(sarea), str(tline)) - self.RunCommand(command, **kwargs) + SPL - Sound pressure level for acoustics. - def Asbv(self, na="", nv="", sepo="", keepa="", keepv="", **kwargs): - """ - APDL Command: ASBV + SPLA - A-weighted sound pressure level for acoustics (dBA). - Subtracts volumes from areas. + kcn + KCN is the coordinate system reference number. It may be 0 + (Cartesian) or any previously defined local coordinate system + number (>10). Defaults to 0. - Parameters - ---------- - na - Area (or areas, if picking is used) to be subtracted from. If ALL, - use all selected areas. If P, graphical picking is enabled (valid - only in the GUI) and remaining fields are ignored. A component - name may also be substituted for NA. + val1, val2, val3, . . . , val9 + For LAB = SPHERE: - nv - Volume (or volumes, if picking is used) to subtract. If ALL, use - all selected volumes. A component name may also be substituted for - NV. + VAL1 - Radius of spherical surface in spherical coordinate system. - sepo - Behavior if the intersection of the areas and the volumes is a line - or lines: + VAL2 - Starting φ angle (degree) in the spherical coordinate system. Defaults to 0. - (blank) - The resulting areas will share line(s) where they touch. + VAL3 - Ending φ angle (degree) in the spherical coordinate system. Defaults to 0. - SEPO - The resulting areas will have separate, but coincident line(s) where they - touch. + VAL4 - Number of divisions between the starting and ending φ angles for data + computations. Defaults to 0. - keepa - Specifies whether NA areas are to be deleted: + VAL5 - Starting θ angle (degrees) in the spherical coordinate system. Defaults to 0 in + 3-D and 90 in 2-D extension. - (blank) - Use the setting of KEEP on the BOPTN command. + VAL6 - Ending θ angle (degrees) in the spherical coordinate system. Defaults to 0 in + 3-D and 90 in 2-D extension. - DELETE - Delete NA areas after ASBV operation (override BOPTN command settings). + VAL7 - Number of divisions between the starting and ending θ angles for data + computations. Defaults to 0. - KEEP - Keep NA areas after ASBV operation (override BOPTN command settings). + VAL8 - Reference rms sound pressure. Defaults to 2x10-5 Pa. - keepv - Specifies whether NV volumes are to be deleted: + VAL9 - Thickness of 2-D model extension in z direction (defaults to 0). - (blank) - Use the setting of KEEP on the BOPTN command. + Notes + ----- + PLNEAR uses the equivalent source principle to calculate the pressure + in the near zone exterior to the equivalent source surface (flagged + with the Maxwell surface flag in the preprocessor) for one of the + following locations: - DELETE - Delete volumes after ASBV operation (override BOPTN command settings). + A spherical surface in the KCN coordinate system - KEEP - Keep volumes after ASBV operation (override BOPTN command settings). + A path defined by the PATH and PPATH commands - Notes - ----- - Generates new areas by subtracting the regions common to both NA areas - and NV volumes (the intersection) from the NA areas. The intersection - can be an area(s) or line(s). If the intersection is a line and SEPO - is blank, the NA area is divided at the line and the resulting areas - will be connected, sharing a common line where they touch. If SEPO is - set to SEPO, NA is divided into two unconnected areas with separate - lines where they touch. See Solid Modeling in the Modeling and Meshing - Guide for an illustration. See the BOPTN command for an explanation of - the options available to Boolean operations. Element attributes and - solid model boundary conditions assigned to the original entities will - not be transferred to the new entities generated. + To plot the pressure results for a path, use the PLPAGM or PLPATH + commands. See the HFSYM command for the model symmetry. + + To retrieve saved equivalent source data, issue the + SET,Lstep,Sbstep,,REAL command. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "ASBV, %s, %s, %s, %s, %s" % (str(na), str(nv), str(sepo), str(keepa), str(keepv)) + command = "PLNEAR,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(lab), str(opt), str(kcn), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9)) self.RunCommand(command, **kwargs) - def Swlist(self, ecomp="", **kwargs): + def Mfimport(self, fnumb="", option="", fname="", ext="", **kwargs): """ - APDL Command: SWLIST + APDL Command: MFIMPORT - Lists spot weld sets. + Imports a new field into a current ANSYS Multi-field solver analysis. Parameters ---------- - ecomp - Name of an existing spot weld set that was previously defined using - SWGEN. If Ecomp = ALL (default), all spot weld sets are listed. + fnumb + Field number specified by the MFELEM command. + + option + Selects data to read. + + DB - Reads a CDB file. The CDB file name and extension are specified by Fname and + Ext. + + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. + + ext + Filename extension (eight-character maximum). Notes ----- - This command lists spot weld node, beam, and contact pair information - for all defined spot weld sets, or for the specified set. To ensure - that all defined spotwelds are listed, issue CMSEL,ALL (to select all - components) before issuing the SWLIST command. + The field to be imported should be written to a CDB file (CDWRITE + command). This file is read into the database, offsetting all existing + element type numbers, node numbers, etc. in order to accommodate the + imported field. (See the NUMOFF command for information on offset + capabilities.) It then updates all of the previously issued MFxx + commands to the new element type numbers. A new field is created using + the specified field number, which must not currently exist. If there + are no ANSYS Multi-field solver command files written for the existing + fields in the database, one will be written for each field with the + default name (see the MFCMMAND command). A MFCMMAND will be issued for + the imported field as well. - When SWLIST is issued in POST1, the beam forces and moments are output. - For the case of a deformable spot weld, the stresses are also output in - the beam local coordinate system. + Repeat the MFIMPORT command to import additional fields. + + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "SWLIST, %s" % (str(ecomp)) + command = "MFIMPORT,%s,%s,%s,%s" % (str(fnumb), str(option), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Title(self, title="", **kwargs): + def Upgeom(self, factor="", lstep="", sbstep="", fname="", ext="", + **kwargs): """ - APDL Command: /TITLE + APDL Command: UPGEOM - Defines a main title. + Adds displacements from a previous analysis and updates the geometry of + the finite element model to the deformed configuration. Parameters ---------- - title - Input up to 72 alphanumeric characters. Parameter substitution may - be forced within the title by enclosing the parameter name or - parametric expression within percent (%) signs. + factor + Multiplier for displacements being added to coordinates. The value + 1.0 will add the full value of the displacements to the geometry of + the finite element model. Defaults to 1.0. + + lstep + Load step number of data to be imported. Defaults to the last load + step. + + sbstep + Substep number of data to be imported. Defaults to the last + substep. + + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. + + ext + Filename extension (eight-character maximum). + + -- + Unused field. Notes ----- - The title is carried through the printout and written on various files. - The title written to a file is the title defined at that time. Special - characters may be used within the title text. Subtitles may also be - defined [/STITLE]. + This command updates the geometry of the finite element model according + to the displacement results of the previous analysis and creates a + revised geometry at the deformed configuration. This command works on + all nodes (default) or on a selected set of nodes. If this command is + issued repeatedly, it creates a revised geometry of the finite element + model in a cumulative fashion, i.e., it adds displacement results on + the previously generated deformed geometry. The solid model geometry is + not updated by this command. - This command is valid in any processor. + When UPGEOM is issued, the current finite element model is overwritten + by finite element information from the results file. For this reason, + it is important that the finite element information in the results file + matches the finite element model in which the nodal coordinates are + being updated. No changes should be made to the model before the UPGEOM + command is issued. """ - command = "/TITLE, %s" % (str(title)) + command = "UPGEOM,%s,%s,%s,%s,%s" % (str(factor), str(lstep), str(sbstep), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Mstart(self, label="", key="", **kwargs): + def Nsol(self, nvar="", node="", item="", comp="", name="", sector="", + **kwargs): """ - APDL Command: /MSTART + APDL Command: NSOL - Controls the initial GUI components. + Specifies nodal data to be stored from the results file. Parameters ---------- - label - Label identifying the GUI component: + nvar + Arbitrary reference number or name assigned to this variable. + Variable numbers can be 2 to NV (NUMVAR) while the name can be an + eight byte character string. Overwrites any existing results for + this variable. - ZOOM - Pan, Zoom, Rotate dialog box, off by default. + node + Node for which data are to be stored. - WORK - Offset Working Plane dialog box, off by default. + item + Label identifying the item. Valid item labels are shown in the + table below. Some items also require a component label. - WPSET - Working Plane Settings dialog box, off by default. + comp + Component of the item (if required). Valid component labels are + shown in the table below. - ABBR - Edit Toolbar/Abbreviations dialog box, off by default. + name + Thirty-two character name identifying the item on printouts and + displays. Defaults to a label formed by concatenating the first + four characters of the Item and Comp labels. - PARM - Scalar Parameters dialog box, off by default. + sector + For a full harmonic cyclic symmetry solution, the sector number for + which the results from NODE are to be stored. - SELE - Select Entities dialog box, off by default. + Notes + ----- + Stores nodal degree of freedom and solution results in a variable. For + more information, see Data Interpreted in the Nodal Coordinate System + in the Modeling and Meshing Guide. - ANNO - Annotation dialog box, off by default. + For SECTOR>1, the result is in the nodal coordinate system of the base + sector, and it is rotated to the expanded sector’s location. Refer to + Using the /CYCEXPAND Command in the Cyclic Symmetry Analysis Guide for + more information. - HARD - Hard Copy dialog box, off by default. + Table: 211:: : NSOL - Valid Item and Component Labels - UTIL - Turns on the pre-ANSYS 6.1 (UIDL) GUI, off by default. + Table: 212:: : NSOL - Valid Item and Component Labels for ANSYS LS-DYNA + Nodal Results + + For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the + labels TBOT, TE2, TE3, . . ., TTOP instead of TEMP. + + """ + command = "NSOL,%s,%s,%s,%s,%s,%s" % (str(nvar), str(node), str(item), str(comp), str(name), str(sector)) + self.RunCommand(command, **kwargs) + + def Xrange(self, xmin="", xmax="", **kwargs): + """ + APDL Command: /XRANGE - key - Switch value: + Specifies a linear abscissa (X) scale range. - OFF or 0 - Component does not appear when GUI is initialized. + Parameters + ---------- + xmin + Minimum abscissa scale value. - ON or 1 - Component appears when GUI is initialized. + xmax + Maximum abscissa scale value. Notes ----- - Controls which components appear when the Graphical User Interface - (GUI) is initially brought up. This command is valid only before the - GUI is brought up [/MENU,ON] and is intended to be used in the - start162.ans file. It only affects how the GUI is initialized; you can - always bring up or close any component once you are in the GUI. + Specifies a linear abscissa (X) scale range for the line graph display. + Use /XRANGE,DEFAULT to return to automatic scaling. - This command is valid only at the Begin Level. + Automatic scaling will often yield inappropriate range values for + logarithmic scales (/GROPT, LOGX). + + This command is valid in any processor. """ - command = "/MSTART, %s, %s" % (str(label), str(key)) + command = "/XRANGE,%s,%s" % (str(xmin), str(xmax)) self.RunCommand(command, **kwargs) - def Starexit(self, **kwargs): + def Dllist(self, line="", **kwargs): """ - APDL Command: *EXIT + APDL Command: DLLIST - Exits a do-loop. + Lists DOF constraints on a line. + + Parameters + ---------- + line + List constraints for this line. If ALL (default), list for all + selected lines [LSEL]. If LINE = 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 LINE. Notes ----- - The command following the *ENDDO is executed next. The exit option may - also be conditional [Use the *IF]. The *EXIT command must appear on - the same file as the *DO command. + Lists the degree of freedom constraints on a line previously specified + with the DL command. This command is valid in any processor. """ - command = "*EXIT, " % () + command = "DLLIST,%s" % (str(line)) self.RunCommand(command, **kwargs) - def Circle(self, pcent="", rad="", paxis="", pzero="", arc="", nseg="", - **kwargs): + def Lcfact(self, lcno="", fact="", **kwargs): """ - APDL Command: CIRCLE + APDL Command: LCFACT - Generates circular arc lines. + Defines scale factors for load case operations. Parameters ---------- - pcent - Keypoint defining the center of the circle (in the plane of the - circle). If PCENT = P, graphical picking is enabled and all - remaining command fields are ignored (valid only in the GUI). - - rad - Radius of the circle. If RAD is blank and PCENT = P, the radius is - the distance from PCENT to PZERO. - - paxis - Keypoint defining axis of circle (along with PCENT). If PCENT = P - and PAXIS is omitted, the axis is normal to the working plane. - - pzero - Keypoint defining the plane normal to circle (along with PCENT and - PAXIS) and the zero degree location. Need not be in the plane of - the circle. This value is not required if PAXIS is defined along - the Y axis (that is, a circle in the XZ plane). - - arc - Arc length (in degrees). Positive follows right-hand rule about - PCENT-PAXIS vector. Defaults to 360°. + lcno + Load case pointer number. If ALL, apply to all selected load cases + [LCSEL]. - nseg - Number of lines around circumference (defaults to minimum required - for 90°-maximum arcs, i.e., 4 for 360°). Number of keypoints - generated is NSEG for 360° or NSEG + 1 for less than 360°. + fact + Scale factor applied to load case LCNO. Blank defaults to 1.0. Notes ----- - Generates circular arc lines (and their corresponding keypoints). - Keypoints are generated at regular angular locations (based on a - maximum spacing of 90°). Arc lines are generated connecting the - keypoints. Keypoint and line numbers are automatically assigned, - beginning with the lowest available values [NUMSTR]. Adjacent lines - use a common keypoint. Line shapes are generated as arcs, regardless - of the active coordinate system. Line shapes are invariant with - coordinate system after they are generated. + Defines scale factors to be used in the load case operations [LCASE or + LCOPER]. Scale factors are applied after an absolute value operation + [LCABS] and are applied only to defined load cases [LCDEF]. """ - command = "CIRCLE, %s, %s, %s, %s, %s, %s" % (str(pcent), str(rad), str(paxis), str(pzero), str(arc), str(nseg)) + command = "LCFACT,%s,%s" % (str(lcno), str(fact)) self.RunCommand(command, **kwargs) - def Plsect(self, item="", comp="", rho="", kbr="", **kwargs): + def Nwpave(self, n1="", n2="", n3="", n4="", n5="", n6="", n7="", n8="", + n9="", **kwargs): """ - APDL Command: PLSECT + APDL Command: NWPAVE - Displays membrane and membrane-plus-bending linearized stresses. + Moves the working plane origin to the average location of nodes. Parameters ---------- - item - Label identifying the item to be processed. Valid item labels are - shown in Table 221: PLSECT - Valid Item and Component Labels below. - Items also require a component label. + n1, n2, n3, . . . , n9 + Nodes used in calculation of the average. At least one must be + defined. If N1 = P, graphical picking is enabled and all remaining + command fields are ignored (valid only in the GUI). - comp - Component of the item. Valid component labels are shown in Table - 221: PLSECT - Valid Item and Component Labels below. + Notes + ----- + Averaging is based on the active coordinate system. - rho - In-plane (X-Y) average radius of curvature of the inside and - outside surfaces of an axisymmetric section. If zero (or blank), a - plane or 3-D structure is assumed. If nonzero, an axisymmetric - structure is assumed. Use a very large number (or -1) for an - axisymmetric straight section. + This command is valid in any processor. - kbr - Through-thickness bending stresses key for an axisymmetric analysis - (RHO ≠ 0): + """ + command = "NWPAVE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(n1), str(n2), str(n3), str(n4), str(n5), str(n6), str(n7), str(n8), str(n9)) + self.RunCommand(command, **kwargs) - 0 - Include the thickness-direction bending stresses. + def Cnvtol(self, lab="", value="", toler="", norm="", minref="", **kwargs): + """ + APDL Command: CNVTOL - 1 - Ignore the thickness-direction bending stresses. + Sets convergence values for nonlinear analyses. - 2 - Include the thickness-direction bending stress using the same formula as the Y - (axial direction ) bending stress. Also use the same formula - for the shear stress. + Parameters + ---------- + lab + Valid convergence labels. If STAT, list the status of the currently + specified criteria. - Notes - ----- - Calculates and displays the membrane and membrane-plus-bending - linearized stresses (as described for the PRSECT command) along a path - section [PATH] as a graph. The path section is defined by two points - specified with the PPATH command. For linearized stress calculations, - the path must be defined with nodes. The path must be entirely within - the selected elements (that is, there must not be any element gaps - along the path). The total stress (equivalent to the PLPATH display) is - also displayed. This command always uses 48 divisions along the path, - regardless of the number of divisions defined by PATH. + value + Typical reference value for the specified convergence label (Lab). - Portions of this command are not supported by PowerGraphics - [/GRAPHICS,POWER]. + toler + Tolerance; defaults to 0.005 (0.5%) for force and moment, 1.0E-4 + (0.01%) for DVOL, 0.05 (5%) for displacement when rotational DOFs + are not present, and 0.05 (5%) for HDSP. - Table: 221:: : PLSECT - Valid Item and Component Labels + norm + Specifies norm selection: - """ - command = "PLSECT, %s, %s, %s, %s" % (str(item), str(comp), str(rho), str(kbr)) - self.RunCommand(command, **kwargs) + 2 - L2 norm (check SRSS value). Default, except for Lab = U. - def Noerase(self, **kwargs): - """ - APDL Command: /NOERASE + 1 - L1 norm (check absolute value sum). - Prevents the screen erase between displays. + 0 - Infinite norm (check each DOF separately). Default for Lab = U. + + minref + The minimum value allowed for the program calculated reference + value. If negative, no minimum is enforced. Used only if VALUE is + blank. Defaults to 0.01 for force, moment, and volume convergence, + 1.0E-6 for heat flow, 1.0E-12 for VLTG and CHRG, 1.0E-6 for HDSP, + and 0.0 otherwise. Notes ----- - Preventing the normal screen erase between requested displays allows - you to overlay multiple views. + This command is usually not needed because the default convergence + criteria are sufficient for most nonlinear analyses. In rare cases, you + may need to use this command to diagnose convergence difficulties. - Clearing the screen with the ERASE command (Utility Menu> PlotCtrls> - Erase Options> Erase screen) active simply clears the display area. - Subsequent replots will provide the cumulative plots previously - generated by the /NOERASE command. + Values may be set for the degrees of freedom (DOF) and/or the out-of- + balance load for the corresponding forcing quantities. - For 3-D devices, you can issue /DV3D,DELS to suppress repeated screen - overlays and generate clear contour plots. + Issuing CNVTOL to set a convergence criterion for a specific + convergence label (Lab) does not affect the convergence criterion for + any other label. All other convergence criteria will remain at their + default setting or at the value set by a previous CNVTOL command. - Use the /ERASE command to reactivate automatic screen erase. + When the GUI is on, if a "Delete" operation in a Nonlinear Convergence + Criteria dialog box writes this command to a log file (Jobname.LOG or + Jobname.LGW), you will observe that Lab is blank, VALUE = -1, and TOLER + is an integer number. In this case, the GUI has assigned a value of + TOLER that corresponds to the location of a chosen convergence label in + the dialog box's list. It is not intended that you type in such a + location value for TOLER in an ANSYS session. However, a file that + contains a GUI-generated CNVTOL command of this form can be used for + batch input or with the /INPUT command. - For 3-D devices (/SHOW,3D), the model in all active windows will be the - same, even if you issue a different display command (NPLOT, EPLOT, - etc.) for each active window. Use the Multi-Plot command (GPLOT) to - display different entities, in different windows, on 3-D devices. + Convergence norms specified with CNVTOL may be graphically tracked + while the solution is in process using the ANSYS program's Graphical + Solution Tracking (GST) feature. Use the /GST command to turn GST on + or off. By default, GST is ON for interactive sessions and OFF for + batch runs. - This command is valid in any processor. + This command is also valid in PREP7. """ - command = "/NOERASE, " % () + command = "CNVTOL,%s,%s,%s,%s,%s" % (str(lab), str(value), str(toler), str(norm), str(minref)) self.RunCommand(command, **kwargs) - def Fkdele(self, kpoi="", lab="", **kwargs): + def Lsba(self, nl="", na="", sepo="", keepl="", keepa="", **kwargs): """ - APDL Command: FKDELE + APDL Command: LSBA - Deletes force loads at a keypoint. + Subtracts areas from lines. Parameters ---------- - kpoi - Keypoint at which force is to be deleted. If ALL, delete forces at - all selected keypoints [KSEL]. If KPOI = 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 KPOI. + nl + Line (or lines, if picking is used) to be subtracted from. If ALL, + use all selected lines. If NL = 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 NL. - lab - Valid force label. If ALL, use all appropriate labels. See the - FDELE command for labels. + na + Area (or areas, if picking is used) to be subtracted. If ALL, use + all selected areas. A component name may also be substituted for + NA. - Notes - ----- - Deletes force loads (and all corresponding finite element loads) at a - keypoint. See the FDELE command for details. + sepo + Behavior if the intersection of the lines and the areas is a + keypoint or keypoints: - This command is also valid in PREP7. + (blank) - The resulting lines will share keypoint(s) where they touch. - """ - command = "FKDELE, %s, %s" % (str(kpoi), str(lab)) - self.RunCommand(command, **kwargs) + SEPO - The resulting lines will have separate, but coincident keypoint(s) where they + touch. - def Rmsave(self, fname="", ext="", **kwargs): - """ - APDL Command: RMSAVE + keepl + Specifies whether NL lines are to be deleted: - Saves ROM data to file. + (blank) - Use the setting of KEEP on the BOPTN command. - Parameters - ---------- - fname - Name and directory path of the ROM database file. Default to - Jobname. + DELETE - Delete NL lines after LSBA operation (override BOPTN command settings). - ext - Extension of the ROM database file. Default to .rom. + KEEP - Keep NL lines after LSBA operation (override BOPTN command settings). - -- - Unused field. + keepa + Specifies whether NA areas are to be deleted: + + (blank) - Use the setting of KEEP on the BOPTN command. + + DELETE - Delete areas after LSBA operation (override BOPTN command settings). + + KEEP - Keep areas after LSBA operation (override BOPTN command settings). Notes ----- - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Generates new lines by subtracting the regions common to both NL lines + and NA areas (the intersection) from the NL lines. The intersection + can be a line(s) or keypoint(s). If the intersection is a keypoint and + SEPO is blank, the NL line is divided at the keypoint and the resulting + lines will be connected, sharing a common keypoint where they touch. + If SEPO is set to SEPO, NL is divided into two unconnected lines with + separate keypoints where they touch. See the Modeling and Meshing + Guide for an illustration. See the BOPTN command for an explanation of + the options available to Boolean operations. Element attributes and + solid model boundary conditions assigned to the original entities will + not be transferred to the new entities generated. """ - command = "RMSAVE, %s, %s" % (str(fname), str(ext)) + command = "LSBA,%s,%s,%s,%s,%s" % (str(nl), str(na), str(sepo), str(keepl), str(keepa)) self.RunCommand(command, **kwargs) - def Tchg(self, ename1="", ename2="", etype2="", **kwargs): + def Sfa(self, area="", lkey="", lab="", value="", value2="", **kwargs): """ - APDL Command: TCHG + APDL Command: SFA - Converts 20-node degenerate tetrahedral elements to their 10-node non- - degenerate counterparts. + Specifies surface loads on the selected areas. Parameters ---------- - ename1 - Name (or the number) of the 20-node tetrahedron element that you - want to convert. This argument is required. + area + Area to which surface load applies. If ALL, apply load to all + selected areas [ASEL]. If Area = P, graphical picking is enabled + and all remaining command fields are ignored (valid only in the + GUI). A component may be substituted for Area. - ename2 - Name (or the number) of the 10-node tetrahedron element to which - you want to convert the ENAME elements. This argument is - required. + lkey + Load key associated with surface load (defaults to 1). Load keys + (1,2,3, etc.) are listed under "Surface Loads" in the input data + table for each element type in the Element Reference. LKEY is + ignored if the area is the face of a volume region meshed with + volume elements. - etype2 - Element TYPE reference number for ENAME2. If ETYPE2 is 0 or is not - specified, the program selects the element TYPE reference number - for ENAME2. See the "Notes" section for details. This argument is - optional. + lab + Valid surface load label. Load labels are listed under "Surface + Loads" in the input table for each area type in the Element + Reference. + + value + Surface load value or table name reference for specifying tabular + boundary conditions. + + value2 + Second surface load value (if any). Notes ----- - The TCHG command allows you to specify conversion of any selected - 20-node brick that is degenerated into a tetrahedron to a 10-node - tetrahedron. - - The TCHG command is useful when used in with the MOPT,PYRA command. - Twenty-node pyramid shaped elements may be used in the same volume with - 10-node tetrahedra. + Surface loads may be transferred from areas to elements with the SFTRAN + or SBCTRAN commands. See the SFGRAD command for an alternate tapered + load capability. - Performing a conversion is likely to create circumstances in which more - than one element type is defined for a single volume. + Tabular boundary conditions (VALUE = %tabname% and/or VALUE2 = + %tabname%) are available for the following surface load labels (Lab) + only: : PRES (real and/or imaginary components), CONV (film coefficient + and/or bulk temperature) or HFLUX, and RAD (surface emissivity and + ambient temperature). Use the *DIM command to define a table. - If specified, ETYPE2 will usually be the same as the local element TYPE - number (ET,ITYPE) that was assigned to ENAME2 with the ET command. You - can specify a unique number for ETYPE2 if you prefer. Although ETYPE2 - is optional, it may be useful when two or more ITYPEs have been - assigned to the same element (for example, if two SOLID187 elements - have been established in the element attribute tables for the current - model, use the ETYPE2 argument to distinguish between them). If ETYPE2 - is nonzero and it has not already been assigned to an element via ET, - the program assigns the ETYPE2 value to ENAME2 as its element TYPE - reference number. + This command is also valid in PREP7. - If ETYPE2 is 0 or is not specified, the program determines the element - TYPE reference number for ENAME2 in one of these ways: + """ + command = "SFA,%s,%s,%s,%s,%s" % (str(area), str(lkey), str(lab), str(value), str(value2)) + self.RunCommand(command, **kwargs) - If ETYPE2 is 0 or is not specified, and ENAME2 does not appear in the - element attribute tables, the program uses the next available (unused) - location in the element attribute tables to determine the element TYPE - reference number for ENAME2. + def Plpath(self, lab1="", lab2="", lab3="", lab4="", lab5="", lab6="", + **kwargs): + """ + APDL Command: PLPATH - If ETYPE2 is 0 or is not specified, and ENAME2 appears in the element - attribute tables, the program uses ENAME2 's existing element TYPE - reference number for ETYPE2 . (If there is more than one occurrence of - ENAME2 in the element attribute tables (each with its own TYPE - reference number), the program uses the first ENAME2 reference number - for ETYPE2 .) + Displays path items on a graph. - You cannot use element conversion if boundary conditions or loads are - applied directly to any selected elements. + Parameters + ---------- + lab1, lab2, lab3, . . . , lab6 + Labels identifying the path items to be displayed. Up to six items + may be drawn per frame. Predefined path geometry items XG, YG, ZG, + and S [PDEF] may also be displayed. - For more information about converting degenerate tetrahedral elements, - see Meshing Your Solid Model in the Modeling and Meshing Guide + Notes + ----- + The path must have been defined by the PATH and PPATH commands. Path + items and their labels must have been defined with the PDEF, PVECT, + PCALC, PDOT, PCROSS, or PLNEAR commands. Path items may also be + printed with the PRPATH command. Graph scaling may be controlled with + the /XRANGE, /YRANGE, and PRANGE commands. You need to type all six + characters to issue this command. """ - command = "TCHG, %s, %s, %s" % (str(ename1), str(ename2), str(etype2)) + command = "PLPATH,%s,%s,%s,%s,%s,%s" % (str(lab1), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6)) self.RunCommand(command, **kwargs) - def Gst(self, lab="", lab2="", **kwargs): + def Space(self, node="", **kwargs): """ - APDL Command: /GST + APDL Command: SPACE - Turns Graphical Solution Tracking (GST) on or off. + Defines a space node for radiation using the Radiation Matrix method. Parameters ---------- - lab - Determines whether the Graphical Solution Tracking feature is - active. Specify ON to activate GST, or OFF to deactivate the - feature. - - lab2 - Activates generation of interface and field convergence files - (ANSYS MFX analyses only). + node + Node defined to be the space node. Notes ----- - For interactive runs using GUI [/MENU,ON] or graphics [/MENU,GRPH] - mode, ANSYS directs GST graphics to the screen. For interactive - sessions not using GUI or graphics mode, or for batch sessions, GST - graphics are saved in the ANSYS graphics file Jobname.GST when Lab2 is - unspecified. The file Jobname.GST can be viewed with the DISPLAY - program in this case. You must select All File Types to access it. For - more information on the DISPLAY program see Getting Started with the - DISPLAY Program in the Basic Analysis Guide. For MFX runs (when - Lab2=ON), the Jobname.GST file is in XML format, and it can be viewed - with the Results Tracker Utility, accessed from within the Tools menu - of the Mechanical APDL Product Launcher. - - The GST feature is available only for nonlinear structural, thermal, - electric, magnetic, fluid, or CFD simulations. For more information - about this feature and illustrations of the GST graphics for each - analysis type, see the ANSYS Analysis Guide for the appropriate - discipline. See also the CNVTOL command description. + A space node is required in an open system to account for radiation + losses. - When running an ANSYS MFX analysis, specify /GST,ON,ON to generate both - the interface (Jobname.NLH) and field convergence (Fieldname.GST) files - for monitoring the analysis. This field is not available on the GUI. + If using SPACE with the ANSYS Multi-field solver (MFS), you must + capture this command in the command file using MFCMMAND. This step is + necessary because at the end of each field computation, this command is + unset. """ - command = "/GST, %s, %s" % (str(lab), str(lab2)) + command = "SPACE,%s" % (str(node)) self.RunCommand(command, **kwargs) - def Mptgen(self, stloc="", num="", tstrt="", tinc="", **kwargs): + def Tlabel(self, xloc="", yloc="", text="", **kwargs): """ - APDL Command: MPTGEN + APDL Command: /TLABEL - Adds temperatures to the temperature table by generation. + Creates annotation text (GUI). Parameters ---------- - stloc - Starting location in table for generating temperatures. Defaults - to last location filled + 1. - - num - Number of temperatures to be generated (1-100). + xloc + Text X starting location (-1.0 < X < 1.6). - tstrt - Temperature assigned to STLOC location. + yloc + Text Y starting location (-1.0 < Y < 1.0). - tinc - Increment previous temperature by TINC and assign to next location - until all NUM locations are filled. + text + Text string (60 characters maximum). Parameter substitution may be + forced within the text by enclosing the parameter name or + parametric expression within percent (%) signs. Notes ----- - Adds temperatures to the temperature table by generation. May be used - in combination (or in place of) the MPTEMP command. + Defines annotation text to be written directly onto the display at a + specified location. This is a command generated by the Graphical User + Interface (GUI) and will appear in the log file (Jobname.LOG) if + annotation is used. This command is not intended to be typed in + directly in an ANSYS session (although it can be included in an input + file for batch input or for use with the /INPUT command). - This command is also valid in SOLUTION. + All text is shown on subsequent displays unless the annotation is + turned off or deleted. Use the /TSPEC command to set the attributes of + the text. + + This command is valid in any processor. """ - command = "MPTGEN, %s, %s, %s, %s" % (str(stloc), str(num), str(tstrt), str(tinc)) + command = "/TLABEL,%s,%s,%s" % (str(xloc), str(yloc), str(text)) self.RunCommand(command, **kwargs) - def Lreverse(self, lnum="", noeflip="", **kwargs): + def Susave(self, lab="", fname="", fext="", fdir="", **kwargs): """ - APDL Command: LREVERSE + APDL Command: SUSAVE - Reverses the normal of a line, regardless of its connectivity or mesh - status. + Saves surface definitions to a file. Parameters ---------- - lnum - Line number of the line whose normal direction is to be reversed. - If LNUM = ALL, the normals of all selected lines will be reversed. - If LNUM = P, graphical picking is enabled. A component name may - also be substituted for LNUM. + lab + Eight-character surface name. - noeflip - Indicates whether you want to change the normal direction of the - existing elements on the reversed line(s) so that they are - consistent with each line's new normal direction. + fname + File name and directory path (248 character maximum, including + directory). If you do not specify a directory path, the default is + your working directory and you can use all 248 characters for the + file name. The file name defaults to the jobname. - 0 - Make the normal direction of existing elements on the reversed line(s) - consistent with each line's new normal direction (default). + fext + File name extension (eight-character maximum). The extension + defaults to “surf”. - 1 - Do not change the normal direction of existing elements on the reversed - line(s). + fdir + Optional path specification. Notes ----- - You cannot use the LREVERSE command to change the normal direction of - any element that has a body or surface load. We recommend that you - apply all of your loads only after ensuring that the element normal - directions are acceptable. + The SUSAVE command saves surface definitions (geometry + information)--and any result items mapped onto the surfaces--to a file. - Real constants (such as nonuniform shell thickness and tapered beam - constants) may be invalidated by an element reversal. + Issuing the SUSAVE command has no effect on the database. The database + remains unchanged. - For more information, see Revising Your Model in the Modeling and - Meshing Guide. + Subsequent executions of the SUSAVE command overwrite previous data in + the file. + + To read the contents of the file created via the SUSAVE command, issue + the SURESU command. """ - command = "LREVERSE, %s, %s" % (str(lnum), str(noeflip)) + command = "SUSAVE,%s,%s,%s,%s" % (str(lab), str(fname), str(fext), str(fdir)) self.RunCommand(command, **kwargs) - def Vsweep(self, vnum="", srca="", trga="", lsmo="", **kwargs): + def Kplot(self, np1="", np2="", ninc="", lab="", **kwargs): """ - APDL Command: VSWEEP + APDL Command: KPLOT - Fills an existing unmeshed volume with elements by sweeping the mesh - from an adjacent area through the volume. + Displays the selected keypoints. Parameters ---------- - vnum - Number identifying the volume that is to be meshed by VSWEEP. If - VNUM = P, graphical picking is enabled, you will be prompted to - choose the volume or volumes based on the setting of - EXTOPT,VSWE,AUTO. This argument is required. + np1, np2, ninc + Display keypoints from NP1 to NP2 (defaults to NP1) in steps of + NINC (defaults to 1). If NP1 = ALL (default), NP2 and NINC are + ignored and all selected keypoints [KSEL] are displayed. - srca - Number identifying the source area. This is the area whose mesh - will provide the pattern for the volume elements. (If you do not - mesh the source area prior to volume sweeping, ANSYS meshes it - internally when you initiate volume sweeping.) ANSYS sweeps the - pattern of the area elements through the volume to create the mesh - of volume elements. You cannot substitute a component name for - SRCA. + lab + Determines what keypoints are plotted (one of the following): - trga - Number identifying the target area. This is the area that is - opposite the source area specified by SRCA. You cannot substitute - a component name for TRGA. + (blank) - Plots all keypoints. - lsmo - Value specifying whether ANSYS should perform line smoothing during - volume sweeping. (The value of this argument controls line - smoothing for the VSWEEP command only; it has no effect on the - setting of the MOPT command's LSMO option.) This argument is - optional. + HPT - Plots only those keypoints that are hard points. - 0 - Do not perform line smoothing. This is the default. + Notes + ----- + This command is valid in any processor. - 1 - Always perform line smoothing. This setting is not recommended for large - models due to speed considerations. + """ + command = "KPLOT,%s,%s,%s,%s" % (str(np1), str(np2), str(ninc), str(lab)) + self.RunCommand(command, **kwargs) + + def Fmagsum(self, cnam1="", cnam2="", cnam3="", cnam4="", cnam5="", + cnam6="", cnam7="", cnam8="", cnam9="", **kwargs): + """ + APDL Command: FMAGSUM + + Summarizes electromagnetic force calculations on element components. + + Parameters + ---------- + cnam1, cnam2, cnam3, . . . , cnam9 + Names of existing element components for which Maxwell or virtual + work boundary conditions were applied in the preprocessor. Must be + enclosed in single quotes (e.g., `Cnam1') when the command is + manually typed in. Notes ----- - If the source mesh consists of quadrilateral elements, ANSYS fills the - volume with hexahedral elements. If the source mesh consists of - triangles, ANSYS fills the volume with wedges. If the source mesh - consists of a combination of quadrilaterals and triangles, ANSYS fills - the volume with a combination of hexahedral and wedge elements. + FMAGSUM invokes an ANSYS macro that summarizes the Maxwell and virtual + work forces. The element components must have had appropriate Maxwell + or virtual work boundary conditions established in the preprocessor + prior to solution in order to retrieve forces (see FMAGBC, SF, BF + commands). The forces are also stored on a per-element basis for the + adjacent air layer surrounding the components in the element table + [ETABLE]. Maxwell forces are stored as items FMX_X, FMX_Y, and FMX_Z, + and virtual work forces are stored as items FVW_X, FVW_Y, and FVW_Z. + Use the PLETAB and PRETAB commands to plot and list the element table + items. - In the past, you may have used the VROTAT, VEXT, VOFFST, and/or VDRAG - commands to extrude a meshed area into a meshed volume. However, those - commands create the volume and the volume mesh simultaneously. In - contrast, the VSWEEP command is intended for use in an existing - unmeshed volume. This makes VSWEEP particularly useful when you have - imported a solid model that was created in another program, and you - want to mesh it in ANSYS. + If using elements PLANE121, SOLID122, SOLID123, PLANE233, SOLID236, + and SOLID237, use EMFT to summarize electromagnetic force and torque. - For related information, see the description of the EXTOPT command - (although EXTOPT sets volume sweeping options, it does not affect - element spacing). Also see the detailed discussion of volume sweeping - in Meshing Your Solid Model of the Modeling and Meshing Guide. + FMAGSUM can also be used to summarize time-average forces from a 2-D + harmonic analysis. """ - command = "VSWEEP, %s, %s, %s, %s" % (str(vnum), str(srca), str(trga), str(lsmo)) + command = "FMAGSUM,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(cnam1), str(cnam2), str(cnam3), str(cnam4), str(cnam5), str(cnam6), str(cnam7), str(cnam8), str(cnam9)) self.RunCommand(command, **kwargs) - def Else(self, **kwargs): + def Tble(self, **kwargs): """ - APDL Command: *ELSE + APDL Command: TBLE - Separates the final if-then-else block. + Specifies "Data table properties" as the subsequent status topic. Notes ----- - Optional final block separator within an if-then-else construct. See - the *IF for details. If a batch input stream hits an end-of-file - during a false *IF condition, the ANSYS run will not terminate - normally. You will need to terminate it externally (use either the - Linux “kill” function or the Windows task manager). The *ELSE command - must appear on the same file as the *IF command, and all five - characters must be input. + This is a status (STAT) topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - This command is valid in any processor. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "*ELSE, " % () + command = "TBLE," % () self.RunCommand(command, **kwargs) - def Nplot(self, knum="", **kwargs): + def Prtime(self, tmin="", tmax="", **kwargs): """ - APDL Command: NPLOT + APDL Command: PRTIME - Displays nodes. + Defines the time range for which data are to be listed. Parameters ---------- - knum - Node number key: - - 0 - No node numbers on display. + tmin + Minimum time (defaults to the first point stored). - 1 - Include node numbers on display. See also /PNUM command. + tmax + Maximum time (defaults to the last point stored). Notes ----- - Produces a node display. Only selected nodes [NSEL] are displayed. - Elements need not be defined. See the DSYS command for display - coordinate system. - - This command is valid in any processor. + Defines the time (or frequency) range (within the range stored) for + which data are to be listed. """ - command = "NPLOT, %s" % (str(knum)) + command = "PRTIME,%s,%s" % (str(tmin), str(tmax)) self.RunCommand(command, **kwargs) - def Lesize(self, nl1="", size="", angsiz="", ndiv="", space="", kforc="", - layer1="", layer2="", kyndiv="", **kwargs): + def Mfrc(self, freq="", maxfiles="", **kwargs): """ - APDL Command: LESIZE + APDL Command: MFRC - Specifies the divisions and spacing ratio on unmeshed lines. + Controls file writing for multiframe restarts for the ANSYS Multi-field + solver. Parameters ---------- - nl1 - Number of the line to be modified. If ALL, modify all selected - lines [LSEL]. If NL1 = 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 NL1. - - size - If NDIV is blank, SIZE is the division (element edge) length. The - number of divisions is automatically calculated from the line - length (rounded upward to next integer). If SIZE is zero (or - blank), use ANGSIZ or NDIV. + freq + Frequency at which the .Xnnn files are written. - angsiz - The division arc (in degrees) spanned by the element edge (except - for straight lines, which always result in one division). The - number of divisions is automatically calculated from the line - length (rounded upward to next integer). + 0 - Do not write any .Xnnn files for this simulation - ndiv - If positive, NDIV is the number of element divisions per line. If - -1 (and KFORC = 1), NDIV is assumed to be zero element divisions - per line. TARGE169 with a rigid specification ignores NDIV and will - always mesh with one element division. + LAST - Write the .Xnnn files for the last multifield time step (default). - space - Spacing ratio. If positive, nominal ratio of last division size to - first division size (if > 1.0, sizes increase, if < 1.0, sizes - decrease). If negative, |SPACE| is nominal ratio of center - division(s) size to end divisions size. Ratio defaults to 1.0 - (uniform spacing). For layer-meshing, a value of 1.0 normally is - used. If SPACE = FREE, ratio is determined by other considerations + N - If N is a positive number, write the .Xnnn file every Nth multifield time step. - kforc - KFORC 0-3 are used only with NL1 = ALL. Specifies which selected - lines are to be modified. + maxfiles + Maximum number of .Xnnn files to save for a multifield analysis. - 0 - Modify only selected lines having undefined (zero) divisions. + 0 - Do not overwrite existing .Xnnn files (default). The total maximum number of + .Xnnn files for one run is 999. If this number is reached + before the analysis is complete, the analysis will continue, + but will no longer write .Xnnn files. - 1 - Modify all selected lines. + N - The maximum number of .Xnnn file to keep for this multifield simulation. When + this number of .Rnnn have been written, ANSYS will overwrite + the first .Xnnn file of the subsequent multifield time step. - 2 - Modify only selected lines having fewer divisions (including zero) than - specified with this command. + Notes + ----- + This command sets up the restart parameters for a multiframe restart, + allowing you to restart an analysis from any multifield time step for + which there is a .Rnnn file. You can perform a multiframe restart only + for nonlinear static and full transient structural, thermal and + thermal- structural (see RESCONTROL for details). - 3 - Modify only selected lines having more divisions than specified with this - command. + If you have many multifield time steps, and are writing .Xnnn files + frequently, use MAXFILES to limit the number of .Xnnn files saved, + since these files can fill up your disk quickly. - 4 - Modify only nonzero settings for SIZE, ANGSIZ, NDIV, SPACE, LAYER1, and - LAYER2. If KFORC = 4, blank or 0 settings remain unchanged. + For a CFX analysis, you must also configure the MFOUTPUT and MFRSTART + settings to ensure consistent time points for postprocessing and + restart simulation. - layer1 - Layer-meshing control parameter. Distance which defines the - thickness of the inner mesh layer, LAYER1. Elements in this layer - are uniformly-sized with edge lengths equal to the specified - element size for the line (either through SIZE or line- - length/NDIV). A positive value for LAYER1 is interpreted as an - absolute length, while a negative value in interpreted as a - multiplier on the specified element size for the line. As a - general rule, the resulting thickness of the inner mesh layer - should be greater than or equal to the specified element size for - the line. If LAYER1 = OFF, layer-meshing control settings are - cleared for the selected lines. The default value is 0.0 + For MFX simulation, the RESCONTROL command will be ignored. - layer2 - Layer-meshing control parameter. Distance which defines the - thickness of the outer mesh layer, LAYER2. Elements in this layer - transition in size from those in LAYER1 to the global element size. - A positive value of LAYER2 is interpreted as an absolute length, - while a negative value is interpreted as a mesh transition factor. - A value of LAYER2 = -2 would indicate that elements should - approximately double in size as the mesh progresses normal to - LAYER1. The default value is 0.0. + Default Behavior - kyndiv - 0, No, and Off means that SmartSizing cannot override specified - divisions and spacing ratios. Mapped mesh fails if divisions do not - match. This defines the specification as "hard". + In nonlinear static and full transient analyses, the default behavior + is multiframe restart. (MFRC,LAST). By default, the .Rnnn file is + written at the last multifield time step . An .Rnnn file and + corresponding load set of .ldhi files is also written at the multifield + time step prior to the abort point of the run if an abort file was + used, or if the job terminated because of a failure to converge or some + other solution error. No information at the aborted multifield time + step is saved in either the .Rnnn file or the .ldhi file. - Notes - ----- - Defines the number of divisions and the spacing ratio on selected - lines. Lines with previously specified divisions may also be changed. + This command cannot be issued after restarting a multifield analysis. - This command is also valid for rezoning. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "LESIZE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nl1), str(size), str(angsiz), str(ndiv), str(space), str(kforc), str(layer1), str(layer2), str(kyndiv)) + command = "MFRC,%s,%s" % (str(freq), str(maxfiles)) self.RunCommand(command, **kwargs) - def L2ang(self, nl1="", nl2="", ang1="", ang2="", phit1="", phit2="", - **kwargs): + def Bsm2(self, val1="", val2="", t="", **kwargs): """ - APDL Command: L2ANG + APDL Command: BSM2 - Generates a line at an angle with two existing lines. + Specifies the bending curvature and moment relationship in plane XY for + beam sections. Parameters ---------- - nl1 - Number of the first line to be hit (touched by the end of the new - line). If negative, assume P1 (see below) is the second keypoint - of the line instead of the first. If NL1 = P, graphical picking is - enabled and all remaining command fields are ignored (valid only in - the GUI). + val1 + Curvature component (κ2). - nl2 - Number of the second line to be hit. If negative, assume P3 is the - second keypoint of the line instead of the first. + val2 + Bending moment component (M2). - ang1 - Angle of intersection (usually zero or 180) of generated line with - tangent to first line. + t + Temperature. - ang2 - Angle of intersection (usually zero or 180) of generated line with - tangent to second line. + Notes + ----- + The behavior of beam elements is governed by the generalized- + stress/generalized-strain relationship of the form: - phit1 - Number to be assigned to keypoint generated at hit location on - first line (defaults to lowest available keypoint number [NUMSTR]). + The BSM2 command, one of several nonlinear general beam section + commands, specifies the bending curvature and moment relationship for + plane XY of a beam section. The section data defined is associated with + the section most recently defined (via the SECTYPE command). - phit2 - Number to be assigned to keypoint generated at hit location on - second line (defaults to lowest available keypoint number - [NUMSTR]). + Unspecified values default to zero. - Notes - ----- - Generates a straight line (PHIT1-PHIT2) at an angle (ANG1) with an - existing line NL1 (P1-P2) and which is also at an angle (ANG2) with - another existing line NL2 (P3-P4). If the angles are zero the - generated line is tangent to the two lines. The PHIT1 and PHIT2 - locations on the lines are automatically calculated. Line P1-P2 - becomes P1-PHIT1, P3-P4 becomes P3-PHIT2, and new lines PHIT1-P2, - PHIT2-P4, and PHIT1-PHIT2 are generated. Line divisions are set to - zero (use LESIZE, etc. to modify). + Related commands are BSAX, BSM1, BSTQ, BSS1, BSS2, BSMD, and BSTE. + + For complete information, see Using Nonlinear General Beam Sections. """ - command = "L2ANG, %s, %s, %s, %s, %s, %s" % (str(nl1), str(nl2), str(ang1), str(ang2), str(phit1), str(phit2)) + command = "BSM2,%s,%s,%s" % (str(val1), str(val2), str(t)) self.RunCommand(command, **kwargs) - def Mdele(self, node="", lab1="", nend="", ninc="", lab2="", lab3="", - lab4="", lab5="", lab6="", **kwargs): + def Lreverse(self, lnum="", noeflip="", **kwargs): """ - APDL Command: MDELE + APDL Command: LREVERSE - Deletes master degrees of freedom. + Reverses the normal of a line, regardless of its connectivity or mesh + status. Parameters ---------- - node, lab1, nend, ninc - Delete master degrees of freedom in the Lab1 direction [M] from - NODE to NEND (defaults to NODE) in steps of NINC (defaults to 1). - If NODE = ALL, NEND and NINC are ignored and masters for all - selected nodes [NSEL] are deleted. If Lab1 = ALL, all label - directions will be 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. + lnum + Line number of the line whose normal direction is to be reversed. + If LNUM = ALL, the normals of all selected lines will be reversed. + If LNUM = P, graphical picking is enabled. A component name may + also be substituted for LNUM. - lab2, lab3, lab4, . . . , lab6 - Delete masters in these additional directions. + noeflip + Indicates whether you want to change the normal direction of the + existing elements on the reversed line(s) so that they are + consistent with each line's new normal direction. + + 0 - Make the normal direction of existing elements on the reversed line(s) + consistent with each line's new normal direction (default). + + 1 - Do not change the normal direction of existing elements on the reversed + line(s). Notes ----- - Deletes master degrees of freedom. If used in SOLUTION, this command - is valid only within the first load step. + You cannot use the LREVERSE command to change the normal direction of + any element that has a body or surface load. We recommend that you + apply all of your loads only after ensuring that the element normal + directions are acceptable. - This command is also valid in PREP7. + Real constants (such as nonuniform shell thickness and tapered beam + constants) may be invalidated by an element reversal. + + For more information, see Revising Your Model in the Modeling and + Meshing Guide. """ - command = "MDELE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(node), str(lab1), str(nend), str(ninc), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6)) + command = "LREVERSE,%s,%s" % (str(lnum), str(noeflip)) self.RunCommand(command, **kwargs) - def Damorph(self, area="", xline="", rmshky="", **kwargs): + def Gapf(self, nvar="", num="", name="", **kwargs): """ - APDL Command: DAMORPH + APDL Command: GAPF - Move nodes in selected areas to conform to structural displacements. + Defines the gap force data to be stored in a variable. Parameters ---------- - area - Non-structural area to which mesh movement (morph) applies. If - ALL, apply morphing to all selected areas [ASEL]. If AREA = P, - graphical picking is enabled. A component may be substituted for - AREA. - - xline - Lines to be excluded from morphing. If ALL, exclude all selected - lines [LSEL] from morphing. If XLINE = P, graphical picking is - enabled. A component may be substituted for XLINE. If XLINE is - blank (default), allow morphing of nodes attached to lines of the - selected areas (AREA) which are not shared by unselected areas. - See Notes for clarification. - - rmshky - Remesh flag option: - - 0 - Remesh the selected non-structural areas only if mesh morphing fails. + nvar + Arbitrary reference number assigned to this variable (2 to NV + [NUMVAR]). Overwrites any existing results for this variable. - 1 - Remesh the selected non-structural areas and bypass mesh morphing. + num + Number identifying gap number for which the gap force is to be + stored. Issue the GPLIST command to display gap numbers. - 2 - Perform mesh morphing only and do not remesh. + name + Thirty-two character name for identifying the item on the printout + and displays (defaults to the name GAPF). Notes ----- - The selected areas should include only non-structural regions adjacent - to structural regions. DAMORPH will morph the non-structural areas to - coincide with the deflections of the structural regions. - - Nodes in the structural regions move in accordance with computed - displacements. Displacements from a structural analysis must be in the - database prior to issuing DAMORPH. - - By default, nodes attached to lines can move along the lines, or off - the lines (if a line is interior to the selected areas). You can use - XLINE to restrain nodes on certain lines. - - By default (RMSHKEY = 0), DAMORPH will remesh the selected non- - structural areas entirely if a satisfactory morphed mesh cannot be - provided. - - If boundary conditions and loads are applied directly to nodes and - elements, the DAMORPH command requires that these be removed before - remeshing can take place. - - Exercise care with initial conditions defined by the IC command. Before - a structural analysis is performed for a sequentially coupled analysis, - the DAMORPH command requires that initial conditions be removed from - all null element type nodes in the non-structural regions. Use ICDELE - to delete the initial conditions. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Defines the gap force data to be stored in a variable. Applicable only + to the expansion pass of the mode-superposition linear transient + dynamic (ANTYPE,TRANS) analysis. The data is usually on Fname.RDSP. """ - command = "DAMORPH, %s, %s, %s" % (str(area), str(xline), str(rmshky)) + command = "GAPF,%s,%s,%s" % (str(nvar), str(num), str(name)) self.RunCommand(command, **kwargs) - def Psmat(self, fname="", ext="", matrix="", color="", **kwargs): + def Resp(self, ir="", lftab="", ldtab="", spectype="", dampratio="", + dtime="", tmin="", tmax="", inputtype="", **kwargs): """ - APDL Command: PSMAT + APDL Command: RESP - Writes an assembled global matrix to a postscript format that - graphically displays nonzero matrix values. + Generates a response spectrum. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + ir + Arbitrary reference number assigned to the response spectrum + results (2 to NV [NUMVAR]). If this number is the same as for a + previously defined variable, the previously defined variable will + be overwritten with these results. - ext - Filename extension (eight-character maximum). + lftab + Reference number of variable containing frequency table (created + with FILLDATA or DATA command). The frequency table defines the + number and frequency of oscillating systems used to determine the + response spectrum. The frequency interval need not be constant over + the entire range. Frequencies must be input in ascending order. - matrix - Specify which matrix to write to the output postscript file: + ldtab + Reference number of variable containing the input time-history. - STIFF - Write stiffness matrix to output postscript file. Valid for all types of - analyses that write a .FULL file. + spectype + Defines the type of response spectrum to be calculated: - MASS - Write mass matrix to output postscript file. Valid for buckling, substructure, - and modal analyses. If the .FULL file was generated in a - buckling analysis, then this label will write the stress - stiffening matrix to the output postscript file. + 0 or 1 - Displacement (relative to base excitation) - DAMP - Write damping matrix to output postscript file. Only valid for damped modal - analyses. + 2 - Velocity (relative to base excitation) - color - Specifies whether to display the grid in black and white or in - color: + 3 - Acceleration response spectrum (absolute) - BLACK - Each nonzero coefficient is symbolized by a black square (default). + 4 - Pseudo-velocity - COLOR - Each nonzero coefficient is symbolized by a colored square. The color depends - on the module of the coefficient; the range is from blue - for the smallest values to red for the largest values. The - color map is: + 5 - Pseudo-acceleration - Notes - ----- - This command is used to copy a matrix from the assembled global matrix - file (.FULL file) as specified on the FILE command and write it in a - postscript format to a new file named Fname.Ext (defaults to - Jobname.PS). The matrix is symbolized by a grid in which the black or - colored squares represent the nonzero coefficients of the matrix. The - .FULL file must be available for this command to work properly. + dampratio + Ratio of viscous damping to critical damping (input as a decimal + number). - If the matrix is large, it may be difficult to display the postscript - file. In this case, use Color = BLACK to reduce the postscript file - size. + dtime + Integration time step. This value should be equal to or greater + than the integration time step used in the initial transient + analysis performed to generate the input time-history (LDTAB). - The assembled global matrix file is created during solution depending - on the analysis type, equation solver, and other solution options. By - default, the assembled global matrix file is never deleted at the end - of solution. For most analysis types, the Sparse direct solver and the - ICCG solver write a .FULL file. All mode extraction methods used for - buckling and modal analyses write a properly formatted .FULL file to be - used with the PSMAT command. + tmin, tmax + Specifies a subset of the displacement-time history to be used in + the response spectrum calculation. Defaults to the full time + range. - When copying the stiffness matrix for transient and harmonic analyses, - be aware that the element mass matrix values (and possibly element - damping matrix values) are incorporated into the globally assembled - stiffness matrix. Thus, the globally assembled stiffness matrix - represents more than the stiffness of the model for these analysis - types. Please refer to the Mechanical APDL Theory Reference for more - details. + inputtype + Defines the type of the input time-history: - The PSMAT command is not able to display a lumped mass matrix from a - .FULL file generated by a harmonic analysis. + 0 - Displacement (default) - When copying a .FULL file, the rows and columns corresponding to - specified constraints (e.g., D commands) are eliminated from the system - of equations and therefore are not written to the .PS file. In - addition, rows and columns corresponding to eliminated (slave) degrees - of freedom from coupling and/or constraint equations (e.g., CE, CP - commands) are eliminated from the system of equations and are not - written to the .PS file. The DOFs that are eliminated from any coupling - and/or constraint equations are determined internally by the solution - code and may not match what you specified via the CE/CP (or similar) - commands. + 1 - Acceleration - When copying a .FULL file, only the upper triangular part of the matrix - will be written to the .PS file if the matrix is symmetric; the full - matrix is written if the matrix is unsymmetric. Only matrix - coefficients that are greater than zero will be written. + Notes + ----- + This command generates a response spectrum from a displacement or + acceleration time-history and frequency data. The response spectrum is + defined as the maximum response of single degree of freedom systems of + varying frequency (or period) to a given input support excitation. - The WRFULL command, in conjunction with the SOLVE command, can be used - to generate the assembled global matrix file and eliminate the equation - solution process and results output process. + A response spectrum analysis (ANTYPE, SPECTR with SPOPT, SPRS or MPRS) + requires a response spectrum input. This input can be determined from + the response spectrum printout or display of this command. - The following command sequence shows typical usage of this command. + If a response spectrum is to be calculated from a given displacement + (or acceleration) time-history, the displacement time-history may be + input to a single one-element reduced linear transient dynamic + (ANTYPE,TRANS) analysis, so that the calculated output (which should be + the same as the input) will be properly located on the file. - Below is an example of an export of the stiffness matrix to a - postscript format using the COLOR option. + The integration time step (argument DTIME on the RESP command) and the + damping coefficient (argument dampRatio) are constant over the + frequency range. The number of calculations done per response spectrum + curve is the product of the number of input solution points (TMAX- + TMIN)/DTIME and the number of frequency points (frequencies located in + variable LFTAB). - : + Input solution points requested (using DTIME and the frequency range) + at a time not corresponding to an actual displacement solution time on + the file are linearly interpolated with respect to the existing points. + + For the details of the response spectrum calculation, see POST26 - + Response Spectrum Generator (RESP). """ - command = "PSMAT, %s, %s, %s, %s" % (str(fname), str(ext), str(matrix), str(color)) + command = "RESP,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(ir), str(lftab), str(ldtab), str(spectype), str(dampratio), str(dtime), str(tmin), str(tmax), str(inputtype)) self.RunCommand(command, **kwargs) - def Edcontact(self, sfsi="", rwpn="", ipck="", shtk="", peno="", stcc="", - orie="", cspc="", penchk="", **kwargs): + def Cmdomega(self, cm_name="", domegax="", domegay="", domegaz="", x1="", + y1="", z1="", x2="", y2="", z2="", **kwargs): """ - APDL Command: EDCONTACT + APDL Command: CMDOMEGA - Specifies contact surface controls for an explicit dynamics analysis. + Specifies the rotational acceleration of an element component about a + user-defined rotational axis. Parameters ---------- - sfsi - Scale factor for sliding interface penalties. Defaults to 0.1. + cm_name, + The name of the element component. - rwpn - Scale factor for rigid wall penalties (defaults to 0). If RWPN = 0, - rigid bodies interacting with rigid walls are not considered. If - RWPN>0, rigid bodies interact with fixed rigid walls. A value of - 1.0 should be optimal; however, this may be problem dependent. + domegax, domegay, domegaz + If the X2, Y2, Z2 fields are not defined, DOMEGAX, DOMEGAY, and + DOMEGAZ specify the components of the rotational acceleration + vector in the global Cartesian X, Y, Z directions. - ipck - Initial contact surface penetration checking option: + x1, y1, z1 + If the X2, Y2, Z2 fields are defined, X1, Y1, and Z1 define the + coordinates of the beginning point of the rotational axis vector. + Otherwise, X1, Y1, and Z1 are the coordinates of a point through + which the rotational axis passes. - 1 - No checking. + x2, y2, z2 + The coordinates of the end point of the rotational axis vector. - 2 - Full check of initial penetration is performed (default). + Notes + ----- + Specifies the rotational acceleration components DOMEGAX, DOMEGAY, and + DOMEGAZ of an element component CM_NAME about a user-defined rotational + axis. The rotational axis can be defined either as a vector passing + through a single point, or a vector connecting two points. - shtk - Shell thickness contact option for surface-to-surface and nodes-to- - surface contact (see Notes below): + You can define the rotational acceleration and rotational axis with the + CMDOMEGA command for STATIC, HARMIC, TRANS, and SUBSTR analyses. + Rotational velocities are combined with the element mass matrices to + form a body force load vector term. Units are radians/time2. - 0 - Thickness is not considered (default). + The CMDOMEGA command supports tabular boundary conditions (%TABNAME_X%, + %TABNAME_Y%, and %TABNAME_Z%) for CMDOMEGA_X, CMDOMEGA_Y, and + CMDOMEGA_Z input values (*DIM) for full transient and harmonic + analyses. - 1 - Thickness is considered, except in rigid bodies. + Related commands are ACEL, CGLOC, CGLOC, OMEGA, CMOMEGA, DCGOMG, + DOMEGA. - 2 - Thickness is considered, including rigid bodies. + See Analysis Tools in the Mechanical APDL Theory Reference for more + information. - peno - Penalty stiffness option (options 4 and 5 are useful for metal - forming calculations): + You can use the CMDOMEGA command in conjunction with any one of the + following two groups of commands, but not with both groups + simultaneously: - 1 - Minimum of master segment and slave node (default). + Components for which you want to specify rotational loading must + consist of elements only. The elements you use cannot be part of more + than one component, and elements that share nodes cannot exist in + different element components. You cannot apply the loading to an + assembly of element components. - 2 - Use master segment stiffness. + In a modal harmonic or transient analysis, you must apply the load in + the modal portion of the analysis. Mechanical APDL calculates a load + vector and writes it to the mode shape file, which you can apply via + the LVSCALE command. - 3 - Use slave node value. + See Acceleration Effect in the Mechanical APDL Theory Reference for + more information. - 4 - Use area or mass weighted slave node value. + This command is also valid in PREP7. - 5 - Use slave node value inversely proportional to shell thickness. (This may - require special scaling and is not generally recommended.) + """ + command = "CMDOMEGA,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(cm_name), str(domegax), str(domegay), str(domegaz), str(x1), str(y1), str(z1), str(x2), str(y2), str(z2)) + self.RunCommand(command, **kwargs) - stcc - Shell thickness change option for single surface contact: + def Rpsd(self, ir="", ia="", ib="", itype="", datum="", name="", signif="", + **kwargs): + """ + APDL Command: RPSD - 1 - Shell thickness changes are not considered (default). + Calculates response power spectral density (PSD). - 2 - Shell thickness changes are included. + Parameters + ---------- + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previous + variable, the previous variable will be overwritten with this + result. - orie - Option for automatic reorientation of contact surface segments - during initialization: + ia, ib + Reference numbers of the two variables to be operated on. If only + one, leave IB blank. - 1 - Activate for automated (part ID) input only (default). + itype + Defines the type of response PSD to be calculated: - 2 - Activate for manual (nodal component) and automated (part ID) input. + 0,1 - Displacement (default). - 3 - Do not activate. + 2 - Velocity. - cspc - Contact surface penetration check multiplier, used if small - penetration checking is on (PENCHK = 1 or 2). Defaults to 4. + 3 - Acceleration. - penchk - Small penetration check, used only for contact types STS, NTS, - OSTS, TNTS, and TSTS. If the contact surface node penetrates more - than the target thickness times CSPC, the penetration is ignored - and the contacting node is set free. The target thickness is the - element thickness for shell elements, or 1/20 of the shortest - diagonal for solid elements. + datum + Defines the reference with respect to which response PSD is to be + calculated: - 0 - Penetration checking is off (default). + 1 - Absolute value. - 1 - Penetration checking is on. + 2 - Relative to base (default). - 2 - Penetration checking is on, but shortest diagonal is used. + name + Thirty-two character name identifying variable on listings and + displays. Embedded blanks are compressed for output. + + signif + Combine only those modes whose significance level exceeds the + SIGNIF threshold. The significance level is defined as the modal + covariance matrix term divided by the maximum of all the modal + covariance matrix terms. Any term whose significance level is less + than SIGNIF is considered insignificant and does not contribute to + the response. All modes are taken into account by default (SIGNIF = + 0.0). Notes ----- - The thickness offsets are always included in single surface, automatic - surface-to-surface, and automatic nodes-to-surface contact. The shell - thickness change option must be used [EDSHELL,,,1] and a nonzero value - must be specified for SHTK before the shell thickness changes can be - included in the surface-to-surface contact type. Additionally, STCC - must be set to 2 if thickness changes are to be included in the single - surface contact algorithms. + This command calculates response power spectral density (PSD) for the + variables referenced by the reference numbers IA and IB. The variable + referred by IR will contain the response PSD. You must issue the + STORE,PSD command first; File.PSD must be available for the + calculations to occur. - To reset the contact options to default values, issue the EDCONTACT - command with no fields specified. + See POST26 - Response Power Spectral Density in the Mechanical APDL + Theory Reference for more information on these equations. - This command is also valid in SOLUTION. + """ + command = "RPSD,%s,%s,%s,%s,%s,%s,%s" % (str(ir), str(ia), str(ib), str(itype), str(datum), str(name), str(signif)) + self.RunCommand(command, **kwargs) - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + def Nocolor(self, key="", **kwargs): + """ + APDL Command: NOCOLOR + + Removes color from graphics displays. + + Parameters + ---------- + key + Color key: + + 0 - Color the displays. + + 1 - Do not color the displays. + + 2 - Do not shade the displays. """ - command = "EDCONTACT, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(sfsi), str(rwpn), str(ipck), str(shtk), str(peno), str(stcc), str(orie), str(cspc), str(penchk)) + command = "NOCOLOR,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Lsdump(self, enginename="", filename="", **kwargs): + def Edfplot(self, key="", **kwargs): """ - APDL Command: *LSDUMP + APDL Command: EDFPLOT - Dumps a linear solver engine to a binary File. + Allows plotting of explicit dynamics forces and other load symbols. Parameters ---------- - enginename - Name used to identify this engine. Must have been previously - created using *LSENGINE and factorized using *LSFACTOR. + key + Load symbol plotting key. - filename - Name of the file to create. + ON or 1 - Turn display of load symbols on (default). + + OFF or 0 - Turn display of load symbols off. Notes ----- - Dumps a previously factorized linear solver system to a binary file. - Only LAPACK and BCS linear solvers can be used with this feature. The - Linear Solver can later be restored with the *LSRESTORE command. + You must issue EDFPLOT,ON to display explicit dynamics load symbols. + The explicit load symbols are erased automatically upon a subsequent + plot command. - A BCS Sparse Solver can be dumped only if uses the INCORE memory option - (see BCSOPTION). + An explicit load symbol always indicates a positive load direction + (e.g., positive X direction for FX load), even if the load value is + negative. The load symbol does not reflect the load magnitude. You can + use standard ANSYS symbol controls to control the appearance of the + load symbol. No load symbol is displayed for temperature loads. + + This command is also valid in PREP7. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "*LSDUMP, %s, %s" % (str(enginename), str(filename)) + command = "EDFPLOT,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Mfmap(self, lab1="", lab2="", filename="", opt="", **kwargs): + def Perbc2d(self, loc1="", loc2="", loctol="", r1="", r2="", tolr="", + opt="", plnopt="", **kwargs): """ - APDL Command: MFMAP + APDL Command: PERBC2D - Calculates, saves, resumes, or deletes mapping data in an ANSYS Multi- - field solver analysis. + Generates periodic constraints for 2-D planar magnetic field analyses. Parameters ---------- - lab1 - Operation label: + loc1 + Constant coordinate location of the first plane of nodes. For + PLNOPT = 1 or 2, the constant coordinate location is the global + Cartesian coordinate system [CSYS,0] location in the X or Y + direction respectively. For PLNOPT = 0, the location is the angle + in the global cylindrical coordinate system [CSYS,1]. - CALC - Calculate mapping data and keep it in memory (default). + loc2 + Constant coordinate location of the second plane of nodes. For + PLNOPT = 1 or 2, the constant coordinate location is the global + Cartesian coordinate system [CSYS,0] location in the X or Y + direction respectively. For PLNOPT = 0, the location is the angle + (in degrees) in the global cylindrical coordinate system [CSYS,1]. - SAVE - Calculate mapping data, keep it in memory, and save it to a file. (If - MFMAP,CALC or MFMAP,RESU have been issued, just save it to - a file.) + loctol + Tolerance on the constant coordinate location for node selection. + Defaults to .00001 for PLNOPT = 1 or 2 and .001 degrees for PLNOPT + = 0. - RESU - Resume the mapping from a file and keep it in memory. + r1 + Minimum coordinate location along the second plane of nodes. For + PLNOPT = 1 or 2, the coordinate location is the global Cartesian + coordinate system location in the Y or X direction respectively. + For PLNOPT = 0, the coordinate location is the radial coordinate + value in the global cylindrical coordinate system. Periodic + conditions are not applied to nodes at this location. - DELE - Free the mapping memory. + r2 + Maximum coordinate location along the second plane of nodes. For + PLNOPT = 1 or 2, the coordinate location is the global Cartesian + coordinate system location in the Y or X direction respectively. + For PLNOPT = 0, the coordinate location is the radial coordinate + value in the global cylindrical coordinate system. Periodic + conditions are not applied to nodes at this location. - lab2 - Applicable mapping label: + tolr + Tolerance dimension on node selection along the plane of nodes. + Defaults to .00001. - ALL - Surface and volumetric mapping. + opt + Periodic option: - SURF - Surface mapping only. + 0 - Odd symmetry (default). Apply constraint equations such that AZ(i) = -AZ(j). - VOLU - Volumetric mapping only. + 1 - Even symmetry. Apply node coupling such that AZ(i) = AZ(j). - filename - The file name for a mapping data file (filename.sur for surface - mapping and filename.vol for volumetric mapping). Defaults to - Jobname. Applies to the commands MFMAP,SAVE and MFMAP,RESU only. + plnopt + Symmetry plane option: - opt - File format: + 0 - Planes of constant angle in the global cylindrical coordinate system [CSYS,1]. - BINA - Binary file (default). + 1 - Planes parallel to the global Cartesian X axis [CSYS,0]. - ASCI - ASCII file. + 2 - Planes parallel to the global Cartesian Y axis [CSYS,0]. Notes ----- - This command calculates, saves, resumes, or deletes mapping data. It - defaults to calculating the mapping data. If MFMAP has not been - previously issued, the mapping data will be automatically calculated - during the solution process. On the other hand, the ANSYS Multi-field - solver will use previously created mapping data. Resumed mapping files - must have load transfer specifications that are consistent with those - of the current MFSURFACE and MFVOLUME commands and the ANSYS database. - - This command is also valid in PREP7. - - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + PERBC2D invokes an ANSYS macro which generates periodic boundary + condition constraints for 2-D planar magnetic field analysis. The + macro is restricted to node pairs sharing common coordinate values + along symmetry planes separated by a constant coordinate value. Planes + (or lines) must lie at either constant angles (PLNOPT = 0), constant X + values (PLNOPT = 1), or constant Y values (PLNOPT = 2). PERBC2D + applies constraint equations (OPT = 0, odd symmetry) or node coupling + (OPT = 1, even symmetry) to each node pair sharing a common coordinate + value along the symmetry planes. By default, periodic conditions are + not applied at the first and last node pairs on the symmetry planes + unless the input location values, R1 and R2, are adjusted to be less + than or greater than the actual node coordinate values. Nodes are + selected for application of the constraints using the NSEL command with + tolerances on the constant coordinate location (LOCTOL) and the + coordinate location along the plane (RTOL). Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "MFMAP, %s, %s, %s, %s" % (str(lab1), str(lab2), str(filename), str(opt)) + command = "PERBC2D,%s,%s,%s,%s,%s,%s,%s,%s" % (str(loc1), str(loc2), str(loctol), str(r1), str(r2), str(tolr), str(opt), str(plnopt)) self.RunCommand(command, **kwargs) - def Wmore(self, node1="", node2="", ninc="", itime="", inc="", **kwargs): + def Dkdele(self, kpoi="", lab="", **kwargs): """ - APDL Command: WMORE + APDL Command: DKDELE - Adds more nodes to the starting wave list. + Deletes DOF constraints at a keypoint. Parameters ---------- - node1, node2, ninc - Add another node set to the previous starting wave list. Set is - NODE1 to NODE2 (defaults to NODE1) in steps of NINC (defaults to - 1). If NODE1 is negative, delete (instead of add) this node set - from previous starting wave list. + kpoi + Keypoint for which constraint is to be deleted. If ALL, delete for + all selected keypoints [KSEL]. If KPOI = 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 KPOI. - itime, inc - Add other node sets to the same starting wave list by repeating the - previous node set with NODE1 and NODE2 incremented by INC (defaults - to 1) each time after the first. ITIME is the total number of sets - (defaults to 1) defined with this command. + lab + Valid degree of freedom label. If ALL, use all appropriate labels. + 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). Notes ----- - Adds more nodes to (or modifies) the previous starting wave list (if - any) [WSTART]. Repeat WMORE command to add more nodes to the previous - starting wave list. Up to 10,000 nodes may be defined (total, for all - starting waves). + Deletes the degree of freedom constraints (and all corresponding finite + element constraints) at a keypoint. See the DDELE command for details. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is also valid in PREP7. """ - command = "WMORE, %s, %s, %s, %s, %s" % (str(node1), str(node2), str(ninc), str(itime), str(inc)) + command = "DKDELE,%s,%s" % (str(kpoi), str(lab)) self.RunCommand(command, **kwargs) - def Prcplx(self, key="", **kwargs): + def Asum(self, lab="", **kwargs): """ - APDL Command: PRCPLX + APDL Command: ASUM - Defines the output form for complex variables. + Calculates and prints geometry statistics of the selected areas. Parameters ---------- - key - Output form key: - - 0 - Real and imaginary parts. - - 1 - Amplitude and phase angle. Stored real and imaginary data are converted to - amplitude and phase angle upon output. Data remain stored as - real and imaginary parts. + lab + Controls the degree of tessellation used in the calculation of area + properties. If LAB = DEFAULT, area calculations will use the + degree of tessellation set through the /FACET command. If LAB = + FINE, area calculations are based on a finer tessellation. Notes ----- - Defines the output form for complex variables. Used only with harmonic - analyses (ANTYPE,HARMIC). + Calculates and prints geometry statistics (area, centroid location, + moments of inertia, volume, etc.) associated with the selected areas. + ASUM should only be used on perfectly flat areas. - All results data are stored in the form of real and imaginary - components and converted to amplitude and/or phase angle as specified - via the PRCPLX command. The conversion is not valid for derived - results (such as principal stress/strain, equivalent stress/strain and - USUM). + Geometry items are reported in the global Cartesian coordinate system. + A unit thickness is assumed unless the areas have a non-zero total + thickness defined by real constant or section data. - """ - command = "PRCPLX, %s" % (str(key)) - self.RunCommand(command, **kwargs) + For layered areas, a unit density is always assumed. For single-layer + areas, a unit density is assumed unless the areas have a valid material + (density). - def Btol(self, ptol="", **kwargs): - """ - APDL Command: BTOL + The thickness and density are associated to the areas via the AATT + command. - Specifies the Boolean operation tolerances. + Items calculated via ASUM and later retrieved via a *GET or *VGET + command are valid only if the model is not modified after issuing the + ASUM command. - Parameters - ---------- - ptol - Point coincidence tolerance. Points within this distance to each - other will be assumed to be coincident during Boolean operations. - Loosening the tolerance will increase the run time and storage - requirements, but will allow more Boolean intersections to succeed. - Defaults to 0.10E-4. + Setting a finer degree of tessellation will provide area calculations + with greater accuracy, especially for thin, hollow models. However, + using a finer degree of tessellation requires longer processing. - Notes - ----- - Use BTOL,DEFA to reset the setting to its default value. Use BTOL,STAT - to list the status of the present setting. + For very narrow (sliver) areas, such that the ratio of the minimum to + the maximum dimension is less than 0.01, the ASUM command can provide + erroneous area information. To ensure that the calculations are + accurate, subdivide such areas so that the ratio of the minimum to the + maximum is at least 0.05. """ - command = "BTOL, %s" % (str(ptol)) + command = "ASUM,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Cecmod(self, neqn="", const="", **kwargs): + def Tref(self, tref="", **kwargs): """ - APDL Command: CECMOD + APDL Command: TREF - Modifies the constant term of a constraint equation during solution. + Defines the reference temperature for the thermal strain calculations. Parameters ---------- - neqn - Reference number of constraint equation. + tref + Reference temperature for thermal expansion. - const - New value of the constant term of equation. + Notes + ----- + Defines the reference temperature for the thermal strain calculations + in structural analyses and explicit dynamic analyses. Thermal strains + are given by : α *(T-TREF), where α is the coefficient of thermal + expansion (for more on this see the Mechanical APDL Theory Reference). + Input the strain via ALPX, ALPY, ALPZ (the secant or mean coefficient + value), or CTEX, CTEY, CTEZ (the instantaneous coefficient value), or + the thermal strain value (THSX, THSY, THSZ). T is the element + temperature. If α is temperature-dependent, TREF should be in the range + of temperatures you define using the MPTEMP command. + + Reference temperatures may also be input per material by specifying a + value on the MP material property command: + + MP,REFT,MAT,C0. + + Only a constant (non-temperature-dependent) value is valid. The value + input on the TREF command applies to all materials not having a + specified material property definition. - Notes - ----- - Other terms of the constraint equation cannot be changed during the - solution phase, but must be defined or changed within PREP7 prior to - the solution. See the CE command for details. + To convert temperature-dependent secant coefficients of thermal + expansion (SCTE) data (properties ALPX, ALPY, ALPZ) from the definition + temperature to the reference temperature defined via a TREF (or + MP,REFT) command, issue the MPAMOD command. This command is also valid in PREP7. """ - command = "CECMOD, %s, %s" % (str(neqn), str(const)) + command = "TREF,%s" % (str(tref)) self.RunCommand(command, **kwargs) - def Dtran(self, **kwargs): + def Type(self, itype="", **kwargs): """ - APDL Command: DTRAN + APDL Command: TYPE - Transfers solid model DOF constraints to the finite element model. + Sets the element type attribute pointer. + + Parameters + ---------- + itype + Assign this type number to the elements (defaults to 1). Notes ----- - Constraints are transferred only from selected solid model entities to - selected nodes. The DTRAN operation is also done if the SBCTRAN - command is issued, and is automatically done upon initiation of the - solution calculations [SOLVE]. + Activates an element type number to be assigned to subsequently defined + elements. This number refers to the element type number (ITYPE) + defined with the ET command. Type numbers may be displayed [/PNUM]. - This command is also valid in PREP7. + In some cases, ANSYS can proceed with a meshing operation even when no + logical element type has been assigned via TYPE or XATT,,,TYPE. For + more information, see the discussion on setting element attributes in + Meshing Your Solid Model in the Modeling and Meshing Guide. """ - command = "DTRAN, " % () + command = "TYPE,%s" % (str(itype)) self.RunCommand(command, **kwargs) - def Eddc(self, option="", ctype="", cont="", targ="", **kwargs): + def Nropt(self, option1="", option2="", optval="", **kwargs): """ - APDL Command: EDDC + APDL Command: NROPT - Deletes or deactivates/reactivates contact surface specifications in an - explicit dynamic analysis. + Specifies the Newton-Raphson options in a static or full transient + analysis. Parameters ---------- - option - Option to be performed for contact definition specified by Ctype, - Cont, and Targ. - - DELE - Delete the specified contact definition (default); valid only in a new - analysis. + option1 + Option key: - DACT - Deactivate the specified contact definition; valid only in a small restart. + AUTO - Let the program choose the option (default). - RACT - Reactivate the specified contact definition (which was previously deactivated); - valid only in a small restart. + FULL - Use full Newton-Raphson. - ctype - Contact behavior label (see EDCGEN command for valid labels). + MODI - Use modified Newton-Raphson. - cont - Component name or part number [EDPART] identifying the contact - surface. + INIT - Use the previously computed matrix (initial-stiffness). - targ - Component name or part number [EDPART] identifying the target - surface. + UNSYM - Use full Newton-Raphson with unsymmetric matrices of elements where the + unsymmetric option exists. - Notes - ----- - This command allows you to delete or deactivate/reactivate a particular - contact specification that was defined by EDCGEN. The contact - definition is identified by Ctype, Cont, and Targ (Note that Cont and - Targ may not be required for Ctype = AG, SE, ASSC, ESS, and SS). The - delete option (Option = DELE) permanently deletes the contact from the - database. Any additional contact parameters defined with the EDCMORE - command for the contact definition identified on this command will also - be deleted or deactivated/reactivated. + option2 + Option key: - You cannot delete contact specifications in an explicit dynamic small - restart (EDSTART,2). However, you can use Option = DACT to deactivate a - contact definition that is not needed in the small restart. That - contact definition may then be reactivated in a subsequent small - restart by using Option = RACT. + CRPL - When applicable in a static creep analysis, activates modified Newton-Raphson + with a creep-ratio limit. Valid only when Option1 = AUTO. - To delete or deactivate/reactivate all contact specifications for the - entire model, use EDDC,Option,ALL. + optval + If Option2 is blank, Optval is the Adaptive Descent Key (Adptky): - The EDDC command is not supported in an explicit dynamic full restart - analysis (EDSTART,3). Thus, you cannot delete, deactivate, or - reactivate contact specifications in a full restart that were defined - in the previous analysis. + ON - Use adaptive descent (default if frictional contact exists). Explicit ON is + valid only if Option = FULL. - This command is also valid in SOLUTION. + OFF - Do not use adaptive descent (default in all other cases). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Notes + ----- + The NROPT command specifies the Newton-Raphson option used to solve the + nonlinear equations in a static or full transient analysis. - """ - command = "EDDC, %s, %s, %s, %s" % (str(option), str(ctype), str(cont), str(targ)) - self.RunCommand(command, **kwargs) + The automatic modified Newton-Raphson procedure with creep-ratio limit + control (NROPT,AUTO,CRPL,CRLIMIT) applies to static creep analysis + only. When the creep ratio is smaller than the value of the creep ratio + limit specified, the modified Newton-Raphson procedure is used. If + convergence difficulty occurs during solution, use the full Newton- + Raphson procedure. - def Wmid(self, key="", **kwargs): - """ - APDL Command: WMID + The command NROPT,UNSYM is also valid in a linear non-prestressed modal + analysis that is used to perform a brake squeal analysis. In this + special case, the command is used only to generate the unsymmetric + stiffness matrix; no Newton-Raphson iterations are performed. - Specifies reordering options for the WAVES command. + NROPT,MODI and NROPT,INIT are only applicable with the sparse solver + (EQSLV,SPARSE). Thermal analyses will always use full Newton-Raphson + irrespective of the Option1 value selected. - Parameters - ---------- - key - Determines whether midside nodes are considered when reordering. + See Newton-Raphson Option in the Structural Analysis Guide for more + information. - NO - Do not consider midside nodes when reordering (default). + This command is also valid in PREP7. - YES - Consider midside nodes when reordering. This option is useful for models where - line elements are only attached to midside nodes of solid - elements. + Switching Between the Symmetric and Unsymmetric Option - Notes - ----- - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Normally, switching from the symmetric Newton-Raphson option + (NROPT,FULL) to the unsymmetric option (NROPT,UNSYM) or from the + unsymmetric option to the symmetric option is allowed between load + steps within the same analysis type. This is applicable to linear and + nonlinear, static and full transient analyses. - """ - command = "WMID, %s" % (str(key)) - self.RunCommand(command, **kwargs) + Under the following circumstances, the solution could be slightly + different or inaccurate if you switch from symmetric to unsymmetric or + vice versa: - def Cfact(self, rfacta="", ifacta="", rfactb="", ifactb="", rfactc="", - ifactc="", **kwargs): - """ - APDL Command: CFACT + The underlying elements or materials are unsymmetric by their + mathematical definition, and you switch from unsymmetric to symmetric. - Defines complex scaling factors to be used with operations. + You change analysis types and also switch from symmetric to unsymmetric + (or vise versa) at the same time. This situation could result in + failures such as data corruption or a core dump and should therefore be + avoided. - Parameters - ---------- - rfacta - Real portion of the complex scale factor used in place of FACTA. + In some rare cases, switching between the symmetric and unsymmetric + options can cause a system core dump when reading/writing the .ESAV or + .OSAV file, and the analysis terminates. Typically, this happens when + the record length of the element nonlinear saved variables cannot be + altered between load steps by their mathematical definition. - ifacta - Imaginary portion of the complex scale factor used in place of - FACTA. + If all the elements and the material are symmetric by their + mathematical definition and you use the unsymmetric option, the + solution accuracy is the same as the symmetric option. However, the + analysis will run twice as slow as the symmetric case. - rfactb - Real portion of the complex scale factor used in place of FACTB. + If the static or full transient solution is used as the base analysis + for a linear perturbation, be aware that switching to the unsymmetric + Newton-Raphson option forces the program to use the UNSYM or DAMP + eigensolver in a downstream modal analysis, which may be more expensive + than symmetric modal analysis. - ifactb - Imaginary portion of the complex scale factor used in place of - FACTB. + """ + command = "NROPT,%s,%s,%s" % (str(option1), str(option2), str(optval)) + self.RunCommand(command, **kwargs) - rfactc - Real portion of the complex scale factor used in place of FACTC. + def Smfor(self, **kwargs): + """ + APDL Command: SMFOR - ifactc - Imaginary portion of the complex scale factor used in place of - FACTC. + Specifies "Forces on the solid model" as the subsequent status topic. Notes ----- - Defines complex scale factors to be used with the operations [ADD, - PROD, etc.]. If this command is supplied, these complex factors - override any real factors (FACTA, FACTB, FACTC) supplied on the - operation commands. Factors are typically involved in scaling a - specified variable, such as in the term FACTA x IA of the ADD command - to scale variable IA before the ADD operation. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - When the CFACT command is active, defaults are as follows: 1) if the - complex factor is not specified, but the variable upon which it acts - (such as IA) is specified, the factor defaults to 1.0+i0.0; 2) if the - variable upon which the factor operates is not specified, but the - factor is specified, the variable defaults to 1.0 so that the term in - the operation becomes the complex factor itself; 3) if neither the - factor nor the variable number is supplied, the term is omitted from - the operation. Once the operation (such as the ADD command) has been - processed, the CFACT command becomes inactive and must be specified - again if it is to be used. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "CFACT, %s, %s, %s, %s, %s, %s" % (str(rfacta), str(ifacta), str(rfactb), str(ifactb), str(rfactc), str(ifactc)) + command = "SMFOR," % () self.RunCommand(command, **kwargs) - def Smax(self, labr="", lab1="", lab2="", fact1="", fact2="", **kwargs): + def Aplot(self, na1="", na2="", ninc="", degen="", scale="", **kwargs): """ - APDL Command: SMAX + APDL Command: APLOT - Forms an element table item from the maximum of two other items. + Displays the selected areas. Parameters ---------- - labr - Label assigned to results. If same as existing label, the existing - values will be overwritten by these results. + na1, na2, ninc + Displays areas from NA1 to NA2 (defaults to NA1) in steps of NINC + (defaults to 1). If NA1 = ALL (default), NA2 and NINC are ignored + and all selected areas [ASEL] are displayed. - lab1 - First labeled result item in operation. + degen + Degeneracy marker: - lab2 - Second labeled result item in operation (may be blank). + (blank) - No degeneracy marker is used (default). - fact1 - Scale factor applied to Lab1. A (blank) or '0' entry defaults to - 1.0. + DEGE - A red star is placed on keypoints at degeneracies (see the Modeling and Meshing + Guide ). Not available if /FACET,WIRE is set. - fact2 - Scale factor applied to Lab2. A (blank) or '0' entry defaults to - 1.0. + scale + Scale factor for the size of the degeneracy-marker star. The scale + is the size in window space (-1 to 1 in both directions) (defaults + to .075). Notes ----- - Forms a labeled result item (see ETABLE command) for the selected - elements by comparing two existing labeled result items according to - the operation: - - LabR = (FACT1 x Lab1) cmx (FACT2 x Lab2) - - where "cmx" means "compare and save maximum." If absolute values are - requested [SABS,1], the absolute values of Lab1 and Lab2 are used. + This command is valid in any processor. The degree of tessellation + used to plot the selected areas is set through the /FACET command. """ - command = "SMAX, %s, %s, %s, %s, %s" % (str(labr), str(lab1), str(lab2), str(fact1), str(fact2)) + command = "APLOT,%s,%s,%s,%s,%s" % (str(na1), str(na2), str(ninc), str(degen), str(scale)) self.RunCommand(command, **kwargs) - def Campbell(self, action="", **kwargs): + def Edstart(self, restart="", memory="", fsize="", dumpfile="", **kwargs): """ - APDL Command: CAMPBELL + APDL Command: EDSTART - Prepares the result file for a subsequent Campbell diagram of a - prestressed structure. + Specifies status (new or restart) of an explicit dynamics analysis. Parameters ---------- - action - Campbell action: - - NONE - Do not prepare the result file. This option is the default behavior. - - RSTP - Prepare the result file (Jobname.RSTP) for a subsequent Campbell diagram of a - prestressed structure. + restart + Status of the analysis (new or restart). - Notes - ----- - For an analysis involving a prestressed structure, the CAMPBELL command - specifies whether or not to prepare the result file to support a - Campbell diagram analysis (PRCAMP or PLCAMP). + 0 - New analysis (default). - To prestress a structure, the program performs a static solution before - the linear perturbation modal solution. + 1 - Simple restart. - The CAMPBELL command requires that modal and static analyses be - performed alternately. It works only when the number of static analyses - is the same as the number of modal analyses. Any number of analyses can - be performed, but the same number of each (static and modal) is - expected. The modal solutions are appended in the results file - (Jobname.RSTP). + 2 - Small restart. - For an example of PLCAMP command usage, see Example Campbell Diagram - Analysis in the Advanced Analysis Guide. + 3 - Full restart. - """ - command = "CAMPBELL, %s" % (str(action)) - self.RunCommand(command, **kwargs) + memory + Memory to be used (in words). If blank, LS-DYNA assigns a value + (default). If more or less memory is needed, specify the number of + words (a word is usually 32 bits on a workstation). - def Meshing(self, **kwargs): - """ - APDL Command: MESHING + fsize + Scale factor for binary file sizes. Defaults to 7, which is + (7x262144) = 1835008 words. - Specifies "Meshing" as the subsequent status topic. + dumpfile + Name of dump file to use during a restart (for example, d3dumpnn, + where nn = 01, 02, 03,...,99 and defaults to 01). Leave this field + blank when running a new analysis (RESTART = 0) so that the default + dump file d3dump01 will be created. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + EDSTART can be issued before the SOLVE command to specify a new + analysis, a simple restart, a small restart, or a full restart as + described below. - If entered directly into the program, the STAT command should - immediately follow this command. + New analysis: For a new analysis, you do not need to issue EDSTART + unless you want to change the MEMORY or FSIZE option. If you do not + specify the dump file name, d3dump01 will be created by default. + + Simple restart: This option assumes that the database has not been + altered. Upon restarting, results will be appended to the existing + results files. Issue EDSTART,1,,,d3dumpnn to indicate which restart + file to use as a starting point. The dump file to be used must have + been created in an earlier run and must be available at the time this + command is issued. You would typically use a simple restart when you + interrupt the LS-DYNA run via Ctrl+C and terminate the run prematurely + by issuing the "sense switch control" key SW1 (see Solution Control and + Monitoring in the ANSYS LS-DYNA User's Guide). At this point you should + be able to view the partial solution using ANSYS postprocessors. After + you are done viewing the partial solution, you can reenter the solution + processor and issue EDSTART,1,,,d3dumpnn, followed by SOLVE to continue + with the analysis. The results will be appended to the results files + Jobname.RST and Jobname.HIS. You can perform multiple simple restarts + by issuing EDSTART,1,,,d3dumpnn multiple times, as needed. The + solutions in the Jobname.RST file will all be in load step number 1. + + Small restart: This option can be used when minor changes in the + database are necessary. For example, you can reset the termination + time, reset the output interval, add displacement constraints, change + initial velocities, switch parts from a deformable to rigid state, etc. + (See A Small Restart in theANSYS LS-DYNA User's Guide for a complete + description of database items that can be changed.) Issue + EDSTART,2,,,d3dumpnn followed by the commands required to change the + database, then issue SOLVE. The results will be appended to the results + files Jobname.RST and Jobname.HIS. You can perform multiple restarts by + issuing EDSTART,2,,,d3dumpnn multiple times, as needed. The additional + restart solutions will be stored in Jobname.RST as load step numbers 2, + 3, etc. + + Full restart: A full restart is appropriate when many modifications to + the database are required. For example, you can change the model + geometry, apply different loading conditions, etc. Issue + EDSTART,3,,,d3dumpnn to denote a full restart analysis. The Jobname + will automatically be changed to Jobname_nn, (nn = 01 initially, and + will be incremented each time EDSTART,3 is issued for subsequent full + restarts). After the EDSTART command, you can input any commands needed + to change the database. (Most commands which are applicable to an ANSYS + LS-DYNA new analysis are also applicable to full restart analysis. A + few commands related to contact specifications, initial velocity + definitions, and adaptive meshing are not supported.) Then issue the + EDIS command to specify which portions of the model should be + initialized in the full restart using results data from the d3dumpnn + file. Finally, issue the SOLVE command. At this point, new results + files, Jobname_nn.RST and Jobname_nn.HIS, will be created. Time and + output intervals in the new results files are continuous from the + previous results files; the time is not reset to zero. (See A Full + Restart in the ANSYS LS-DYNA User's Guide for a complete description of + a full restart analysis.) + + This command is also valid in PREP7. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "MESHING, " % () + command = "EDSTART,%s,%s,%s,%s" % (str(restart), str(memory), str(fsize), str(dumpfile)) self.RunCommand(command, **kwargs) - def Ernorm(self, key="", **kwargs): + def Detab(self, elem="", lab="", v1="", v2="", v3="", v4="", v5="", v6="", + **kwargs): """ - APDL Command: ERNORM + APDL Command: DETAB - Controls error estimation calculations. + Modifies element table results in the database. Parameters ---------- - key - Control key: + elem + Element for which results are to be modified. If ALL, modify all + selected elements [ESEL] results. If ELEM = 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 ELEM. - ON - Perform error estimation (default). This option is not valid for PowerGraphics. + lab + Label identifying results. Valid labels are as defined with the + ETABLE command. Issue ETABLE,STAT to display labels and values. - OFF - Do not perform error estimation. + v1 + Value assigned to this element table result in the database. If + zero, a zero value will be assigned. If blank, value remains + unchanged. + + v2, v3, v4, . . . , v6 + Additional values (if any) assigned to consecutive element table + columns. Notes ----- - Especially for thermal analyses, program speed increases if error - estimation is suppressed. Therefore, it might be desirable to use - error estimation only when needed. The value of the ERNORM key is not - saved on file.db. Consequently, you need to reissue the ERNORM key - after a RESUME if you wish to deactivate error estimation again. + Modifies element table [ETABLE] results in the database. For example, + DETAB,35,ABC,1000,2000,1000 assigns 1000, 2000, and 1000 to the first + three table columns starting with label ABC for element 35. Use the + PRETAB command to list the current results. After deleting a column of + data using ETABLE,Lab,ERASE, the remaining columns of data are not + shifted to compress the empty slot. Therefore, the user must allocate + null (blank) values for V1, V2...V6 for any ETABLE entries which have + been deleted by issuing ETABLE,Lab,ERASE. All data are stored in the + solution coordinate system but will be displayed in the results + coordinate system [RSYS]. """ - command = "ERNORM, %s" % (str(key)) + command = "DETAB,%s,%s,%s,%s,%s,%s,%s,%s" % (str(elem), str(lab), str(v1), str(v2), str(v3), str(v4), str(v5), str(v6)) self.RunCommand(command, **kwargs) - def Elseif(self, val1="", oper1="", val2="", conj="", val3="", oper2="", - val4="", **kwargs): + def Tbdele(self, lab="", mat1="", mat2="", inc="", **kwargs): """ - APDL Command: *ELSEIF + APDL Command: TBDELE - Separates an intermediate if-then-else block. + Deletes previously defined material data tables. Parameters ---------- - val1 - First numerical value (or parameter which evaluates to numerical - value) in the conditional comparison operation. VAL1, VAL2, VAL3, - and VAL4 can also be character strings (enclosed in quotes) or - parameters for Oper = EQ and NE only. - - oper1 - Operation label. A tolerance of 1.0E-10 is used for comparisons - between real numbers: - - Equal (for VAL1 = VAL2). - Not equal (for VAL1 ≠VAL2). - - Less than (for VAL1VAL2). - - Less than or equal (for VAL1 VAL2). - Greater than or equal (for VAL1 VAL2). - - Absolute values of VAL1 and VAL2 before < operation. - Absolute values of VAL1 and VAL2 before > operation. + lab + Data table label. (See the TB command for valid labels.) If ALL, + delete all data tables. - val2 - Second numerical value (or parameter which evaluates to numerical - value) in the conditional comparison operation. + mat1, mat2, inc + Delete tables for materials MAT1 to (MAT2 defaults to MAT1) in + steps of INC (defaults to 1). If MAT1= ALL, ignore MAT2 and INC + and delete data tables for all materials. - conj - (Optional) Connection between two logical clauses. + Notes + ----- + This command is also valid in SOLUTION. - True if both clauses (Oper1 and Oper2) are true. - True if either clause is true. + """ + command = "TBDELE,%s,%s,%s,%s" % (str(lab), str(mat1), str(mat2), str(inc)) + self.RunCommand(command, **kwargs) - val3 - (Optional) Third numerical value (or parameter which evaluates to - numerical value). + def Ptr(self, loc="", b_ase="", **kwargs): + """ + APDL Command: PTR - oper2 - (Optional) Operation label. This will have the same labels as - Oper1, except it uses Val3 and Val4. A tolerance of 1.0E-10 is used - for comparisons between real numbers. + Dumps the record of a binary file. - val4 - (Optional) Fourth numerical value (or parameter value which - evaluates to a numerical value). + Parameters + ---------- + loc, base + Dump the file record starting at pointer LOC. BASE is the base + pointer, and would be used if LOC is a relative pointer. Notes ----- - Optional intermediate block separator within an if-then-else construct. - All seven characters of the command name (*ELSEIF) must be input. This - command is similar to the *IF command except that the Base field is - not used. The *IF, *ELSEIF, *ELSE, and *ENDIF commands for each if- - then-else construct must all be read from the same file (or keyboard). - - This command is valid in any processor. + Dumps the record of the file named on the AUX2 FILEAUX2 command + according the format specified on the FORM command. """ - command = "*ELSEIF, %s, %s, %s, %s, %s, %s, %s" % (str(val1), str(oper1), str(val2), str(conj), str(val3), str(oper2), str(val4)) + command = "PTR,%s,%s" % (str(loc), str(b_ase)) self.RunCommand(command, **kwargs) - def Wfront(self, kprnt="", kcalc="", **kwargs): + def Mshape(self, key="", dimension="", **kwargs): """ - APDL Command: WFRONT + APDL Command: MSHAPE - Estimates wavefront statistics. + For elements that support multiple shapes, specifies the element shape + to be used for meshing. Parameters ---------- - kprnt - Wavefront history print key: + key + Key indicating the element shape to be used: - 0 - Print current wavefront statistics. + 0 - Mesh with quadrilateral-shaped elements when Dimension = 2-D mesh with + hexahedral-shaped elements when Dimension = 3-D. - 1 - Print current wavefront statistics but also print wavefront history (wavefront - at each element). Elements are listed in the reordered - sequence. + 1 - Mesh with triangle-shaped elements when Dimension = 2-D mesh with tetrahedral- + shaped elements when Dimension = 3-D. - kcalc - Calculation options: + dimension + Specifies the dimension of the model to be meshed: - 0 - Wavefront estimate assumes maximum model DOF set at each node and does not - include the effects of master degrees of freedom and specified - displacement constraints. + 2D - 2-D model (area mesh). - 1 - Wavefront estimate uses the actual DOF set at each node and does not include - the effects of master degrees of freedom and specified - displacement constraints. More time consuming than estimated - wavefront. KPRNT = 1 is not available with this option. + 3D - 3-D model (volume mesh). Notes ----- - Estimates wavefront statistics of the model as currently ordered. + If no value is specified for Dimension the value of KEY determines the + element shape that will be used for both 2-D and 3-D meshing. In other + words, if you specify MSHAPE,0, quadrilateral-shaped and hexahedral- + shaped elements will be used. If you specify MSHAPE,1, triangle-shaped + and tetrahedral-shaped elements will be used. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The MSHAPE, MSHKEY, and MSHMID commands replace the functionality that + was provided by the ESHAPE command in ANSYS 5.3 and earlier releases. + + This command is also valid for rezoning. """ - command = "WFRONT, %s, %s" % (str(kprnt), str(kcalc)) + command = "MSHAPE,%s,%s" % (str(key), str(dimension)) self.RunCommand(command, **kwargs) - def Sqrt(self, ir="", ia="", name="", facta="", **kwargs): + def Mfcalc(self, fnumb="", freq="", **kwargs): """ - APDL Command: SQRT + APDL Command: MFCALC - Forms the square root of a variable. + Specifies a calculation frequency for a field in an ANSYS Multi-field + solver analysis. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. - - ia - Reference number of the variable to be operated on. + fnumb + Field number set by the MFELEM command. - --, -- - Unused fields. + freq + Perform calculation every Nth ANSYS Multi-field solver time step. + Defaults to 1 for every time step. - name - Thirty-two character name identifying the variable on printouts and - displays. Embedded blanks are compressed for output. + Notes + ----- + This command only applies to a harmonic analysis of the specified + field. It is useful when a field contributes negligible field + interaction within a single ANSYS Multi-field solver time step. - --, -- - Unused fields. + This command is also valid in PREP7. - facta - Scaling factor (positive or negative) applied to variable IA - (defaults to 1.0). + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. - Notes - ----- - Forms the square root of a variable according to the operation: + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "SQRT, %s, %s, %s, %s" % (str(ir), str(ia), str(name), str(facta)) + command = "MFCALC,%s,%s" % (str(fnumb), str(freq)) self.RunCommand(command, **kwargs) - def Vsba(self, nv="", na="", sepo="", keepv="", keepa="", **kwargs): + def Areverse(self, anum="", noeflip="", **kwargs): """ - APDL Command: VSBA + APDL Command: AREVERSE - Subtracts areas from volumes. + Reverses the normal of an area, regardless of its connectivity or mesh + status. Parameters ---------- - nv - Volume (or volumes, if picking is used) to be subtracted from. If - ALL, use all selected volumes. If P, graphical picking is enabled - (valid only in the GUI) and remaining fields are ignored. A - component name may also be substituted for NV. - - na - Area (or areas, if picking is used) to subtract. If ALL, use all - selected areas. A component name may also be substituted for NA. - - sepo - Behavior of the touching boundary: + anum + Area number of the area whose normal is to be reversed. If ANUM = + ALL, the normals of all selected areas will be reversed. If ANUM = + P, graphical picking is enabled. A component name may also be + substituted for ANUM. - (blank) - The resulting volumes will share area(s) where they touch. + noeflip + Indicates whether you want to change the normal direction of the + existing elements on the reversed area(s) so that they are + consistent with each area's new normal direction. - SEPO - The resulting volumes will have separate, but coincident area(s) where they - touch. + 0 - Make the normal direction of existing elements on the reversed area(s) + consistent with each area's new normal direction (default). - keepv - Specifies whether NV volumes are to be deleted: + 1 - Do not change the normal direction of existing elements on the reversed + area(s). - (blank) - Use the setting of KEEP on the BOPTN command. + Notes + ----- + You cannot use the AREVERSE command to change the normal direction of + any element that has a body or surface load. We recommend that you + apply all of your loads only after ensuring that the element normal + directions are acceptable. Also, you cannot use this command to change + the normal direction for areas attached to volumes because IGES and ANF + data is unchanged by reversal. Reversed areas that are attached to + volumes need to be reversed again when imported. - DELETE - Delete NV volumes after VSBA operation (override BOPTN command settings). + Real constants (such as nonuniform shell thickness and tapered beam + constants) may be invalidated by an element reversal. - KEEP - Keep NV volumes after VSBA operation (override BOPTN command settings). + See Revising Your Model in the Modeling and Meshing Guide for more + information. - keepa - Specifies whether NA areas are to be deleted: + """ + command = "AREVERSE,%s,%s" % (str(anum), str(noeflip)) + self.RunCommand(command, **kwargs) - (blank) - Use the setting of KEEP on the BOPTN command. + def Dof(self, lab1="", lab2="", lab3="", lab4="", lab5="", lab6="", + lab7="", lab8="", lab9="", lab10="", **kwargs): + """ + APDL Command: DOF - DELETE - Delete NA areas after VSBA operation (override BOPTN command settings). + Adds degrees of freedom to the current DOF set. - KEEP - Keep NA areas after VSBA operation (override BOPTN command settings). + Parameters + ---------- + lab1, lab2, lab3, . . . , lab10 + Valid labels are: UX, UY, UZ (structural displacements); ROTX, + ROTY, ROTZ (structural rotations); TEMP, TBOT, TE2, TE3, . . ., + TTOP (temperatures); PRES (pressure); VOLT (voltage); MAG + (magnetic scalar potential); AX, AY, AZ (magnetic vector + potentials); CURR (current); EMF (electromotive force drop); CONC + (concentration); DELETE. Notes ----- - Generates new volumes by subtracting the regions common to both the - volumes and areas (the intersection) from the NV volumes. The - intersection will be an area(s). If SEPO is blank, the volume is - divided at the area and the resulting volumes will be connected, - sharing a common area where they touch. If SEPO is set to SEPO, the - volume is divided into two unconnected volumes with separate areas - where they touch. See the Modeling and Meshing Guide for an - illustration. See the BOPTN command for an explanation of the options - available to Boolean operations. Element attributes and solid model - boundary conditions assigned to the original entities will not be - transferred to the new entities generated. + The degree of freedom (DOF) set for the model is determined from all + element types defined. This command may be used to add to the current + set. The ALL label may be used on some commands to represent all + labels of the current degree of freedom set for the model. Issue the + DOF command with no arguments to list the current set. Use the DELETE + label to delete any previously added DOFs and return to the default DOF + set. """ - command = "VSBA, %s, %s, %s, %s, %s" % (str(nv), str(na), str(sepo), str(keepv), str(keepa)) + command = "DOF,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(lab1), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6), str(lab7), str(lab8), str(lab9), str(lab10)) self.RunCommand(command, **kwargs) - def Layer(self, num="", **kwargs): + def Fsum(self, lab="", item="", **kwargs): """ - APDL Command: LAYER + APDL Command: FSUM - Specifies the element layer for which data are to be processed. + Sums the nodal force and moment contributions of elements. Parameters ---------- - num - Layer-processing mode: + lab + Coordinate system in which to perform summation. - N - The layer number to process. The default value is 0. + (blank) - Sum all nodal forces in global Cartesian coordinate system (default). - FCMAX - Processes the layer with the largest failure criteria. + RSYS - Sum all nodal forces in the currently active RSYS coordinate system. - Notes - ----- - Specifies the element layer for which results data are to be listed, - plotted, or otherwise processed. + item + Selected set of nodes. - Applies to stress and strain data for layered elements SHELL163, - SHELL181, SHELL281, ELBOW290, SOLID185, SOLID186, SOLSH190, SHELL208, - SHELL209, REINF264, and REINF265; heat flux and heat gradient for - SHELL131 and SHELL132. + (blank) - Sum all nodal forces for all selected nodes (default), excluding contact + elements. - The SHELL command may then be used (with shell elements) to specify a - location (TOP, MID, BOT) within the layer for output. (The SHELL - command does not apply to thermal shell elements SHELL131 and - SHELL132.) Transverse shear stresses for MID are linearly averaged from - TOP and BOT, and do not reflect a parabolic distribution. Setting - KEYOPT(8) = 2 for SHELL181, SHELL281, SHELL208, SHELL209, and ELBOW290 - writes the mid-surface values directly to the results file and yields - more accurate values than linear averaging. + CONT - Sum all nodal forces for contact nodes only. - Because energy is a per-element quantity, you cannot use this command - for energy output. + BOTH - Sum all nodal forces for all selected nodes, including contact elements. - When using the LAYER command with SHELL181, SOLID185, SOLID186, - SOLSH190, SHELL208, SHELL209, SHELL281, and ELBOW290, KEYOPT(8) must be - set to 1 (or 2 for SHELL181, SHELL281, ELBOW290, SHELL208, and - SHELL209) in order to store results for all layers. + Notes + ----- + Sums and prints, in each component direction for the total selected + node set, the nodal force and moment contributions of the selected + elements attached to the node set. Selecting a subset of nodes [NSEL] + and then issuing this command will give the total force acting on that + set of nodes (default), excluding surface-to-surface, node-to-surface, + line-to-line, and line-to-surface contact elements (TARGE169, TARGE170, + CONTA171, CONTA172, CONTA173, CONTA174, CONTA175, CONTA176, and + CONTA177). - When NUM = FCMAX, you must provide the failure criterion input. If - specifying input via the FC command, all structural elements are - processed. For more information, see the documentation for the FC - command. + Setting ITEM = CONT sums the nodal forces and moment contributions of + the selected contact elements (CONTA171, CONTA172, CONTA173, CONTA174, + CONTA175, CONTA176, and CONTA177). Setting ITEM = BOTH sums the nodal + forces for all selected nodes, including contact elements. - Use this command with RSYS,LSYS to display results in the layer - coordinate system for a particular layer. + Nodal forces associated with surface loads are not included. The + effects of nodal coupling and constraint equations are ignored. Moment + summations are about the global origin unless another point is + specified with the SPOINT command. This vector sum is printed in the + global Cartesian system unless it is transformed [RSYS] and a point is + specified with the SPOINT command. By default, the sum is done in + global Cartesian, and the resulting vector is transformed to the + requested system. - For the ANSYS LS-DYNA product, this command works differently than - described above. For SHELL163, you must first use EDINT during the - solution phase to define the integration points for which you want - output data. Be aware that the output location for SHELL163 data is - always at the integration point, so "top" and "bottom" refer to the top - or bottom integration point, not necessarily the top or bottom surface. - For more information, see the ANSYS LS-DYNA User's Guide. + The LAB = RSYS option transforms each of the nodal forces into the + active coordinate system before summing and printing. The FORCE command + can be used to specify which component (static, damping, inertia, or + total) of the nodal load is to be used. This command output is included + in the NFORCE command. + + The command should not be used with axisymmetric elements because it + might calculate a moment where none exists. Consider, for example, the + axial load on a pipe modeled with an axisymmetric shell element. The + reaction force on the end of the pipe is the total force (for the full + 360 degrees) at that location. The net moment about the centerline of + the pipe would be zero, but the program would incorrectly calculate a + moment at the end of the element as the force multiplied by the radius. + + The command is not valid for elements that operate solely within the + nodal coordinate system with 1-D option activated and rotated nodes + (NROTAT). """ - command = "LAYER, %s" % (str(num)) + command = "FSUM,%s,%s" % (str(lab), str(item)) self.RunCommand(command, **kwargs) - def Fp(self, stitm="", c1="", c2="", c3="", c4="", c5="", c6="", **kwargs): + def Nsla(self, type="", nkey="", **kwargs): """ - APDL Command: FP + APDL Command: NSLA - Defines the fatigue S vs. N and Sm vs. T tables. + Selects those nodes associated with the selected areas. Parameters ---------- - stitm - Starting item number for entering properties (defaults to 1). If - 1, data input in field C1 of this command is entered as the first - item in the list; if 7, data input in field C1 of this command is - entered as the seventh item in the list; etc. If the item number - is negative, C1-C6 are ignored and the item is deleted. If -ALL, - the table is erased. Items are as follows (items 41-62 are - required only if simplified elastic-plastic code calculations are - to be performed): + type + Label identifying the type of node select: - 1,2,...20 - N1, N2, ... N20 + S - Select a new set (default). - 21,22,...40 - S1, S2, ... S20 + R - Reselect a set from the current set. - 41,42,...50 - T1, T2, ... T10 + A - Additionally select a set and extend the current set. - 51,52,...60 - Sm1, Sm2, ... Sm10 + U - Unselect a set from the current set. - 61 - M (first elastic-plastic material parameter) + nkey + Specifies whether only interior area nodes are to be selected: - 62 - N (second elastic-plastic material parameter) + 0 - Select only nodes interior to selected areas. - c1, c2, c3, . . . , c6 - Data inserted into six locations starting with STITM. If a value - is already in one of these locations, it will be redefined. A - blank retains the previous value. + 1 - Select all nodes (interior to area, interior to lines, and at keypoints) + associated with the selected areas. Notes ----- - Defines the fatigue alternating stress (S) vs. cycles (N) table and the - design stress-intensity value (Sm) vs. temperature (T) table. May also - be used to modify any previously stored property tables. Log-log - interpolation is used in the S vs. N table and linear interpolation is - used in the Sm vs. T table. Cycles and temperatures must be input in - ascending order; S and Sm values in descending order. Table values - must be supplied in pairs, i.e., every N entry must have a - corresponding S entry, etc. Not all property pairs per curve need be - used. If no S vs. N table is defined, the fatigue evaluation will not - produce usage factor results. See the Structural Analysis Guide for - details. + Valid only if the nodes were generated by an area meshing operation + [AMESH, VMESH] on a solid model that contains the selected areas. + + This command is valid in any processor. """ - command = "FP, %s, %s, %s, %s, %s, %s, %s" % (str(stitm), str(c1), str(c2), str(c3), str(c4), str(c5), str(c6)) + command = "NSLA,%s,%s" % (str(type), str(nkey)) self.RunCommand(command, **kwargs) - def Mptres(self, lab="", mat="", **kwargs): + def Secfunction(self, table="", kcn="", **kwargs): """ - APDL Command: MPTRES + APDL Command: SECFUNCTION - Restores a temperature table previously defined. + Specifies shell section thickness as a tabular function. Parameters ---------- - lab - Material property label [MP]. + table + Table name or array parameter reference for specifying thickness. - mat - Material reference number. + kcn + Local coordinate system reference number or array interpretation + pattern for this tabular function evaluation. Notes ----- - Restores into the database (from virtual space) a temperature table - previously defined [MP] for a particular property. The existing - temperature table in the database is erased before this operation. + The SECFUNCTION command is associated with the section most recently + defined via the SECTYPE command. - This command is also valid in SOLUTION. + A table (TABLE) can define tabular thickness as a function of + coordinates. Alternatively, you can use an array parameter (indexed by + node number) that expresses the function to be mapped. (For example, + func (17) should be the desired shell thickness at node 17.) To + specify a table, enclose the table or array name in percent signs (%) + (SECFUNCTION,%tablename%). Use the *DIM command to define a table. - """ - command = "MPTRES, %s, %s" % (str(lab), str(mat)) - self.RunCommand(command, **kwargs) + The table or array defines the total shell thickness at any point in + space. In multilayered sections, the total thickness and each layer + thickness are scaled accordingly. - def Nstore(self, tinc="", **kwargs): - """ - APDL Command: NSTORE + The Function Tool is a convenient way to define your thickness tables. + For more information, see Using the Function Tool in the Basic Analysis + Guide. - Defines which time points are to be stored. + If you do not specify a local coordinate system (KCN), the program + interprets TABLE in global XYZ coordinates. (For information about + local coordinate systems, see the LOCAL command documentation.) - Parameters - ---------- - tinc - Store data associated with every TINC time (or frequency) point(s), - within the previously defined range of TMIN to TMAX [TIMERANGE]. - (Defaults to 1) + When KCN = NODE, the program interprets TABLE as an array parameter + (indexed by node number) that expresses the function to be mapped. - Notes - ----- - Defines which time (or frequency) points within the range are to be - stored. + When KCN = NOD2, the program interprets TABLE as a 2-D array parameter + (where columns contain node numbers and rows contain the corresponding + thicknesses) that expresses the function to be mapped. """ - command = "NSTORE, %s" % (str(tinc)) + command = "SECFUNCTION,%s,%s" % (str(table), str(kcn)) self.RunCommand(command, **kwargs) - def Sueval(self, parm="", lab1="", oper="", **kwargs): + def Rescombine(self, numfiles="", fname="", ext="", lstep="", sbstep="", + fact="", kimg="", time="", angle="", nset="", order="", + **kwargs): """ - APDL Command: SUEVAL + APDL Command: RESCOMBINE - Perform operations on a mapped item and store result in a scalar - parameter. + Reads results from local results files into the database after a + distributed memory parallel (Distributed ANSYS) solution. Parameters ---------- - parm - APDL parameter name. + numfiles + Number of local results files that are to be read into the database + from the distributed memory parallel solution. This number should + be equal to the number of processes used in the parallel solution. - lab1 - Eight character set name for the first set used in calculation. + fname + File name (jobname) used during the distributed parallel solution. + The file name must be an alphanumeric string (up to 32 characters) + enclosed in single quotes. - oper - Operation to perform: + ext + File extension for the results files (for example, RST, RTH, RMG, + etc.). The file extension must be an alphanumeric string (up to 8 + characters) enclosed in single quotes. - SUM - Sum of lab1 result values. + lstep + Load step number of the data set to be read (defaults to 1): - INTG - Integral of lab1 over surface. + N - Read load step N. - AVG - Area-weighted average of a result item [Σ(lab1*DA) / Σ(DA)] + FIRST - Read the first data set (Sbstep and TIME are ignored). - Notes - ----- - The result of this operation is a scalar APDL parameter value. If - multiple surfaces are selected when this command is issued, then the - operation is carried out on each surface individually and the parameter - reperesents the culmulative value of the operation on all selected - surfaces. + LAST - Read the last data set (Sbstep and TIME are ignored). - """ - command = "SUEVAL, %s, %s, %s" % (str(parm), str(lab1), str(oper)) - self.RunCommand(command, **kwargs) + NEXT - Read the next data set (Sbstep and TIME are ignored). If at the last data set, + the first data set will be read as the next. - def Wsort(self, lab="", kord="", wopt="", oldmax="", oldrms="", **kwargs): - """ - APDL Command: WSORT + PREVIOUS - Read the previous data set (Sbstep and TIME are ignored). If at the first data + set, the last data set will be read as the previous. - Initiates element reordering based upon a geometric sort. + NEAR - Read the data set nearest to TIME (Sbstep is ignored). If TIME is blank, read + the first data set. - Parameters - ---------- - lab - Coordinate (in the active system) along which element centroid - locations are sorted. Valid labels are: X, Y, Z, ALL. If ALL - (default), all three directions will be used, and the order - corresponding to the lowest MAX or RMS wavefront value will be - retained. + LIST - Scan the results files and list a summary of each load step (KIMG, TIME, ANGLE, + NSET, and ORDER are ignored.) - kord - Sort order: + sbstep + Substep number within Lstep (defaults to the last substep of the + load step). For a buckling (ANTYPE,BUCKLE) or modal (ANTYPE,MODAL) + analysis, Sbstep corresponds to the mode number (defaults to the + first mode). Specify Sbstep = LAST to store the last substep for + the specified load step. - 0 - Sort according to ascending coordinate values. + fact + Scale factor applied to data read from the files. If zero (or + blank), a value of 1.0 is used. A nonzero factor excludes non- + summable items. Harmonic velocities or accelerations may be + calculated from the displacement results from a modal + (ANTYPE,MODAL) or harmonic (ANTYPE,HARMIC) analysis. If Fact = + VELO, the harmonic velocities (v) are calculated from the + displacements (d) at a particular frequency (f) according to the + relationship v = 2πfd. Similarly, if Fact = ACEL, the harmonic + accelerations (a) are calculated as a = (2πf)2d. - 1 - Sort according to descending coordinate values. + kimg + Used only with complex results (harmonic and complex modal + analyses). - -- - Unused field. + 0 or REAL - Store the real part of a complex solution (default). - wopt - Option for comparison: + 1, 2 or IMAG - Store the imaginary part of a complex solution. + + 3 or AMPL - Store the amplitude. + + 4 or PHAS - Store the phase angle. The angle value, expressed in degrees, will be between + -180° and +180°. + + time + Time-point identifying the data set to be read. For a harmonic + analysis, time corresponds to the frequency. For a buckling + analysis, time corresponds to the load factor. Used only in the + following cases: If Lstep = NEAR, read the data set nearest to + TIME. If both Lstep and Sbstep are zero (or blank), read data set + at time = TIME. If TIME is between two solution time points on the + results file, a linear interpolation is done between the two data + sets. Solution items not written to the results file (OUTRES) for + either data set will result in a null item after data set + interpolation. If TIME is beyond the last time point on the file, + the last time point will be used. + + angle + Circumferential location (0.0 to 360°). Defines the circumferential + location for the harmonic calculations used when reading from the + results file. The harmonic factor (based on the circumferential + angle) is applied to the harmonic elements (PLANE25, PLANE75, + PLANE78, PLANE83, and SHELL61) of the load case. See the Mechanical + APDL Theory Reference for details. Note that factored values of + applied constraints and loads will overwrite any values existing in + the database. + + nset + Data set number of the data set to be read. If a positive value for + NSET is entered, Lstep, Sbstep, KIMG, and TIME are ignored. + Available set numbers can be determined by RESCOMBINE,,,,LIST. + + order + Key to sort the harmonic index results. This option applies to + cyclic symmetry buckling and modal analyses only, and is valid only + when Lstep = FIRST, LAST, NEXT, PREVIOUS, NEAR or LIST. + + ORDER - Sort the harmonic index results in ascending order of eigenfrequencies or + buckling load multipliers. + + (blank) - No sorting takes place. + + Notes + ----- + RESCOMBINE is an ANSYS command macro that allows you to combine results + from a distributed memory parallel (Distributed ANSYS) solution. In a + distributed memory parallel solution, a global results file is saved by + default. However, if you issued DMPOPTION,RST,NO in the parallel + solution, no global results file is written and all local results files + will be kept. In this case, you can use the RESCOMBINE command macro in + the general postprocessor (/POST1) to read results into the database + for postprocessing. - MAX - Use maximum wavefront value for comparison (default). + In order to use the RESCOMBINE command, all local results files from + the distributed memory parallel solution must be in the current working + directory. If running on a single machine, the local results files are + saved in the working directory by default. If running on a cluster, the + local results files are kept in the working directory on each compute + node. For this latter case, you must copy the local results files to + the working directory on the primary compute node. - RMS - Use RMS wavefront value. + Similar to the SET command, the RESCOMBINE command macro defines the + data set to be read from the results files into the database. Various + operations may also be performed during the read operation (see the SET + command for more details). The database must have the model data + available (or use the RESUME command before the RESCOMBINE command to + restore the geometry from Jobname.DB). - oldmax, oldrms - MAX and RMS wavefront values of model to be used in place of the - old values. OLDRMS defaults to OLDMAX (and vice versa). If - neither is specified, each defaults to its calculated old value. + After a set of data is combined into the database using RESCOMBINE, the + RESWRITE command can be used to write this set of data into a new + results file. This new results file will essentially contain the + current set of results data for the entire (i.e., global) model. - Notes - ----- - Initiates element reordering based upon a geometric sort of the element - centroid locations. Wave lists, if any [WSTART], are ignored. - Reordering affects only the element order for the solution phase and - not the element numbers (input referring to element numbers, such as - element pressures, is unaffected by reordering). + Upon completion of the RESCOMBINE command macro, the current file for + postprocessing (see the FILE command) is set to the last local results + file specified by RESCOMBINE. For example, if reading in four local + results files, the results file for/POST1 will be specified as + Jobname3.RST when the RESCOMBINE command macro is complete. Therefore, + be aware that some downstream postprocessing actions (such as a SET + command) may be operating on only this one local results file. - Note:: : The new order is retained only if new the new maximum or RMS - wavefront values are lower than the old values, as described below. - See the WAVES command for another reordering procedure and for more - details on reordering. The resulting element ordering can be shown by - listing the wavefront history [WFRONT,1] or by displaying elements with - their element location numbers [/PNUM]. + The RESCOMBINE command macro is intended for use with /POST1. If you + want to postprocess distributed parallel solution results using the + time-history postprocessor (/POST26), it is recommended that you + combine your local results files into one global results file + (DMPOPTION,RST,YES). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The load case commands in the general postprocessor (e.g., LCDEF, + LCFILE, LCOPER, etc.) are not supported when using RESCOMBINE. These + commands set up pointers into the results file used for postprocessing; + they cannot be used with the local results files used by RESCOMBINE. + + The /CYCEXPAND command used to enable cyclic expansion cannot be used + in conjunction with the RESCOMBINE command macro. This is because + /CYCEXPAND internally re-reads the results file to do the expansion, + and it cannot read multiple local results files. """ - command = "WSORT, %s, %s, %s, %s, %s" % (str(lab), str(kord), str(wopt), str(oldmax), str(oldrms)) + command = "RESCOMBINE,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(numfiles), str(fname), str(ext), str(lstep), str(sbstep), str(fact), str(kimg), str(time), str(angle), str(nset), str(order)) self.RunCommand(command, **kwargs) - def Cmacel(self, cm_name="", cmacel_x="", cmacel_y="", cmacel_z="", - **kwargs): + def Cgrow(self, action="", par1="", par2="", **kwargs): """ - APDL Command: CMACEL + APDL Command: CGROW - Specifies the translational acceleration of an element component + Defines crack-growth information Parameters ---------- - cm_name - The name of the element component. + action + Specifies the action for defining or manipulating crack-growth + data: - cmacel_x, cmacel_y, cmacel_z - Acceleration of the element component CM_NAME in the global - Cartesian X, Y, and Z axis directions, respectively. + NEW - Initiate a new set of crack-growth simulation data (default). - Notes - ----- - The CMACEL command specifies the translational acceleration of the - element component in each of the global Cartesian (X, Y, and Z) axis - directions. + CID - Specify the crack-calculation (CINT) ID for energy-release rates to be used in + the fracture criterion calculation. - Components for which you want to specify acceleration loading must - consist of elements only. The elements you use cannot be part of more - than one component, and elements that share nodes cannot exist in - different element components. You cannot apply the loading to an - assembly of element components. + FCOPTION - Specify the fracture criterion for crack-growth/delamination. - To simulate gravity (by using inertial effects), accelerate the - structure in the direction opposite to gravity. For example, apply a - positive CMACELY to simulate gravity acting in the negative Y - direction. Units are length/time2. + CPATH - Specify the element component for crack growth. - You can define the acceleration for the following analyses types: + DTIME - Specify the initial time step for crack growth. - Static (ANTYPE,STATIC) + DTMIN - Specify the minimum time step for crack growth. - Harmonic (ANTYPE,HARMIC), full or mode-superposition method + DTMAX - Specify the maximum time step for crack growth. - Transient (ANTYPE,TRANS), full or mode-superposition method + FCRAT - Fracture criterion ratio (fc). - Substructure (ANTYPE,SUBSTR) + STOP - Stops the analysis when the specified maximum crack extension is reached. - Accelerations are combined with the element mass matrices to form a - body force load vector term. Units of acceleration and mass must be - consistent to give a product of force units. + METHOD - Define the method of crack propagation. - In a modal harmonic or transient analysis, you must apply the load in - the modal portion of the analysis. Mechanical APDL calculates a load - vector and writes it to the mode shape file, which you can apply via - the LVSCALE command. + Notes + ----- + When Action = NEW, the CGROW command initializes a crack-growth + simulation set. Subsequent CGROW commands define the parameters + necessary for the simulation. - The CMACEL command supports tabular boundary conditions (%TABNAME_X%, - %TABNAME_Y%, and %TABNAME_Z%) for CMACEL_X, CMACEL_Y, and CMACEL_Z - input values (*DIM) as a function of both time and frequency for full - transient and harmonic analyses. + For multiple cracks, issue multiple CGROW,NEW commands (and any + subsequent CGROW commands necessary to define the parameters) for each + crack. - Related commands for inertia loads are ACEL, CGLOC, CGOMGA, DCGOMG, - DOMEGA, OMEGA, CMOMEGA, and CMDOMEGA. + If the analysis is restarted (ANTYPE,,RESTART), the CGROW command must + be re-issued. - See Analysis Tools in the Mechanical APDL Theory Reference for more - information. + For VCCT crack growth: - This command is also valid in /PREP7. + Crack-growth element components must use the crack tip nodes as the + starting nodes of the crack path. - """ - command = "CMACEL, %s, %s, %s, %s" % (str(cm_name), str(cmacel_x), str(cmacel_y), str(cmacel_z)) - self.RunCommand(command, **kwargs) + Fracture criteria (Action = FCOPTION) use energy-release rates + calculated via VCCT technology (CINT,TYPE,VCCT). For information about + the fracture criteria available, see Fracture Criteria in the Fracture + Analysis Guide or the documentation for the TB,CGCR command. - def Fluxv(self, **kwargs): - """ - APDL Command: FLUXV + For XFEM-based crack growth: - Calculates the flux passing through a closed contour. + When using XFEM to grow the crack (CGROW,METHOD,XFEM), the crack + specification originates via the XFENRICH and XFDATA commands. - Notes - ----- - FLUXV invokes an ANSYS macro which calculates the flux passing through - a closed contour (path) predefined by PATH. The calculated flux is - stored in the parameter FLUX. In a 2-D analysis, at least two nodes - must be defined on the path. In 3-D, a path of nodes describing a - closed contour must be specified (i.e., the first and last node in the - path specification must be the same). A counterclockwise ordering of - nodes on the PPATH command will give the correct sign on flux. Path - operations are used for the calculations, and all path items are - cleared upon completion. This macro is only available for vector - potential formulations. + In an XFEM-based crack growth analysis, Action = CPATH,DTMIN,DTMAX and + STOP have no effect. """ - command = "FLUXV, " % () + command = "CGROW,%s,%s,%s" % (str(action), str(par1), str(par2)) self.RunCommand(command, **kwargs) - def Pdclr(self, type="", **kwargs): + def Allsel(self, labt="", entity="", **kwargs): """ - APDL Command: PDCLR + APDL Command: ALLSEL - Clears the probabilistic design database. + Selects all entities with a single command. Parameters ---------- - type - Specifies the part of the probabilistic database to be cleared. + labt + Type of selection to be made: - ALL - Clear the entire probabilistic database. Both the preprocessing and - postprocessing parts are cleared. + ALL - Selects all items of the specified entity type and all items of lower entity + types (default). - POST - Clear only the postprocessing part of the probabilistic database. This is - necessary if you want to modify the deterministic model (the - analysis file) or probabilistic model (random variables, - correlations between random variables, or the random output - parameter) after a probabilistic analysis has already been - performed. + BELOW - Selects all items directly associated with and below the selected items of the + specified entity type. - Notes - ----- - Clears the probabilistic design system (PDS) database. The settings are - reset to their default values and the memory is cleared. Remember that - the result files containing the results of the probabilistic loops are - never deleted unless you intentionally delete them. We recommend that - you use this command before switching to a new probabilistic analysis - using a different probabilistic model (a different analysis loop file - or deterministic model), or changing random input variables, their - correlations, or random output parameters. Clearing the probabilistic - database is not necessary if the probabilistic model remains the same - and will be analyzed with a different probabilistic method or different - method options. See the PDEXE command for restrictions. Before issuing - the PDCLR command, you should save the probabilistic database using the - PDSAVE command. + entity + Entity type on which selection is based: - """ - command = "PDCLR, %s" % (str(type)) - self.RunCommand(command, **kwargs) + ALL - All entity types (default). - def Katt(self, mat="", real="", type="", esys="", **kwargs): - """ - APDL Command: KATT + VOLU - Volumes. - Associates attributes with the selected, unmeshed keypoints. + AREA - Areas. - Parameters - ---------- - mat, real, type, esys - Material number, real constant set number, type number, and - coordinate system number to be associated with selected, unmeshed - keypoints. + LINE - Lines. + + KP - Keypoints. + + ELEM - Elements. + + NODE - Nodes. Notes ----- - Keypoints subsequently generated from the keypoints will also have - these attributes. These element attributes will be used when the - keypoints are meshed. If a keypoint does not have attributes - associated with it (by this command) at the time it is meshed, the - attributes are obtained from the then current MAT, REAL,TYPE, and ESYS - command settings. Reissue the KATT command (before keypoints are - meshed) to change the attributes. A zero (or blank) argument removes - the corresponding association. + ALLSEL is a convenience command that allows the user to select all + items of a specified entity type or to select items associated with the + selected items of a higher entity. - If any of the arguments MAT, REAL, TYPE, or ESYS are defined as -1, - then that value will be left unchanged in the selected set. + An entity hierarchy is used to decide what entities will be available + in the selection process. This hierarchy from top to bottom is as + follows: volumes, areas, lines, keypoints, elements, and nodes. The + hierarchy may also be divided into two branches: the solid model and + the finite element model. The label ALL selects items based on one + branch only, while BELOW uses the entire entity hierarchy. For + example, ALLSEL,ALL,VOLU selects all volumes, areas, lines, and + keypoints in the data base. ALLSEL,BELOW,AREA selects all lines + belonging to the selected areas; all keypoints belonging to those + lines; all elements belonging to those areas, lines, and keypoints; and + all nodes belonging to those elements. - In some cases, ANSYS can proceed with a keypoint meshing operation even - when no logical element type has been assigned via KATT,,,TYPE or TYPE. - For more information, see the discussion on setting element attributes - in Meshing Your Solid Model in the Modeling and Meshing Guide. + The $ character should not be used after the ALLSEL command. + + This command is valid in any processor. """ - command = "KATT, %s, %s, %s, %s" % (str(mat), str(real), str(type), str(esys)) + command = "ALLSEL,%s,%s" % (str(labt), str(entity)) self.RunCommand(command, **kwargs) - def Dflx(self, node="", bx="", by="", bz="", bx2="", by2="", bz2="", - **kwargs): + def Spmwrite(self, method="", nmode="", inputs="", inputlabels="", + outputs="", outputlabels="", nic="", velacckey="", + fileformat="", **kwargs): """ - APDL Command: DFLX + APDL Command: SPMWRITE - Imposes a uniform magnetic flux B on an edge-element electromagnetic - model. + Calculates the state-space matrices and writes them to the SPM file. 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. + method + Reduction method for the calculation of the state-space matrices. - bx2, by2, bz2 - Imaginary components of magnetic flux B. + MODAL - Method based on modal analysis results from LANB, LANPCG, SNODE, or SUBSP + eigensolver (default). - 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. + nmode + Number of modes to be used. Defaults to all modes. - 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: + inputs + Definition of the inputs. Defaults to all load vectors on the MODE + file. - where r is the position of the mid-side node. + inputlabels + Definition of the input labels. Defaults to the load vector numbers + or input definition (node and degree of freedom array parameter), + depending on the Inputs specification. - 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. + outputs + Definition of the outputs. Defaults to the inputs. - This command is also valid in PREP7. + outputlabels + Definition of the output labels. Defaults to the output definition + (node and degree of freedom) if used, else defaults to the + InputLabels. - """ - command = "DFLX, %s, %s, %s, %s, %s, %s, %s" % (str(node), str(bx), str(by), str(bz), str(bx2), str(by2), str(bz2)) - self.RunCommand(command, **kwargs) + nic + Load vector on the MODE file used for the calculation of the + initial conditions. Defaults to no initial condition. - def Reorder(self, **kwargs): - """ - APDL Command: REORDER + velacckey + Output velocities and accelerations key. - Specifies "Model reordering" as the subsequent status topic. + OFF - Output displacements only (default). - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + ON - Output displacements, velocities and accelerations. - If entered directly into the program, the STAT command should - immediately follow this command. + fileformat + The format of the SPM file. - """ - command = "REORDER, " % () - self.RunCommand(command, **kwargs) + 0 - Dense format. - def Supr(self, surfname="", rsetname="", **kwargs): - """ - APDL Command: SUPR + 1 - Matrix Market Exchange format (non-zero terms only). - Print global status, geometry information and/or result information. + 2 - Simplorer SML format without reference (default). - Parameters - ---------- - surfname - Eight character surface name. If SurfName = ALL, repeat printout - for all selected surfaces. + 3 - Simplorer SML format with common reference. - rsetname - Eight character result set name. + 4 - Simplorer SML format with independent references. Notes ----- - When no arguments are specified, SUPR generates a global status summary - of all defined surfaces. If only SurfName is specified, the geometry - information for that surface is printed. If both SurfName and RSetName - are specified, the value of the results set at each point, in addition - to the geometry information, is printed. + The SPMWRITE generates the file Jobname.SPM containing the state-space + matrices and other information. - """ - command = "SUPR, %s, %s" % (str(surfname), str(rsetname)) - self.RunCommand(command, **kwargs) + The following applies to the SML formats (FileFormat = 2, 3, and 4): - def Cpdele(self, nset1="", nset2="", ninc="", nsel="", **kwargs): - """ - APDL Command: CPDELE + For conservative systems where the outputs are equal to the inputs + (Outputs is left blank): - Deletes coupled degree of freedom sets. + The labels for the inputs (InputLabels) are required. - Parameters - ---------- - nset1, nset2, ninc - Delete coupled sets from NSET1 to NSET2 (defaults to NSET1) in - steps of NINC (defaults to 1). If NSET1 = ALL, NSET2 and NINC are - ignored and all coupled sets are deleted. + The Inputs must use the array parameter option so that the input + degrees of freedom (DOFs) are known. - nsel - Additional node selection control: + For non-conservative systems where the outputs are not equal to the + inputs: - ANY - Delete coupled set if any of the selected nodes are in the set (default). + The labels for the outputs (OutputLabels) are required. - ALL - Delete coupled set only if all of the selected nodes are in the set. + The file formats with references (FileFormat = 3 and 4) do not apply. - Notes - ----- - See the CP command for a method to delete individual nodes from a set. + Velocity and acceleration results are not included in the state-space + matrices calculation (VelAccKey = OFF) + + File format with common reference (FileFormat = 3) does not apply if + the inputs are based on DOFs of a different nature. All input DOFs + must be either all rotational or all translational and not a mix of the + two. + + A graphics file (Jobname_SPM.PNG) is generated. It contains an element + plot of the model. + + For more details about the reduction method and the generation of the + state-space matrices, see Reduced-Order Modeling for State-Space + Matrices Export in the Mechanical APDL Theory Reference. + + For examples of the command usage, see State-Space Matrices Export. """ - command = "CPDELE, %s, %s, %s, %s" % (str(nset1), str(nset2), str(ninc), str(nsel)) + command = "SPMWRITE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(method), str(nmode), str(inputs), str(inputlabels), str(outputs), str(outputlabels), str(nic), str(velacckey), str(fileformat)) self.RunCommand(command, **kwargs) - def Edis(self, option="", pidn="", pido="", **kwargs): + def Bfvlist(self, volu="", lab="", **kwargs): """ - APDL Command: EDIS + APDL Command: BFVLIST - Specifies stress initialization in an explicit dynamic full restart - analysis. + Lists the body force loads on a volume. Parameters ---------- - option - Label identifying the option to be performed. - - ADD - Define stress initialization between parts (default). - - pidn - New part ID or part assembly ID in the full restart analysis - (defaults to all parts in the model). + volu + Volume at which body load is to be listed. If ALL (or blank), list + for all selected volumes [VSEL]. If VOLU = 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 VOLU. - pido - Old part ID or part assembly ID in the previous analysis, (default - to PIDN). + lab + Valid body load label. If ALL, use all appropriate labels. Load + labels are listed under "Body Loads" in the input table for each + element type in the Element Reference. See the BFV command for + labels. Notes ----- - The EDIS command is only valid in an explicit dynamic full restart - analysis (EDSTART,3). (EDIS is ignored if it is not preceded by the - EDSTART,3 command.) Use EDIS to specify which parts and/or part - assemblies should undergo stress initialization in the restart based on - the stresses from the previous analysis. You can specify stress - initialization for multiple parts (or part assemblies) by issuing EDIS - multiple times. If you issue EDIS with no arguments, stress - initialization is performed for all parts in the restart analysis that - have a corresponding part (having the same part ID) in the previous - analysis. - - In a full restart analysis, the complete database is written as an LS- - DYNA input file, Jobname_nn.K. When the LS-DYNA solution begins, LS- - DYNA performs the stress initialization using file Jobname_nn.K and the - restart dump file (d3dumpnn specified on the EDSTART command) from the - previous analysis. At the end of initialization, all the parts that - were specified by the EDIS commands are initialized from the data saved - in the restart dump file. In order for the stress initialization to be - performed successfully, the new parts in the full restart analysis and - the old parts in the previous analysis must have the same number of - elements, same element order, and same element topology. (The parts may - have different identifying numbers.) If this is not the case, the - stresses cannot be initialized. If part assemblies are used, the part - assemblies must contain the same number of parts. (See A Full Restart - in the ANSYS LS-DYNA User's Guide for more details). + Lists the body force loads for the specified volume and label. Body + loads may be defined on a volume with the BFV command. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "EDIS, %s, %s, %s" % (str(option), str(pidn), str(pido)) + command = "BFVLIST,%s,%s" % (str(volu), str(lab)) self.RunCommand(command, **kwargs) - def Plnsol(self, item="", comp="", kund="", fact="", fileid ="", **kwargs): + def Mfem(self, fnumb="", itype1="", itype2="", itype3="", itype4="", + itype5="", itype6="", itype7="", itype8="", itype9="", itype10="", + **kwargs): """ - APDL Command: PLNSOL + APDL Command: MFEM - Displays results as continuous contours. + Add more element types to a previously defined field number. Parameters ---------- - item - Label identifying the item. Valid item labels are shown in Table - 220: PLNSOL - Valid Item and Component Labels below. Some items - also require a component label. - - comp - Component of the item (if required). Valid component labels are - shown in Table 220: PLNSOL - Valid Item and Component Labels - below. - - kund - Undisplaced shape key: - - 0 - Do not overlay undeformed structure display - - 1 - Overlay displaced contour plot with undeformed display (appearance is system- - dependent) - - 2 - Overlay displaced contour plot with undeformed edge display (appearance is - system-dependent) - - fact - Scale factor for 2-D display for contact items. Default value is - 1. A negative scaling factor may be used to invert the display. - - fileid - The file index number (obtained via the NLDIAG,NRRE,ON command). - Valid only for Item = NRRE. + fnumb + Existing field number defined by the MFELEM command. - Notes - ----- - Displays the solution results as continuous contours across element - boundaries for the selected nodes and elements. For example, PLNSOL,S,X - displays the X component of stress S (that is, the SX stress - component). Various element results depend upon the recalculation - method and the selected results location [AVPRIN, RSYS, LAYER, SHELL, - and NSEL]. Contours are determined by linear interpolation within each - element from the nodal values, which are averaged at a node whenever - two or more elements connect to the same node (except for FMAG, which - is summed at the node). + itype1, itype2, itype3, . . . , itype10 + Element types defined by the ET command. - For PowerGraphics displays [/GRAPHICS,POWER], results are plotted only - for the model exterior surface. The items marked with [2] are not - supported by PowerGraphics. To plot midside nodes, you must first issue - /EFACET,2. + Notes + ----- + You can add up to ten element types per MFEM command. This command + should not be used after an initial solution. - Table: 220:: : PLNSOL - Valid Item and Component Labels + This command is also valid in PREP7. - For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the - labels TBOT, TE2, TE3, . . ., TTOP instead of TEMP to view the - individual temperature degree of freedom. When other thermal elements - are included in the model, they should be unselected to avoid plotting - undefined information. To view all temperatures in the same plot, set - /ESHAPE,1 and /GRAPHICS,POWER and issue PLNSOL,TEMP. + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. - Not supported by PowerGraphics + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - For the CONT items for elements CONTA171 through CONTA177, the reported - data is averaged across the element. To obtain a more meaningful STAT - value, use the PLESOL command. + """ + command = "MFEM,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(fnumb), str(itype1), str(itype2), str(itype3), str(itype4), str(itype5), str(itype6), str(itype7), str(itype8), str(itype9), str(itype10)) + self.RunCommand(command, **kwargs) - For MPC-based contact definitions, the value of STAT can be negative. - This indicates that one or more contact constraints were intentionally - removed to prevent overconstraint. STAT = -3 is used for MPC bonded - contact; STAT = -2 is used for MPC no-separation contact. + def Ocdelete(self, datatype="", zonename="", **kwargs): + """ + APDL Command: OCDELETE - When plotting Newton-Raphson residual items (Item = NRRE) from a file - on the deformed geometry, the displacements are based on the current - set of results in the database. These displacements may not correspond - to the loadstep and substep in the .nrxxxxx file. (For more information - about .nrxxxxx files and nonlinear diagnostics postprocessing, see the - description of the NLDPOST command and Performing Nonlinear - Diagnostics.) + Deletes a previously defined ocean load. - Works only if failure criteria information is provided. (For more - information, see the documentation for the FC and TB commands.) + Parameters + ---------- + datatype + Ocean data type to delete. Valid values are BASIC, CURRENT, WAVE, + ZONE, and ALL. - Works only if user failure criteria routine is provided. + zonename + The name of the ocean zone to delete. If no name is specified, all + defined ocean zones are deleted. Valid only when DataType = ZONE. - Must be added via the FCTYP command first. + Notes + ----- + The OCDELETE command deletes previously specified ocean data from the + database. - Failure criteria are based on the effective stresses in the damaged - material. + This command is also valid in PREP7. """ - command = "PLNSOL, %s, %s, %s, %s, %s" % (str(item), str(comp), str(kund), str(fact), str(fileid )) + command = "OCDELETE,%s,%s" % (str(datatype), str(zonename)) self.RunCommand(command, **kwargs) - def Set(self, lstep="", sbstep="", fact="", kimg="", time="", angle="", - nset="", order="", **kwargs): + def Anstoaqwa(self, fname="", vertaxis="", gc="", rho="", hwl="", + diffkey="", symxkey="", symykey="", **kwargs): """ - APDL Command: SET + APDL Command: ANSTOAQWA - Defines the data set to be read from the results file. + Creates an AQWA-LINE input file from the current ANSYS model. Parameters ---------- - lstep - Load step number of the data set to be read (defaults to 1): + fname + AQWA file name. Defaults to Jobname. - N - Read load step N. + vertaxis + Axis in the vertical direction: - FIRST - Read the first data set (Sbstep and TIME are ignored). + Y (or 2)  - Global Y axis. - LAST - Read the last data set (Sbstep and TIME are ignored). + Z (or 3)  - Global Z axis (default). - NEXT - Read the next data set (Sbstep and TIME are ignored). If at the last data set, - the first data set will be read as the next. + gc + Gravitational acceleration. Defaults to 9.81. - PREVIOUS - Read the previous data set (Sbstep and TIME are ignored). If at the first data - set, the last data set will be read as the previous. + rho + Density of water. Defaults to 1025.0. - NEAR - Read the data set nearest to TIME (Sbstep is ignored). If TIME is blank, read - the first data set. + hwl + Waterline height in model coordinates. Defaults to 0.0. - LIST - Scan the results file and list a summary of each load step. (KIMG, TIME, - ANGLE, and NSET are ignored.) + diffkey + Diffracting model key: - sbstep - Substep number (within Lstep). Defaults to the last substep of the - load step (except in a buckling or modal analysis). For a buckling - (ANTYPE,BUCKLE) or modal (ANTYPE,MODAL) analysis, Sbstep - corresponds to the mode number. Specify Sbstep = LAST to store the - last substep for the specified load step (that is, issue a - SET,Lstep,LAST command). + 0 - Create a non-diffracting AQWA model. - fact - Scale factor applied to data read from the file. If zero (or - blank), a value of 1.0 is used. This scale factor is only applied - to displacement and stress results. A nonzero factor excludes non- - summable items. + 1 - Create a diffracting AQWA model (default). - kimg - Used only with complex results (harmonic and complex modal - analyses). + symxkey + Key indicating if model is symmetric about the global XZ plane: - 0 or REAL - Store the real part of complex solution (default). + 0 - No symmetry about XZ plane (default). - 1, 2 or IMAG - Store the imaginary part of a complex solution. + 1 - Use symmetry about XZ plane. Only include (or select) half the model. - 3 or AMPL - Store the amplitude + symykey + Key indicating if model is symmetric about the global YZ plane: - 4 or PHAS - Store the phase angle. The angle value, expressed in degrees, will be between - -180° and +180°. + 0 - No symmetry about YZ plane (default). - time - Time-point identifying the data set to be read. For a harmonic - analyses, time corresponds to the frequency. + 1 - Use symmetry about YZ plane. Only include (or select) half the model. - angle - Circumferential location (0.0 to 360°). Defines the - circumferential location for the harmonic calculations used when - reading from the results file. + Notes + ----- + This command creates the input file Fname.aqwa for the ANSYS Aqwa + Multi-Body Hydrodynamics System for diffraction analysis in AQWA-LINE + from the model currently in the database, based on the currently + selected set of elements. The selected set must only include the hull + envelope; no internal structure should be selected. - nset - Data set number of the data set to be read. If a positive value - for NSET is entered, Lstep, Sbstep, KIMG, and TIME are ignored. - Available set numbers can be determined by SET,LIST. + There should be a line of nodes defined at the waterline. Only those + elements that are entirely below the waterline will be specified as + diffracting. If there are no waterline nodes, there will be no + diffracting elements at the waterline, which will severely reduce the + accuracy of the diffraction analysis. - order - Key to sort the harmonic index results. This option applies to - cyclic symmetry buckling and modal analyses only, and is valid only - when Lstep = FIRST, LAST, NEXT, PREVIOUS, NEAR or LIST. + The translator maps PLANE42, SHELL41, SHELL63, and SHELL181 elements to + PANELs, and maps PIPE16 and PIPE59 elements to TUBEs. It does not + recognize any other element types. Any material or geometric properties + can be used for the shell elements, as AQWA does not need any + properties at all and the command does not use them. All the shell + elements below the water must have their normals pointing outward. - ORDER - Sort the harmonic index results in ascending order of eigenfrequencies or - buckling load multipliers. + TUBE elements in AQWA have material density, outside diameter, wall + thickness, added mass, and drag coefficients, so appropriate properties + should be used in the ANSYS model. PIPE59 elements can have added mass + and damping coefficients; these will be written to the file. The ANSYS + program uses the inertia coefficient CM, whereas AQWA uses the added + mass coefficient CA, where CM = (1 + CA). This correction is made + automatically. - (blank) - No sorting takes place. + In AQWA the vertical axis is always the Z-axis. The command can convert + a model built with either the Y or Z-axis vertical, but the X-axis must + be horizontal and should preferably be along the fore/aft axis of the + vessel. If the structure is symmetric and you wish to use the symmetry + options, you must only select one half or one quarter of the model, as + appropriate. If you model a complete vessel and specify X symmetry, the + AQWA model will contain two sets of coincident elements. - Notes - ----- - Defines the data set to be read from the results file into the - database. Various operations may also be performed during the read - operation. The database must have the model geometry available (or use - the RESUME command before the SET command to restore the geometry from - Jobname.DB). Values for applied constraints [D] and loads [F] in the - database will be replaced by their corresponding values on the results - file, if available. (See the description of the OUTRES command.) In a - single load step analysis, these values are usually the same, except - for results from harmonic elements. (See the description of the ANGLE - value above.) + If you are working from a model created for a structural analysis, it + will probably be necessary to remesh the model as the structural mesh + is most likely finer than needed for a diffraction analysis. - In an interactive run, the sorted list (ORDER option) is also available - for results-set reading via a GUI pick option. + If you enter this command interactively (with the GUI active) and no + data is provided for the command options, you will be prompted for + their values. - You can postprocess results without issuing a SET command if the - solution results were saved to the database file (Jobname.DB). - Distributed ANSYS, however, can only postprocess using the results file - (for example, Jobname.RST) and cannot use the Jobname.DB file since no - solution results are written to the database. Therefore, you must issue - a SET command or a RESCOMBINE command before postprocessing in - Distributed ANSYS. + You must verify the completeness and accuracy of the data written. - When postprocessing amplitudes or phases (KIMG = AMPL or PHAS): + """ + command = "ANSTOAQWA,%s,%s,%s,%s,%s,%s,%s,%s" % (str(fname), str(vertaxis), str(gc), str(rho), str(hwl), str(diffkey), str(symxkey), str(symykey)) + self.RunCommand(command, **kwargs) - The only appropriate coordinate system is the solution coordinate - system (RSYS ,SOLU). For layered elements, a layer (LAYER) must also be - specified. When displaying the displacement amplitudes, use a contour - display (PLNSOL command). Because a deformed shape display (PLDISP - command) could lead to a non-physical shape, the displacement scaling - is off by default (/DSCALE,,OFF). + def Kdist(self, kp1="", kp2="", **kwargs): + """ + APDL Command: KDIST - The conversion is not valid for averaged results, derived results (such - as principal stress/strain, equivalent stress/strain, and USUM), or - summed results obtained using FSUM, NFORCE, and PRNLD. + Calculates and lists the distance between two keypoints. - Cyclic symmetry results are not supported. + Parameters + ---------- + kp1 + First keypoint in distance calculation. If KP1 = P, graphical + picking is enabled and all remaining command fields are ignored + (valid only in the GUI). + + kp2 + Second keypoint in distance calculation. + + Notes + ----- + KDIST lists the distance between keypoints KP1 and KP2, as well as the + current coordinate system offsets from KP1 to KP2, where the X, Y, and + Z locations of KP1 are subtracted from the X, Y, and Z locations of KP2 + (respectively) to determine the offsets. KDIST is valid in any + coordinate system except toroidal [CSYS,3]. + + KDIST returns a variable, called "_RETURN," which contains the distance + value. You can use this value for various purposes; for example, to + set the default number of line divisions to be generated along region + boundary lines [ESIZE,_RETURN]. In interactive mode, you can access + this command by using the Model Query Picker (Utility Menu> List> + Picked Entities), where you can also access automatic annotation + functions, and display the value on your model. + + This command is valid in any processor. """ - command = "SET, %s, %s, %s, %s, %s, %s, %s, %s" % (str(lstep), str(sbstep), str(fact), str(kimg), str(time), str(angle), str(nset), str(order)) + command = "KDIST,%s,%s" % (str(kp1), str(kp2)) self.RunCommand(command, **kwargs) - def Mfbucket(self, key="", value="", **kwargs): + def Bfv(self, volu="", lab="", val1="", val2="", val3="", ph_ase="", + **kwargs): """ - APDL Command: MFBUCKET + APDL Command: BFV - Turns a bucket search on or off. + Defines a body force load on a volume. Parameters ---------- - key - Bucket search key: + volu + Volume to which body load applies. If ALL, apply to all selected + volumes [VSEL]. A component name may also be substituted for Volu. - ON - Activates a bucket search (default). + lab + Valid body load label. Load labels are listed under "Body Loads" in + the input table for each element type in the Element Reference. - OFF - Deactivates a bucket search. A global search is then activated. + val1, val2, val3 + Value associated with the Lab item or a table name for specifying + tabular boundary conditions. Use only VAL1 for TEMP, FLUE, HGEN, + and CHRGD. Use VAL1, VAL2, and VAL3 for the X, Y, and Z components + of JS. For Lab = JS in magnetics, use VAL1, VAL2, and VAL3 for the + X, Y, and Z components. For acoustics, if Lab = JS, use VAL1 for + mass source in a harmonic analysis or mass source rate in a + transient analysis, and ignoreVAL2 and VAL3. For Lab = VLTG, VAL1 + is the voltage drop and VAL2 is the phase angle. When specifying a + table name, you must enclose the table name in percent signs (%), + e.g., BFV,Volu,Lab,%tabname%. Use the *DIM command to define a + table. - value - Scaling factor (%) used to determine the number of buckets for a - bucket search. Defaults to 50%. + phase + Phase angle in degrees associated with the JS label. Notes ----- - A bucket search will more efficiently compute the mapping of surface - and volumetric interpolation data across field interfaces (flagged by - the FSIN label using SF, SFA, SFE, or SFL or the FVIN label using BFE). + Defines a body force load (such as temperature in a structural + analysis, heat generation rate in a thermal analysis, etc.) on a + volume. Body loads may be transferred from volumes to volume elements + (or to nodes if volume elements do not exist) with the BFTRAN or + SBCTRAN commands. Body loads default to the value specified on the + BFUNIF command, if it was previously specified. - The number of buckets used to partition a flagged interface is equal to - the scaling factor (%) times the total number of interface elements. - For example, for the default scaling factor of 50% and a 10,000 element - interface, 5,000 buckets are used. + You can specify a table name only when using temperature (TEMP) and + heat generation rate (HGEN) body load labels. + + Body loads specified by the BFV command can conflict with other + specified body loads. See Resolution of Conflicting Body Load + Specifications in the Basic Analysis Guide for details. + + Graphical picking is available only via the listed menu paths. This command is also valid in PREP7. - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + """ + command = "BFV,%s,%s,%s,%s,%s,%s" % (str(volu), str(lab), str(val1), str(val2), str(val3), str(ph_ase)) + self.RunCommand(command, **kwargs) - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + def Source(self, x="", y="", z="", **kwargs): + """ + APDL Command: SOURCE + + Defines a default location for undefined nodes or keypoints. + + Parameters + ---------- + x, y, z + Global Cartesian coordinates for source nodes or keypoints + (defaults to the origin). + + Notes + ----- + Defines a global Cartesian location for undefined nodes or keypoints + moved during intersection calculations [MOVE or KMOVE]. """ - command = "MFBUCKET, %s, %s" % (str(key), str(value)) + command = "SOURCE,%s,%s,%s" % (str(x), str(y), str(z)) self.RunCommand(command, **kwargs) - def Mfdtime(self, dtime="", dtmin="", dtmax="", carry="", **kwargs): + def Esol(self, nvar="", elem="", node="", item="", comp="", name="", + **kwargs): """ - APDL Command: MFDTIME + APDL Command: ESOL - Sets time step sizes for an ANSYS Multi-field solver analysis. + Specifies element data to be stored from the results file. Parameters ---------- - dtime - Multi-field time step size. If automatic time stepping is being - used [see Notes below], DTIME is the starting time step. + nvar + Arbitrary reference number assigned to this variable (2 to NV + [NUMVAR]). Overwrites any existing results for this variable. - dtmin - Minimum time step. Defaults to DTIME. + elem + Element for which data are to be stored. If ELEM = P, graphical + picking is enabled (valid only in the GUI). - dtmax - Maximum time step. Defaults to DTIME. + node + Node number on this element for which data are to be stored. If + blank, store the average element value (except for FMAG values, + which are summed instead of averaged). If NODE = P, graphical + picking is enabled (valid only in the GUI). - carry - Time step carryover key. + item + Label identifying the item. General item labels are shown in Table + 134: ESOL - General Item and Component Labels below. Some items + also require a component label. - OFF - Use DTIME as the starting time step for the next restart run (default). + comp + Component of the item (if required). General component labels are + shown in Table 134: ESOL - General Item and Component Labels below. + If Comp is a sequence number (n), the NODE field will be ignored. - ON - Use the final time step from the previous run as the starting time step for the - next restart run. + name + Thirty-two character name for identifying the item on the printout + and displays. Defaults to a label formed by concatenating the + first four characters of the Item and Comp labels. Notes ----- - This command specifies time step sizes for an ANSYS Multi-field solver - analysis. If either DTMIN or DTMAX is not equal to DTIME, auto time- - stepping is turned on for the multi-field loop. ANSYS will - automatically adjust the time step size for the next multi-field step - between DTMIN and DTMAX, based on the status of the current - convergence, the number of target stagger iterations (specified by - MFITER), and the actual number of iterations needed to reach - convergence at the current time step. + See Table: 134:: ESOL - General Item and Component Labels for a list of + valid item and component labels for element (except line element) + results. - If auto time-stepping is turned off, the time step size must be evenly - divisible into the end time (specified by MFTIME) minus the start time - (0 for a new analysis or a restart time specified by MFRSTART). + The ESOL command defines element results data to be stored from a + results file (FILE). Not all items are valid for all elements. To see + the available items for a given element, refer to the input and output + summary tables in the documentation for that element. - You can use a smaller time step within each ANSYS field analysis. This - is called subcycling. Use the DELTIM and AUTOTS commands to subcycle a - structural, thermal, or electromagnetic analysis. + Two methods of data access are available via the ESOL command. You can + access some simply by using a generic label (component name method), + while others require a label and number (sequence number method). - This command is also valid in PREP7. + Use the component name method to access general element data (that is, + element data generally available to most element types or groups of + element types). - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + The sequence number method is required for data that is not averaged + (such as pressures at nodes and temperatures at integration points), or + data that is not easily described in a generic fashion (such as all + derived data for structural line elements and contact elements, all + derived data for thermal line elements, and layer data for layered + elements). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Element results are in the element coordinate system, except for + layered elements where results are in the layer coordinate system. + Element forces and moments are in the nodal coordinate system. Results + are obtainable for an element at a specified node. Further location + specifications can be made for some elements via the SHELL, LAYERP26, + and FORCE commands. + + Table: 134:: : ESOL - General Item and Component Labels + + For more information on the meaning of contact status and its possible + values, see Reviewing Results in POST1 in the Contact Technology Guide. + + For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the + labels HBOT, HE2, HE3, . . ., HTOP instead of HEAT. """ - command = "MFDTIME, %s, %s, %s, %s" % (str(dtime), str(dtmin), str(dtmax), str(carry)) + command = "ESOL,%s,%s,%s,%s,%s,%s" % (str(nvar), str(elem), str(node), str(item), str(comp), str(name)) self.RunCommand(command, **kwargs) - def Prsect(self, rho="", kbr="", **kwargs): + def Presol(self, item="", comp="", **kwargs): """ - APDL Command: PRSECT + APDL Command: PRESOL - Calculates and prints linearized stresses along a section path. + Prints the solution results for elements. Parameters ---------- - rho - In-plane (X-Y) average radius of curvature of the inside and - outside surfaces of an axisymmetric section. If zero (or blank), a - plane or 3-D structure is assumed. If nonzero, an axisymmetric - structure is assumed. Use any large number (or -1) for an - axisymmetric straight section. + item + Label identifying the item. Valid item labels are shown in Table + 224: PRESOL - Valid Item and Component Labels for Element Results + below. Some items also require a component label. - kbr - Through-thickness bending stresses key for an axisymmetric analysis - (RHO  ≠ 0): + comp + Component of the item (if required). Valid component labels are + shown in Table 224: PRESOL - Valid Item and Component Labels for + Element Results below. - 0 - Include the thickness-direction bending stresses. + Notes + ----- + Prints the solution results for the selected elements in the sorted + sequence. For example, PRESOL,S prints the stress items SX, SY, SZ, + SXY, SYZ, and SXZ for the node locations of the element. Component + results are in the global Cartesian coordinate directions unless + transformed (RSYS). - 1 - Ignore the thickness-direction bending stresses. + Shell elements print values at the top, then bottom of the element (or + layer). If KEYOPT(8) = 2 (for SHELL181, SHELL208, SHELL209, SHELL281, + or ELBOW290), the results are printed in the order TOP, BOT and then + MID of each element, (or layer). The MID value will be the actual value + as written to the results file. - 2 - Include the thickness-direction bending stress using the same formula as the Y - (axial direction ) bending stress. Also use the same formula - for the shear stress. + Items are listed as columns of a table versus element number. An + exception occurs for item ELEM which uses an element format (all + applicable line element results are listed per element) instead of a + tabular format. - Notes - ----- - You may choose to linearize the stresses through a section and separate - them into categories for various code calculations. PRSECT calculates - and reports linearized stresses along a section path. The linearized - stresses are also separated into membrane, bending, membrane plus - bending, peak, and total stress categories. + The FORCE command can be used to define which component of the nodal + load is to be used (static, damping, inertia, or total). See the + ETABLE and PRETAB commands for printing items not available through + this command (such as line element results). - First, define your section path using the PATH and PPATH (with the NODE - option) commands. Your path must lie entirely within the selected set - of elements (that is, there must be no element gaps along the path). - PATH and PPATH are used only to retrieve the two end nodes. The path - data is not retained. The section path is defined by the two end - nodes, and by 47 intermediate points that are automatically determined - by linear interpolation in the active display coordinate system [DSYS]. - The number and location of the intermediate points are not affected by - the number of divisions set by PATH,,,,nDiv. + For PowerGraphics [/GRAPHICS,POWER], results are listed only for the + element surface. The items marked with [1] are not supported by + PowerGraphics. + + Table: 224:: : PRESOL - Valid Item and Component Labels for Element + Results + + Failure criteria for virgin material [1][2]. + + Default components: Maximum of all failure criteria defined at current + location (MAX), maximum strain (EMAX), maximum stress (SMAX), Tsai-Wu + Strength Index (TWSI), inverse of Tsai-Wu Strength Ratio Index (TWSR). + + Other available components: Hashin Fiber Failure (HFIB), Hashin Matrix + Failure (HMAT), Puck Fiber Failure (PFIB), Puck Matrix Failure (PMAT), + LaRc03 Fiber Failure (L3FB), LaRc03 Matrix Failure (L3MT), LaRc04 + Fiber Failure (L4FB), LaRc04 Matrix Failure (L4MT), and any user- + defined failure criteria (USR1 through USR9) [4]. + + Issue the FCTYP command to activate or remove failure criteria. + + Failure criteria based on the effective stresses in the damaged + material. + + Components: Maximum of all failure criteria defined at current location + (MAX), fiber tensile failure (FT), fiber compressive failure (FC), + matrix tensile failure (MT), and matrix compressive (MC). - Your linearized component stress values are obtained by interpolating - each element’s average corner nodal values along the section path - points within each path element. PRSECT reports the linearized - component and principal stresses for each stress category at the - beginning, mid-length, and end of the section path. PRPATH can be used - to report the total stresses at the intermediate points. + Progressive damage parameters. - Section paths may be through any set of solid (2-D plane, 2-D - axisymmetric or 3-D) elements. However, section paths are usually - defined to be through the thickness of the structure and normal to the - inner and outer structure surfaces. Section paths (in-plane only) may - also be defined for shell element structures. See the Mechanical APDL - Theory Reference for details. + Components: Damage status (STAT, 0 - undamaged, 1 - damaged, 2 - + complete damage), fiber tensile damage variable (FT), fiber compressive + damage variable (FC), matrix tensile damage variable (MT), matrix + compressive damage variable (MC), shear damage variable (S), energy + dissipated per unit volume (SED), energy per unit volume due to viscous + damping (SEDV). - If the RHO option is set to indicate the axisymmetric option (non- - zero), PRSECT reports the linearized stresses in the section - coordinates (SX – along the path, SY – normal to the path, and SZ – - hoop direction). If the RHO option is set to indicate the 2-D planar - or 3-D option (zero or blank), PRSECT reports the linearized stresses - in the active results coordinate system [RSYS]. If the RHO option is - zero or blank and either RSYS, SOLU or RSYS, -1 are active, the - linearized stresses are calculated and reported in the global Cartesian - coordinate system. It is recommended that linearized stress - calculations be performed in a rectangular coordinate system. - Principal stresses are recalculated from the component stresses and are - invariant with the coordinate system as long as SX is in the same - direction at all points along the defined path. The PLSECT command - displays the linearized stresses in the same coordinate system as - reported by PRSECT. + Not supported by PowerGraphics - Stress components through the section are linearized by a line integral - method and separated into constant membrane stresses, bending stresses - varying linearly between end points, and peak stresses (defined as the - difference between the actual (total) stress and the membrane plus - bending combination). + Works only if failure criteria information is provided. (For more + information, see the documentation for the FC and TB commands.) - For nonaxisymmetric structures, the bending stresses are calculated - such that the neutral axis is at the midpoint of the path. - Axisymmetric results include the effects of both the radius of - revolution (automatically determined from the node locations) and the - in-plane average radius of curvature of the section surfaces (user - input). + Some element- and material-type limitations apply. (For more + information, see the documentation for the PRERR command.) - For axisymmetric cases, Mechanical APDL calculates the linearized - bending stress in the through-thickness direction as the difference - between the total outer fiber stress and the membrane stress if KBR = - 1. The calculation method may be conservative for locations with a - highly nonlinear variation of stress in the through-thickness - direction. Alternatively, you can specify KBR = 2 to calculate the - bending stress using the same method and formula as the Y (axial - direction) bending stress. For more information, see the discussion of - axisymmetric cases (specifically Equation: 17–40) in the Mechanical - APDL Theory Reference. + Works only if user failure criteria routine is provided. - Portions of this command are not supported by PowerGraphics - [/GRAPHICS,POWER]. + Do not use the PRESOL command to obtain contact forces for contact + elements. The force values reported by this command may not be accurate + for these elements. Instead, use the ETABLE command to obtain contact + force values. """ - command = "PRSECT, %s, %s" % (str(rho), str(kbr)) + command = "PRESOL,%s,%s" % (str(item), str(comp)) self.RunCommand(command, **kwargs) - def Pcopy(self, key="", **kwargs): + def Rmaster(self, node="", lab="", **kwargs): """ - APDL Command: /PCOPY + APDL Command: RMASTER - Automatically generates hard copies for HP UNIX work stations. + Defines master nodes for the ROM method. Parameters ---------- - key - Copy key: + node + Node number at which master degree of freedom is defined If Node = + P, graphical picking is enabled and all remaining command fields + are ignored (valid only in the GUI). - 0 - No specification setting for automatic hard copy of display. + lab + Valid labels are "ADD" (default) and "DEL". - 1 - Set specification for automatic hard copy after each display. + Notes + ----- + Defines master nodes for the ROM. Master nodes are used to track the + total displacement of a structure in the operating direction [RMANL]. + They may be used as attachment points for 1-D structural elements + during a ROM use pass via the UX degree of freedom. - NOW - (Action) Produce hard copy of current display (KEY is not reset to 1). + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. + + """ + command = "RMASTER,%s,%s" % (str(node), str(lab)) + self.RunCommand(command, **kwargs) + + def Lsoper(self, **kwargs): + """ + APDL Command: LSOPER + + Specifies "Load step operations" as the subsequent status topic. Notes ----- - Sets automatic hard copy specification. This command is available only - on HP work stations, and only during interactive runs with the /SHOW - specification active (for terminals with hard copy capability). + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - This command is valid in any processor. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "/PCOPY, %s" % (str(key)) + command = "LSOPER," % () self.RunCommand(command, **kwargs) - def Pbf(self, item="", key="", **kwargs): + def Dofsel(self, type="", dof1="", dof2="", dof3="", dof4="", dof5="", + dof6="", **kwargs): """ - APDL Command: /PBF + APDL Command: DOFSEL - Shows magnitude of body force loads on displays. + Selects a DOF label set for reference by other commands. Parameters ---------- - item - Label identifying the item: - - TEMP - Applied temperatures. - - FLUE - Applied fluences. + type + Label identifying the type of select: - HGEN - Applied heat generation rates. + S - Select a new set of labels. - JS - Applied current density magnitude. + A - Add labels to the current set. - JSX - X-component of current density. + U - Unselect (remove) labels from the current set. - JSY - Y-component of current density. + ALL - Restore the full set of labels. - JSZ - Z-component of current density. + STAT - Display the current select status. - PHASE - Phase angle of applied load. + dof1, dof2, dof3, . . . , dof6 + Used only with Type = S, A, or U. Valid structural labels: UX, + UY, or UZ (displacements); U (UX, UY, and UZ); ROTX, ROTY, or ROTZ + (rotations); ROT (ROTX, ROTY, and ROTZ); DISP (U and ROT); HDSP + (Hydrostatic pressure). Valid thermal labels: TEMP, TBOT, TE2, TE3, + . . ., TTOP (temperature). Valid acoustic labels: PRES + (pressure); UX, UY, or UZ (displacements for FSI coupled elements). + Valid electric labels: VOLT (voltage); EMF (electromotive force + drop); CURR (current). Valid magnetic labels: MAG (scalar + magnetic potential); AX, AY or AZ (vector magnetic potentials); A + (AX, AY and AZ); CURR (current). Valid structural force labels: + FX, FY, or FZ (forces); F (FX, FY, and FZ); MX, MY, or MZ + (moments); M (MX, MY, and MZ); FORC (F and M); DVOL (fluid mass + flow rate). Valid thermal force labels: HEAT, HBOT, HE2, HE3, . . + ., HTOP (heat flow). Valid fluid flow force labels: FLOW (fluid + flow). Valid electric force labels: AMPS (current flow); CHRG + (electric charge). Valid magnetic force labels: FLUX (scalar + magnetic flux); CSGX, CSGY, or CSGZ (magnetic current segments); + CSG (CSGX, CSGY, and CSGZ). Valid diffusion labels: CONC + (concentration); RATE (diffusion flow rate). - MVDI - Applied magnetic virtual displacements flag. + Notes + ----- + Selects a degree of freedom label set for reference by other commands. + The label set is used on certain commands where ALL is either input in + the degree of freedom label field or implied. The active label set has + no effect on the solution degrees of freedom. Specified labels which + are not active in the model (from the ET or DOF command) are ignored. + As a convenience, a set of force labels corresponding to the degree of + freedom labels is also selected. For example, selecting UX also causes + FX to be selected (and vice versa). The force label set is used on + certain commands where ALL is input in the force label field. - CHRGD - Applied electric charge density. + This command is valid in any processor. - VLTG - Applied voltage drop. + """ + command = "DOFSEL,%s,%s,%s,%s,%s,%s,%s" % (str(type), str(dof1), str(dof2), str(dof3), str(dof4), str(dof5), str(dof6)) + self.RunCommand(command, **kwargs) - -- - Unused field. + def Kbetw(self, kp1="", kp2="", kpnew="", type="", value="", **kwargs): + """ + APDL Command: KBETW - key - Symbol key: + Creates a keypoint between two existing keypoints. - 0 - Do not show body force load contours. + Parameters + ---------- + kp1 + First keypoint. If KP1 = P, graphical picking is enabled and all + remaining command fields are ignored (valid only in the GUI). - 1 - Show body force load contours. + kp2 + Second keypoint. - 2 - Show current density as a vector (not a contour). + kpnew + Number assigned to the new keypoint. Defaults to the lowest + available keypoint number. - Notes - ----- - Shows body force loads as contours on displays for the selected - elements. + type + Type of input for VALUE. - The effects of the /PBF command are not cumulative (that is, the - command does not modify an existing setting from a previously issued - /PBF command). If you issue multiple /PBF commands during an analysis, - only the setting specified by the most recent /PBF command applies. + RATIO - Value is the ratio of the distances between keypoints as follows: + (KP1-KPNEW)/(KP1-KP2). - Use /PSTATUS or /PBF,STAT to display settings. Use /PBF,DEFA to reset - all specifications back to default. See also the /PSF and /PBC command - for other display contours. + DIST - Value is the absolute distance between KP1 and KPNEW (valid only if current + coordinate system is Cartesian). - Portions of this command are not supported by PowerGraphics - [/GRAPHICS,POWER]. + value + Location of new keypoint, as defined by Type (defaults to 0.5). If + VALUE is a ratio (Type = RATIO) and is less than 0 or greater than + 1, the keypoint is created on the extended line. Similarly, if + VALUE is a distance (Type = DIST) and is less than 0 or greater + than the distance between KP1 and KP2, the keypoint is created on + the extended line. - This command is valid in any processor. + Notes + ----- + Placement of the new keypoint depends on the currently active + coordinate system [CSYS]. If the coordinate system is Cartesian, the + keypoint will lie on a straight line between KP1 and KP2. If the + system is not Cartesian (e.g., cylindrical, spherical, etc.), the + keypoint will be located as if on a line (which may not be straight) + created in the current coordinate system between KP1 and KP2. Note + that solid modeling in a toroidal coordinate system is not recommended. """ - command = "/PBF, %s, %s" % (str(item), str(key)) + command = "KBETW,%s,%s,%s,%s,%s" % (str(kp1), str(kp2), str(kpnew), str(type), str(value)) self.RunCommand(command, **kwargs) - def Quad(self, node1="", nintr="", node2="", nfill="", nstrt="", ninc="", - pkfac="", **kwargs): + def Lssolve(self, lsmin="", lsmax="", lsinc="", **kwargs): """ - APDL Command: QUAD + APDL Command: LSSOLVE - Generates a quadratic line of nodes from three nodes. + Reads and solves multiple load steps. Parameters ---------- - node1 - Begin fill-in from this node location. If NODE1 = P, graphical - picking is enabled and all remaining command fields are ignored - (valid only in the GUI). + lsmin, lsmax, lsinc + Range of load step files to be read and solved, from LSMIN to LSMAX + in steps of LSINC. LSMAX defaults to LSMIN, and LSINC defaults to + 1. If LSMIN is blank, a brief command description is displayed. + The load step files are assumed to be named Jobname.Sn, where n is + a number assigned by the LSWRITE command (01--09,10,11, etc.). On + systems with a 3-character limit on the extension, the "S" is + dropped for numbers > 99. - nintr - Intermediate or guiding node. Quadratic curve will pass through - this location. NINTR may have any node number and any location. - If the quadratic line also generates a node with number NINTR, the - generated location overrides the previous NINTR location. + Notes + ----- + LSSOLVE invokes an ANSYS macro to read and solve multiple load steps. + The macro loops through a series of load step files written by the + LSWRITE command. The macro file called by LSSOLVE is called + LSSOLVE.MAC. - node2 - End quadratic fill-in at this node location. + LSSOLVE cannot be used with the birth-death option. - nfill - Fill-in NFILL nodes between NODE1 and NODE2 (defaults to - |NODE2-NODE1|-1). NFILL must be positive. + LSSOLVE is not supported for cyclic symmetry analyses. - nstrt - Node number assigned to first filled-in node (defaults to NODE1 + - NINC). + LSSOLVE does not support restarts. - ninc - Add this increment to each of the remaining filled-in node numbers - (may be positive or negative). Defaults to (NODE2-NODE1)/(NFILL + - 1), i.e., linear interpolation. + """ + command = "LSSOLVE,%s,%s,%s" % (str(lsmin), str(lsmax), str(lsinc)) + self.RunCommand(command, **kwargs) - pkfac - Peak location factor. If PKFAC=0.5, the peak of the quadratic - shape occurs at the NINTR location. If 0.0 < PKFAC < 0.5, the peak - occurs to the NODE2 side of the NINTR location. If 0.5 < PKFAC < - 1.0, the peak occurs to the NODE1 side of the NINTR location. - Defaults to 0.5. + def Aux12(self, **kwargs): + """ + APDL Command: /AUX12 + + Enters the radiation processor. Notes ----- - Generates a quadratic line of nodes (in the active coordinate system) - from three nodes. The three nodes determine the plane of the curve and - may have been defined in any coordinate system. Any number of nodes - may be filled-in and any node number sequence may be assigned. + Enters the radiation processor (ANSYS auxiliary processor AUX12). This + processor supports the Radiation Matrix and the Radiosity Solver + methods. - The quadratic line feature uses three nodes (NODE1,NINTR,NODE2) to - determine the plane of the curve. The curve passes through the three - points, beginning from NODE1, through the intermediate (or guiding) - point NINTR, and toward NODE2. + This command is valid only at the Begin Level. - Generated nodes are also quadratically spaced. If the guiding node - number is within the set being generated, it will be relocated - according to the quadratic spacing. + """ + command = "/AUX12," % () + self.RunCommand(command, **kwargs) - The peak location factor is used to determine how the quadratic fits - through the three points. Various nodal progressions can be obtained - by different combinations of PKFAC and the guiding node location. If - the guiding node is at mid-length between NODE1 and NODE2, 0.293: - PKFAC< 0.707 will ensure that all generated nodes fall within the - NODE1,NODE2 bounds. In the limit, as PKFAC approaches 0.0, the peak - approaches the line through NODE1 and NINTR at an infinite distance - from NODE1. The QUAD command generates quadratic lines of nodes, which - in turn may be used as a base line for generating irregular surfaces of - nodes (by repeating [*REPEAT], generating [NGEN, NSCALE], etc.). - Irregular surfaces may also be generated with the meshing commands. + def Lsread(self, lsnum="", **kwargs): + """ + APDL Command: LSREAD + + Reads load and load step option data into the database. + + Parameters + ---------- + lsnum + Identification number of the load step file to be read. Defaults + to 1 + highest number read in the current session. Issue + LSREAD,STAT to list the current value of LSNUM. Issue LSREAD,INIT + to reset LSNUM to 1. The load step files are assumed to be named + Jobname.Sn, where n is a number assigned by the LSWRITE command (01 + --09,10,11, etc.). On systems with a 3-character limit on the + extension, the "S" is dropped for LSNUM > 99. + + Notes + ----- + Reads load and load step option data from the load step file into the + database. LSREAD will not clear the database of all current loads. + However, if a load is respecified with LSREAD, then it will overwrite + the existing load. See the LSWRITE command to write load step files, + and the LSDELE command to delete load step files. LSREAD removes any + existing SFGRAD specification. + + This command is also valid in PREP7. """ - command = "QUAD, %s, %s, %s, %s, %s, %s, %s" % (str(node1), str(nintr), str(node2), str(nfill), str(nstrt), str(ninc), str(pkfac)) + command = "LSREAD,%s" % (str(lsnum)) self.RunCommand(command, **kwargs) - def Wait(self, dtime="", **kwargs): + def Secstop(self, dof1="", minvalue1="", maxvalue1="", dof2="", + minvalue2="", maxvalue2="", dof3="", minvalue3="", + maxvalue3="", **kwargs): """ - APDL Command: /WAIT + APDL Command: SECSTOP - Causes a delay before the reading of the next command. + Specifies stops on the components of relative motion in a joint + element. Parameters ---------- - dtime - Time delay (in seconds). Maximum time delay is 59 seconds. + dof + Local degree of freedom to be stopped. + + minvalue + Low end of the range of allowed movement for the specified DOF. + + maxvalue + High end of the range of allowed movement for the specified DOF. Notes ----- - The command following the /WAIT will not be processed until the - specified wait time increment has elapsed. Useful when reading from a - prepared input file to cause a pause, for example, after a display - command so that the display can be reviewed for a period of time. - Another "wait" feature is available via the *ASK command. - - This command is valid in any processor. + Stops restrict motion in a DOF; motion beyond the MINVALUE or MAXVALUE + is prevented (motion away from a limit is allowed). You can specify up + to three stops. If necessary, you can repeat the command. """ - command = "/WAIT, %s" % (str(dtime)) + command = "SECSTOP,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(dof1), str(minvalue1), str(maxvalue1), str(dof2), str(minvalue2), str(maxvalue2), str(dof3), str(minvalue3), str(maxvalue3)) self.RunCommand(command, **kwargs) - def Cpcyc(self, lab="", toler="", kcn="", dx="", dy="", dz="", knonrot="", - **kwargs): + def Data(self, ir="", lstrt="", lstop="", linc="", name="", kcplx="", + **kwargs): """ - APDL Command: CPCYC + APDL Command: DATA - Couples the two side faces of a cyclically symmetric model for loadings - that are the same on every segment. + Reads data records from a file into a variable. Parameters ---------- - lab - Degree of freedom label for coupled nodes (in the nodal coordinate - system). If ALL, use all appropriate labels. Valid labels are: - Structural labels: UX, UY, or UZ (displacements); ROTX, ROTY, or - ROTZ (rotations, in radians). + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. - toler - Tolerance for coincidence (based on maximum coordinate difference - in each global Cartesian direction for node locations and on angle - differences for node orientations). Defaults to 0.0001. Only nodes - within the tolerance are considered to be coincident for coupling. + lstrt + Start at location LSTRT (defaults to 1). - kcn - In coordinate system KCN, node 1 of CP + dx dy dz = node 2 of CP. + lstop + Stop at location LSTOP (defaults to LSTRT). Maximum location + available is determined from data previously stored. - dx, dy, dz - Node location increments in the active coordinate system (DR, Dθ, - DZ for cylindrical, DR, D θ, DΦ for spherical or toroidal). + linc + Fill every LINC location between LSTRT and LSTOP (defaults to 1). - knonrot - When KNONROT = 0, the nodes on coupled sets are rotated into - coordinate system KCN (see NROTAT command description). When - KNONROT = 1, the nodes are not rotated, and you should make sure - that coupled nodal DOF directions are correct. + name + Eight character name for identifying the variable on the printout + and displays. Embedded blanks are compressed upon output. + + kcplx + Complex number key: + + 0 - Data stored as the real part of the complex number. + + 1 - Data stored as the imaginary part of the complex number. Notes ----- - Cyclic coupling requires identical node and element patterns on the - low and high sector boundaries. The MSHCOPY operation allows convenient - generation of identical node and element patterns. See Using CPCYC and - MSHCOPY Commands in the Modeling and Meshing Guide for more - information. + This command must be followed by a format statement (on the next line) + and the subsequent data records, and all must be on the same file (that + may then be read with the /INPUT command). The format specifies the + number of fields to be read per record, the field width, and the + placement of the decimal point (if one is not included in the data + value). The read operation follows the available FORTRAN FORMAT + conventions of the system. See the system FORTRAN manual for details. + Any standard FORTRAN real format (such as (4F6.0), (F2.0,2X,F12.0), + etc.) may be used. Integer (I), character (A), and list-directed (*) + descriptors may not be used. The parentheses must be included in the + format. Up to 80 columns per record may be read. Locations may be + filled within a range. Previous data in the range will be overwritten. - Although developed primarily for use with cyclically symmetric models, - your use of the CPCYC command is not limited to cyclic symmetry - analyses. + """ + command = "DATA,%s,%s,%s,%s,%s,%s" % (str(ir), str(lstrt), str(lstop), str(linc), str(name), str(kcplx)) + self.RunCommand(command, **kwargs) + + def Plotting(self, **kwargs): + """ + APDL Command: PLOTTING + + Specifies "Plotting settings" as the subsequent status topic. + + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "CPCYC, %s, %s, %s, %s, %s, %s, %s" % (str(lab), str(toler), str(kcn), str(dx), str(dy), str(dz), str(knonrot)) + command = "PLOTTING," % () self.RunCommand(command, **kwargs) - def Fluread(self, fname="", ext="", kdim="", kout="", limit="", listopt="", - **kwargs): + def Gcgen(self, option="", featureangle="", edgekey="", splitkey="", + selopt="", **kwargs): """ - APDL Command: FLUREAD + APDL Command: GCGEN - Reads one-way Fluent-to-Mechanical APDL coupling data via a .cgns file - with one-side fast Fourier transformation complex pressure peak value. + Creates contact elements for general contact. Parameters ---------- - -- - Reserved. + option + Option to be performed. - fname - File name and directory path of a one-way Fluent-to-Mechanical APDL - coupling data file (248 characters maximum, including the - characters needed for the directory path). An unspecified directory - path defaults to the working directory; in this case, you can use - all 248 characters for the file name. Defaults to jobname. + NEW - Create a new general contact definition. This option removes all existing + general contact elements and generates new elements with new + section IDs. Any existing GCDEF specifications, general + contact SECTYPE/SECDATA data, and general contact element + types are also removed. If no general contact elements or + data exist, this option behaves the same as Option = UPDATE. - ext - File name extension of the one-way Fluent-to-Mechanical APDL - coupling data file. Defaults to .cgns). + UPDATE - Generate general contact elements on newly added (or selected) base elements. + Newly generated contact elements are assigned new Section + IDs. Existing general contact elements remain with their + previously assigned section IDs and element attributes. + Existing GCDEF and SECTYPE/SECDATA general contact data + are respected. (This is the default option.) + + DELETE - Remove all existing general contact elements. Existing GCDEF specifications, + general contact SECTYPE/SECDATA data, and general contact + element types are also removed. + + SELECT - Select all existing general contact elements. + + featureangle + Angle tolerance for determining feature edges (EdgeKEY) and general + surfaces (SplitKey). Default = 42 degrees. + + edgekey + Key that controls creation of general contact line elements + (CONTA177) on base shell element perimeter edges and/or base solid + element feature edges. See Understanding FeatureANGLE for an + explanation of the feature edge criteria. - kdim - Interpolation data for mapping. A value of 0 (default) or 2 applies - 2-D interpolation (where interpolation occurs on a surface). + 0 - Exclude feature edges and shell perimeter edges (default). - kout - Outside region results for mapping: + 1 - Include feature edges only. - 0 - Use the value(s) of the nearest region point for points outside of the region. - This behavior is the default. + 2 - Include shell perimeter edges only. - 1 - Set results extrapolated outside of the region to zero. + 3 - Include both feature edges and shell perimeter edges. - limit - Number of nearby nodes considered for mapping interpolation. - Minimum = 5. Default = 20. + splitkey + Key that controls how section IDs and contact element type IDs are + assigned to surfaces. - listopt - Type of items picked: + SPLIT - Assign a different section ID and contact element type ID for every general + surface of the selected base elements (default). See + Understanding FeatureANGLE for an explanation of the split + criteria. Different section IDs are assigned to top and + bottom surfaces of 2-D beam and 3-D shell bodies. This + allows different GCDEF specifications for different + portions of the assembly. - (blank) - No listing (default). + PART - Assign a different section ID and contact element type ID for every general + surface which covers a physical part. Compared to the SPLIT + option, this option produces fewer unique section IDs, which + can make it easier to specify interactions via GCDEF. + However, it may also result in a less accurate and/or less + efficient solution. - SOURCE - List the node coordinates and complex pressure values on the Fluent source side - during the solution. + selopt + Key that controls which base elements are considered for general + contact. - TARGET - List the node coordinates and complex pressure values on the mapped Mechanical - APDL target side during the solution. + ATTACH - Use a recursive adjacency selection to obtain complete physical parts, starting + from the selected base elements, before generating general + contact elements (default). - BOTH - List the node coordinates and complex pressure values on both the Fluent source - side and the mapped Mechanical APDL target side during the - solution. + SELECT - Use only the initially selected base elements to generate general contact + elements. Notes ----- - The FLUREAD command reads one-way Fluent-to-Mechanical APDL coupling - data from a .cgns file. The Fluent one-side fast Fourier transformation - (FFT) peak complex pressure values are mapped to the Mechanical APDL - structure model during the acoustic-structural solution at each FFT - frequency. - - The command can be used only for the model with the acoustic elements. - - To apply complex pressure to the structure model, define the SURF154 - surface element, then define the one-way coupling interface (SF,,FSIN) - on the element. - - You can define the solving frequency range via the HARFRQ command. The - solver selects the FFT frequencies between the beginning and ending - frequencies. The number of substeps is determined by the number of FFT - frequencies over the frequency range. The number of substeps defined - via the NSUBST command is overwritten. + GCGEN creates general contact elements on the exterior faces of + selected base elements. The base elements can be 2-D or 3-D solids, 2-D + beams (top and bottom), or 3-D shells (top and bottom). The contact + element types can be CONTA172, CONTA174, and/or CONTA177, depending + upon the types of base elements in the model and the specified GCGEN + options. General contact elements are identified by a real constant ID + equal to zero. - For better mapping performance, consider the following: + You can control contact interactions between specific general contact + surfaces that could potentially be in contact by using the GCDEF + command. See General Contact in the Contact Technology Guide for more + information on the overall procedure to create general contact. - Calculations for out-of-bound points require much more processing time - than do points that are within bounds. + Understanding FeatureANGLE - For each point in the structural destination mesh, the command searches - all possible triangles in the Fluent source mesh to find the best - triangle containing each point, then performs a linear interpolation - inside this triangle. For faster and more accurate results, consider - your interpolation method and search criteria carefully. (See LIMIT.) + The exterior facets of the selected base solid and shell elements are + divided into subsets based on the angle between the normals of + neighboring faces. On a flat or smooth surface, adjacent exterior + element faces have normals that are parallel or nearly parallel; that + is, the angle between the adjacent normals is near zero degrees. - It is possible to apply one-way coupling excitation to multiple - frequencies. The one-side FFT peak complex pressure values are - necessary to do so. + When the angle between the normals of two adjacent faces is greater + than FeatureANGLE, the two faces are considered to be on two separate + surfaces (SplitKey = SPLIT). The edge between the faces may be convex + or concave. A convex (or outside) edge is considered to be a feature + edge and may be affected by the EdgeKEY setting. For more information, + see Feature Angle (FeatureANGLE) in the Contact Technology Guide. """ - command = "FLUREAD, %s, %s, %s, %s, %s, %s" % (str(fname), str(ext), str(kdim), str(kout), str(limit), str(listopt)) + command = "GCGEN,%s,%s,%s,%s,%s" % (str(option), str(featureangle), str(edgekey), str(splitkey), str(selopt)) self.RunCommand(command, **kwargs) - def Mfiter(self, maxiter="", miniter="", target="", **kwargs): + def Spdamp(self, tblno="", curvno="", dampratio ="", **kwargs): """ - APDL Command: MFITER + APDL Command: SPDAMP - Sets the number of stagger iterations for an ANSYS Multi-field solver + Defines input spectrum damping in a multi-point response spectrum analysis. Parameters ---------- - maxiter - Maximum number of iterations. Defaults to 10. + tblno + Input table number. Corresponds to the frequency table number + (TBLNO on the SPFREQ command). - miniter - Minimum number of iterations. Defaults to 1. + curvno + Input curve number. Corresponds to the spectrum values curve number + (CURVNO on the SPVAL command). - target - Target number of iterations. Defaults to 5. + dampratio + Damping ratio for the response spectrum curve. Up to 20 different + curves may be defined, each with a different damping ratio. Damping + values must be input in ascending order. Notes ----- - The number of stagger iterations applies to each time step in an ANSYS - Multi-field solver analysis. MINITER and TARGET are valid only when - multi-field auto time stepping is on (MFDTIME). + Defines multi-point response spectrum damping value to be associated + with: - This command is also valid in PREP7. + Previously defined frequency points (SPFREQ). - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + Subsequently defined spectrum points (SPVAL). + + Damping values are used only to identify input spectrum values for the + mode coefficients calculation. + + The curve number must be input in ascending order starting with 1. + + This command is also valid in PREP7. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "MFITER, %s, %s, %s" % (str(maxiter), str(miniter), str(target)) + command = "SPDAMP,%s,%s,%s" % (str(tblno), str(curvno), str(dampratio )) self.RunCommand(command, **kwargs) - def Lina(self, nl="", na="", **kwargs): + def Lccat(self, nl1="", nl2="", **kwargs): """ - APDL Command: LINA + APDL Command: LCCAT - Finds the intersection of a line with an area. + Concatenates multiple lines into one line for mapped meshing. Parameters ---------- - nl - Number of line to be intersected. If NL = P, graphical picking is - enabled and all remaining command fields are ignored (valid only in - the GUI). - - na - Number of area to be intersected. + nl1, nl2 + Lines to be concatenated. If NL1 = ALL, NL2 is ignored and all + selected lines [LSEL] are concatenated. If NL1 = 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 NL1 (NL2 is ignored). Notes ----- - Finds the intersection of a line with an area. New lines will be - generated where the lines intersect the areas. If the regions of - intersection are only points, new keypoints will be generated instead. - See the Modeling and Meshing Guide for an illustration. See the BOPTN - command for the options available to Boolean operations. Element - attributes and solid model boundary conditions assigned to the original - entities will not be transferred to the new entities generated. + Concatenates multiple, adjacent lines (the input lines) into one line + (the output line) in preparation for mapped meshing. An area that + contains too many lines for mapped meshing can still be mapped meshed + if some of the lines in that area are first concatenated (see Meshing + Your Solid Model in the Modeling and Meshing Guide for details on + mapped meshing restrictions). + + LCCAT is meant to be used solely for meshing and cannot be used for any + other purposes. Specifically, (a) the output line and any areas that + have the output line on their line list [ALIST] cannot be used as input + to any other solid modeling operation (not even another LCCAT command); + and (b) the output line cannot accept solid model boundary conditions + [DL, SFL]. + + The output line will take on the element divisions of the input lines + and will not accept element divisions that are directly assigned + [LESIZE]. The output line from the LCCAT operation will be coincident + with the input lines and the input lines will be retained. Consider + the LCOMB command instead of LCCAT if you wish to delete the input + lines and if the lines to be combined have similar slopes at the common + keypoint(s). When an LCCAT command is issued, area line lists [ALIST] + that contain all of the input lines will be updated so that the area + line lists refer to the output line instead of the input lines. + Deletion of the output line [LDELE] effectively reverses the LCCAT + operation and restores area line lists to their original condition. + + You can use the LSEL command to select lines that were created by + concatenation, and then follow it with an LDELE,ALL command to delete + them. Also see Meshing Your Solid Model in the Modeling and Meshing + Guide for a discussion on how to easily select and delete concatenated + lines in one step. """ - command = "LINA, %s, %s" % (str(nl), str(na)) + command = "LCCAT,%s,%s" % (str(nl1), str(nl2)) self.RunCommand(command, **kwargs) - def Prcint(self, id="", node="", dtype="", **kwargs): + def Edndtsd(self, vect1="", vect2="", datap="", fitpt="", vect3="", + vect4="", disp="", **kwargs): """ - APDL Command: PRCINT + APDL Command: EDNDTSD - Lists the fracture parameter (CINT) results data. + Allows smoothing of noisy data for explicit dynamics analyses and + provides a graphical representation of the data. Parameters ---------- - id - Crack ID number. + vect1 + Name of the first vector that contains the noisy data set (i.e., + independent variable). You must create and fill this vector before + issuing EDNDTSD. - node - Crack tip node number. Default = ALL. Valid only for 3-D analysis. + vect2 + Name of the second vector that contains the dependent set of data. + Must be the same length as the first vector. You must create and + fill this vector before issuing EDNDTSD. - dtype - Data type to output: + datap + Number of data points to be fitted, starting from the beginning of + the vector. If left blank, the entire vector will be fitted. The + maximum number of data points is 100,000 (or greater, depending on + the memory of the computer). - JINT - J-integral + fitpt + Curve fitting order to be used as a smooth representation of the + data. This number should be less than or equal to the number of + data points. However, because high order polynomial curve fitting + can cause numerical difficulties, a polynomial order less than 7 is + suggested. The default (blank) is one-half the number of data + points or 7, which ever is less. The following values are + available: - IIN1 - Interaction integral 1 + 1 - Curve is the absolute average of all of the data points. - IIN2 - Interaction integral 2 + 2 - Curve is the least square average of all of the data points. - IIN3 - Interaction integral 3 + 3 or more - Curve is a polynomial of the order (n-1), where n is the number of data fitting + order points. - K1 - Mode 1 stress-intensity factor + vect3 + Name of the vector that contains the smoothed data of the + independent variable. This vector should have a length equal to or + greater than the number of smoothed data points. In batch (command) + mode, you must create this vector before issuing the EDNDTSD + command. In interactive mode, the GUI automatically creates this + vector (if it does not exist). If you do not specify a vector name, + the GUI will name the vector smth_ind. - K2 - Mode 2 stress-intensity factor + vect4 + Name of the vector that contains the smoothed data of the dependent + variable. This vector must be the same length as Vect3. In batch + (command) mode, you must create this vector before issuing the + EDNDTSD command. In interactive mode, the GUI automatically creates + this vector (if it does not exist). If you do not specify a vector + name, the GUI will name the vector smth_dep. - K3 - Mode 3 stress-intensity factor + disp + Specifies how you want to display data. No default; you must + specify an option. - G1 - Mode 1 energy release rate + 1 - Unsmoothed data only - G2 - Mode 2 energy release rate + 2 - Smoothed data only - G3 - Mode 3 energy release rate + 3 - Both smoothed and unsmoothed data - GT - Total energy release rate + Notes + ----- + You can control the attributes of the graph using standard ANSYS + controls (/GRID, /GTHK, /COLOR, etc.). If working interactively, these + controls appear in this dialog box for convenience, as well as in their + standard dialog boxes. You must always create Vect1 and Vect2 (using + *DIM) and fill these vectors before smoothing the data. If you're + working interactively, ANSYS automatically creates Vect3 and Vect4, but + if you're working in batch (command) mode, you must create Vect3 and + Vect4 (using *DIM) before issuing EDNDTSD. Vect3 and Vect4 are then + filled automatically by ANSYS. In addition, ANSYS creates an + additional TABLE type array that contains the smoothed array and the + unsmoothed data to allow for plotting later with *VPLOT. Column 1 in + this table corresponds to Vect1, column 2 to Vect2, and column 3 to + Vect4. This array is named Vect3_SMOOTH, up to a limit of 32 + characters. For example, if the array name is X1, the table name is + X1_SMOOTH. - MFTX - Total material force X + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - MFTY - Total material force Y + """ + command = "EDNDTSD,%s,%s,%s,%s,%s,%s,%s" % (str(vect1), str(vect2), str(datap), str(fitpt), str(vect3), str(vect4), str(disp)) + self.RunCommand(command, **kwargs) - MFTZ - Total material force Z + def Lsclear(self, lab="", **kwargs): + """ + APDL Command: LSCLEAR - TSTRESS - T-stress + Clears loads and load step options from the database. - CEXT - Crack extension + Parameters + ---------- + lab + Label identifying the data to be cleared: - CSTAR - C*-integral + SOLID - Delete only solid model loads. - STTMAX - Maximum circumferential stress + FE - Delete only finite element loads. - PSMAX - Maximum circumferential stress when + INER - Delete only inertia loads (ACEL, etc.). - Notes - ----- - When a crack tip node is defined, the values associated with the - specified node are listed. + LFACT - Initialize only load factors (on DCUM, FCUM, SFCUM, etc.). - Dtype = STTMAX or PSMAX are valid for XFEM-based crack growth analyses - only. + LSOPT - Initialize only load step options. - In an XFEM-based analysis, issue the command using this syntax: + ALL - Delete all loads and initialize all load step options and load factors. - PRCINT, ID, , STTMAX (or PSMAX) + Notes + ----- + Loads are deleted, and load step options are initialized to their + default values. + + This command is also valid in PREP7. """ - command = "PRCINT, %s, %s, %s" % (str(id), str(node), str(dtype)) + command = "LSCLEAR,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Psdgraph(self, tblno1="", tblno2="", **kwargs): + def Cpdele(self, nset1="", nset2="", ninc="", nsel="", **kwargs): """ - APDL Command: PSDGRAPH + APDL Command: CPDELE - Displays input PSD curves + Deletes coupled degree of freedom sets. Parameters ---------- - tblno1 - PSD table number to display. + nset1, nset2, ninc + Delete coupled sets from NSET1 to NSET2 (defaults to NSET1) in + steps of NINC (defaults to 1). If NSET1 = ALL, NSET2 and NINC are + ignored and all coupled sets are deleted. - tblno2 - Second PSD table number to display. TBLNO2 is used only in - conjunction with the COVAL or the QDVAL commands. + nsel + Additional node selection control: - Notes - ----- - The input PSD tables are displayed in log-log format as dotted lines. - The best-fit curves, used to perform the closed-form integration, are - displayed as solid lines. If there is a significant discrepancy between - the two, then you should add one or more intermediate points to the - table to obtain a better fit. + ANY - Delete coupled set if any of the selected nodes are in the set (default). - If TBLNO2 is zero, blank, or equal to TBLNO1, then the autospectra - (PSDVAL) are displayed for TBLNO1. If TBLNO2 is also specified, then - the autospectra for TBLNO1 and TBLNO2 are displayed, along with the - corresponding cospectra (COVAL) and quadspectra (QDVAL), if they are - defined. + ALL - Delete coupled set only if all of the selected nodes are in the set. - This command is valid in any processor. + Notes + ----- + See the CP command for a method to delete individual nodes from a set. """ - command = "PSDGRAPH, %s, %s" % (str(tblno1), str(tblno2)) + command = "CPDELE,%s,%s,%s,%s" % (str(nset1), str(nset2), str(ninc), str(nsel)) self.RunCommand(command, **kwargs) - def Pcgopt(self, lev_diff ="", reduceio="", strmck="", wrtfull="", - memory="", lm_key="", **kwargs): + def Edgcale(self, nadv="", meth="", **kwargs): """ - APDL Command: PCGOPT + APDL Command: EDGCALE - Controls PCG solver options. + Defines global ALE controls for an explicit dynamic analysis. Parameters ---------- - lev_diff - Indicates the level of difficulty of the analysis. Valid settings - are AUTO or 0 (default), 1, 2, 3, 4, or 5. This option applies to - both the PCG solver when used in static and full transient analyses - and to the PCG Lanczos method in modal analyses. Use AUTO to let - ANSYS automatically choose the proper level of difficulty for the - model. Lower values (1 or 2) generally provide the best performance - for well-conditioned problems. Values of 3 or 4 generally provide - the best performance for ill-conditioned problems; however, higher - values may increase the solution time for well-conditioned - problems. Higher level-of-difficulty values typically require more - memory. Using the highest value of 5 essentially performs a - factorization of the global matrix (similar to the sparse solver) - and may require a very large amount of memory. If necessary, use - Memory to reduce the memory usage when using Lev_Diff = 5. - Lev_Diff = 5 is generally recommended for small- to medium-sized - problems when using the PCG Lanczos mode extraction method. - - -- - Unused field. - - reduceio - Controls whether the PCG solver will attempt to reduce I/O - performed during equation solution: - - AUTO - Automatically chooses whether to reduce I/O or not (default). - - YES - Reduces I/O performed during equation solution in order to reduce total solver - time. - - NO - Does NOT reduce I/O performed during equation solution. + nadv + Number of cycles between advection (default = 0). - strmck - Controls whether or not a Sturm sequence check is performed: + meth + Advection method. - OFF - Does NOT perform Sturm sequence check (default). + 0 - Donor cell + Half Index Shift (first order accurate) (default). - ON - Performs Sturm sequence check + 1 - Van Leer + Half Index Shift (second order accurate). - wrtfull - Controls whether or not the .FULL file is written. + Notes + ----- + This command sets global ALE controls in an explicit dynamic analysis. + These ALE controls apply to all PLANE162 or SOLID164 elements in the + model that are flagged to use the ALE formulation (KEYOPT(5) = 1). To + activate the ALE formulation, you must specify the number of cycles + between advection on this command and at least one smoothing weight + factor on the EDALE command. See Arbitrary Lagrangian-Eulerian + Formulation in the ANSYS LS-DYNA User's Guide for more information. - ON - Write .FULL file (default) + To see the current EDGCALE settings, issue the command EDALE,LIST. - OFF - Do not write .FULL file. + The EDGCALE command is also valid in PREP7. - memory - Controls whether to run using in-core or out-of-core mode when - using Lev_Diff = 5. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - AUTO - Automatically chooses which mode to use (default). + """ + command = "EDGCALE,%s,%s" % (str(nadv), str(meth)) + self.RunCommand(command, **kwargs) - INCORE - Run using in-core mode. + def Psdspl(self, tblno="", rmin="", rmax="", **kwargs): + """ + APDL Command: PSDSPL - OOC - Run using out-of-core mode. + Defines a partially correlated excitation in a PSD analysis. - lm_key - Controls use of the PCG solver for MPC184 Lagrange multiplier - method elements. This option applies only to the PCG solver when - used in static and full transient analyses. + Parameters + ---------- + tblno + Input PSD table number defined with PSDVAL command. - OFF - Do not use the PCG solver for the MPC184 Lagrange multiplier method (default). + rmin + Minimum distance between excitation points which are partially + correlated. Excited nodes closer than RMIN will be fully + correlated. - ON - Allow use of the PCG solver for the MPC184 Lagrange multiplier method. + rmax + Maximum distance between excitation points which are partially + correlated. Excited nodes farther apart than RMAX will be + uncorrelated. Notes ----- - ReduceIO works independently of the MSAVE command in the PCG solver. - Setting ReduceIO to YES can significantly increase the memory usage in - the PCG solver. - - To minimize the memory used by the PCG solver with respect to the - Lev_Diff option only, set Lev_Diff = 1 if you do not have sufficient - memory to run the PCG solver with Lev_Diff = AUTO. - - The MSAVE,ON command is not valid when using Lev_Diff = 5. In this - case, the Lev_Diff value will automatically be reset to 2. The - MSAVE,ON command is also not valid with the StrmCk option. In this - case, StrmCk will be set to OFF. + Defines a partially correlated excitation in terms of a sphere of + influence relating excitation point geometry (in a PSD analysis). If + the distance between any two excitation points is less than RMIN, then + the excitation is fully correlated. If the distance is greater than + RMAX, then the excitation is uncorrelated. If the distance lies + between RMIN and RMAX, then the excitation is partially correlated with + the degree of correlation dependent on the separation distance between + the points. This command is not available for a pressure PSD analysis. - Distributed ANSYS Restriction: The Memory option and the LM_Key option - are not supported in Distributed ANSYS. + This command is also valid in PREP7. """ - command = "PCGOPT, %s, %s, %s, %s, %s, %s" % (str(lev_diff ), str(reduceio), str(strmck), str(wrtfull), str(memory), str(lm_key)) + command = "PSDSPL,%s,%s,%s" % (str(tblno), str(rmin), str(rmax)) self.RunCommand(command, **kwargs) - def Edstart(self, restart="", memory="", fsize="", dumpfile="", **kwargs): + def Lcoper(self, oper="", lc_ase1="", oper2="", lc_ase2="", **kwargs): """ - APDL Command: EDSTART + APDL Command: LCOPER - Specifies status (new or restart) of an explicit dynamics analysis. + Performs load case operations. Parameters ---------- - restart - Status of the analysis (new or restart). + oper + Valid operations are: - 0 - New analysis (default). + ZERO - Zero results portion of database (LCASE1 ignored). + + SQUA - Square database values (LCASE1 ignored). + + SQRT - Square root of database (absolute) values (LCASE1 ignored). + + LPRIN - Recalculate line element principal stresses (LCASE1 ignored). Stresses are as + shown for the NMISC items of the ETABLE command for the + specific line element type. + + ADD - Add LCASE1 to database values. + + SUB - Subtract LCASE1 from database values. + + SRSS - Square root of the sum of the squares of database and LCASE1. + + MIN - Compare and save in database the algebraic minimum of database and LCASE1. + + MAX - Compare and save in database the algebraic maximum of database and LCASE1. + + ABMN - Compare and save in database the absolute minimum of database and LCASE1 (based + on magnitudes, then apply the corresponding sign). - 1 - Simple restart. + ABMX - Compare and save in database the absolute maximum of database and LCASE1 (based + on magnitudes, then apply the corresponding sign). - 2 - Small restart. + lcase1 + First load case in the operation (if any). See LCNO of the LCDEF + command. If ALL, repeat operations using all selected load cases + [LCSEL]. - 3 - Full restart. + oper2 + Valid operations are: - memory - Memory to be used (in words). If blank, LS-DYNA assigns a value - (default). If more or less memory is needed, specify the number of - words (a word is usually 32 bits on a workstation). + MULT - Multiplication: LCASE1*LCASE2 - fsize - Scale factor for binary file sizes. Defaults to 7, which is - (7x262144) = 1835008 words. + CPXMAX - This option does a phase angle sweep to calculate the maximum of derived + stresses and equivalent strain for a complex solution + where LCASE1 is the real part and LCASE2 is the imaginary + part. The Oper field is not applicable with this option. + Also, the LCABS and SUMTYPE commands have no effect on + this option. The value of S3 will be a minimum. This + option does not apply to derived displacement amplitude + (USUM). Load case writing (LCWRITE) is not supported. See + POST1 and POST26 – Complex Results Postprocessing in the + Mechanical APDL Theory Reference for more information. - dumpfile - Name of dump file to use during a restart (for example, d3dumpnn, - where nn = 01, 02, 03,...,99 and defaults to 01). Leave this field - blank when running a new analysis (RESTART = 0) so that the default - dump file d3dump01 will be created. + lcase2 + Second load case. Used only with Oper2 operations. Notes ----- - EDSTART can be issued before the SOLVE command to specify a new - analysis, a simple restart, a small restart, or a full restart as - described below. - - New analysis: For a new analysis, you do not need to issue EDSTART - unless you want to change the MEMORY or FSIZE option. If you do not - specify the dump file name, d3dump01 will be created by default. - - Simple restart: This option assumes that the database has not been - altered. Upon restarting, results will be appended to the existing - results files. Issue EDSTART,1,,,d3dumpnn to indicate which restart - file to use as a starting point. The dump file to be used must have - been created in an earlier run and must be available at the time this - command is issued. You would typically use a simple restart when you - interrupt the LS-DYNA run via Ctrl+C and terminate the run prematurely - by issuing the "sense switch control" key SW1 (see Solution Control and - Monitoring in the ANSYS LS-DYNA User's Guide). At this point you should - be able to view the partial solution using ANSYS postprocessors. After - you are done viewing the partial solution, you can reenter the solution - processor and issue EDSTART,1,,,d3dumpnn, followed by SOLVE to continue - with the analysis. The results will be appended to the results files - Jobname.RST and Jobname.HIS. You can perform multiple simple restarts - by issuing EDSTART,1,,,d3dumpnn multiple times, as needed. The - solutions in the Jobname.RST file will all be in load step number 1. + LCOPER operates on the database and one or two load cases according to: - Small restart: This option can be used when minor changes in the - database are necessary. For example, you can reset the termination - time, reset the output interval, add displacement constraints, change - initial velocities, switch parts from a deformable to rigid state, etc. - (See A Small Restart in theANSYS LS-DYNA User's Guide for a complete - description of database items that can be changed.) Issue - EDSTART,2,,,d3dumpnn followed by the commands required to change the - database, then issue SOLVE. The results will be appended to the results - files Jobname.RST and Jobname.HIS. You can perform multiple restarts by - issuing EDSTART,2,,,d3dumpnn multiple times, as needed. The additional - restart solutions will be stored in Jobname.RST as load step numbers 2, - 3, etc. + Database = Database Oper (LCASE1 Oper2 LCASE2) - Full restart: A full restart is appropriate when many modifications to - the database are required. For example, you can change the model - geometry, apply different loading conditions, etc. Issue - EDSTART,3,,,d3dumpnn to denote a full restart analysis. The Jobname - will automatically be changed to Jobname_nn, (nn = 01 initially, and - will be incremented each time EDSTART,3 is issued for subsequent full - restarts). After the EDSTART command, you can input any commands needed - to change the database. (Most commands which are applicable to an ANSYS - LS-DYNA new analysis are also applicable to full restart analysis. A - few commands related to contact specifications, initial velocity - definitions, and adaptive meshing are not supported.) Then issue the - EDIS command to specify which portions of the model should be - initialized in the full restart using results data from the d3dumpnn - file. Finally, issue the SOLVE command. At this point, new results - files, Jobname_nn.RST and Jobname_nn.HIS, will be created. Time and - output intervals in the new results files are continuous from the - previous results files; the time is not reset to zero. (See A Full - Restart in the ANSYS LS-DYNA User's Guide for a complete description of - a full restart analysis.) + where operations Oper and Oper2 are as described above. Absolute + values and scale factors may be applied to the load cases before the + operations [LCABS, LCFACT]. If LCASE1 is not specified, only operation + Oper is performed on the current database. If LCASE2 is specified, + operation Oper2 will be performed before operation Oper. If LCASE2 is + not specified, operation Oper2 is ignored. Solution items not + contained [OUTRES] in either the database or the applicable load cases + will result in a null item during a load case operation. Harmonic + element data read from a result file load case are processed at zero + degrees. All load case combinations are performed in the solution + coordinate system, and the data resulting from load case combinations + are stored in the solution coordinate system. The resultant data are + then transformed to the active results coordinate system [RSYS] when + listed or displayed. Except in the cases of Oper = LPRIN, ADD, or SUB, + you must use RSYS,SOLU to list or display, and in the case of layered + elements, the layer (LAYER) must also be specified. - This command is also valid in PREP7. + Use the FORCE command prior to any combination operation to correctly + combine the requested force type. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + If Oper2=CPXMAX, the derived stresses and strain calculation do not + apply to line elements. """ - command = "EDSTART, %s, %s, %s, %s" % (str(restart), str(memory), str(fsize), str(dumpfile)) + command = "LCOPER,%s,%s,%s,%s" % (str(oper), str(lc_ase1), str(oper2), str(lc_ase2)) self.RunCommand(command, **kwargs) - def Edclist(self, num="", **kwargs): + def Vsum(self, lab="", **kwargs): """ - APDL Command: EDCLIST + APDL Command: VSUM - Lists contact entity specifications in an explicit dynamics analysis. + Calculates and prints geometry statistics of the selected volumes. Parameters ---------- - num - Number identifying contact entity to be listed. Use NUM = ALL to - list all contact entities (ALL is the default). + lab + Controls the degree of tessellation used in the calculation of area + properties. If LAB = DEFAULT, area calculations will use the + degree of tessellation set through the /FACET command. If LAB = + FINE, area calculations are based on a finer tessellation. Notes ----- - Lists contact entity specifications previously defined with the EDCGEN - command. The listing will include any contact parameters defined using - the EDCMORE command. + Calculates and prints geometry statistics (volume, centroid location, + moments of inertia, etc.) associated with the selected volumes. + Geometry items are reported in the global Cartesian coordinate system. + A unit density is assumed unless the volumes have a material + association via the VATT command. Items calculated by VSUM and later + retrieved by a *GET or *VGET command are valid only if the model is not + modified after the VSUM command is issued. - This command is also valid in SOLUTION. + Setting a finer degree of tessellation will provide area calculations + with greater accuracy, especially for thin, hollow models. However, + using a finer degree of tessellation requires longer processing. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + For very thin volumes, such that the ratio of the minimum to the + maximum dimension is less than 0.01, the VSUM command can provide + erroneous volume information. To ensure that such calculations are + accurate, make certain that you subdivide such volumes so that the + ratio of the minimum to the maximum is at least 0.05. """ - command = "EDCLIST, %s" % (str(num)) + command = "VSUM,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Secnum(self, secid="", **kwargs): + def Dv3d(self, lab="", key="", **kwargs): """ - APDL Command: SECNUM + APDL Command: /DV3D - Sets the element section attribute pointer. + Sets 3-D device option modes. Parameters ---------- - secid - Defines the section ID number to be assigned to the subsequently- - defined elements. Defaults to 1. See SECTYPE for more information - about the section ID number. + lab + Mode label: - """ - command = "SECNUM, %s" % (str(secid)) - self.RunCommand(command, **kwargs) + ACCU - Allows ANSYS to use the accumulation buffer for OpenGL graphics. Activating + this feature will provide faster model rotation when shaded + backgrounds are in use. This feature is off by default. - def Kfill(self, np1="", np2="", nfill="", nstrt="", ninc="", space="", - **kwargs): - """ - APDL Command: KFILL + ACTR - Label term to designate the cursor position as the center for automatic dynamic + rotational center capability. The subsequent Key value (see + below) turns this capability on and off. This feature is on + by default. (Available for OpenGL displays only) - Generates keypoints between two keypoints. + ANIM - Animation mode. The ANIM option allows you to create animation frames in + pixmap mode instead of display list mode. This may improve + large model performance, but it eliminates local + manipulation while animation is in progress. This feature is + on by default. - Parameters - ---------- - np1, np2 - Beginning and ending keypoints for fill-in. NP1 defaults to next - to last keypoint specified, NP2 defaults to last keypoint - specified. If NP1 = P, graphical picking is enabled and all - remaining command fields are ignored (valid only in the GUI). + ANTI - Label term to control Anti-aliasing, a smoothing technique for your graph + plots. (see below) The subsequent Key value turns this + capability on and off. The default for this feature is off. + (Available for OpenGL displays only). - nfill - Fill NFILL keypoints between NP1 and NP2 (defaults to |NP2-NP1|-1). - NFILL must be positive. + CNTR - Switches banded contours on (1) or off (0) for your 3–D contour display. The + default is 1 (ON). Other contour parameters such as number + of contours or the increment and range are defined using the + /CONTOUR command. When either 9 or 128 contours are + specified via /CONTOUR, this command is ignored and a smooth + contour is always displayed. - nstrt - Keypoint number assigned to first filled-in keypoint (defaults to - NP1 + NINC). + DGEN - Local manipulation degenerate mode. You access the DGEN option to set wire- + frame local manipulation mode for 3-D devices (device + dependent). This feature is off by default. - ninc - Add this increment to each of the remaining filled-in keypoint - numbers (may be positive or negative). Defaults to - (NP2-NP1)/(NFILL + 1), i.e., linear interpolation. + DLIST - With DLIST, you can specify whether screen updates and redraws will be + performed using the ANSYS Display List (off), or the 3-D + device's Display List (on). DLIST is on by default for + Windows systems, but off for Linux. - space - Spacing ratio. Ratio of last division size to first division size. - If > 1.0, divisions increase. If < 1.0, divisions decrease. Ratio - defaults to 1.0 (uniform spacing). + DELS - You use DELS to suppress contour display screen overwrites when /NOERASE is + active. This prevents the bleed-through that occurs when you + overlay contour plots. + + TRIS - Triangle strip mode. Tri-stripping provides faster 3-D display capabilities and + is on by default. Some display enhancements, such as + texturing, are adversely affected by tri-stripping. You can + turn off tri-stripping in order to improve these display + functions. Be sure to turn tri-stripping on after the + desired output is obtained. + + key + The following key options apply to Lab = ACCU: + + 0 - (OFF) The accumulation buffer is not accessed. (default) + + 1 - (ON) Access to the buffer is enabled. Notes ----- - Generates keypoints (in the active coordinate system) between two - existing keypoints. The two keypoints may have been defined in any - coordinate system. However, solid modeling in a toroidal coordinate - system is not recommended. Any number of keypoints may be filled in - and any keypoint numbering sequence may be assigned. + ANSYS uses display list animation for its 3-D models. This memory + resident array method interfaces with the OpenGL model information to + allow the program to efficiently pan, zoom, rotate and dynamically + manipulate your model during animation. The logo, legend, contour and + other annotation items are produced in 2-D and will not appear when + /DV3D, ANIM, 0 is in effect. To display these items, use /DV3D, ANIM, + 1. All screen data will be displayed, but manipulation of the model + will not be possible. """ - command = "KFILL, %s, %s, %s, %s, %s, %s" % (str(np1), str(np2), str(nfill), str(nstrt), str(ninc), str(space)) + command = "/DV3D,%s,%s" % (str(lab), str(key)) self.RunCommand(command, **kwargs) - def Mater(self, **kwargs): + def Outopt(self, **kwargs): """ - APDL Command: MATER + APDL Command: OUTOPT - Specifies "Material properties" as the subsequent status topic. + Specifies "Output options" as the subsequent status topic. Notes ----- @@ -57074,1671 +57467,1562 @@ def Mater(self, **kwargs): immediately follow this command. """ - command = "MATER, " % () + command = "OUTOPT," % () self.RunCommand(command, **kwargs) - def Psdfrq(self, tblno1="", tblno2="", freq1="", freq2="", freq3="", - freq4="", freq5="", freq6="", freq7="", **kwargs): + def Mstart(self, label="", key="", **kwargs): """ - APDL Command: PSDFRQ + APDL Command: /MSTART - Defines the frequency points for the input spectrum tables PSDVAL vs. - PSDFRQ for PSD analysis. + Controls the initial GUI components. Parameters ---------- - tblno1 - Input table number. When used with the COVAL or the QDVAL command, - TBLNO1 represents the row number of this table. Up to 200 tables - may be defined. + label + Label identifying the GUI component: - tblno2 - Input table number. TBLNO2 is used only for the COVAL or the QDVAL - commands and represents the column number of this table. + ZOOM - Pan, Zoom, Rotate dialog box, off by default. - freq1, freq2, freq3, . . . , freq7 - Frequency points (cycles/time) for spectrum vs. frequency tables. - FREQ1 should be greater than zero, and values must be in ascending - order. Log-log interpolation will be used between frequency - points. + WORK - Offset Working Plane dialog box, off by default. - Notes - ----- - The spectrum values may be input with the PSDVAL, COVAL , or QDVAL - commands. A separate PSDFRQ command must be used for each table and - cross table defined. Frequencies must be in ascending order. + WPSET - Working Plane Settings dialog box, off by default. - Repeat PSDFRQ command for additional frequency points. Values are - added after the last nonzero frequency. If all fields after PSDFRQ are - blank, all input vs. frequency tables are erased. If TBLNO1 is - nonblank, all corresponding PSDVAL tables are erased. If both TBLNO1 - and TBLNO2 are nonblank, all corresponding COVAL and QDVAL tables are - erased. + ABBR - Edit Toolbar/Abbreviations dialog box, off by default. - This command is also valid in PREP7. + PARM - Scalar Parameters dialog box, off by default. - """ - command = "PSDFRQ, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(tblno1), str(tblno2), str(freq1), str(freq2), str(freq3), str(freq4), str(freq5), str(freq6), str(freq7)) - self.RunCommand(command, **kwargs) + SELE - Select Entities dialog box, off by default. - def Edhtime(self, nstep="", dt="", **kwargs): - """ - APDL Command: EDHTIME + ANNO - Annotation dialog box, off by default. - Specifies the time-history output interval for an explicit dynamics - analysis. + HARD - Hard Copy dialog box, off by default. - Parameters - ---------- - nstep - Number of steps at which output is written to the time-history - file, Jobname.HIS, and the ASCII output files. Defaults to 1000. - The time increment between output is TIME / NSTEP, where TIME is - the analysis end-time specified on the TIME command. + UTIL - Turns on the pre-ANSYS 6.1 (UIDL) GUI, off by default. - dt - Time interval at which output is written to the time-history file, - Jobname.HIS, and the ASCII output files. If NSTEP is input, DT is - ignored. + key + Switch value: - Notes - ----- - EDHTIME controls the number of steps at which output will be written to - the time-history file, Jobname.HIS (see the EDHIST command), and any - ASCII files requested on the EDOUT command. You can use NSTEP or DT to - specify the output interval. You should not specify both quantities; if - both are input, NSTEP will be used. + OFF or 0 - Component does not appear when GUI is initialized. - In an explicit dynamic small restart (EDSTART,2) or full restart - analysis (EDSTART,3), the EDHTIME setting will default to the NSTEP or - DT value used in the original analysis. You can issue EDHTIME in the - restart to change this setting. + ON or 1 - Component appears when GUI is initialized. - This command is also valid in PREP7. + Notes + ----- + Controls which components appear when the Graphical User Interface + (GUI) is initially brought up. This command is valid only before the + GUI is brought up [/MENU,ON] and is intended to be used in the + start162.ans file. It only affects how the GUI is initialized; you can + always bring up or close any component once you are in the GUI. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid only at the Begin Level. """ - command = "EDHTIME, %s, %s" % (str(nstep), str(dt)) + command = "/MSTART,%s,%s" % (str(label), str(key)) self.RunCommand(command, **kwargs) - def Kcalc(self, kplan="", mat="", kcsym="", klocpr="", **kwargs): + def Fsplot(self, nloc="", nev="", item="", **kwargs): """ - APDL Command: KCALC + APDL Command: FSPLOT - Calculates stress intensity factors in fracture mechanics analyses. + Displays a fatigue stress item for a fatigue location and event. Parameters ---------- - kplan - Key to indicate stress state for calculation of stress intensity - factors: - - 0 - Plane strain and axisymmetric condition (default). - - 1 - Plane stress condition. - - mat - Material number used in the extrapolation (defaults to 1). - - kcsym - Symmetry key: + nloc + Display stresses associated with location NLOC. - 0 or 1  - Half-crack model with symmetry boundary conditions [DSYM] in the crack-tip - coordinate system. KII = KIII = 0. Three nodes are - required on the path. + nev + Display stresses associated with event NEV. - 2 - Like 1 except with antisymmetric boundary conditions (KI = 0). + item + Display stresses associated with item number ITEM. Items are as + follows: - 3 - Full-crack model (both faces). Five nodes are required on the path (one at the - tip and two on each face). + 1-6 - SX, SY, SZ, SXY, SYZ, SXZ total stress components - klocpr - Local displacements print key: + 7 - Temperature - 0 - Do not print local crack-tip displacements. + 8-13 - SX, SY, SZ, SXY, SYZ, SXZ membrane-plus-bending stress components. - 1 - Print local displacements used in the extrapolation technique. + 14 - Time Notes ----- - Calculates the stress intensity factors (KI, KII, and KIII) associated - with homogeneous isotropic linear elastic fracture mechanics. A - displacement extrapolation method is used in the calculation (see POST1 - - Crack Analysis in the Mechanical APDL Theory Reference). This method - assumes that the displacement calculations are for the plane strain - state. If the displacement calculations are performed using a plane - stress formulation, the calculation of the stress intensity factors can - be converted to the plane strain state by using KPLAN = 1. ANSYS Uses - minor Poisson's ratio (MP,NUXY) for the stress intensity factor - calculation, therefore the material's Poisson's ratio must be defined - using MP,NUXY command. The PATH and PPATH commands must be used to - define a path with the crack face nodes (NODE1 at the crack tip, NODE2 - and NODE3 on one face, NODE4 and NODE5 on the other (optional) face). - A crack-tip coordinate system, having x parallel to the crack face (and - perpendicular to the crack front) and y perpendicular to the crack - face, must be the active RSYS and CSYS before KCALC is issued. + Displays a fatigue stress item as a function of loading number for a + particular fatigue location and event. """ - command = "KCALC, %s, %s, %s, %s" % (str(kplan), str(mat), str(kcsym), str(klocpr)) + command = "FSPLOT,%s,%s,%s" % (str(nloc), str(nev), str(item)) self.RunCommand(command, **kwargs) - def Cecyc(self, lowname="", highname="", nsector="", hindex="", - tolerance="", kmove="", kpairs="", **kwargs): + def Keep(self, key="", **kwargs): """ - APDL Command: CECYC + APDL Command: KEEP - Generates the constraint equations for a cyclic symmetry analysis + Stores POST26 definitions and data during active session. Parameters ---------- - lowname - Name of a component for the nodes on the low angle edge of the - sector. Enclosed in single quotes. - - highname - Name of a component for the nodes on the high angle edge of the - sector. Enclosed in single quotes. - - nsector - Number of sectors in the complete 360 degrees. - - hindex - Harmonic index to be represented by this set of constraint - equations. If Hindex is -1, generate constraint equations for - static cyclic symmetry. If HIndex is -2, generate constraint - equations for static cyclic asymmetry. - - tolerance - A positive tolerance is an absolute tolerance (length units), and a - negative tolerance is a tolerance relative to the local element - size. - - kmove - 0 - - 0 - Nodes are not moved. - - 1 - HIGHNAME component nodes are moved to match LOWNAME component nodes exactly. - - kpairs - 0 + key + State or value - 0 - Do not print paired nodes + On or 1  - Allows you to exit and reenter /POST26 without losing your current time history + variable information. Keeps a cache of the /POST26 + variable information including the active file name + (FILE), variable definitions (NSOL, ESOL, GAPF, RFORCE, + SOLU, and EDREAD) and stored variable data in memory for + the current ANSYS session. - 1 - Print table of paired nodes + Off or 0  - /POST26 variable information is deleted when you exit /POST26. Notes ----- - The analysis can be either modal cyclic symmetry or static cyclic - symmetry. + Your variable information is saved in memory only for the current + active ANSYS session. It is deleted when you exit ANSYS. This + information is also deleted when you issue /CLEAR, RESUME, SOLVE, or + RESET. - The pair of nodes for which constraint equations are written are - rotated into CSYS,1. + When you reenter /POST26 all time history variable data is available + for use. When you issue STORE,NEW, variable definitions created by math + operations such as ADD or PROD will not be restored. However, variables + defined with NSOL, ESOL, GAPF, RFORCE, SOLU, and EDREAD will be + restored. Only the last active results file name is kept in memory + (FILE). + + Commands such as LAYERP26, SHELL, and FORCE that specify the location + or a component of data to be stored will retain the setting at the time + of exiting /POST26 . """ - command = "CECYC, %s, %s, %s, %s, %s, %s, %s" % (str(lowname), str(highname), str(nsector), str(hindex), str(tolerance), str(kmove), str(kpairs)) + command = "KEEP,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Vgen(self, itime="", nv1="", nv2="", ninc="", dx="", dy="", dz="", - kinc="", noelem="", imove="", **kwargs): + def Tbmodif(self, row="", col="", value="", **kwargs): """ - APDL Command: VGEN + APDL Command: TBMODIF - Generates additional volumes from a pattern of volumes. + Modifies data for the material data table (GUI). Parameters ---------- - itime - Do this generation operation a total of ITIMEs, incrementing all - keypoints in the given pattern automatically (or by KINC) each time - after the first. ITIME must be > 1 for generation to occur. + row, col + The row and column numbers of the table entry to be modified. - nv1, nv2, ninc - Generate volumes from pattern beginning with NV1 to NV2 (defaults - to NV1) in steps of NINC (defaults to 1). If NV1 = ALL, NV2 and - NINC are ignored and the pattern is all selected volumes [VSEL]. - If NV1 = 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 NV1 (NV2 and NINC are ignored). + value + The new value to be used in the ROW, COL location. - dx, dy, dz - Keypoint location increments in the active coordinate system (--, - Dθ, DZ for cylindrical, --, Dθ, -- for spherical). + Notes + ----- + The TBMODIF command modifies data for the table specified on the last + TB command. - kinc - Keypoint increment between generated sets. If zero, the lowest - available keypoint numbers are assigned [NUMSTR]. + For temperature-dependent data, the temperature specified on the last + TBTEMP command is used. - noelem - Specifies if elements and nodes are also to be generated: + TBMODIF is a command generated by the Graphical User Interface (GUI). + It appears in the log file (Jobname.LOG) if a TB material data table is + graphically edited in spreadsheet fashion. + + The TBMODIF command is not intended to be typed in directly during an + analysis session (although it can be included in an input file for + batch input or for use with the /INPUT command). - 0 - Generate nodes and elements associated with the original volumes, if they - exist. + This command is also valid in SOLUTION. - 1 - Do not generate nodes and elements. + """ + command = "TBMODIF,%s,%s,%s" % (str(row), str(col), str(value)) + self.RunCommand(command, **kwargs) - imove - Specifies whether to redefine the existing volumes: + def Nstore(self, tinc="", **kwargs): + """ + APDL Command: NSTORE - 0 - Generate additional volumes as requested with the ITIME argument. + Defines which time points are to be stored. - 1 - Move original volumes to new position retaining the same keypoint line, and - area numbers (ITIME, KINC, and NOELEM are ignored). - Corresponding meshed items are also moved if not needed at - their original position. + Parameters + ---------- + tinc + Store data associated with every TINC time (or frequency) point(s), + within the previously defined range of TMIN to TMAX [TIMERANGE]. + (Defaults to 1) Notes ----- - Generates additional volumes (and their corresponding keypoints, lines, - areas and mesh) from a given volume pattern. The MAT, TYPE, REAL, and - ESYS attributes are based upon the volumes in the pattern and not upon - the current settings of the pointers. End slopes of the generated - lines remain the same (in the active coordinate system) as those of the - given pattern. For example, radial slopes remain radial, etc. - Generations which produce volumes of a size or shape different from the - pattern (i.e., radial generations in cylindrical systems, radial and - phi generations in spherical systems, and theta generations in - elliptical systems) are not allowed. Note that solid modeling in a - toroidal coordinate system is not recommended. Volume, area, and line - numbers are automatically assigned (beginning with the lowest available - values [NUMSTR]). + Defines which time (or frequency) points within the range are to be + stored. """ - command = "VGEN, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(itime), str(nv1), str(nv2), str(ninc), str(dx), str(dy), str(dz), str(kinc), str(noelem), str(imove)) + command = "NSTORE,%s" % (str(tinc)) self.RunCommand(command, **kwargs) - def Rstmac(self, file1="", lstep1="", sbstep1="", file2="", lstep2="", - sbstep2="", tolern="", maclim="", cname="", keyprint="", - unvscale="", keym_ass="", **kwargs): + def Vsel(self, type="", item="", comp="", vmin="", vmax="", vinc="", + kswp="", **kwargs): """ - APDL Command: RSTMAC + APDL Command: VSEL - Calculates modal assurance criterion (MAC) and matches nodal solutions - from two results files or from one results file and one universal - format file. + Selects a subset of volumes. Parameters ---------- - file1 - File name (32 characters maximum) corresponding to the first - results file (.rst or .rstp file). If the file name does not - contain the extension, it defaults to .rst. - - lstep1 - Load step number of the results to be read in File1. - - N - Reads load step N. Defaults to 1. - - sbstep1 - Substep number of the results to be read in File1. + type + Label identifying the type of volume select: - N - Reads substep N. + S - Select a new set (default). - All - Reads all substeps. This value is the default. + R - Reselect a set from the current set. - file2 - File name (32 characters maximum) corresponding to the second file - (.rst, .rstp, or .unv file). If the file name does not contain the - extension, it defaults to .rst. + A - Additionally select a set and extend the current set. - lstep2 - Load step number of the results to be read in File2. + U - Unselect a set from the current set. - N - Reads load step N. Defaults to 1. + ALL - Restore the full set. - sbstep2 - Substep number of the results to be read in File2. + NONE - Unselect the full set. - N - Reads substep N. + INVE - Invert the current set (selected becomes unselected and vice versa). - All - Reads all substeps. This value is the default. + STAT - Display the current select status. - tolern - Tolerance for nodes matching. If TolerN = -1, the nodes on File2 - are mapped into the selected elements of File1. If TolerN is - positive, the selected nodes of File1 are matched to the nodes of - File2. The default value is 0.01. + Notes + ----- + Selects volumes based on values of a labeled item and component. For + example, to select a new set of volumes based on volume numbers 1 + through 7, use VSEL,S,VOLU,,1,7. The subset is used when the ALL label + is entered (or implied) on other commands, such as VLIST,ALL. Only + data identified by volume number are selected. Data are flagged as + selected and unselected; no data are actually deleted from the + database. - maclim - Smallest acceptable MAC value. Must be 0 and 1. The default value - is 0.90. + This command is valid in any processor. - cname - Name of the component from the first file (File1). The component - must be based on nodes. If unspecified, all nodes are matched and - used for MAC calculations. If a component name is specified, only - nodes included in the specified component are used. Not applicable - to node mapping (TolerN=-1). + For Selects based on non-integer numbers (coordinates, results, etc.), + items that are within the range VMIN-Toler and VMAX+Toler are selected. + The default tolerance Toler is based on the relative values of VMIN and + VMAX as follows: - keyprint - Printout options: + If VMIN = VMAX, Toler = 0.005 x VMIN. - 0 - Printout matched solutions table. This value is the default. + If VMIN = VMAX = 0.0, Toler = 1.0E-6. - 1 - Printout matched solutions table and full MAC table. + If VMAX ≠ VMIN, Toler = 1.0E-8 x (VMAX-VMIN). - 2 - Printout matched solutions table, full MAC table and matched nodes table. + Use the SELTOL command to override this default and specify Toler + explicitly. - unvscale - Scaling of the nodal coordinates when File2 is a universal format - file (.unv). + Table: 251:: : VSEL - Valid Item and Component Labels - Blank or 0 - No scaling (default). + """ + command = "VSEL,%s,%s,%s,%s,%s,%s,%s" % (str(type), str(item), str(comp), str(vmin), str(vmax), str(vinc), str(kswp)) + self.RunCommand(command, **kwargs) - Non-zero value - Scaling factor applied to the nodal coordinates. + def Lsscale(self, nl1="", nl2="", ninc="", rx="", ry="", rz="", kinc="", + noelem="", imove="", **kwargs): + """ + APDL Command: LSSCALE - keymass - Key to include the mass matrix diagonal in the calculations. + Generates a scaled set of lines from a pattern of lines. - ON - Include the mass matrix diagonal. This is the default. + Parameters + ---------- + nl1, nl2, ninc + Set of lines (NL1 to NL2 in steps of NINC) that defines the pattern + to be scaled. NL2 defaults to NL1, NINC defaults to 1. If NL1 = + ALL, NL2 and NINC are ignored and the pattern is defined by all + selected lines. If NL1 = 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 NL1 (NL2 and NINC are + ignored). - OFF - Do not include the mass matrix diagonal. + rx, ry, rz + Scale factors to be applied to the X, Y, Z keypoint coordinates in + active coordinate system (RR, Rθ, RZ for cylindrical; RR, Rθ, RΦ + for spherical). Note that the Rθ and RΦ scale factors are + interpreted as angular offsets. For example, for CSYS,1, RR, Rθ, + RZ input of (1.5,10,3) would scale the specified keypoints 1.5 + times in the radial and 3 times in the Z direction, while adding an + offset of 10 degrees to the keypoints. Zero, blank, or negative + scale factor values are assumed to be 1.0. Zero or blank angular + offsets have no effect. - Notes - ----- - The RSTMAC command allows the comparison of the solutions from either: + kinc + Increment to be applied to keypoint numbers for generated set. If + zero, the lowest available keypoint numbers will be assigned + [NUMSTR]. - Two different results files + noelem + Specifies whether nodes and elements are also to be generated: - One result file and one universal format file + 0 - Nodes and line elements associated with the original lines will be generated + (scaled) if they exist. - The modal assurance criterion (MAC) is used. + 1 - Nodes and line elements will not be generated. - The meshes read on File1 and File2 may be different. If TolerN>0, the - nodes are matched. This is the default. If TolerN = -1, the nodes are - mapped and the solutions are interpolated from File1. + imove + Specifies whether lines will be moved or newly defined: - Units and coordinate systems must be the same for both models. When a - universal format file is used, the nodal coordinates can be scaled - using UNVscale. + 0 - Additional lines will be generated. - The corresponding database file (.db) for File1 must be resumed before - running the command only if a component (Cname) is used or if the nodes - are mapped (TolerN = -1). + 1 - Original lines will be moved to new position (KINC and NOELEM are ignored). + Use only if the old lines are no longer needed at their + original positions. Corresponding meshed items are also moved + if not needed at their original position. - Results may be real or complex; however, if results from File1 have a - different type from results in File2, only the real parts of the - solutions are taken into account in MAC calculations. The analysis type - can be arbitrary. + Notes + ----- + Generates a scaled set of lines (and their corresponding keypoints and + mesh) from a pattern of lines. The MAT, TYPE, REAL, and ESYS + attributes are based on the lines in the pattern and not the current + settings. Scaling is done in the active coordinate system. Lines in + the pattern could have been generated in any coordinate system. - Only structural degrees of freedom are considered. Degrees of freedom - can vary between File1 and File2, but at least one common degree of - freedom must exist. + """ + command = "LSSCALE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nl1), str(nl2), str(ninc), str(rx), str(ry), str(rz), str(kinc), str(noelem), str(imove)) + self.RunCommand(command, **kwargs) - When node mapping and solution interpolation is performed (TolerN=-1), - File1 must correspond to a model meshed in solid and/or shell elements. - Other types of elements can be present but the node mapping is not - performed for those elements. Interpolation is performed on UX, UY, and - UZ degrees of freedom. + def Trpdel(self, ntrp1="", ntrp2="", trpinc="", **kwargs): + """ + APDL Command: TRPDEL - The solutions read on the results files are not all written to the - database, therefore, subsequent plotting or printing of solutions is - not possible. A SET command must be issued after the RSTMAC command to - post-process each solution. + Deletes particle flow or charged particle trace points. - RSTMAC comparison on cyclic symmetry analysis works only if the number - of sectors on File1 and File2 are the same. Also comparison cannot be - made between cyclic symmetry results and full 360 degree model results - (File1 – cyclic solution, File2 – full 360 degree model solution). - Comparing cyclic symmetry solutions written on selected set of node - (OUTRES) is not supported. + Parameters + ---------- + ntrp1, ntrp2, trpinc + Delete points from NTRP1 to NTRP2 (defaults to NTRP1) in steps of + TRPINC (defaults to 1). If NTRP1 = ALL, NTRP2 and TRPINC are + ignored and all trace points are deleted. If NTRP1 = P, graphical + picking is enabled and all remaining command fields are ignored + (valid only in the GUI). - The modal assurance criterion values can be retrieved as parameters - using the *GET command (Entity = RSTMAC). + Notes + ----- + Deletes particle flow or charged particle trace points defined with the + TRPOIN command. - For more information and an example, see Comparing Nodal Solutions From - Two Models (RSTMAC) in the Basic Analysis Guide. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "RSTMAC, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(file1), str(lstep1), str(sbstep1), str(file2), str(lstep2), str(sbstep2), str(tolern), str(maclim), str(cname), str(keyprint), str(unvscale), str(keym_ass)) + command = "TRPDEL,%s,%s,%s" % (str(ntrp1), str(ntrp2), str(trpinc)) self.RunCommand(command, **kwargs) - def Mplib(self, r_w_opt="", path="", **kwargs): + def Sesymm(self, sename="", ncomp="", inc="", file="", ext="", **kwargs): """ - APDL Command: /MPLIB + APDL Command: SESYMM - Sets the default material library read and write paths. + Performs a symmetry operation on a superelement within the use pass. Parameters ---------- - r-w_opt - Determines what path is being set. Possible values are: + sename + The name (case-sensitive) of the superelement matrix file created + by the substructure generation pass (Sename.SUB). Defaults to the + current Jobname. If a number, it is the element number of a + previously defined superelement in the current use pass. - READ - Set the read path. + ncomp + Symmetry key: - WRITE - Set the write path. + X - X symmetry (default). - STAT - Report what read and write paths are currently in use. + Y - Y symmetry. - path - The directory path to be used for material library files. + Z - Z symmetry. + + inc + Increment all nodes in the superelement by INC. + + file + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. + + ext + Filename extension (eight-character maximum). + + -- + Unused field. Notes ----- - The /MPLIB command sets two path strings used in conjunction with the - material library feature and the MPREAD and MPWRITE commands. - - For MPREAD, when you use the LIB option and no directory path is given - in the file name, the command searches for the file in these locations: - the current working directory, the user's home directory, the user- - specified material library directory (as defined by the - /MPLIB,READ,PATH command), and /ansys_dir/matlib. + Performs a symmetry operation on a superelement within the substructure + use pass by reversing the sign of component Ncomp in the global + Cartesian coordinate system. The node numbers are incremented by INC. + The new superelement is written to File.SUB in the current directory + (by default). All master node nodal coordinate systems must be global + Cartesian (no rotated nodes allowed). - For MPWRITE, when you use the LIB option and the directory portion of - the specification for the material library file is blank, the command - writes the material library file to the directory specified by the - /MPLIB,WRITE,PATH command (if that path has been set). If the path has - not been set, the default is to write the file to the current working - directory. + The maximum number of transformations for a given superelement is five + (including SETRAN, SESYMM, and the large rotation transformation if + NLGEOM is ON in the use pass). - The Material Library files supplied with the distribution disks are - meant for demonstration purposes only. These files are not intended - for use in customer applications. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/MPLIB, %s, %s" % (str(r_w_opt), str(path)) + command = "SESYMM,%s,%s,%s,%s,%s" % (str(sename), str(ncomp), str(inc), str(file), str(ext)) self.RunCommand(command, **kwargs) - def Auto(self, wn="", **kwargs): + def Mpplot(self, lab="", mat="", tmin="", tmax="", pmin="", pmax="", + **kwargs): """ - APDL Command: /AUTO + APDL Command: MPPLOT - Resets the focus and distance specifications to "automatically - calculated." + Plots linear material properties as a function of temperature. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). + lab + Linear material property label (EX, EY, etc.) [MP]. + + mat + Material reference number. Defaults to 1. + + tmin + Minimum abscissa value to be displayed. + + tmax + Maximum abscissa value. + + pmin + Minimum property (ordinate) value to be displayed. + + pmax + Maximum property value. Notes ----- - Focus point and distance will be automatically calculated during next - display. Settings may still be changed with the /FOCUS and /DIST - commands after this command has been issued. See also the /USER - command. + When the property is from tables, the MPPLOT command will not be valid + because the property could be a function of more than temperature. This command is valid in any processor. """ - command = "/AUTO, %s" % (str(wn)) + command = "MPPLOT,%s,%s,%s,%s,%s,%s" % (str(lab), str(mat), str(tmin), str(tmax), str(pmin), str(pmax)) self.RunCommand(command, **kwargs) - def Hemiopt(self, hres="", **kwargs): + def Nummrg(self, label="", toler="", gtoler="", action="", switch="", + **kwargs): """ - APDL Command: HEMIOPT + APDL Command: NUMMRG - Specifies options for Hemicube view factor calculation. + Merges coincident or equivalently defined items. Parameters ---------- - hres - Hemicube resolution. Increase value to increase the accuracy of - the view factor calculation. Defaults to 10. + label + Items to be merged: - """ - command = "HEMIOPT, %s" % (str(hres)) - self.RunCommand(command, **kwargs) + NODE - Nodes - def Keyopt(self, itype="", knum="", value="", **kwargs): - """ - APDL Command: KEYOPT + ELEM - Elements - Sets element key options. + KP - Keypoints (will also merge lines, areas, and volumes) - Parameters - ---------- - itype - Element type number as defined on the ET command. The label GCN is - also valid input for general contact elements (see Notes). + MAT - Materials - knum - Number of the KEYOPT to be defined (KEYOPT(KNUM)). + TYPE - Element types - value - Value of this KEYOPT. + REAL - Real constants - Notes - ----- - Alternative to inputting KEYOPT values on ET command. Must be used if - KEYOPT(7) or greater values are to be input. ITYPE must first be - defined with the ET command. + CP - Coupled sets - Specify ITYPE = GCN to set element key options for all contact elements - types used in any existing general contact definitions (that is, - contact elements having a real constant set number = 0). + CE - Constraint equations - """ - command = "KEYOPT, %s, %s, %s" % (str(itype), str(knum), str(value)) - self.RunCommand(command, **kwargs) + ALL - All items - def Pds(self, **kwargs): - """ - APDL Command: /PDS + toler + Range of coincidence. For Label = NODE and KP, defaults to 1.0E-4 + (based on maximum Cartesian coordinate difference between nodes or + keypoints). For Label = MAT, REAL, and CE, defaults to 1.0E-7 + (based on difference of the values normalized by the values). Only + items within range are merged. (For keypoints attached to lines, + further restrictions apply. See the GTOLER field and Merging Solid + Model Entities below.) - Enters the probabilistic design system. + gtoler + Global solid model tolerance -- used only when merging keypoints + attached to lines. If specified, GTOLER will override the internal + relative solid model tolerance. See Merging Solid Model Entities + below. - Notes - ----- - Enters the Probabilistic Design System (PDS). This command is valid - only at the Begin Level. + action + Specifies whether to merge or select coincident items. - """ - command = "/PDS, " % () - self.RunCommand(command, **kwargs) + SELE - Select coincident items but do not merge. Action = SELE is only valid for Label + = NODE. - def Lsdele(self, lsmin="", lsmax="", lsinc="", **kwargs): - """ - APDL Command: LSDELE + (Blank) - Merge the coincident items (default). - Deletes load step files. + switch + Specifies whether the lowest or highest numbered coincident item is + retained after the merging operation. This option does not apply + to keypoints; i.e., for Label = KP, the lowest numbered keypoint is + retained regardless of the Switch setting. - Parameters - ---------- - lsmin, lsmax, lsinc - Range of load step files to be deleted, from LSMIN to LSMAX in - steps of LSINC. LSMAX defaults to LSMIN, and LSINC defaults to 1. - If LSMIN = ALL, all load step files are deleted (and LSMAX and - LSINC are ignored). The load step files are assumed to be named - Jobname.Sn, where n is a number assigned by the LSWRITE command (01 - --09,10,11, etc.). On systems with a 3-character limit on the - extension, the "S" is dropped for numbers > 99. + LOW - Retain the lowest numbered coincident item after the merging operation + (default). + + HIGH - Retain the highest numbered coincident item after the merging operation. Notes ----- - Deletes load step files in the current directory (written by the - LSWRITE command). + After issuing the command, the area and volume sizes (ASUM and VSUM) + may give slightly different results. In order to obtain the same + results as before, use /FACET, /NORMAL, and ASUM / VSUM. - This command is also valid in PREP7. + The merge operation is useful for tying separate, but coincident, parts + of a model together. If not all items are to be checked for merging, + use the select commands (NSEL, ESEL, etc.) to select items. Only + selected items are included in the merge operation for nodes, + keypoints, and elements. - """ - command = "LSDELE, %s, %s, %s" % (str(lsmin), str(lsmax), str(lsinc)) - self.RunCommand(command, **kwargs) + By default, the merge operation retains the lowest numbered coincident + item. Higher numbered coincident items are deleted. Set Switch to + HIGH to retain the highest numbered coincident item after the merging + operation. Applicable related items are also checked for deleted item + numbers and if found, are replaced with the retained item number. For + example, if nodes are merged, element connectivities (except + superelements), mesh item range associativity, coupled degrees of + freedom, constraint equations, master degrees of freedom, gap + conditions, degree of freedom constraints, nodal force loads, nodal + surface loads, and nodal body force loads are checked. Merging + material numbers [NUMMRG,ALL or NUMMRG,MAT] does not update the + material number referenced: - def Areverse(self, anum="", noeflip="", **kwargs): - """ - APDL Command: AREVERSE + By temperature-dependent film coefficients as part of convection load + or a temperature-dependent emissivity as part of a surface-to-surface + radiation load [SF, SFE, SFL, SFA] - Reverses the normal of an area, regardless of its connectivity or mesh - status. + By real constants for multi-material elements (such as SOLID65) - Parameters - ---------- - anum - Area number of the area whose normal is to be reversed. If ANUM = - ALL, the normals of all selected areas will be reversed. If ANUM = - P, graphical picking is enabled. A component name may also be - substituted for ANUM. + If a unique load is defined among merged nodes, the value is kept and + applied to the retained node. If loads are not unique (not + recommended), only the value on the lowest node (or highest if Switch = + HIGH) will be kept, except for "force" loads for which the values will + be summed if they are not defined using tabular boundary conditions. + + Note:: : The unused nodes (not recommended) in elements, couplings, + constraint equations, etc. may become active after the merge operation. + + The Action field provides the option of visualizing the coincident + items before the merging operation. + + Caution:: : When merging entities in a model that has already been + meshed, the order in which you issue multiple NUMMRG commands is + significant. If you want to merge two adjacent meshed regions that + have coincident nodes and keypoints, always merge nodes [NUMMRG,NODE] + before merging keypoints [NUMMRG,KP]. Merging keypoints before nodes + can result in some of the nodes becoming "orphaned"; that is, the nodes + lose their association with the solid model. Orphaned nodes can cause + certain operations (such as boundary condition transfers, surface load + transfers, and so on) to fail. However, using NUMMRG should be avoided + if at all possible, as the procedure outlined above may even cause + meshing failure, especially after multiple merging and meshing + operations. + + After a NUMMRG,NODE, is issued, some nodes may be attached to more than + one solid entity. As a result, subsequent attempts to transfer solid + model loads to the elements may not be successful. Issue NUMMRG,KP to + correct this problem. Do NOT issue VCLEAR before issuing NUMMRG,KP. + + For NUMMRG,ELEM, elements must be identical in all aspects, including + the direction of the element coordinate system. - noeflip - Indicates whether you want to change the normal direction of the - existing elements on the reversed area(s) so that they are - consistent with each area's new normal direction. + For certain solid and shell elements (181, 185, 190, etc) ANSYS will + interpret coincident faces as internal and eliminate them. To prevent + this from occurring, shrink the entities by a very small factor to + delineate coincident items (/SHRINK, 0.0001) and no internal nodes, + lines, areas or elements will be eliminated. - 0 - Make the normal direction of existing elements on the reversed area(s) - consistent with each area's new normal direction (default). + When working with solid models, you may have better success with the + gluing operations (AGLUE, LGLUE, VGLUE). Please read the following + information when attempting to merge solid model entities. - 1 - Do not change the normal direction of existing elements on the reversed - area(s). + Gluing Operations vs. Merging Operations - Notes - ----- - You cannot use the AREVERSE command to change the normal direction of - any element that has a body or surface load. We recommend that you - apply all of your loads only after ensuring that the element normal - directions are acceptable. Also, you cannot use this command to change - the normal direction for areas attached to volumes because IGES and ANF - data is unchanged by reversal. Reversed areas that are attached to - volumes need to be reversed again when imported. + Adjacent, touching regions can be joined by gluing them (AGLUE, LGLUE, + VGLUE) or by merging coincident keypoints (NUMMRG,KP, which also causes + merging of identical lines, areas, and volumes). In many situations, + either approach will work just fine. Some factors, however, may lead to + a preference for one method over the other. - Real constants (such as nonuniform shell thickness and tapered beam - constants) may be invalidated by an element reversal. + Geometric Configuration - See Revising Your Model in the Modeling and Meshing Guide for more - information. + Gluing is possible regardless of the initial alignment or offset of the + input entities. Keypoint merging is possible only if each keypoint on + one side of the face to be joined is matched by a coincident keypoint + on the other side. This is commonly the case after a symmetry + reflection (ARSYM or VSYMM) or a copy (AGEN or VGEN), especially for a + model built entirely in ANSYS rather than imported from a CAD system. + When the geometry is extremely precise, and the configuration is + correct for keypoint merging, NUMMRG is more efficient and robust than + AGLUE or VGLUE. - """ - command = "AREVERSE, %s, %s" % (str(anum), str(noeflip)) - self.RunCommand(command, **kwargs) + Model Accuracy - def Pdscat(self, rlab="", name1="", name2="", type="", order="", nmax="", - **kwargs): - """ - APDL Command: PDSCAT + Gluing, like all ANSYS boolean operations, requires that the input + entities meet the current boolean tolerance (BTOL). Otherwise, AGLUE + or VGLUE may fail. In such cases, relaxing the tolerance may allow the + glue to complete. An advantage of gluing is that it is unlikely to + degrade the accuracy of a geometric model. Keypoint merging can + operate on almost any combination of entities (although you may have to + override the default tolerances on NUMMRG). However, it can also + introduce or increase accuracy flaws, making later boolean operations + less likely to succeed. If the input tolerances are too large, NUMMRG + can collapse out small lines, areas, or volumes you intended to keep, + possibly rendering the model unusable. - Plots a scatter graph. + Mesh Status - Parameters - ---------- - rlab - Result set label. Identifies the result set to be used for - postprocessing. A result set label can be the solution set label - you defined in a PDEXE command, or the response surface set label - defined in an RSFIT command. + Gluing, like all ANSYS boolean operations, requires that the input + entities be unmeshed. Keypoint merging is effective for meshed models + under the right conditions. More information on keypoint merging + follows. - name1, name2 - Parameter names. The parameters must have been previously defined - as a random input variable or a random output parameter using the - PDVAR command. The parameter data for Name1 is shown on the X-axis - and the parameter data for Name2 is shown on the Y-axis in the - plot. + Merging Solid Model Entities: - type - Keyword for the type of trendline curve. + When merging solid model entities (Label = KP or ALL), keypoint + locations are used as the basis for merging. Once keypoints are + merged, any higher order solid model entities (lines, areas, and + volumes), regardless of their select status or attachment to the merged + keypoints, are considered for merging. - POLY - Polynomial trendline (default). + Keypoints that are attached to lines will be merged only if: - NONE - A trendline is not plotted. + ΔX, : ΔY, and: ΔZ are each less than TOLER - order - Order of the polynomial trendline. This parameter is used only for - Type = POLY. ORDER must be a positive number. There is no maximum - for ORDER provided there are enough data points to evaluate a - polynomial of the requested order. Default is 1. + where, - nmax - Maximum number of points plotted in the scatter plot. If there are - more sample data, then only the first NMAX points are plotted. The - default value is 10,000. + and - Notes - ----- - Plots a scatter graph with or without a trendline. The scatter plot - shows the simulated points for two random parameters. Random input - variables and random output parameters are valid for both X- and - Y-axis. The mean value of both parameters are marked with separate - green lines. The point where the green lines cross marks the - statistical center of gravity of the cloud of all simulated data points - of the two parameters. + is less than 1E-5 times the length of the longest line attached to + those keypoints (internal relative solid model tolerance), or is less + than GTOLER (global solid model tolerance) if specified. - If Rlab is left blank, then the result set label is inherited from the - last PDEXE command (Slab), RSFIT command (RSlab), or the most recently - used PDS postprocessing command where a result set label was explicitly - specified. + The TOLER field is a consideration tolerance. If a keypoint is within + TOLER of another keypoint, then those two keypoints are candidates to + be merged. If, when "moving" the higher numbered keypoint, the + distance exceeds the internal relative solid model tolerance, or the + global solid model tolerance (GTOLER) if specified, the keypoints will + not be merged. Lines, areas, and volumes are considered for merging in + a similar manner. - If the parameter data for Name1 includes negative values, fitting a - logarithmic trendline is not possible and the logarithmic trendline - plot is suppressed if requested. The same applies for an exponential - trendline if the data for the Name2 includes negative values. + The internal relative solid model tolerance should be overridden by the + global solid model tolerance (GTOLER) only when absolutely necessary. + GTOLER is an absolute tolerance; if specified, relative lengths of + lines in the model will no longer be considered in the merge operation. + If GTOLER is too large, you can "merge-out" portions of your model + accidently, effectively defeaturing the model. If GTOLER is used, it is + recommended that NUMMRG be preceded by saving the database (since + undesired merges of solid model entities could occur). - Because of the amount of data involved, the scatter plot is limited to - NMAX points. If shown, the trendline is evaluated only on the NMAX - points shown. However, the statistical information shown in the plot, - such as the mean value lines for both parameters and the correlation - coefficients listed in the legend are based on the full set of samples. - If required, you can increase NMAX to plot more points, but this will - affect the time needed to process the PDSCAT command. If NMAX is less - than the total amount of simulated points, which is typically possible - for Response Surface Methods, you will see an appropriate warning in - the plot legend. + Note:: : Use of the NUMMRG command does not cause changes to a model's + geometry; only the topology is affected. """ - command = "PDSCAT, %s, %s, %s, %s, %s, %s" % (str(rlab), str(name1), str(name2), str(type), str(order), str(nmax)) + command = "NUMMRG,%s,%s,%s,%s,%s" % (str(label), str(toler), str(gtoler), str(action), str(switch)) self.RunCommand(command, **kwargs) - def Klist(self, np1="", np2="", ninc="", lab="", **kwargs): + def Ncnv(self, kstop="", dlim="", itlim="", etlim="", cplim="", **kwargs): """ - APDL Command: KLIST + APDL Command: NCNV - Lists the defined keypoints or hard points. + Sets the key to terminate an analysis. Parameters ---------- - np1, np2, ninc - List keypoints from NP1 to NP2 (defaults to NP1) in steps of NINC - (defaults to 1). If NP1 = ALL (default), NP2 and NINC are ignored - and all selected keypoints [KSEL] are listed. If NP1 = 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 NP1 (NP2 and NINC are ignored). + kstop + Program behavior upon nonconvergence: - lab - Coordinate listing key: + 0 - Do not terminate the analysis if the solution fails to converge. - (blank) - List all keypoint information. + 1 - Terminate the analysis and the program execution if the solution fails to + converge (default). - COORD - Suppress all but the keypoint coordinates (shown to a higher degree of accuracy - than when displayed with all information). + 2 - Terminate the analysis, but not the program execution, if the solution fails to + converge. - HPT - List only hard point information. + dlim + Terminates program execution if the largest nodal DOF solution + value (displacement, temperature, etc.) exceeds this limit. + Defaults to 1.0E6 for all DOF except MAG and A. Defaults to 1.0E10 + for MAG and A. + + itlim + Terminates program execution if the cumulative iteration number + exceeds this limit (defaults to infinity). + + etlim + Terminates program execution if the elapsed time (seconds) exceeds + this limit (defaults to infinity). + + cplim + Terminates program execution if the CPU time (seconds) exceeds this + limit (defaults to infinity). Notes ----- - Lists keypoints in the active display coordinate system [DSYS]. An - attribute (TYPE, MAT, REAL, or ESYS) listed as a zero is unassigned; - one listed as a positive value indicates that the attribute was - assigned with the KATT command (and will not be reset to zero if the - mesh is cleared); one listed as a negative value indicates that the - attribute was assigned using the attribute pointer [TYPE, MAT, REAL, or - ESYS] that was active during meshing (and will be reset to zero if the - mesh is cleared). + Sets the key to terminate an analysis if not converged, or if any of + the following limits are exceeded for nonlinear and full transient + analyses: DOF (displacement), cumulative iteration, elapsed time, or + CPU time limit. Applies only to static and transient analyses + (ANTYPE,STATIC and ANTYPE,TRANS). Time limit checks are made at the end + of each equilibrium iteration. - This command is valid in any processor. + This command is also valid in PREP7. """ - command = "KLIST, %s, %s, %s, %s" % (str(np1), str(np2), str(ninc), str(lab)) + command = "NCNV,%s,%s,%s,%s,%s" % (str(kstop), str(dlim), str(itlim), str(etlim), str(cplim)) self.RunCommand(command, **kwargs) - def Xfenrich(self, enrichmentid="", compname="", matid="", **kwargs): + def Mfsurface(self, inumb="", fnumb1="", label="", fnumb2="", **kwargs): """ - APDL Command: XFENRICH + APDL Command: MFSURFACE - Defines parameters associated with crack propagation using XFEM + Defines a surface load transfer for an ANSYS Multi-field solver + analysis. Parameters ---------- - enrichmentid - An alphanumeric name assigned to identify the enrichment. The name - can contain up to 32 characters and must begin with an alphabetic - character. Alphabetic characters, numbers, and underscores are - valid. + inumb + Interface number for load transfer. The interface number + corresponds to the interface number specified by the surface flag + FSIN (SFxxcommands). - compname - Name of the element set component for which initial cracks are - defined and possibly propagated. + fnumb1 + Field number of sending field. - matid - Material ID number referring to cohesive zone material behavior on - the initial crack. If 0 or not specified, the initial crack is - assumed to be free of cohesive zone behavior. + label + Valid surface load labels: + + fnumb2 + Field number for receiving field. Notes ----- - If MatID is specified, the cohesive zone behavior is described by the - bilinear cohesive law. + This command is also valid in PREP7. - This command is valid in PREP7 (/PREP7) only. + The ANSYS Multi-field solver solver does not allow you to switch the + load transfer direction for the same load quantity across the same + interfaces for a restart run. For example, if Field1 sends temperature + to and receives heat flow from Field2 across Interface 1 in a previous + solution, then you cannot make Field1 send heat flow to and receive + temperatures from Field2 across the same interface in a restart run, + even if you cleared the corresponding load transfer command. + + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "XFENRICH, %s, %s, %s" % (str(enrichmentid), str(compname), str(matid)) + command = "MFSURFACE,%s,%s,%s,%s" % (str(inumb), str(fnumb1), str(label), str(fnumb2)) self.RunCommand(command, **kwargs) - def Edweld(self, option="", nweld="", n1="", n2="", sn="", ss="", expn="", - exps="", epsf="", tfail="", nsw="", cid="", **kwargs): + def Laylist(self, iel="", layr1="", layr2="", mplab1="", mplab2="", + **kwargs): """ - APDL Command: EDWELD + APDL Command: LAYLIST - Defines a massless spotweld or generalized weld for use in an explicit - dynamic analysis. + Lists real constants material properties for layered elements. Parameters ---------- - option - Label identifying the option to be performed: - - ADD - Define a weld (default). This weld may be a spotweld between two nodes or a - generalized weld. A massless spotweld will be defined if - valid node numbers are specified in fields N1 and N2. A - generalized weld will be defined if a node component is - specified in field N1. - - DELE - Delete specified weld. If NWELD is blank, all welds are deleted. - - LIST - List specified weld. If NWELD is blank, all welds are listed. - - nweld - Reference number identifying the spotweld or generalized weld. - - n1, n2 - For a spotweld, N1 and N2 are the nodes which are connected by the - spotweld. For a generalized weld, input a nodal component name in - N1 and leave N2 blank. The nodal component should contain all nodes - that are to be included in the generalized weld. - - sn - Normal force at spotweld failure. - - ss - Shear force at spotweld failure. - - expn - Exponent for normal spotweld force. - - exps - Exponent for shear spotweld force. - - epsf - Effective plastic strain at ductile failure (used only for a - generalized weld). - - tfail - Failure time for constraint set (used only for a generalized weld); - default = 1.0e20. + iel + Element number to be listed. If ALL, list all selected elements + [ESEL] of the appropriate type. If blank and the current element + type is a layered element type, list data from the current real + constant table in the layered format. - nsw - Number of spot welds for the generalized weld. + layr1, layr2 + Range of layer numbers to be listed. If LAYR1 is greater than + LAYR2, a reverse order list is produced. LAYR1 defaults to 1. + LAYR2 defaults to LAYR1 if LAYR1 is input or to the number of + layers if LAYR1 is not input. - cid - Coordinate system ID number (CID) to be used for output data (used - only for a generalized weld). The coordinate system must be - previously defined with the EDLCS command. + mplab1, mplab2 + Material property labels (e.g., EX) to be listed along with the + layer real constants. Notes ----- - This command can be used to define a massless spotweld between two - nodes or a generalized weld for a group of nodes. For a spotweld, the - nodes specified by N1 and N2 must not be coincident. For a generalized - weld, coincident nodes are permitted, but CID must be specified when - using coincident nodes. EDWELD is not updated after a node merge - operation; therefore, node merging [NUMMRG,NODE] should be done before - any EDWELD definitions. Nodes connected by a spotweld or generalized - weld cannot be constrained in any other way. - - Failure of the weld occurs when: - - where fn and fs are normal and shear interface forces. Normal interface - force fn is nonzero for tensile values only. - - You can graphically display spotwelds by issuing the command - /PBC,WELD,,1. + Lists real constants and any two material properties for layered shell + and solid elements. - This command is also valid in SOLUTION. + If matrix input is selected (KEYOPT(2) = 2 or 3), LAYR1, LAYR2, Mplab1, + and Mplab2 are not used. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "EDWELD, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(nweld), str(n1), str(n2), str(sn), str(ss), str(expn), str(exps), str(epsf), str(tfail), str(nsw), str(cid)) + command = "LAYLIST,%s,%s,%s,%s,%s" % (str(iel), str(layr1), str(layr2), str(mplab1), str(mplab2)) self.RunCommand(command, **kwargs) - def Gmarker(self, curve="", key="", incr="", **kwargs): + def Ftwrite(self, fname="", ext="", **kwargs): """ - APDL Command: /GMARKER + APDL Command: FTWRITE - Specifies the curve marking style. + Writes all currently stored fatigue data on a file. Parameters ---------- - curve - Curve number markers will be applied on (integer value between 1 - and 10). - - key - Marker key: - - 0 - No markers will be applied (default). - - 1 - TRIANGLES will be applied. - - 2 - SQUARES will be applied. - - 3 - DIAMONDS will be applied. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - 4 - CROSSES will be applied. + ext + Filename extension (eight-character maximum). - incr - Determines the curve marking frequency. (a whole number value - between 1 and 255). If INCR = 1, markers are displayed at every - data point on the curve. If INCR = 2 then markers are displayed at - every second data point. If INCR = 3 then they are displayed at - every third data point. + -- + Unused field. Notes ----- - The user-specified markers will not be drawn when the area under the - curve is color-filled (/GROPT, FILL). + Data are written in terms of the equivalent POST1 fatigue commands + [FTSIZE, FL, FS, etc.] which you can then edit and resubmit to POST1 + (with a /INPUT command). + + Once you have created a fatigue data file, each subsequent use of the + FTWRITE command overwrites the contents of that file. """ - command = "/GMARKER, %s, %s, %s" % (str(curve), str(key), str(incr)) + command = "FTWRITE,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Awave(self, wavenum="", wavetype="", opt1="", opt2="", val1="", - val2="", val3="", val4="", val5="", val6="", val7="", val8="", - val9="", val10="", val11="", val12="", val13="", **kwargs): + def Nlhist(self, key="", name="", item="", comp="", node="", elem="", + shell="", layer="", stop_value="", stop_cond="", **kwargs): """ - APDL Command: AWAVE + APDL Command: NLHIST - Specifies input data for an acoustic incident wave. + Specify result items to track during solution. Parameters ---------- - wavenum - Wave number. You specify the integer number for an acoustic - incident wave inside or outside the model. The number must be - between 1 and 20. + key + Specifies the command operation: - wavetype - Wave type: + NSOL - Nodal solution data. - PLAN - Planar incident wave + ESOL - Element nodal data. - MONO - Monopole or pulsating sphere incident wave + PAIR - Contact data (for pair-based contact). - DIPO - Dipole incident wave + GCN - Contact data (for general contact). - BACK - Back enclosed loudspeaker + STAT - Displays a list of items to track. - BARE - Bare loudspeaker + OFF or 0 - Deactivates tracking of all variables. This value is the default. - STATUS - Displays the status of the acoustic wave settings if Wavenum = a number between - 1 and 20 or ALL. + ON or 1 - Activates tracking of all variables. Tracking also activates whenever any + specification changes. - DELE - Deletes the acoustic wave settings if Wavenum = a number between 1 and 20 or - ALL. + DEL - Removes the specified variable from the set of result items to track. If Name = + ALL (default), all specifications are removed. - opt1 - PRES + name + The 32-character user-specified name. - PRES - Pressure + item, comp + Predetermined output item and component label for valid elements. + See the Element Reference for more information. - VELO - Velocity + node + Number identifying one of the following: - opt2 - EXT + elem + Valid element number for element results. Used for ESOL items. If + ELEM is specified, then a node number that belongs to the element + must also be specified in the NODE field. - EXT - Incident wave outside the model. + shell + Valid labels are TOP, MID or BOT. This field can specify the + location on shell elements for which to retrieve data. Used only + for element nodal data (ESOL). - INT - Incident wave inside the model. This option is only available for pure - scattered pressure formulation. + layer + Layer number (for layered elements only). Used only for element + nodal data (ESOL). - val1, val2, val3, . . . , val13 - If Wavetype = PLAN, MONO, DIPO, BACK, or BARE: + stop_value + Critical value of the tracked variable. This value is used to + determine if the analysis should be terminated. This field is only + valid for contact data (Key = PAIR or GCN). - VAL1 - Amplitude of pressure or normal velocity to the sphere surface. + stop_cond + Specifies the conditional relationship between the variable being + tracked and the STOP_VALUE upon which the analysis will be + terminated: - VAL2 - Phase angle of the applied pressure or velocity (in degrees). Defaults to 0 - degrees. + -1 - Terminate the analysis when the tracked variable is less than or equal to + STOP_VALUE. + + 0 - Terminate the analysis when the tracked variable equals STOP_VALUE. + + 1 - Terminate the analysis when the tracked variable is greater than or equal to + STOP_VALUE. Notes ----- - Use the ASOL command to activate the scattered field algorithm and the - ASCRES command for output control with the scattered field algorithm. - Refer to Acoustics in the Mechanical APDL Theory Reference for more - information about pure scattered field formulation. + The NLHIST command is a nonlinear diagnostics tool that enables you to + monitor diagnostics results of interest in real time during a solution. + + You can track a maximum of 50 variables during solution. The specified + result quantities are written to the file Jobname.nlh. Nodal results + and contact results are written for every converged substep + (irrespective of the OUTRES command setting) while element results are + written only at time points specified via the OUTRES command. For time + points where element results data is not available, a very small number + is written instead. If the conditions for contact to be established are + not satisfied, 0.0 will be written for contact results. + + Results tracking is available only for a nonlinear structural analysis + (static or transient), a nonlinear steady-state thermal analysis, or a + transient thermal analysis (linear or nonlinear). All results are + tracked in the Solution Coordinate System (that is, nodal results are + in the nodal coordinate system and element results are in the element + coordinate system). + + Contact results can be tracked for elements CONTA171 through CONTA177; + they cannot be tracked for CONTA178. + + When contact results are tracked (Key = PAIR or GCN), the user- + specified name (Name argument) is used to create a user-defined + parameter. This enables you to monitor the parameter during solution. + As an example, you can use a named parameter to easily convert the + contact stiffness units from FORCE/LENGTH3 to FORCE/LENGTH based on the + initial contact area CAREA. Be sure to specify Name using the APDL + parameter naming convention. - """ - command = "AWAVE, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(wavenum), str(wavetype), str(opt1), str(opt2), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7), str(val8), str(val9), str(val10), str(val11), str(val12), str(val13)) - self.RunCommand(command, **kwargs) + The STOP_VALUE and STOP_COND arguments enable you to automatically + terminate the analysis when a desired value for a tracked contact + result has been reached. This capability is only available for contact + variables (Key = PAIR or GCN). - def Nmodif(self, node="", x="", y="", z="", thxy="", thyz="", thzx="", - **kwargs): - """ - APDL Command: NMODIF + The Jobname.nlh file is an ASCII file that lists each time point at + which a converged solution occurs along with the values of the relevant + result quantities. - Modifies an existing node. + The GUI option Solution> Results tracking provides an interface to + define the result items to be tracked. The GUI also allows you to graph + one or more variables against time or against other variables during + solution. You can use the interface to graph or list variables from any + .nlh file generated by the ANSYS program. - Parameters - ---------- - node - Modify coordinates of this node. If ALL, modify coordinates of 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. + You can also track results during batch runs. Either access the ANSYS + Launcher and select File Tracking from the Tools menu, or type + nlhist162 at the command line. Use the supplied file browser to + navigate to your Jobname.nlh file, and click on it to invoke the + tracking utility. You can use this utility to read the file at any + time, even after the solution is complete (the data in the file must be + formatted correctly). - x, y, z - Replace the previous coordinate values assigned to this node with - these corresponding coordinate values. Values are interpreted in - the active coordinate system (R, θ, Z for cylindrical; R, θ, Φ for - spherical or toroidal). Leaving any of these fields blank retains - the previous value(s). + Table: 205:: : NLHIST - Valid NSOL Item and Component Labels - thxy - First rotation of nodal coordinate system about nodal Z (positive X - toward Y). Leaving this field blank retains the previous value. + For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the + labels TBOT, TE2, TE3, . . ., TTOP instead of TEMP. - thyz - Second rotation of nodal coordinate system about nodal X (positive - Y toward Z). Leaving this field blank retains the previous value. + For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the + labels HBOT, HE2, HE3, . . ., HTOP instead of HEAT. - thzx - Third rotation of nodal coordinate system about nodal Y (positive Z - toward X). Leaving this field blank retains the previous value. + Table: 206:: : NLHIST - Valid ESOL Item and Component Labels - Notes - ----- - Modifies an existing node. Nodal coordinate system rotation angles are - in degrees and redefine any existing rotation angles. Nodes can also - be redefined with the N command. + ETABLE items are not supported for ESOL items. - See the NROTAT, NANG, and NORA commands for other rotation options. + PAIR solution quantities are output on a "per contact pair" basis. GCN + solution quantities are output on a “per general contact section” + basis. As a consequence, the corresponding values listed in the + Jobname.nlh file represent a minimum or a maximum over the associated + contact pair or general contact surface, as detailed in the table + below. - This command is also valid in the /MAP processor. + Table: 207:: : NLHIST - Valid Contact (PAIR or GCN) Item and Component + Labels + + For PENE, a positive value indicates a penetration, and a negative + value indicates a gap. If the contact pair (or GCN surface) has a far- + field contact status, penetration and gap are not available, and the + value stored for PENE is the current pinball radius. """ - command = "NMODIF, %s, %s, %s, %s, %s, %s, %s" % (str(node), str(x), str(y), str(z), str(thxy), str(thyz), str(thzx)) + command = "NLHIST,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(key), str(name), str(item), str(comp), str(node), str(elem), str(shell), str(layer), str(stop_value), str(stop_cond)) self.RunCommand(command, **kwargs) - def Felist(self, nev1="", nev2="", ninc="", **kwargs): + def Aptn(self, na1="", na2="", na3="", na4="", na5="", na6="", na7="", + na8="", na9="", **kwargs): """ - APDL Command: FELIST + APDL Command: APTN - Lists the fatigue event parameters. + Partitions areas. Parameters ---------- - nev1, nev2, ninc - List event parameters from NEV1 (defaults to 1) to NEV2 (defaults - to NEV1) in steps of NINC (defaults to 1). If NEV1 = ALL, NEV2 and - NINC are ignored and all events are listed. Fatigue event - parameters are defined with the FE command. + na1, na2, na3, . . . , na9 + Numbers of areas to be operated on. If NA1 = ALL, NA2 to NA9 are + ignored and all selected areas are used. If NA1 = P, graphical + picking is enabled and all remaining arguments are ignored (valid + only in the GUI). A component name may be substituted for NA1. + + Notes + ----- + Partitions areas that intersect. This command is similar to the + combined functionality of the ASBA and AOVLAP commands. If the + intersection of two or more areas is an area (i.e., planar), new areas + will be created with boundaries that conform to the area of + intersection and to the boundaries of the non-intersecting portions of + the input areas [AOVLAP]. If the intersection is a line (i.e., not + planar), the areas will be subtracted, or divided, along the line(s) of + intersection [ASBA]. Both types of intersection can occur during a + single APTN operation. Areas that do not intersect will not be + modified. See the Modeling and Meshing Guide for an illustration. See + the BOPTN command for an explanation of the options available to + Boolean operations. Element attributes and solid model boundary + conditions assigned to the original entities will not be transferred to + the new entities generated. """ - command = "FELIST, %s, %s, %s" % (str(nev1), str(nev2), str(ninc)) + command = "APTN,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(na7), str(na8), str(na9)) self.RunCommand(command, **kwargs) - def Bfint(self, fname1="", ext1="", fname2="", ext2="", kpos="", clab="", - kshs="", tolout="", tolhgt="", **kwargs): + def Cecheck(self, itemlab="", tolerance="", dof="", **kwargs): """ - APDL Command: BFINT + APDL Command: CECHECK - Activates the body force interpolation operation. + Check constraint equations and couplings for rigid body motions. Parameters ---------- - fname1 - File name and directory path (248 characters maximum, including - directory) from which to read data for interpolation. If you do not - specify a directory path, it will default to your working directory - and you can use all 248 characters for the file name. + itemlab + Item indicating what is to be checked: - ext1 - Filename extension (eight-character maximum). + CE - Check constraint equations only - -- - Unused field. + CP - Check couplings only - fname2 - File name and directory path (248 characters maximum, including - directory) to which BF commands are written. If you do not specify - a directory path, it will default to your working directory and you - can use all 248 characters for the file name. + ALL - Check both CE and CP - ext2 - Filename extension (eight-character maximum). + tolerance + Allowed amount of out-of-balance for any constraint equation or + coupled set. The default value of 1.0e-6 is usually good. - -- - Unused field. + dof + Specifies which DOF is to be checked. Default is RIGID, the usual + option. Other choices are individual DOF such as UX, ROTZ, etc. or + THERM. The THERM option will check the constraint equations or + coupled sets for free thermal expansions, whereas the individual + DOFs check under rigid body motions. ALL is RIGID and THERM. - kpos - Position on Fname2 to write block of BF commands: + Notes + ----- + This command imposes a rigid body motion on the nodes attached to the + constraint equation or coupled set and makes sure that no internal + forces are generated for such rigid body motions. Generation of + internal forces by rigid body motions usually indicates an error in the + equation specification (possibly due to nodal coordinate rotations). + The THERM option does a similar check to see that no internal forces + are created by the equations if the body does a free thermal expansion + (this check assumes a single isotropic coefficient of expansion). - 0 - Beginning of file (overwrite existing file). + """ + command = "CECHECK,%s,%s,%s" % (str(itemlab), str(tolerance), str(dof)) + self.RunCommand(command, **kwargs) - 1 - End of file (append to existing file). + def Ksln(self, type="", **kwargs): + """ + APDL Command: KSLN - clab - Label (8 characters maximum, including the colon) for this block of - BF commands in Fname2. This label is appended to the colon (:). - Defaults to BFn, where n is the cumulative iteration number for the - data set currently in the database. + Selects those keypoints associated with the selected nodes. - kshs - Shell-to-solid submodeling key: + Parameters + ---------- + type + Label identifying the type of keypoint select: - 0 - Solid-to-solid or shell-to-shell submodel. + S - Select a new set (default). - 1 - Shell-to-solid submodel. + R - Reselect a set from the current set. - tolout - Extrapolation tolerance about elements, based on a fraction of the - element dimension. Submodel nodes outside the element by more than - TOLOUT are not accepted as candidates for DOF extrapolation. - Defaults to 0.5 (50%). + A - Additionally select a set and extend the current set. - tolhgt - Height tolerance above or below shell elements, in units of length. - Used only for shell-to-shell submodeling (KSHS = 0). Submodel nodes - off the element surface by more than TOLHGT are not accepted as - candidates for DOF interpolation or extrapolation. Defaults to - 0.0001 times the maximum element dimension. + U - Unselect a set from the current set. Notes ----- - File Fname1 should contain a node list for which body forces are to be - interpolated [NWRITE]. File Fname2 is created, and contains - interpolated body forces written as a block of nodal BF commands. - - Body forces are interpolated from elements having TEMP as a valid body - force or degree of freedom, and only the label TEMP is written on the - nodal BF commands. Interpolation is performed for all nodes on file - Fname1 using the results data currently in the database. For layered - elements, use the LAYER command to select the locations of the - temperatures to be used for interpolation. Default locations are the - bottom of the bottom layer and the top of the top layer. - - The block of BF commands begins with an identifying colon label command - and ends with a /EOF command. The colon label command is of the form - :Clab, where Clab is described above. Interpolation from multiple - results sets can be performed by looping through the results file in a - user-defined macro. Additional blocks can be appended to Fname2 by - using KPOS and unique colon labels. A /INPUT command, with the - appropriate colon label, may be used to read the block of commands. + Valid only if the nodes were generated by a meshing operation [KMESH, + LMESH, AMESH, VMESH] on a solid model that contains the associated + keypoints. - If the model has coincident (or very close) nodes, BFINT must be - applied to each part of the model separately to ensure that the mapping - of the nodes is correct. For example, if nodes belonging to two - adjacent parts linked by springs are coincident, the operation should - be performed on each part of the model separately. + This command is valid in any processor. """ - command = "BFINT, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(fname1), str(ext1), str(fname2), str(ext2), str(kpos), str(clab), str(kshs), str(tolout), str(tolhgt)) + command = "KSLN,%s" % (str(type)) self.RunCommand(command, **kwargs) - def Vdele(self, nv1="", nv2="", ninc="", kswp="", **kwargs): + def End(self, **kwargs): """ - APDL Command: VDELE - - Deletes unmeshed volumes. - - Parameters - ---------- - nv1, nv2, ninc - Delete volumes from NV1 to NV2 (defaults to NV1) in steps of NINC - (defaults to 1). If NV1 = ALL, NV2 and NINC are ignored and all - selected volumes [VSEL] are deleted. If NV1 = 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 NV1 (NV2 - and NINC are ignored). + APDL Command: *END - kswp - Specifies whether keypoints, lines, and areas are also deleted: + Closes a macro file. - 0 - Delete volumes only (default). + Notes + ----- + Closes a file opened with *CREATE. The *END command is an 8-character + command (to differentiate it from *ENDIF). If you add commented text + on that same line but do not allow enough spaces between *END and the + "!" that indicates the comment text, the *END will attempt to interpret + the "!" as the 8th character and will fail. - 1 - Delete volumes, as well as keypoints, lines, and areas attached to the - specified volumes but not shared by other volumes. + This command is valid in any processor. """ - command = "VDELE, %s, %s, %s, %s" % (str(nv1), str(nv2), str(ninc), str(kswp)) + command = "*END," % () self.RunCommand(command, **kwargs) - def Vext(self, na1="", na2="", ninc="", dx="", dy="", dz="", rx="", ry="", - rz="", **kwargs): + def Nscale(self, inc="", node1="", node2="", ninc="", rx="", ry="", rz="", + **kwargs): """ - APDL Command: VEXT + APDL Command: NSCALE - Generates additional volumes by extruding areas. + Generates a scaled set of nodes from a pattern of nodes. Parameters ---------- - na1, na2, ninc - Set of areas (NA1 to NA2 in steps of NINC) that defines the pattern - to be extruded. NA2 defaults to NA1, NINC defaults to 1. If NA1 = - ALL, NA2 and NINC are ignored and the pattern is defined by all - selected areas. If NA1 = 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 NA1 (NA2 and NINC are - ignored). + inc + Do this scaling operation one time, incrementing all nodes in the + given pattern by INC. If INC = 0, nodes will be redefined at the + scaled locations. - dx, dy, dz - Increments to be applied to the X, Y, and Z keypoint coordinates in - the active coordinate system (DR, Dθ, DZ for cylindrical; DR, Dθ, - DΦ for spherical). + node1, node2, ninc + Scale nodes from pattern of nodes beginning with NODE1 to NODE2 + (defaults to NODE1) in steps of NINC (defaults to 1). If NODE1 = + ALL, NODE2 and NINC are ignored and pattern is all selected nodes + [NSEL]. 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). rx, ry, rz - Scale factors to be applied to the X, Y, and Z keypoint coordinates - in the active coordinate system (RR, Rθ, RZ for cylindrical; RR, - Rθ, RΦ for spherical). Note that the Rθ and RΦ scale factors are - interpreted as angular offsets. For example, if CSYS = 1, RX, RY, - RZ input of (1.5,10,3) would scale the specified keypoints 1.5 - times in the radial and 3 times in the Z direction, while adding an - offset of 10 degrees to the keypoints. Zero, blank, or negative - scale factor values are assumed to be 1.0. Zero or blank angular - offsets have no effect. + Scale factor ratios. Scaling is relative to the origin of the + active coordinate system (RR, Rθ, RZ for cylindrical, RR, Rθ, RΦ + for spherical or toroidal). If absolute value of ratio > 1.0, + pattern is enlarged. If < 1.0, pattern is reduced. Ratios default + to 1.0 (each). Notes ----- - Generates additional volumes (and their corresponding keypoints, lines, - and areas) by extruding and scaling a pattern of areas in the active - coordinate system. - - If element attributes have been associated with the input area via the - AATT command, the opposite area generated by the VEXT operation will - also have those attributes (i.e., the element attributes from the input - area are copied to the opposite area). Note that only the area - opposite the input area will have the same attributes as the input - area; the areas adjacent to the input area will not. - - If the areas are meshed or belong to meshed volumes, a 3-D mesh can be - extruded with this command. Note that the NDIV argument on the ESIZE - command should be set before extruding the meshed areas. - - Scaling of the input areas, if specified, is performed first, followed - by the extrusion. - - In a non-Cartesian coordinate system, the VEXT command locates the end - face of the volume based on the active coordinate system. However, the - extrusion is made along a straight line between the end faces. Note - that solid modeling in a toroidal coordinate system is not recommended. + Generates a scaled pattern of nodes from a given node pattern. Scaling + is done in the active coordinate system. Nodes in the pattern may have + been generated in any coordinate system. - Caution:: : Use of the VEXT command can produce unexpected results when - operating in a non-Cartesian coordinate system. For a detailed - description of the possible problems that may occur, see Solid Modeling - in the Modeling and Meshing Guide. + This command is also valid in the /MAP processor. """ - command = "VEXT, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(na1), str(na2), str(ninc), str(dx), str(dy), str(dz), str(rx), str(ry), str(rz)) + command = "NSCALE,%s,%s,%s,%s,%s,%s,%s" % (str(inc), str(node1), str(node2), str(ninc), str(rx), str(ry), str(rz)) self.RunCommand(command, **kwargs) - def Coriolis(self, option="", refframe="", rotdamp="", **kwargs): + def Ui(self, func="", type="", format="", screen="", color="", krev="", + orient="", compress="", quality="", **kwargs): """ - APDL Command: CORIOLIS + APDL Command: /UI - Applies the Coriolis effect to a rotating structure. + Activates specified GUI dialog boxes. Parameters ---------- - option - Flag to activate or deactivate the Coriolis effect: - - 1 (ON or YES) - Activate. This value is the default. - - 0 (OFF or NO) - Deactivate. - - --, -- - Unused fields. - - refframe - Flag to activate or deactivate a stationary reference frame. - - 1 (ON or YES) - Activate. - - 0 (OFF or NO) - Deactivate. This value is the default. - - rotdamp - Flag to activate or deactivate rotating damping effect. - - 1 (ON or YES) - Activate. - - 0 (OFF or NO) - Deactivate. This value is the default. - - Notes - ----- - The CORIOLIS command is used for analyses in either a rotating or a - stationary reference frame, and performs differently according to the - designated RefFrame value. Specific restrictions and elements apply to - each case, as follows: - - ROTATING REFERENCE FRAME (RefFrame = OFF): + func + Label identifying the dialog box to be activated: - The command applies the Coriolis effect in the following structural - element types: MASS21, SHELL181, PLANE182, PLANE183, SOLID185, - SOLID186, SOLID187, BEAM188, BEAM189, SOLSH190, SHELL281, PIPE288 and - PIPE289. It also applies this effect in the PLANE223, SOLID226, and - SOLID227 analyses with structural degrees of freedom. + HELP - Activates the online help system. Valid only in non-UI graphics mode + (/MENU,GRPH). - In a rotating reference frame, both the Coriolis and spin-softening - effects contribute to the gyroscopic moment. Therefore, ANSYS applies - spin-softening by default for dynamic analyses. If a rotational - velocity is specified (OMEGA or CMOMEGA), centrifugal forces will be - included. + VIEW - Activates the Pan, Zoom, Rotate dialog box - To include Coriolis effects in a large deflection prestressed analysis, - follow the procedure for linear perturbation detailed in Considerations - for Rotating Structures. In a nonlinear transient analysis - (ANTYPE,TRANS and NLGEOM, ON), any spinning motion applied through - either the IC of the D commands will include the Coriolis effect - without having to issue the CORIOLIS command. Refer to Rotating - Structure Analysis in the Advanced Analysis Guide for more information. + WPSE - Activates the Working Plane Settings dialog box. - STATIONARY REFERENCE FRAME (RefFrame = ON): + WPVI - Activates the Offset Working Plane dialog box. - The command activates the gyroscopic damping matrix in the following - structural elements: MASS21, BEAM188, SHELL181, BEAM189, SOLID185, - SOLID186, SOLID187, SOLID272, SOLID273, SHELL281, PIPE288, PIPE289, and - MATRIX50. + RESULT - Activates the Query Picking Menu for reviewing results. - The rotating structure must be axisymmetric about the axis of rotation. + QUERY - Activates the Query Picked Entities (preprocess) dialog box. - Static analysis (ANTYPE, STATIC) does not support Coriolis effects with - a stationary reference frame. However, you can include the gyroscopic - effects in a prestresses analysis follow the procedure detailed in - Considerations for Rotating Structures. + COPY - Activates the Hard Copy dialog box. - Rotating damping effect (RotDamp = ON) applies only for the stationary - reference frame. Therefore, this effect is supported only by the - elements listed above that generate a gyroscopic damping matrix. - Proportional damping must be present in the element (MP,BETD or BETAD). - It is also supported by element COMBI214 with non zero and axisymmetric - damping characteristics (non zero real constants C11=C22 and - C21=C12=0). + ANNO - Activates the 2D Annotation dialog box. - For more information about using the CORIOLIS command, see Rotating - Structure Analysis in the Advanced Analysis Guide and also in the - Rotordynamic Analysis Guide. For details about the Coriolis and - gyroscopic effect element formulations, see the Mechanical APDL Theory - Reference. + AN3D - Activates the 3D Annotation dialog box. - This command is also valid in PREP7. + SELECT - Activates the Select Entities dialog box. - """ - command = "CORIOLIS, %s, %s, %s" % (str(option), str(refframe), str(rotdamp)) - self.RunCommand(command, **kwargs) + NSEL - Activates a picking menu to select nodes. - def Cisol(self, n="", id="", node="", cont="", dtype="", **kwargs): - """ - APDL Command: CISOL + ESEL - Activates a picking menu to select elements. - Stores fracture parameter information in a variable. + KSEL - Activates a picking menu to select keypoints. - Parameters - ---------- - n - Arbitrary reference number or name assigned to this variable. - Number must be >1 but 10e12), making - the Block Lanczos, PCG Lanczos, or Supernode mode extraction method - less efficient and more likely to miss modes. + ANY - List equation set if any of the selected nodes are in the set (default). Only + externally-generated constraint equations are listed. - ANSYS uses scaling (if appropriate) by default. However, you can issue - FRQSCL,ON to force the entire mass matrix and frequency range to be - scaled to bring the stiffness and mass matrices closer together in - terms of orders of magnitude, improving efficiency and reducing the - likelihood of missed modes. The resulting eigenvalues are then - automatically scaled back to the original system. If you are using - micro MKS units, where the density is typically very small compared to - the stiffness, you may want to issue FRQSCL,ON to force scaling on. + ALL - List equation set only if all of the selected nodes are in the set. Only + externally-generated constraint equations are listed. - If the stiffness and mass are on the same scale, FRQSCL,ON has no - effect. + INTE - List internally-generated constraint equations that are associated with MPC- + based contact. Constraint equations are listed only if all + the nodes in the set are selected. - This command is available only for modal analyses using the Block - Lanczos, PCG Lanczos, or Supernode mode extraction method (MODOPT,LANB, - LANPCG, or SNODE). + CONV - Convert internal constraint equations to external constraint equations. + Internal constraint equations are converted only if all of + the nodes in the set are selected. - This command is not valid and has no effect when used in conjunction - with the MSAVE,ON command in a modal analysis with the PCG Lanczos mode - extraction method. + Notes + ----- + This command is valid in any processor. However, the INTE and CONV + options are only valid in the Solution processor after a SOLVE command + has been issued. """ - command = "FRQSCL, %s" % (str(scaling )) + command = "CELIST,%s,%s,%s,%s" % (str(neqn1), str(neqn2), str(ninc), str(option)) self.RunCommand(command, **kwargs) - def Fjlist(self, elem="", **kwargs): + def Lcabs(self, lcno="", kabs="", **kwargs): """ - APDL Command: FJLIST + APDL Command: LCABS - Lists forces and moments applied on joint elements. + Specifies absolute values for load case operations. Parameters ---------- - elem - Element number or ALL (or blank). Lists joint element forces and - moments on the specified element(s). + lcno + Load case pointer number. If ALL, apply to all selected load cases + [LCSEL]. + + kabs + Absolute value key: + + 0 - Use algebraic values of load case LCNO in operations. + + 1 - Use absolute values of load case LCNO in operations. Notes ----- - Valid for MPC184 joint elements. See FJ for information on specifying - forces and moments. + Causes absolute values to be used in the load case operations [LCASE or + LCOPER]. Absolute values are taken prior to assigning a load case + factor [LCFACT] and are applied only to defined load cases [LCDEF]. """ - command = "FJLIST, %s" % (str(elem)) + command = "LCABS,%s,%s" % (str(lcno), str(kabs)) self.RunCommand(command, **kwargs) - def Mfoutput(self, freq="", **kwargs): + def Focus(self, wn="", xf="", yf="", zf="", ktrans="", **kwargs): """ - APDL Command: MFOUTPUT + APDL Command: /FOCUS - Specifies results file output frequency for an ANSYS Multi-field solver - analysis. + Specifies the focus point (center of the window). Parameters ---------- - freq -    N - -  N - Write solution every Nth (and the last) time step. Defaults to 1, for every - time step. - - -N - Writes up to -N equally spaced results (for multifield auto time stepping). + wn + Window number (or ALL) to which command applies (defaults to 1). -  NONE - Suppresses writing of results for all multifield time steps. + xf, yf, zf + Location of the object to be at the focus point (center of the + window) in the global Cartesian coordinate system. If XF = AUTO, + allow automatic location calculation. If XF = USER, use focus + location of last display (useful when last display had auto focus). -  ALL - Writes results for every multifield time step (default). + ktrans + Translate key: -  LAST - Writes results for only the last multifield time step. + 0 - Interpret numerical XF, YF, ZF values as described above. - %array% - Where %array% is the name of an n X 1 X 1 dimensional array parameter defining - n key times, the data for the specified solution results - item is written at those key times. Key times in the - array parameter must appear in ascending order. Value - must be greater than or equal to the ending time values - for the load step. + 1 - Interpret XF, YF, ZF values as multiples of half-screens to translate from the + current position in the screen coordinate system. Example: XF + of 2.4 translates the display approximately 2.4 half-screens to + the left in the screen X (horizontal) direction. - For restart runs (see MFRSTART command), either change the parameter values to fall between the beginning and ending time values of the load step, or erase the current settings and reissue the command with a new array parameter. - For more information about defining array parameters, see the *DIM command - documentation. + 2 - Interpret XF, YF, ZF values as multiples of half-screens to translate from the + current position in the global Cartesian coordinate system. + Example: XF of 1.5 translates the display approximately 1.5 + half-screens in the global Cartesian X direction of the model. Notes ----- - A MFOUTPUT setting overrides any other output frequency setting - (OUTRES). To select the solution items, use the OUTRES command. - - For the case of Freq = -n and Freq = %array%, the results at the time - points which first time reaches or exceeds the targeting ouptupt time - points will be written. - - This command is also valid in PREP7. - - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + Specifies the location on (or off) the model which is to be located at + the focus point (center of the window). For section and capped + displays, the cutting plane is also assumed to pass through this + location (unless the working plane is used via /CPLANE). See also + /AUTO and /USER commands. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "MFOUTPUT, %s" % (str(freq)) + command = "/FOCUS,%s,%s,%s,%s,%s" % (str(wn), str(xf), str(yf), str(zf), str(ktrans)) self.RunCommand(command, **kwargs) - def Varnam(self, ir="", name="", **kwargs): + def Conjug(self, ir="", ia="", name="", facta="", **kwargs): """ - APDL Command: VARNAM + APDL Command: CONJUG - Names (or renames) a variable. + Forms the complex conjugate of a variable. Parameters ---------- ir - Reference number of the variable (2 to NV [NUMVAR]). + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. + + ia + Reference number of the variable to be operated on. + + --, -- + Unused fields. name - Thirty-two character name for identifying variable on printouts and - displays. Embedded blanks are compressed for output. + Thirty-two character name for identifying the variable on printouts + and displays. Embedded blanks are compressed for output. + + --, -- + Unused fields. + + facta + Scaling factor (positive or negative) applied to variable (default + to 1.0). + + Notes + ----- + Used only with harmonic analyses (ANTYPE,HARMIC). """ - command = "VARNAM, %s, %s" % (str(ir), str(name)) + command = "CONJUG,%s,%s,%s,%s" % (str(ir), str(ia), str(name), str(facta)) self.RunCommand(command, **kwargs) - def Slashsolu(self, **kwargs): + def Inrtia(self, **kwargs): """ - APDL Command: /SOLU + APDL Command: INRTIA - Enters the solution processor. + Specifies "Inertial loads" as the subsequent status topic. Notes ----- - This command is valid only at the Begin Level. + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "/SOLU, " % () + command = "INRTIA," % () self.RunCommand(command, **kwargs) def Sectype(self, secid="", type="", subtype="", name="", refinekey="", @@ -58842,1821 +59126,1825 @@ def Sectype(self, secid="", type="", subtype="", name="", refinekey="", available. All other section commands are ignored for this section type. - Pretension Section Considerations - - The PRETENSION section options of the SECTYPE and SECDATA commands are - documented primarily to aid your understanding of the data written by - the CDWRITE command. ANSYS, Inc. recommends that you generate - pretension sections via the PSMESH command. - - To display elements with shapes determined from the section definition, - issue the /ESHAPE command. - - """ - command = "SECTYPE, %s, %s, %s, %s, %s" % (str(secid), str(type), str(subtype), str(name), str(refinekey)) - self.RunCommand(command, **kwargs) - - def V(self, p1="", p2="", p3="", p4="", p5="", p6="", p7="", p8="", - **kwargs): - """ - APDL Command: V - - Defines a volume through keypoints. - - Parameters - ---------- - p1 - Keypoint defining starting corner of volume. If P1 = P, graphical - picking is enabled and all remaining command fields are ignored - (valid only in the GUI). - - p2 - Keypoint defining second corner of volume. - - p3 - Keypoint defining third corner of volume. - - p4 - Keypoint defining fourth corner of volume. - - p5 - Keypoint defining fifth corner of volume. - - p6 - Keypoint defining sixth corner of volume. - - p7 - Keypoint defining seventh corner of volume. - - p8 - Keypoint defining eighth corner of volume. - - Notes - ----- - Defines a volume (and its corresponding lines and areas) through eight - (or fewer) existing keypoints. Keypoints must be input in a continuous - order. The order of the keypoints should be around the bottom and then - the top. Missing lines are generated "straight" in the active - coordinate system and assigned the lowest available numbers [NUMSTR]. - Missing areas are generated and assigned the lowest available numbers. - - Solid modeling in a toroidal coordinate system is not recommended. - - Certain faces may be condensed to a line or point by repeating - keypoints. For example, use V,P1,P2,P3,P3,P5,P6,P7,P7 for a - triangular prism or V,P1,P2,P3,P3,P5,P5,P5,P5 for a tetrahedron. - - Using keypoints to produce partial sections in CSYS = 2 can generate - anomalies; check the resulting volumes carefully. - - """ - command = "V, %s, %s, %s, %s, %s, %s, %s, %s" % (str(p1), str(p2), str(p3), str(p4), str(p5), str(p6), str(p7), str(p8)) - self.RunCommand(command, **kwargs) - - def Mfun(self, parr="", func="", par1="", **kwargs): - """ - APDL Command: *MFUN - - Copies or transposes an array parameter matrix. - - Parameters - ---------- - parr - The name of the resulting array parameter matrix. See *SET for - name restrictions. - - func - Copy or transpose function: - - Par1 is copied to ParR - Par1 is transposed to ParR. Rows (m) and columns (n) of Par1 matrix are - transposed to resulting ParR matrix of shape - (n,m). - - par1 - Array parameter matrix input to the operation. - - Notes - ----- - Operates on one input array parameter matrix and produces one output - array parameter matrix according to: - - ParR = f(Par1) - - where the function (f) is either a copy or transpose, as described - above. - - Functions are based on the standard FORTRAN definitions where possible. - ParR may be the same as Par1. Starting array element numbers must be - defined for each array parameter matrix if it does not start at the - first location. For example, *MFUN,A(1,5),COPY,B(2,3) copies matrix B - (starting at element (2,3)) to matrix A (starting at element (1,5)). - The diagonal corner elements for each submatrix must be defined: the - upper left corner by the array starting element (on this command), the - lower right corner by the current values from the *VCOL and *VLEN - commands. The default values are the (1,1) element and the last - element in the matrix. No operations progress across matrix planes (in - the 3rd dimension). Absolute values and scale factors may be applied - to all parameters [*VABS, *VFACT]. Results may be cumulative [*VCUM]. - Array elements should not be skipped with the *VMASK and the NINC value - of the *VLEN specifications. The number of rows [*VLEN] applies to the - Par1 array. See the *VOPER command for details. - - This command is valid in any processor. - - """ - command = "*MFUN, %s, %s, %s" % (str(parr), str(func), str(par1)) - self.RunCommand(command, **kwargs) - - def Arclen(self, key="", maxarc="", minarc="", **kwargs): - """ - APDL Command: ARCLEN - - Activates the arc-length method. - - Parameters - ---------- - key - Arc-length key: - - OFF - Do not use the arc-length method (default). - - ON - Use the arc-length method. - - maxarc - Maximum multiplier of the reference arc-length radius (default = - 25). - - minarc - Minimum multiplier of the reference arc-length radius (default = - 1/1000). - - Notes - ----- - Activates the arc-length method and sets the minimum and maximum - multipliers for controlling the arc-length radius based on the initial - arc-length radius. - - The initial arc-length radius, t0, is proportional (in absolute value) - to the initial load factor. The initial load factor is given by: - - Initial Load Factor = TIME / NSBSTP - - where TIME is the time specified by the TIME command for the arc-length - load step, and NSBSTP is the number of substeps specified by the NSUBST - command. - - The factors MAXARC and MINARC are used to define the range for the arc- - length radius to expand and shrink during the substep solution: - - In each substep, the arc-length radius is kept constant throughout the - equilibrium iterations. After each converged substep, the arc-length - radius for the next substep is modified depending on the convergence - behavior. If the substep converges and the program heuristic predicts - an easy convergence, the arc-length radius is enlarged. If the enlarged - value is greater than tMAX, the arc-length radius is reset to tMAX. If - the substep does not converge, bisection will take place until the arc- - length radius is reduced to tMIN. If further nonconvergence is - encountered, the solution terminates. - - The arc-length method predicts the next time increment (that is, load - factor increment). Therefore, the AUTOTS and PRED commands are ignored - when the arc-length method is used. - - The STABILIZE and LNSRCH commands are also ignored. - - The arc-length method cannot be used in a multiframe restart. - - For difficult problems, one suggestion is to increase the initial - number of substeps (NSUBST), and to prevent the arc-length radius from - increasing too rapidly (MAXARC = 1). + Pretension Section Considerations - ARCLEN cannot be used for any load step that has no applied load or - displacement. + The PRETENSION section options of the SECTYPE and SECDATA commands are + documented primarily to aid your understanding of the data written by + the CDWRITE command. ANSYS, Inc. recommends that you generate + pretension sections via the PSMESH command. - The arc-length method does not support tabular loads. In order to use - the arc-length method, you must replace tabular loads by other load - types and then run the analysis again. + To display elements with shapes determined from the section definition, + issue the /ESHAPE command. """ - command = "ARCLEN, %s, %s, %s" % (str(key), str(maxarc), str(minarc)) + command = "SECTYPE,%s,%s,%s,%s,%s" % (str(secid), str(type), str(subtype), str(name), str(refinekey)) self.RunCommand(command, **kwargs) - def Cncheck(self, option="", rid1="", rid2="", rinc="", intertype="", - trlevel="", cgap="", cpen="", ioff="", **kwargs): + def Edbvis(self, qvco="", lvco="", **kwargs): """ - APDL Command: CNCHECK + APDL Command: EDBVIS - Provides and/or adjusts the initial status of contact pairs. + Specifies global bulk viscosity coefficients for an explicit dynamics + analysis. Parameters ---------- - option - Option to be performed: - - DETAIL - List all contact pair properties (default). - - SUMMARY - List only the open/closed status for each contact pair. - - POST - Execute a partial solution to write the initial contact configuration to the - Jobname.RCN file. - - ADJUST - Physically move contact nodes to the target in order to close a gap or reduce - penetration. The initial adjustment is converted to - structural displacement values (UX, UY, UZ) and stored in - the Jobname.RCN file. - - RESET - Reset target element and contact element key options and real constants to - their default values. This option is not valid for general - contact. - - AUTO - Automatically sets certain real constants and key options to recommended values - or settings in order to achieve better convergence based on - overall contact pair behaviors. This option is not valid for - general contact. + qvco + Quadratic viscosity coefficient (defaults to 1.5). - TRIM - Trim contact pair (remove certain contact and target elements). + lvco + Linear viscosity coefficient (defaults to 0.06). - UNSE - Unselect certain contact and target elements. + Notes + ----- + This command is also valid in PREP7. - rid1, rid2, rinc - For pair-based contact, the range of real constant pair ID's for - which Option will be performed. If RID2 is not specified, it - defaults to RID1. If no value is specified, all contact pairs in - the selected set of elements are considered. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - intertype - The type of contact interface (pair-based versus general contact) - to be considered; or the type of contact pair to be - trimmed/unselected/auto-set. + """ + command = "EDBVIS,%s,%s" % (str(qvco), str(lvco)) + self.RunCommand(command, **kwargs) - (blank) - Include all contact definitions (pair-based and general contact). + def Cskp(self, kcn="", kcs="", porig="", pxaxs="", pxypl="", par1="", + par2="", **kwargs): + """ + APDL Command: CSKP - GCN - Include general contact definitions only (not valid when Option = RESET or - AUTO). + Defines a local coordinate system by three keypoint locations. - trlevel - Trimming level (used only when Option = TRIM or UNSE): + Parameters + ---------- + kcn + Arbitrary reference number assigned to this coordinate system. + Must be greater than 10. A coordinate system previously defined + with this number will be redefined. - (blank) - Normal trimming (default): remove/unselect contact and target elements which - are in far-field. + kcs + Coordinate system type: - AGGRE - Aggressive trimming: remove/unselect contact and target elements which are in - far-field, and certain elements in near-field. + 0 or CART - Cartesian - Notes - ----- - The CNCHECK command provides information for surface-to-surface, node- - to-surface, and line-to-line contact pairs (element types TARGE169, - TARGE170, CONTA171, CONTA172, CONTA173, CONTA174, CONTA175, CONTA176, - CONTA177). All contact and target elements of interest, along with the - solid elements and nodes attached to them, must be selected for the - command to function properly. For performance reasons, the program uses - a subset of nodes and elements based on the specified contact regions - (RID1, RID2, RINC) when executing the CNCHECK command. + 1 or CYLIN - Cylindrical (circular or elliptical) - CNCHECK is available in both the PREP7 and SOLUTION processors, but - only before the first solve operation (that is, only before the first - load step or the first substep). + 2 or SPHE - Spherical (or spheroidal) - If the contact and target elements were generated through mesh commands - (AMESH, LMESH, etc.) instead of the ESURF command, you must issue - MODMSH,DETACH before CNCHECK. Otherwise, CNCHECK will not work - correctly. + 3 or TORO - Toroidal - The following additional notes are available: + porig + Keypoint defining the origin of this coordinate system. If PORIG = + P, graphical picking is enabled and all remaining command fields + are ignored (valid only in the GUI). - The command CNCHECK,POST solves the initial contact configuration in - one substep. After issuing this command, you can postprocess the - contact result items as you would for any other converged load step; - however, only the contact status, contact penetration or gap, and - contact pressure will have meaningful values. Other contact quantities - (friction stress, sliding distance, chattering) will be available but - are not useful. + pxaxs + Keypoint defining the positive x-axis orientation of this + coordinate system. - Because Option = POST forces a solve operation, the PrepPost (PP) - license does not work with CNCHECK,POST. + pxypl + Keypoint defining the x-y plane (with PORIG and PXAXS) in the first + or second quadrant of this coordinate system. - If CNCHECK,POST is issued within the solution processor, the SOLVE - command that solves the first load step of your analysis should appear - in a different step, as shown in the following example: + par1 + Used for elliptical, spheroidal, or toroidal systems. If KCS = 1 + or 2, PAR1 is the ratio of the ellipse Y-axis radius to X-axis + radius (defaults to 1.0 (circle)). If KCS = 3, PAR1 is the major + radius of the torus. - CNCHECK,POST writes initial contact results to a file named - Jobname.RCN. When postprocessing the initial contact state, you need - to explicitly read results from this file using the FILE and SET,FIRST - commands in POST1 to properly read the corresponding contact data. - Otherwise, the results may be read improperly. The following example - shows a valid command sequence for plotting the initial contact gap: + par2 + Used for spheroidal systems. If KCS = 2, PAR2 = ratio of ellipse + Z-axis radius to X-axis radius (defaults to 1.0 (circle)). - You can issue CNCHECK,ADJUST to physically move contact nodes to the - target surface. See Physically Moving Contact Nodes Towards the Target - Surface in the Contact Technology Guide for more information. Similar - to the POST option, if CNCHECK,ADJUST is issued within the solution - processor, the SOLVE command that solves the first load step of your - analysis should appear in a different step: + Notes + ----- + Defines and activates a local right-handed coordinate system by + specifying three existing keypoints: to locate the origin, to locate + the positive x-axis, and to define the positive x-y plane. This local + system becomes the active coordinate system. See the CLOCAL, CS, + CSWPLA, and LOCAL commands for alternate definitions. Local coordinate + systems may be displayed with the /PSYMB command. - After issuing the CNCHECK,ADJUST command, the initial adjustment is - converted to structural displacement values (UX, UY, UZ) and stored in - a file named Jobname.RCN. You can use this file to plot or list nodal - adjustment vectors or create a contour plot of the adjustment - magnitudes via the displacements. When postprocessing the nodal - adjustment values, you need to explicitly read results from this file - using the FILE and SET,FIRST commands in POST1 to properly read the - corresponding contact data. Otherwise, the results may be read - improperly. + This command is valid in any processor. - Note:: : The Jobname.RCN file contains information generated from the - CNCHECK,POST or CNCHECK,ADJUST command. If both commands are issued in - the same analysis, the file is overwritten by the last CNCHECK command. + """ + command = "CSKP,%s,%s,%s,%s,%s,%s,%s" % (str(kcn), str(kcs), str(porig), str(pxaxs), str(pxypl), str(par1), str(par2)) + self.RunCommand(command, **kwargs) - The command CNCHECK,RESET allows you to reset all but a few key options - and real constants associated with the specified contact pairs (RID1, - RID2, RINC) to their default values. This option is only valid for - pair-based contact definitions. + def Eqslv(self, lab="", toler="", mult="", keepfile="", **kwargs): + """ + APDL Command: EQSLV - The following key options and real constants remain unchanged when this - command is issued: + Specifies the type of equation solver. - The command CNCHECK,AUTO automatically changes certain default or - undefined key options and real constants to optimized settings or - values. The changes are based on overall contact pair behaviors. In - general, this command improves convergence for nonlinear contact - analysis. This option is only valid for pair-based contact definitions. + Parameters + ---------- + lab + Equation solver type: - The tables below list typical KEYOPT and real constant settings - implemented by CNCHECK,AUTO. The actual settings implemented for your - specific model may vary from what is described here. You should always - verify the modified settings by issuing CNCHECK,DETAIL to list current - contact pair properties. + SPARSE - Sparse direct equation solver. Applicable to real-value or complex-value + symmetric and unsymmetric matrices. Available only for + STATIC, HARMIC (full method only), TRANS (full method + only), SUBSTR, and PSD spectrum analysis types [ANTYPE]. + Can be used for nonlinear and linear analyses, especially + nonlinear analysis where indefinite matrices are + frequently encountered. Well suited for contact analysis + where contact status alters the mesh topology. Other + typical well-suited applications are: (a) models + consisting of shell/beam or shell/beam and solid elements + (b) models with a multi-branch structure, such as an + automobile exhaust or a turbine fan. This is an + alternative to iterative solvers since it combines both + speed and robustness. Generally, it requires considerably + more memory (~10x) than the PCG solver to obtain optimal + performance (running totally in-core). When memory is + limited, the solver works partly in-core and out-of-core, + which can noticeably slow down the performance of the + solver. See the BCSOPTION command for more details on the + various modes of operation for this solver. - Set to 0 if KEYOPT(2) > 1 for debonding. + This solver can be run in shared memory parallel or distributed memory parallel (Distributed ANSYS) mode. When used in Distributed ANSYS, this solver preserves all of the merits of the classic or shared memory sparse solver. The total sum of memory (summed for all processes) is usually higher than the shared memory sparse solver. System configuration also affects the performance of the distributed memory parallel solver. If enough physical memory is available, running this solver in the in-core memory mode achieves optimal performance. The ideal configuration when using the out-of-core memory mode is to use one processor per machine on multiple machines (a cluster), spreading the I/O across the hard drives of each machine, assuming that you are using a high-speed network such as Infiniband to efficiently support all communication across the multiple machines. - This solver supports use of the GPU accelerator capability. - Set to 0 if underlying elements are superelements, or if KEYOPT(9) = 2 - was previously specified. + JCG - Jacobi Conjugate Gradient iterative equation solver. Available only for STATIC, + HARMIC (full method only), and TRANS (full method only) + analysis types [ANTYPE]. Can be used for structural, thermal, + and multiphysics applications. Applicable for symmetric, + unsymmetric, complex, definite, and indefinite matrices. + Recommended for 3-D harmonic analyses in structural and + multiphysics applications. Efficient for heat transfer, + electromagnetics, piezoelectrics, and acoustic field + problems. - PINB default depends on contact behavior (rigid vs. flexible target), - NLGEOM,ON or OFF, KEYOPT(9) setting, KEYOPT(12) setting, and the value - of real constant CNOF (see Using PINB). + This solver can be run in shared memory parallel or distributed memory parallel (Distributed ANSYS) mode. When used in Distributed ANSYS, in addition to the limitations listed above, this solver only runs in a distributed parallel fashion for STATIC and TRANS (full method) analyses in which the stiffness is symmetric and only when not using the fast thermal option (THOPT). Otherwise, this solver runs in shared memory parallel mode inside Distributed ANSYS. - This solver supports use of the GPU accelerator capability. When using the GPU + accelerator capability, in addition to the + limitations listed above, this solver is + available only for STATIC and TRANS (full method) + analyses where the stiffness is symmetric and + does not support the fast thermal option (THOPT). - CNCHECK,AUTO also sets PRED,OFF for the case of a force-distributed - constraint defined via MPC contact. + ICCG - Incomplete Cholesky Conjugate Gradient iterative equation solver. Available for + STATIC, HARMIC (full method only), and TRANS (full method + only) analysis types [ANTYPE]. Can be used for structural, + thermal, and multiphysics applications, and for symmetric, + unsymmetric, complex, definite, and indefinite matrices. The + ICCG solver requires more memory than the JCG solver, but is + more robust than the JCG solver for ill-conditioned + matrices. - You can issue CNCHECK,TRIM or CNCHECK,UNSEL to remove or unselect - contact and target elements which are in far-field (that is, open and - not near contact), or even in near-field if aggressive trimming logic - is used (TRlevel = AGGRE). + This solver can only be run in shared memory parallel mode. This is also true when the solver is used inside Distributed ANSYS. - This solver does not support use of the GPU accelerator capability. - """ - command = "CNCHECK, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(rid1), str(rid2), str(rinc), str(intertype), str(trlevel), str(cgap), str(cpen), str(ioff)) - self.RunCommand(command, **kwargs) + QMR - Quasi-Minimal Residual iterative equation solver. Available for the HARMIC + (full method only) analysis type [ANTYPE]. Can be used for + high-frequency electromagnetic applications, and for + symmetric, complex, definite, and indefinite matrices. The + QMR solver is more stable than the ICCG solver. - def Mfrc(self, freq="", maxfiles="", **kwargs): - """ - APDL Command: MFRC + This solver can only be run in shared memory parallel mode. This is also true when the solver is used inside Distributed ANSYS. - This solver does not support use of the GPU accelerator capability. - Controls file writing for multiframe restarts for the ANSYS Multi-field - solver. + PCG - Preconditioned Conjugate Gradient iterative equation solver (licensed from + Computational Applications and Systems Integration, Inc.). + Requires less disk file space than SPARSE and is faster for + large models. Useful for plates, shells, 3-D models, large + 2-D models, and other problems having symmetric, sparse, + definite or indefinite matrices for nonlinear analysis. + Requires twice as much memory as JCG. Available only for + analysis types [ANTYPE] STATIC, TRANS (full method only), or + MODAL (with PCG Lanczos option only). Also available for the + use pass of substructure analyses (MATRIX50). The PCG solver + can robustly solve equations with constraint equations (CE, + CEINTF, CPINTF, and CERIG). With this solver, you can use + the MSAVE command to obtain a considerable memory savings. - Parameters - ---------- - freq - Frequency at which the .Xnnn files are written. + The PCG solver can handle ill-conditioned problems by using a higher level of difficulty (see PCGOPT). Ill-conditioning arises from elements with high aspect ratios, contact, and plasticity. - This solver can be run in shared memory parallel or distributed memory parallel + (Distributed ANSYS) mode. When used in + Distributed ANSYS, this solver preserves all of + the merits of the classic or shared memory PCG + solver. The total sum of memory (summed for all + processes) is about 30% more than the shared + memory PCG solver. - 0 - Do not write any .Xnnn files for this simulation + toler + Iterative solver tolerance value. Used only with the Jacobi + Conjugate Gradient, Incomplete Cholesky Conjugate Gradient, Pre- + conditioned Conjugate Gradient, and Quasi-Minimal Residual equation + solvers. For the PCG solver, the default is 1.0E-8. The value + 1.0E-5 may be acceptable in many situations. When using the PCG + Lanczos mode extraction method, the default solver tolerance value + is 1.0E-4. For the JCG and ICCG solvers with symmetric matrices, + the default is 1.0E-8. For the JCG and ICCG solvers with + unsymmetric matrices, and for the QMR solver, the default is + 1.0E-6. Iterations continue until the SRSS norm of the residual is + less than TOLER times the norm of the applied load vector. For the + PCG solver in the linear static analysis case, 3 error norms are + used. If one of the error norms is smaller than TOLER, and the SRSS + norm of the residual is smaller than 1.0E-2, convergence is assumed + to have been reached. See Iterative Solver in the Mechanical APDL + Theory Reference for details. - LAST - Write the .Xnnn files for the last multifield time step (default). + mult + Multiplier (defaults to 2.5 for nonlinear analyses; 1.0 for linear + analyses) used to control the maximum number of iterations + performed during convergence calculations. Used only with the Pre- + conditioned Conjugate Gradient equation solver (PCG). The maximum + number of iterations is equal to the multiplier (MULT) times the + number of degrees of freedom (DOF). If MULT is input as a negative + value, then the maximum number of iterations is equal to abs(MULT). + Iterations continue until either the maximum number of iterations + or solution convergence has been reached. In general, the default + value for MULT is adequate for reaching convergence. However, for + ill-conditioned matrices (that is, models containing elements with + high aspect ratios or material type discontinuities) the multiplier + may be used to increase the maximum number of iterations used to + achieve convergence. The recommended range for the multiplier is + 1.0 MULT 3.0. Normally, a value greater than 3.0 adds no further + benefit toward convergence, and merely increases time requirements. + If the solution does not converge with 1.0 MULT 3.0, or in less + than 10,000 iterations, then convergence is highly unlikely and + further examination of the model is recommended. Rather than + increasing the default value of MULT, consider increasing the level + of difficulty (Lev_Diff) on the PCGOPT command. - N - If N is a positive number, write the .Xnnn file every Nth multifield time step. + -- + Unused field. - maxfiles - Maximum number of .Xnnn files to save for a multifield analysis. + keepfile + Determines whether files from a SPARSE solver run should be deleted + or retained. Applies only to Lab = SPARSE for static and full + transient analyses. - 0 - Do not overwrite existing .Xnnn files (default). The total maximum number of - .Xnnn files for one run is 999. If this number is reached - before the analysis is complete, the analysis will continue, - but will no longer write .Xnnn files. + DELE - Deletes all files from the SPARSE solver run, including the factorized file, + .LN22, upon FINISH or /EXIT (default). - N - The maximum number of .Xnnn file to keep for this multifield simulation. When - this number of .Rnnn have been written, ANSYS will overwrite - the first .Xnnn file of the subsequent multifield time step. + KEEP - Retains all necessary files from the SPARSE solver run, including the .LN22 + file, in the working directory. Notes ----- - This command sets up the restart parameters for a multiframe restart, - allowing you to restart an analysis from any multifield time step for - which there is a .Rnnn file. You can perform a multiframe restart only - for nonlinear static and full transient structural, thermal and - thermal- structural (see RESCONTROL for details). - - If you have many multifield time steps, and are writing .Xnnn files - frequently, use MAXFILES to limit the number of .Xnnn files saved, - since these files can fill up your disk quickly. - - For a CFX analysis, you must also configure the MFOUTPUT and MFRSTART - settings to ensure consistent time points for postprocessing and - restart simulation. - - For MFX simulation, the RESCONTROL command will be ignored. + The selection of a solver can affect the speed and accuracy of a + solution. For a more detailed discussion of the merits of each solver, + see Solution in the Basic Analysis Guide. - Default Behavior + You may only specify the solver type in the first load step. You may, + however, modify the solver tolerance in subsequent load steps for the + iterative solvers. - In nonlinear static and full transient analyses, the default behavior - is multiframe restart. (MFRC,LAST). By default, the .Rnnn file is - written at the last multifield time step . An .Rnnn file and - corresponding load set of .ldhi files is also written at the multifield - time step prior to the abort point of the run if an abort file was - used, or if the job terminated because of a failure to converge or some - other solution error. No information at the aborted multifield time - step is saved in either the .Rnnn file or the .ldhi file. + This command is also valid in PREP7. - This command cannot be issued after restarting a multifield analysis. + Distributed ANSYS Restriction: All equation solvers are supported in + Distributed ANSYS. However, the SPARSE and PCG solvers are the only + distributed solvers that always run a fully distributed solution. The + JCG solver runs in a fully distributed mode in some cases; in other + cases, it does not. The ICCG and QMR solvers are not distributed + solvers; therefore, you will not see the full performance improvements + with these solvers that you would with a fully distributed solution. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The ANSYS DesignSpace (DS) product does not support distributed + solutions (Distributed ANSYS). """ - command = "MFRC, %s, %s" % (str(freq), str(maxfiles)) + command = "EQSLV,%s,%s,%s,%s" % (str(lab), str(toler), str(mult), str(keepfile)) self.RunCommand(command, **kwargs) - def Wrfull(self, ldstep="", **kwargs): + def Afsurf(self, sarea="", tline="", **kwargs): """ - APDL Command: WRFULL + APDL Command: AFSURF - Stops solution after assembling global matrices. + Generates surface elements overlaid on the surface of existing solid + elements and assigns the extra node as the closest fluid element node. Parameters ---------- - ldstep - Specify action to take: - - OFF or 0 - Turn off feature (default) + sarea + Component name for the surface areas of the meshed solid volumes. - N - Turn on feature and set it to stop after assembling the global matrices and - writing the .FULL file for load step N. + tline + Component name for the target lines meshed with fluid elements. Notes ----- - This command is used in conjunction with the SOLVE command to generate - the assembled matrix file (.FULL file) only. The element matrices are - assembled into the relevant global matrices for the particular analysis - being performed and the .FULL file is written. Equation solution and - the output of data to the results file are skipped. To dump the - matrices written on the .FULL file into Harwell-Boeing format, use the - HBMAT command in /AUX2. To copy the matrices to a postscript format - that can be viewed graphically, use the PSMAT command. + This command macro is used to generate surface effect elements overlaid + on the surface of existing solid elements and, based on proximity, to + determine and assign the extra node for each surface element. The + underlying volumes of the solid region and the fluid lines must be + meshed prior to calling this command macro. The active element type + must be SURF152 with appropriate settings for KEYOPT(4), KEYOPT(5), + KEYOPT(6), and KEYOPT(8). - To use the LSSOLVE macro with this command, you may need to modify the - LSSOLVE macro to properly stop at the load step of interest. + The surface areas of the solid and the target lines of the fluid are + grouped into components and named using the CM command. The names must + be enclosed in single quotes (e.g., 'SAREA') when the AFSURF command is + manually typed in. - This command only valid for linear static, full harmonic, and full - transient analyses when the sparse direct solver is selected. This - command is also valid for buckling or modal analyses with any mode - extraction method. This command is not valid for nonlinear analyses. - It is not supported in a linear perturbation analysis. + When using the GUI method, node and element components are created + through the picking dialog boxes associated with this command. - In general, the assembled matrix file .FULL contains stiffness, mass, - and damping matrices. However, the availability of the matrices depends - on the analysis type chosen when the file is written. + The macro is applicable for the SURF152 and FLUID116 element types. """ - command = "WRFULL, %s" % (str(ldstep)) + command = "AFSURF,%s,%s" % (str(sarea), str(tline)) self.RunCommand(command, **kwargs) - def Secstop(self, dof1="", minvalue1="", maxvalue1="", dof2="", - minvalue2="", maxvalue2="", dof3="", minvalue3="", - maxvalue3="", **kwargs): + def Lsymm(self, ncomp="", nl1="", nl2="", ninc="", kinc="", noelem="", + imove="", **kwargs): """ - APDL Command: SECSTOP + APDL Command: LSYMM - Specifies stops on the components of relative motion in a joint - element. + Generates lines from a line pattern by symmetry reflection. Parameters ---------- - dof - Local degree of freedom to be stopped. - - minvalue - Low end of the range of allowed movement for the specified DOF. - - maxvalue - High end of the range of allowed movement for the specified DOF. - - Notes - ----- - Stops restrict motion in a DOF; motion beyond the MINVALUE or MAXVALUE - is prevented (motion away from a limit is allowed). You can specify up - to three stops. If necessary, you can repeat the command. - - """ - command = "SECSTOP, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(dof1), str(minvalue1), str(maxvalue1), str(dof2), str(minvalue2), str(maxvalue2), str(dof3), str(minvalue3), str(maxvalue3)) - self.RunCommand(command, **kwargs) - - def Elem(self, **kwargs): - """ - APDL Command: ELEM + ncomp + Symmetry key: - Specifies "Elements" as the subsequent status topic. + X - X symmetry (default). - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu>: List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Y - Y symmetry. - If entered directly into the program, the STAT command should - immediately follow this command. + Z - Z symmetry. - """ - command = "ELEM, " % () - self.RunCommand(command, **kwargs) + nl1, nl2, ninc + Reflect lines from pattern beginning with NL1 to NL2 (defaults to + NL1) in steps of NINC (defaults to 1). If NL1 = ALL, NL2 and NINC + are ignored and pattern is all selected lines [LSEL]. If NL1 = 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 NL1 (NL2 and NINC are ignored). - def Asub(self, na1="", p1="", p2="", p3="", p4="", **kwargs): - """ - APDL Command: ASUB + kinc + Keypoint increment between sets. If zero, the lowest available + keypoint numbers are assigned [NUMSTR]. - Generates an area using the shape of an existing area. + noelem + Specifies whether nodes and elements are also to be generated: - Parameters - ---------- - na1 - Existing area number whose shape is to be used. If P1 = P, - graphical picking is enabled and all remaining arguments are - ignored (valid only in the GUI). + 0 - Generate nodes and elements associated with the original lines, if they exist. - p1 - Keypoint defining starting corner of area. + 1 - Do not generate nodes and elements. - p2 - Keypoint defining second corner of area. + imove + Specifies whether areas will be moved or newly defined: - p3 - Keypoint defining third corner of area. + 0 - Generate additional lines. - p4 - Keypoint defining fourth corner of area (defaults to P3). + 1 - Move original lines to new position retaining the same keypoint numbers (KINC + and NOELEM are ignored). Valid only if the old lines are no + longer needed at their original positions. Corresponding + meshed items are also moved if not needed at their original + position. Notes ----- - The new area will overlay the old area. Often used when the area to be - subdivided consists of a complex shape that was not generated in a - single coordinate system. Keypoints and any corresponding lines must - lie on the existing area. Missing lines are generated to lie on the - given area. The active coordinate system is ignored. + Generates a reflected set of lines (and their corresponding keypoints + and mesh) from a given line pattern by a symmetry reflection (see + analogous node symmetry command, NSYM). The MAT, TYPE, REAL, and ESYS + attributes are based upon the lines in the pattern and not upon the + current settings. Reflection is done in the active coordinate system + by changing a particular coordinate sign. The active coordinate system + must be Cartesian. Lines in the pattern may have been generated in any + coordinate system. However, solid modeling in a toroidal coordinate + system is not recommended. Lines are generated as described in the + LGEN command. + + See the ESYM command for additional information about symmetry + elements. """ - command = "ASUB, %s, %s, %s, %s, %s" % (str(na1), str(p1), str(p2), str(p3), str(p4)) + command = "LSYMM,%s,%s,%s,%s,%s,%s,%s" % (str(ncomp), str(nl1), str(nl2), str(ninc), str(kinc), str(noelem), str(imove)) self.RunCommand(command, **kwargs) - def Toffst(self, value="", **kwargs): + def Nplot(self, knum="", **kwargs): """ - APDL Command: TOFFST + APDL Command: NPLOT - Specifies the temperature offset from absolute zero to zero. + Displays nodes. Parameters ---------- - value - Degrees between absolute zero and zero of temperature system used - (should be positive). + knum + Node number key: + + 0 - No node numbers on display. + + 1 - Include node numbers on display. See also /PNUM command. Notes ----- - Specifies the difference (in degrees) between absolute zero and the - zero of the temperature system used. Absolute temperature values are - required in evaluating certain expressions, such as for creep, - swelling, radiation heat transfer, MASS71, etc. (The offset - temperature is not used in evaluating emissivity.) Examples are 460° - for the Fahrenheit system and 273° for the Celsius system. The offset - temperature is internally included in the element calculations and does - not affect the temperature input or output. If used in SOLUTION, this - command is valid only within the first load step. + Produces a node display. Only selected nodes [NSEL] are displayed. + Elements need not be defined. See the DSYS command for display + coordinate system. - This command is also valid in PREP7. + This command is valid in any processor. """ - command = "TOFFST, %s" % (str(value)) + command = "NPLOT,%s" % (str(knum)) self.RunCommand(command, **kwargs) - def Essolv(self, electit="", strutit="", dimn="", morphopt="", mcomp="", - xcomp="", electol="", strutol="", mxloop="", ruseky="", - restky="", eiscomp="", **kwargs): + def Mflcomm(self, type="", fname1="", intname1="", label1="", fname2="", + intname2="", label2="", option="", **kwargs): """ - APDL Command: ESSOLV + APDL Command: MFLCOMM - Performs a coupled electrostatic-structural analysis. + Defines a load transfer for code coupling analyses. Parameters ---------- - electit - Title of the electrostatics physics file as assigned by the PHYSICS - command. - - strutit - Title of the structural physics file as assigned by the PHYSICS - command. - - dimn - Model dimensionality (a default is not allowed): - - 2 - 2-D model. + type + Set to SURF for a surface load transfer. Only surface load + transfers are available for MFX. - 3 - 3-D model. + fname1 + Sets the field solver name for the server (sending) code with a + case-sensitive character string of up to 80 characters. - morphopt - Morphing option: + intname1 + Sets the interface name or number for the field solver of the + server code. ANSYS interfaces are numbered and are defined by the + SF family of commands (SF, SFA, or SFE) with the FSIN surface load + label. CFX interfaces use names, which are set in CFX-Pre. - <0 - Do not perform any mesh morphing or remeshing. + label1 + Sets the surface load label for the field solver of the server code + with a character string of up to 80 characters. ANSYS uses a + combination of the label and option to determine what data is + transferred (e.g., heat flows and not fluxes are sent with the + label/option pair HFLU/CPP). ANSYS cannot serve total force or + total force density to CFX for either formulation. CFX will send + the data requested by the label regardless of the option. CFX + labels that have more than one word must be enclosed in single + quotes. Note that this field is case-sensitive; i.e., FORC will + work, but forc will not. - 0 - Remesh the non-structural regions for each recursive loop only if mesh morphing - fails (default). + fname2 + Sets the field solver name for the client (receiving) code with a + character string of up to 80 characters. - 1 - Remesh the non-structural regions each recursive loop and bypass mesh morphing. + intname2 + Sets the interface name or number for the field solver of the + client code with a character string of up to 80 characters. ANSYS + interfaces are numbered and are defined by the SF family of + commands (SF, SFA, or SFE) with the FSIN surface load label. CFX + interfaces use names, which are set in CFX-Pre. - 2 - Perform mesh morphing only, do not remesh any non-structural regions. + label2 + Sets the surface load label for the field solver of the client code + with a character string of up to 80 characters. ANSYS uses a + combination of the label and option to determine what data is + transferred (e.g., heat flows and not fluxes are sent with the + label-option pair HFLU/CPP). CFX will send the data requested by + the label regardless of the option. CFX labels that have more than + one word must be enclosed in single quotes. Note that this field is + case-sensitive; i.e., FORC will work, but forc will not. - mcomp - Component name of the region to be morphed. For 2-D models, the - component may be elements or areas. For 3-D models, the component - may be elements or volumes. A component must be specified. You - must enclose name-strings in single quotes in the ESSOLV command - line. + option + NONC - xcomp - Component name of entities excluded from morphing. In the 2-D - case, it is the component name for the lines excluded from - morphing. In the 3-D case, it is component name for the areas - excluded from morphing. Defaults to exterior non-shared entities - (see the DAMORPH, DVMORPH, and DEMORPH commands). You must enclose - name-strings in single quotes in the ESSOLV command line. + NONC - Profile preserving: Sets the interface load transfer to the nonconservative + formulation (default for displacement and temperature). In + the nonconservative formulation, the force density (or heat + flux) is transferred across the interface, preserving the + density profile between the two fields. - electol - Electrostatic energy convergence tolerance. Defaults to .005 (.5%) - of the value computed from the previous iteration. If less than - zero, the convergence criteria based on electrostatics results is - turned off. + CPP - Conservative: Uses a local conservative formulation while preserving the + density profile (default for total force and wall heat flow). + In the conservative formulation, total force (or heat flow) + must be transferred across the interface from the CFX field + solver to the ANSYS field solver. - strutol - Structural maximum displacement convergence tolerance. Defaults to - .005 (.5%) of the value computed from the previous iteration. If - less than zero, the convergence criteria base on structural results - is turned off. + Notes + ----- + ANSYS input should always be in consistent units for its model. - mxloop - Maximum number of allowable solution recursive loops. A single - pass through both an electrostatics and structural analysis - constitutes one loop. Defaults to 100. + ANSYS uses a combination of the label and option to determine what data + to transfer. CFX will send exactly the data requested by the label, + regardless of the option. However, for the NONC option, the CFX label + must be Total Force Density or Wall Heat Flux and for the CPP option, + the CFX label must be Total Force or Wall Heat Flow. - -- - Unused field. + For more information on profile preserving and conservative load + transfer, see Load Interpolation in the Coupled-Field Analysis Guide. + Mapping Diagnostics are also available; however, if the improperly- + mapped nodes are based on the CFX mesh, you should ignore the ANSYS- + generated components because the CFX nodes are not present in the ANSYS + database. - ruseky - Reuse flag option: + If you are working interactively, you can choose two pre-defined + combinations, Mechanical or Thermal, or you can choose a Custom option. + If you choose the Mechanical load type, then the Total Force Density + and Total Mesh Displacement data (corresponding to the ANSYS FORC and + DISP labels, respectively) is transferred. If you choose the Thermal + load type, then the Temperature and Wall Heat Flux data (corresponding + to the ANSYS TEMP and HFLU labels, respectively) is transferred. If you + choose Custom, you can select any valid combination of label and option + as described above. - 1 - Assumes initial run of ESSOLV using base geometry for the first electrostatics - solution. + The ANSYS Multi-field solver solver does not allow you to switch the + load transfer direction for the same load quantity across the same + interfaces for a restart run. For example, if Field1 sends temperature + to and receives heat flow from Field2 across Interface 1 in a previous + solution, then you cannot make Field1 send heat flow to and receive + temperatures from Field2 across the same interface in a restart run, + even if you cleared the corresponding load transfer command. - >1 - Assumes ESSOLV run is a continuation of a previous ESSOLV run, whereby the - morphed geometry is used for the initial electrostatic - simulation. + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. - restky - Structural restart key. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - 0 - Use static solution option for structural solution. + """ + command = "MFLCOMM,%s,%s,%s,%s,%s,%s,%s,%s" % (str(type), str(fname1), str(intname1), str(label1), str(fname2), str(intname2), str(label2), str(option)) + self.RunCommand(command, **kwargs) - 1 - Use static restart solution option for structural solution. + def Quit(self, **kwargs): + """ + APDL Command: /QUIT - eiscomp - Element component name for elements containing initial stress data - residing in file jobname.ist. The initial stress data must be - defined prior to issuing ESSOLV (see INISTATE command). + Exits a processor. Notes ----- - ESSOLV invokes an ANSYS macro which automatically performs a coupled - electrostatic-structural analysis. + This is an alternative to the FINISH command. If any cleanup or file + writing is normally done by the FINISH command, it is bypassed if the + /QUIT command is used instead. A new processor may be entered after + this command. See the /EXIT command to terminate the run. - The macro displays periodic updates of the convergence. + This command is valid in any processor. This command is not valid at + the Begin level. - If non-structural regions are remeshed during the analysis, boundary - conditions and loads applied to nodes and elements will be lost. - Accordingly, it is better to assign boundary conditions and loads to - the solid model. + """ + command = "/QUIT," % () + self.RunCommand(command, **kwargs) - Use RUSEKY > 1 for solving multiple ESSOLV simulations for different - excitation levels (i.e., for running a voltage sweep). Do not issue the - SAVE command to save the database between ESSOLV calls. + def Antime(self, nfram="", delay="", ncycl="", autocntrky="", rsltdat="", + min="", max="", **kwargs): + """ + APDL Command: ANTIME - For nonlinear structural solutions, the structural restart option - (RESTKY = 1) may improve solution time by starting from the previous - converged structural solution. + Produces a sequential contour animation over a range of time. - For solid elements, ESSOLV automatically detects the air-structure - interface and applies a Maxwell surface flag on the electrostatic - elements. This flag is used to initiate the transfer for forces from - the electrostatic region to the structure. When using the ESSOLV - command with structural shell elements (for example, SHELL181), you - must manually apply the Maxwell surface flag on all air elements - surrounding the shells before writing the final electrostatic physics - file. Use the SFA command to apply the Maxwell surface flag to the - areas representing the shell elements; doing so ensures that the air - elements next to both sides of the shells receive the Maxwell surface - flag. + Parameters + ---------- + nfram + Number of frame captures (defaults to 5). - If lower-order structural solids or shells are used, set KEYOPT(7) = 1 - for the electrostatic element types to ensure the correct transfer of - forces. + delay + Time delay during animation (defaults to 0.1 seconds). - Information on creating the initial stress file is documented in the - Loading chapter in the Basic Analysis Guide. + ncycl + Number of animation cycles (defaults to 5). Available in non-UI + mode only. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + autocntrky + Auto-scales contour values, based on the overall subset range of + values. The auto-scaling option defaults to 0, no auto-scaling. - """ - command = "ESSOLV, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(electit), str(strutit), str(dimn), str(morphopt), str(mcomp), str(xcomp), str(electol), str(strutol), str(mxloop), str(ruseky), str(restky), str(eiscomp)) - self.RunCommand(command, **kwargs) + rsltdat + The results data to be used for the animation sequence. This can + be: - def Dim(self, par="", type="", imax="", jmax="", kmax="", var1="", var2="", - var3="", csysid="", **kwargs): - """ - APDL Command: *DIM + 0 - Current load step data (default). - Defines an array parameter and its dimensions. + 1 - Range of load step data. - Parameters - ---------- - par - Name of parameter to be dimensioned. See *SET for name - restrictions. + 2 - Range of time data. - type - Array type: + min + The range minimum value. If left blank defaults to the first data + point. - Arrays are similar to standard FORTRAN arrays (indices are integers) (default). Index numbers for the rows, columns, and planes are sequential values beginning with one. Used for 1-, 2-, or 3-D arrays. - Same as ARRAY, but used to specify 4-D arrays. + max + The range maximum value. If left blank defaults to the last data + point. - Same as ARRAY, but used to specify 5-D arrays. - Array entries are character strings (up to 8 characters each). Index numbers - for rows, columns, and planes are sequential - values beginning with one. + Notes + ----- + The ANTIME command operates only on graphic display platforms + supporting the /SEG command. It uses an ANSYS macro to produce an + animation of contour values for the last plot action command (for + example, PLDISP). After executing ANTIME, the ANIM command will replay + the animated sequence. - Array indices are real (non-integer) numbers which must be defined when filling the table. Index numbers for the rows and columns are stored in the zero column and row "array elements" and are initially assigned a near-zero value. Index numbers must be in ascending order and are used only for retrieving an array element. When retrieving an array element with a real index that does not match a specified index, linear interpolation is done among the nearest indices and the corresponding array element values [*SET]. Used for 1-, 2-, or 3-D tables. - Same as TABLE, but used to specify 4-D tables. + This command functions only in the postprocessor. - Same as TABLE, but used to specify 5-D tables. - Array entries are character strings (up to IMAX each). Index numbers for - columns and planes are sequential values - beginning with 1. Row index is character position - in string. + """ + command = "ANTIME,%s,%s,%s,%s,%s,%s,%s" % (str(nfram), str(delay), str(ncycl), str(autocntrky), str(rsltdat), str(min), str(max)) + self.RunCommand(command, **kwargs) - imax - Extent of first dimension (row). (For Type = STRING, IMAX is - rounded up to the next multiple of eight and has a limit of 248). - Defaults to 1. + def Rsprnt(self, rslab="", yname="", xout="", **kwargs): + """ + APDL Command: RSPRNT - jmax - Extent of second dimension (column). Defaults to 1. + Print a response surface. - kmax - Extent of third dimension (plane). Defaults to 1. + Parameters + ---------- + rslab + Response Surface set label. Identifies the response surfaces + generated by the RSFIT command. - var1 - Variable name corresponding to the first dimension (row) for Type = - TABLE. Defaults to Row. + yname + Parameter name. The parameter must have been previously defined as + a random output parameter with the PDVAR command. Identifies the + parameter for which a response surface has been generated by the + RSFIT command. - var2 - Variable name corresponding to the second dimension (column) for - Type = TABLE. Defaults to Column. + xout + An option if an extended print-out of more feedback about goodness- + of-fit and the details of the regression analysis of the response + surface is requested. - var3 - Variable name corresponding to the third dimension (plane) for Type - = TABLE. Defaults to Plane. + No - Use the standard print-out (default). - csysid - An integer corresponding to the coordinate system ID Number. + Yes - Use the extended print-out. Notes ----- - Up to three dimensions (row, column, and plane) may be defined using - ARRAY and TABLE. Use ARR4, ARR5, TAB4, and TAB5 to define up to five - dimensions (row, column, plane, book, and shelf). An index number is - associated with each row, column, and plane. For array and table type - parameters, element values are initialized to zero. For character and - string parameters, element values are initialized to (blank). A - defined parameter must be deleted [*SET] before its dimensions can be - changed. Scalar (single valued) parameters should not be dimensioned. - *DIM,A,,3 defines a vector array with elements A(1), A(2), and A(3). - *DIM,B,,2,3 defines a 2x3 array with elements B(1,1), B(2,1), B(1,2), - B(2,2), B(1,3), and B(2,3). Use *STATUS,Par to display elements of - array Par. You can write formatted data files (tabular formatting) from - data held in arrays through the *VWRITE command. + Prints the results and details of a response surface analysis generated + by the RSFIT command. For the specified output parameter Yname, the + fitting details such as the individual terms of the response surface + model and their corresponding coefficients are listed. The command also + produces a comparison of the original values of Yname used for the + fitting process and the approximate values derived from the fitting, + and some goodness of fit measures. - If you use table parameters to define boundary conditions, then Var1, - Var2, and/or Var3 can either specify a primary variable (listed in - Table: 130:: *DIM - Primary Variables) or can be an independent - parameter. If specifying an independent parameter, then you must - define an additional table for the independent parameter. The - additional table must have the same name as the independent parameter - and may be a function of one or more primary variables or another - independent parameter. All independent parameters must relate to a - primary variable. + If Xout = Yes, then more information about the regression analysis of + the response surface will be printed. For example, the confidence + intervals on the regression coefficients and the correlation between + the regression coefficients among others. - Tabular load arrays can be defined in both global Cartesian (default) - or local (see below) coordinate systems by specifying CSYSID, as - defined in LOCAL. For batch operations, you must specify your - coordinate system first. + """ + command = "RSPRNT,%s,%s,%s" % (str(rslab), str(yname), str(xout)) + self.RunCommand(command, **kwargs) - The following constraints apply when you specify a local coordinate - system for your tabular loads: + def Post1(self, **kwargs): + """ + APDL Command: /POST1 - If you are specifying a 4- or 5-D array or table, four additional - fields (LMAX, MMAX, Var4, and Var5) are available. Thus, for a 4-D - table, the command syntax would be: + Enters the database results postprocessor. - For a 5-D table, the command syntax would be: + Notes + ----- + Enters the general database results postprocessor (POST1). All load + symbols (/PBC, /PSF, or /PBF) are automatically turned off with this + command. - You cannot create or edit 4- or 5-D arrays or tables using the GUI. + This command is valid only at the Begin Level. - See Array Parameters for a detailed discussion on and examples for - using array parameters. + """ + command = "/POST1," % () + self.RunCommand(command, **kwargs) - Table: 130:: : *DIM - Primary Variables + def Meshing(self, **kwargs): + """ + APDL Command: MESHING - Specify PRESSURE as the independent variable (not PRES). + Specifies "Meshing" as the subsequent status topic. - The X, Y, and Z coordinate locations listed above are valid in global - Cartesian, or local (Cartesian, cylindrical and spherical) coordinate - systems. The VELOCITY label is applicable only to the calculated fluid - velocity in element FLUID116. + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - When using PRESSURE as a primary variable, the underlying element must - have the pressure DOF associated with it, or it must be a supported - contact element. + If entered directly into the program, the STAT command should + immediately follow this command. - The gap/penetration label (GAP) is only used for defining certain - contact element real constants. + """ + command = "MESHING," % () + self.RunCommand(command, **kwargs) - The frequency label (FREQ) is valid for harmonic analyses only. + def Bfedele(self, elem="", lab="", **kwargs): + """ + APDL Command: BFEDELE - The OMEGS, ECCENT, and THETA primary variables only apply to the - COMBI214 element. The amplitude of the rotational velocity (OMEGS) is - an absolute value, so only positive values of OMEGS are valid. The - eccentricity (ECCENT) and phase shift (THETA) labels are only valid for - nonlinear analyses. + Deletes element body force loads. - If you use table parameters to define boundary conditions, the table - names (Par) must not exceed 32 characters. + Parameters + ---------- + elem + Element at which body load is to be deleted. If ALL, delete for + all selected elements [ A component name may also be substituted + for ELEM. - In thermal analyses, if you apply tabular loads as a function of - temperature but the rest of the model is linear (e.g., includes no - temperature-dependent material properties or radiation ), you should - turn on Newton-Raphson iterations (NROPT,FULL) to evaluate the - temperature-dependent tabular boundary conditions correctly. + lab + Valid body load label. If ALL, use all appropriate labels. See BFE + command for labels. - This command is valid in any processor. + Notes + ----- + Deletes element body force loads for a specified element and label. + Element body loads may be defined with the BFE commands. + + Graphical picking is available only via the listed menu paths. + + This command is also valid in PREP7. """ - command = "*DIM, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(par), str(type), str(imax), str(jmax), str(kmax), str(var1), str(var2), str(var3), str(csysid)) + command = "BFEDELE,%s,%s" % (str(elem), str(lab)) self.RunCommand(command, **kwargs) - def Repeat(self, ntot="", vinc1="", vinc2="", vinc3="", vinc4="", vinc5="", - vinc6="", vinc7="", vinc8="", vinc9="", vinc10="", vinc11="", - **kwargs): + def Com(self, comment="", **kwargs): """ - APDL Command: *REPEAT - - Repeats the previous command. + APDL Command: /COM - Parameters - ---------- - ntot - Number of times the preceding command is executed (including the - initial execution). Must be 2 or greater. NTOT of 2 causes one - repeat (for a total of 2 executions). + Places a comment in the output. - vinc1, vinc2, vinc3, . . . , vinc11 - Value increments applied to first through eleventh data fields of - the preceding command. + Parameters + ---------- + comment + Comment string, up to 75 characters. Notes ----- - *REPEAT must immediately follow the command that is to be repeated. - The numeric arguments of the initial command may be incremented in the - generated commands. The numeric increment values may be integer or - real, positive or negative, zero or blank. Alphanumeric arguments - cannot be incremented. For large values of NTOT, consider printout - suppression (/NOPR command) first. + The output from this command consists of the comment string. This + command is similar to C*** except that the comment produced by C*** is + more easily identified in the output. Parameter substitution within the + comment occurs for every valid expression delimited by percent (%) + signs. Enclosing such an expression in single quotes prevents parameter + substitution. - Most commands beginning with slash (/), star (*), as well as "unknown - command" macros, cannot be repeated. For these commands, or if more - than one command is to be repeated, include them within a do-loop. File - switching commands (those reading additional commands) cannot be - repeated. If a *REPEAT command immediately follows another *REPEAT - command, the repeat action only applies to the last non-*REPEAT - command. Also, *REPEAT should not be used in interactive mode - immediately after a) a command (or its log file equivalent) that uses - picking, or b) a command that requires a response from the user. + Another way to include a comment is to precede it with a ! character + (on the same line). The ! may be placed anywhere on the line, and any + input following it is ignored as a comment. No output is produced by + such a comment, but the comment line is included on the log file. This + is a convenient way to annotate the log file. - This command is valid in any processor. + This command is valid anywhere. """ - command = "*REPEAT, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(ntot), str(vinc1), str(vinc2), str(vinc3), str(vinc4), str(vinc5), str(vinc6), str(vinc7), str(vinc8), str(vinc9), str(vinc10), str(vinc11)) + command = "/COM,%s" % (str(comment)) self.RunCommand(command, **kwargs) - def Map2dto3d(self, action="", ldstep="", sbstep="", option="", **kwargs): + def Graphics(self, key="", **kwargs): """ - APDL Command: MAP2DTO3D + APDL Command: /GRAPHICS - Initiates a 2-D to 3-D analysis and maps variables. + Defines the type of graphics display. Parameters ---------- - action - The 2-D to 3-D action to perform: + key + Graphics key: - START - Start the analysis process by rebuilding the 2-D analysis database (.db) based - on the specified load step and substep information, and - update nodes to their deformed positions in the 2-D mesh. + FULL - Display all model geometry and results. - FINISH - Maps solution variables from the 2-D mesh to the extruded 3-D mesh. + POWER - Activate PowerGraphics (default when GUI is on). - ldstep - The load step number at which 2-D to 3-D analysis should occur. The - default value is the highest load step number found in the - Jobname.Rnnn files (for the current jobname and in the current - directory). + Notes + ----- + The /GRAPHICS command specifies the type of graphics display. Key = + POWER activates the PowerGraphics capability. PowerGraphics offers + faster plotting than the Key = FULL option, and speeds up element, + results, area, line, and volume displays. PowerGraphics mode (the + default) is automatically invoked when the GUI is accessed. This action + supersedes all prior macros or start up routines (start.ans, + config.ans, etc.). Full graphics mode can be accessed only by issuing + /GRAPHICS, FULL after the GUI is active. - sbstep - The substep number of the specified load step (LDSTEP) at which the - 2-D to 3-D analysis should occur. The default value is the highest - substep number found in the specified load step in the Jobname.Rnnn - files (for the current jobname and in the current directory). + Results values (both printed and plotted) may differ between the Key = + FULL and Key = POWER options because each option specifies a different + set of data for averaging and display. For Key = FULL, all element and + results values (interior and surface) are included. For Key = POWER, + only element and results values along the model exterior surface are + processed. - option - Mapping option: + Caution:: : If you have specified one facet per element edge for + PowerGraphics displays (via the /EFACET command or via choices from the + General Postproc or Utility Menus), PowerGraphics does not plot midside + nodes. - (Blank) - Transfer and map all applied boundary conditions, nodal temperatures, loads, - and surface pressures from the 2-D mesh to the extruded - 3-D mesh. This behavior is the default. + The /EFACET command is only applicable to element type displays. (See + the descriptions of these commands for more information.) - NOBC - No applied boundary conditions or loads are transferred from the 2-D mesh to - the extruded 3-D mesh. Nodal temperatures (defined via the - BF,TEMP command) are transferred. + Maximum values shown in plots can differ from printed maximum values. + This is due to different averaging schemes used for plotted and printed + maximum values. - Notes - ----- - The MAP2DTO3D command initiates the 2-D to 3-D analysis process, sets - analysis options, rebuilds the database, and maps the solution - variables from the 2-D mesh to the 3-D mesh. + PowerGraphics displays do not average at geometric discontinuities. The + printouts in PowerGraphics will, however, provide averaging information + at geometric discontinuities if the models do not contain shell + elements. Carefully inspect the data you obtain at geometric + discontinuities. - Before issuing this command, clear the database (/CLEAR). + PowerGraphics does not support the following diffusion analysis + results: CONC, CG, DF, EPDI. - The LDSTEP and SBSTEP values apply only when Action = START. + Note:: : In Full Graphics mode, it is possible to deselect an + individual node, select all elements (including the element that + contains that node), and then perform postprocessing calculations on + those elements and have that unselected node not be considered in those + calculations. However, if PowerGraphics is active, postprocessing + always displays based on selected elements. - For more information, see 2-D to 3-D Analysis in the Advanced Analysis - Guide. + PowerGraphics does not support membrane shell elements such as SHELL41, + and these elements using the membrane-stiffness-only option (KEYOPT1) = + 1): SHELL181, SHELL208, and SHELL209. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Commands that are not supported by PowerGraphics are listed below. + These commands are executed using the Key = FULL option, regardless of + whether PowerGraphics is activated. Only certain options for /CTYPE, + /EDGE, /ESHAPE, *GET, /PNUM, /PSYMB, SHELL, and *VGET are not supported + by PowerGraphics. (See the descriptions of these commands for more + information.) """ - command = "MAP2DTO3D, %s, %s, %s, %s" % (str(action), str(ldstep), str(sbstep), str(option)) + command = "/GRAPHICS,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Wpoffs(self, xoff="", yoff="", zoff="", **kwargs): + def Gplist(self, gap1="", gap2="", ginc="", **kwargs): """ - APDL Command: WPOFFS + APDL Command: GPLIST - Offsets the working plane. + Lists the gap conditions. Parameters ---------- - xoff, yoff, zoff - Offset increments defined in the working plane coordinate system. - If only ZOFF is used, the working plane will be redefined parallel - to the present plane and offset by ZOFF. + gap1, gap2, ginc + List gap conditions from GAP1 to GAP2 (GAP2 defaults to GAP1) in + steps of GINC (defaults to 1). If GAP1 = ALL (default), GAP2 and + GINC are ignored and all gap conditions are listed. Notes ----- - Changes the origin of the working plane by translating the working - plane along its coordinate system axes. - This command is valid in any processor. """ - command = "WPOFFS, %s, %s, %s" % (str(xoff), str(yoff), str(zoff)) + command = "GPLIST,%s,%s,%s" % (str(gap1), str(gap2), str(ginc)) self.RunCommand(command, **kwargs) - def Comp(self, matrix="", algorithm="", threshold="", **kwargs): + def Amesh(self, na1="", na2="", ninc="", **kwargs): """ - APDL Command: *COMP + APDL Command: AMESH - Compresses the columns of a matrix using a specified algorithm. + Generates nodes and area elements within areas. Parameters ---------- - matrix - Name of the matrix to compress. - - algorithm - Algorithm to use: - - Singular value decomposition algorithm (default). - Modified Gram-Schmidt algorithm. - - threshold - Numerical threshold value used to manage the compression. Default - value for SVD is 1E-7; default value for MGS is 1E-14. + na1, na2, ninc + Mesh areas from NA1 to NA2 (defaults to NA1) in steps of NINC + (defaults to 1). If NA1 = ALL, NA2 and NINC are ignored and all + selected areas [ASEL] are meshed. If NA1 = P, graphical picking is + enabled and all remaining arguments are ignored (valid only in the + GUI). A component name may also be substituted for NA1 (NA2 and + NINC are ignored). Notes ----- - The algorithms available through this command are only applicable to - dense matrices that were created using the *DMAT command. + Any undefined nodes required for the generated elements are created and + assigned the lowest available numbers. - Columns which are linearly dependent on others are removed, leaving the - independent or basis vectors. The matrix is resized according to the - new size determined by the algorithm. + This command is also valid for rezoning. """ - command = "*COMP, %s, %s, %s" % (str(matrix), str(algorithm), str(threshold)) + command = "AMESH,%s,%s,%s" % (str(na1), str(na2), str(ninc)) self.RunCommand(command, **kwargs) - def Rgb(self, kywrd="", pred="", pgrn="", pblu="", n1="", n2="", ninc="", - ncntr="", **kwargs): + def Mopt(self, lab="", value="", **kwargs): """ - APDL Command: /RGB + APDL Command: MOPT - Specifies the RGB color values for indices and contours. + Specifies meshing options. Parameters ---------- - kywrd - Determines how RGB modifications will be applied. - - INDEX - Specifies that subsequent color values apply to ANSYS color indices (0-15). - - CNTR - Specifies that subsequent color values apply to contours (1-128). Applies to - C-option devices only (i.e. X11C or Win32C). + lab + Meshing option to be specified (determines the meaning of Value): - pred - Intensity of the color red, expressed as a percentage. + AORDER - Mesh by ascending area size order. Set Value to ON to mesh smaller areas + first. Using this results in finer meshes in critical + areas for volume meshes; this can be used for cases where + SMRTSIZE does not mesh as needed. Default is OFF. - pgrn - Intensity of the color green, expressed as a percentage. + EXPND - Area mesh expansion (or contraction) option. (This option is the same as + SMRTSIZE,,,EXPND.) This option is used to size internal + elements in an area based on the size of the elements on + the area's boundaries. - pblu - Intensity of the color blue, expressed as a percentage. + Value is the expansion (or contraction) factor. For example, issuing MOPT,EXPND,2 before meshing an area will allow a mesh with elements that are approximately twice as large in the interior of an area as they are on the boundary. If Value is less than 1, a mesh with smaller elements on the interior of the area will be allowed. Value for this option should be greater than 0.5 but less than 4. - Value defaults to 1, which does not allow expansion or contraction of internal + element sizes (except when using AESIZE sizing). + If Value = 0, the default value of 1 will be + used. The actual size of the internal elements + will also depend on the TRANS option (or upon + AESIZE or ESIZE sizing, if used). - n1 - First index (0-15), or contour (1-128) to which the designated RGB - values apply. + TETEXPND - Tet-mesh expansion (or contraction) option. This option is used to size + internal elements in a volume based on the size of the + elements on the volume's boundaries. - n2 - Final index (0-15), or contour (1-128) to which the designated RGB - values apply. + Value is the expansion (or contraction) factor. For example, issuing MOPT,TETEXPND,2 before meshing a volume will allow a mesh with elements that are approximately twice as large in the interior of the volume as they are on the boundary. If Value is less than 1, a mesh with smaller elements on the interior of the volume will be allowed. Value for this option should be greater than 0.1 but less than 3. - Value defaults to 1, which does not allow expansion or contraction of internal + element sizes. If Value = 0, the default value + of 1 will be used. If Value is greater than 2, + mesher robustness may be affected. - ninc - The step increment between the values N1 and N2 determining which - contours or indices will be controlled by the specified RGB values. + The TETEXPND option is supported for both the VMESH and FVMESH commands. Tet-mesh expansion is the only mesh control supported by FVMESH. - TRANS - ncntr - The new maximum number of contours (1-128). + Mesh-transition option. Controls how rapidly elements are permitted to change in size from the boundary to the interior of an area. (This option performs the same operation as SMRTSIZE,,,,TRANS.) - Value is the transitioning factor. Value defaults to 2.0, which permits + elements to approximately double in size as they + approach the interior of the area. (If Value = + 0, the default value of 2 will be used.) Value + must be greater than 1 and, for best results, + should be less than 4. The actual size of the + internal elements will also depend on the EXPND + option (or upon AESIZE or ESIZE sizing, if used). - Notes - ----- - Issuing the /CMAP command (with no filename) will restore the default - color settings. + For a quad mesh with any element size, this option has no effect, as the program strictly respects any face size to ensure the most uniform quad mesh possible. To obtain a graded mesh using this option, apply LESIZE to the lines of the desired face. - AMESH - """ - command = "/RGB, %s, %s, %s, %s, %s, %s, %s, %s" % (str(kywrd), str(pred), str(pgrn), str(pblu), str(n1), str(n2), str(ninc), str(ncntr)) - self.RunCommand(command, **kwargs) + Triangle surface-meshing option. Valid inputs for Value are: - DEFAULT - def Kcenter(self, type="", val1="", val2="", val3="", val4="", kpnew="", - **kwargs): - """ - APDL Command: KCENTER + Allows the program to choose which triangle mesher to use. In most cases, the program chooses the main triangle mesher, which is the Riemann space mesher. If the chosen mesher fails for any reason, the program invokes the alternate mesher and retries the meshing operation. - MAIN - Creates a keypoint at the center of a circular arc defined by three - locations. + The program uses the main triangle mesher (Riemann space mesher), and it does not invoke an alternate mesher if the main mesher fails. The Riemann space mesher is well suited for most surfaces. - ALTERNATE - Parameters - ---------- - type - Type of entity used to define the circular arc. The meaning of - VAL1 through VAL4 will vary depending on Type. If Type = P, - graphical picking is enabled and all remaining command fields are - ignored (valid only in the GUI). + The program uses the first alternate triangle mesher (3-D tri-mesher), and it does not invoke another mesher if this mesher fails. This option is not recommended due to speed considerations. However, for surfaces with degeneracies in parametric space, this mesher often provides the best results. - ALT2 - KP - Arc is defined by keypoints. + The program uses the second alternate triangle mesher (2-D parametric space mesher), and it does not invoke another mesher if this mesher fails. This option is not recommended for use on surfaces with degeneracies (spheres, cones, etc.) or poorly parameterized surfaces because poor meshes may result. - QMESH - LINE - Arc is defined by locations on a line. + Quadrilateral surface meshing option. (Quadrilateral surface meshes will differ based on which triangle surface mesher is selected. This is true because all free quadrilateral meshing algorithms use a triangle mesh as a starting point.) Valid inputs for Value are: - DEFAULT - val1, val2, val3, val4 - Values used to specify three locations on the arc (see table - below). + Let the program choose which quadrilateral mesher to use. In most cases, the program will choose the main quadrilateral mesher, which is the Q-Morph (quad-morphing) mesher. For very coarse meshes, the program may choose the alternate quadrilateral mesher instead. In most cases, the Q-Morph mesher results in higher quality elements. If either mesher fails for any reason, the program invokes the other mesher and retries the meshing operation. (Default.) - MAIN - kpnew - Number assigned to new keypoint. Defaults to the lowest available - keypoint number. + The program uses the main quadrilateral mesher (Q-Morph mesher), and it does not invoke the alternate mesher if the main mesher fails. - ALTERNATE - Notes - ----- - KCENTER should be used in the Cartesian coordinate system (CSYS,0) - only. This command provides three methods to define a keypoint at the - center of three locations. As shown below, the center point can be - calculated based on a) three keypoints, b) three keypoints and a - radius, or c) three locations on a line. Note that for method c, if a - circular line is specified by VAL1, VAL2 through VAL4 are not needed. + The program uses the alternate quadrilateral mesher, and it does not invoke the Q-Morph mesher if the alternate mesher fails. To use the alternate quadrilateral mesher, you must also select MOPT,AMESH,ALTERNATE or MOPT,AMESH,ALT2. - VMESH - """ - command = "KCENTER, %s, %s, %s, %s, %s, %s" % (str(type), str(val1), str(val2), str(val3), str(val4), str(kpnew)) - self.RunCommand(command, **kwargs) + Tetrahedral element meshing option. Valid inputs for Value are: - DEFAULT - def Layerp26(self, num="", **kwargs): - """ - APDL Command: LAYERP26 + Let the program choose which tetrahedra mesher to use. - MAIN - Specifies the element layer for which data are to be stored. + Use the main tetrahedra mesher (Delaunay technique mesher). (GHS3D meshing technology by P. L. George, INRIA, France.) For most models, this mesher is significantly faster than the alternate mesher. - ALTERNATE - Parameters - ---------- - num - Layer-processing mode: + Use the alternate tetrahedra mesher (advancing front mesher). This mesher does not support the generation of a tetrahedral volume mesh from facets (FVMESH). If this mesher is selected and you issue the FVMESH command, the program uses the main tetrahedra mesher to create the mesh from facets and issues a warning message to notify you. - SPLIT - N - The layer number to process. The default value is 1. + Quad splitting option for non-mapped meshing. If Value = 1, ON, or ERR, quadrilateral elements in violation of shape error limits are split into triangles (default). If Value = 2 or WARN, quadrilateral elements in violation of either shape error or warning limits are split into triangles. If Value = OFF, splitting does not occur, regardless of element quality. - LSMO - Notes - ----- - Defines the element layer for which results data are to be stored for - postprocessing. Applies to stress and strain data for layered elements - BEAM161, SHELL163, SHELL181, SOLID185, SOLID186, SOLSH190, SHELL208, - SHELL209, SHELL281, REINF265, and ELBOW290. + Line smoothing option. Value can be ON or OFF. If Value = ON, smoothing of nodes on area boundaries is performed during smoothing step of meshing. During smoothing, node locations are adjusted to achieve a better mesh. If Value = OFF (default), no smoothing takes place at area boundaries. - CLEAR - The SHELL command can be used (for shell elements) to specify a - location (TOP, MID, BOT) within the layer for selection on the ESOL - command. Transverse shear stresses for MID are linearly averaged from - TOP and BOT, and do not reflect a parabolic distribution. Setting - KEYOPT(8) = 2 for SHELL181, SHELL208, SHELL209, SHELL281, and ELBOW290 - writes the mid-surface values directly to the results file and yields - more accurate values than linear averaging. + This option affects the element and node numbering after clearing a mesh. If Value = ON (default), the starting node and element numbers will be the lowest available number after the nodes and elements are cleared. If Value = OFF, the starting node and element numbers are not reset after the clear operation. - PYRA - That this command cannot be used for energy output, as energy is a per- - element quantity. + Transitional pyramid elements option. Value can be ON or OFF. If Value = ON (default), the program automatically creates transitional pyramid elements, when possible. Pyramids may be created at the interface of tetrahedral and hexahedral elements, or directly from quadrilateral elements. For pyramids to be created, you must also issue the command MSHAPE,1,3D (degenerate 3-D elements). If Value = OFF, the program does not create transitional pyramid elements. - TIMP - When using the LAYERP26 command with SHELL181, SOLID185, SOLID186, - SOLSH190, SHELL208, or SHELL209, KEYOPT(8) must be set to 1 (or 2 for - SHELL181, SHELL208, SHELL209, SHELL281, and ELBOW290) in order to store - results for all layers. + Identifies the level of tetrahedra improvement to be performed when the next free volume meshing operation is initiated (VMESH, FVMESH). (For levels 2-5, improvement occurs primarily through the use of face swapping and node smoothing techniques.) Valid inputs for Value are: - 0 - For the ANSYS LS-DYNA product, this command works differently than - described above. For SHELL163 and BEAM161, you must first use EDINT - during the solution phase to define the integration points for which - you want output data. Be aware that the output location for SHELL163 - data is always at the integration point, so "top" and "bottom" refer to - the top or bottom integration point, not necessarily the top or bottom - surface. For more information, see the ANSYS LS-DYNA User's Guide. + Turn off tetrahedra improvement. Although this value can lead to faster tetrahedral mesh creation, it is not recommended because it often leads to poorly shaped elements and mesh failures. - 1 - In POST26, the ESOL data stored is based on the active LAYERP26 - specification at the time the data is stored. To store data at various - specifications (for example, layers 2 and 5), issue a STORE command - before each new specification. + Do the minimal amount of tetrahedra improvement. (Default.) This option is supported by the main tetrahedra mesher only [MOPT,VMESH,MAIN]. If the alternate tetrahedra mesher (MOPT,VMESH,ALTERNATE) is invoked with this setting, the program automatically performs tetrahedra improvement at level 3 instead (MOPT,TIMP,3). - 2 - """ - command = "LAYERP26, %s" % (str(num)) - self.RunCommand(command, **kwargs) + Perform the least amount of swapping/smoothing. No improvement occurs if all tetrahedral elements are within acceptable limits. - 3 - def Splot(self, na1="", na2="", ninc="", mesh="", **kwargs): - """ - APDL Command: SPLOT + Perform an intermediate amount of swapping/smoothing. Some improvement is always done. - 4 - Displays the selected areas and a faceted view of their underlying - surfaces + Perform the greatest amount of swapping/smoothing. Meshing takes longer with this level of improvement, but usually results in a better mesh. - 5 - Parameters - ---------- - na1 - Starting area for display of areas and underlying surfaces. If NA1 - = ALL (default), NA2 and NINC are ignored and all selected areas - are displayed (ASEL command). + Perform the greatest amount of swapping/smoothing, plus additional improvement techniques. This level of improvement usually produces results that are similar to those at level 4, except for very poor meshes. - 6 - na2 - Last area to be displayed. + For linear tetrahedral meshes, this value provides the same level of improvement as MOPT,TIMP,5. For quadratic tetrahedral meshes, this value provides an additional pass of cleanup. This value is supported for both the main (MOPT,VMESH,MAIN) and alternate (MOPT,VMESH,ALTERNATE) tetrahedra meshers. - STAT - ninc - Numeric value setting steps between NA1 and NA2 for display. - Default value is (1). + Display status of MOPT settings. Value is ignored. - DEFA - mesh - Specifies a rectangular mesh density used to display the underlying - surface (default 4, i.e. 4 x 4). + value + Value, as described for each different Lab above. Notes ----- - This command is valid in any processor. The plot output displays the - external and internal trim curves and underlying surface. You cannot - obtain a faceted view of your surface areas when you are using the - /EXPAND command to create larger graphics displays. + See the Modeling and Meshing Guide for more information on the MOPT + command and its options. - Use APLOT for trimmed surface display. + This command is also valid for rezoning. """ - command = "SPLOT, %s, %s, %s, %s" % (str(na1), str(na2), str(ninc), str(mesh)) + command = "MOPT,%s,%s" % (str(lab), str(value)) self.RunCommand(command, **kwargs) - def Nldiag(self, label="", key="", maxfile="", **kwargs): + def Small(self, ir="", ia="", ib="", ic="", name="", facta="", factb="", + factc="", **kwargs): """ - APDL Command: NLDIAG + APDL Command: SMALL - Sets nonlinear diagnostics functionality. + Finds the smallest of three variables. Parameters ---------- - label - Diagnostic function: + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. - NRRE - Store the Newton-Raphson residuals information. + ia, ib, ic + Reference numbers of the three variables to be operated on. If + only two, leave IC blank. If only one, leave IB blank also. - EFLG - Identify or display elements or nodes that violate the criteria. + name + Thirty-two character name identifying the variable on printouts and + displays. Embedded blanks are compressed for output. - CONT - Write contact information to a single Jobname.cnd diagnostic text file during - solution. + --, -- + Unused fields. - key - Diagnostic function characteristics: + facta, factb, factc + Scaling factors (positive or negative) applied to the corresponding + variables (defaults to 1.0). - OFF or 0 - Suppresses writing of diagnostic information (default). + Notes + ----- + Finds the smallest of three variables according to the operation: - ON or 1 - Writes diagnostic information to the Jobname.ndxxx, Jobname.nrxxx, or - Jobname.cnd file. (If Label = CONT, this option is the - same as the SUBS option described below.) + IR = smallest of (FACTA x IA, FACTB x IB, FACTC x IC) - ITER - Writes contact diagnostic information at each iteration. Valid only when Label - = CONT. + """ + command = "SMALL,%s,%s,%s,%s,%s,%s,%s,%s" % (str(ir), str(ia), str(ib), str(ic), str(name), str(facta), str(factb), str(factc)) + self.RunCommand(command, **kwargs) - SUBS - Writes contact diagnostic information at each substep. Valid only when Label = - CONT. + def Afillt(self, na1="", na2="", rad="", **kwargs): + """ + APDL Command: AFILLT - LSTP - Writes contact diagnostic information at each load step. Valid only when Label - = CONT. + Generates a fillet at the intersection of two areas. - STAT - Lists information about the diagnostic files in the current working directory. + Parameters + ---------- + na1 + Number of the first intersecting area. If NA1 = P, graphical + picking is enabled and all remaining arguments are ignored (valid + only in the GUI). - DEL - Deletes all diagnostic files in the current working directory. + na2 + Number of the second intersecting area. - maxfile - Maximum number of diagnostic files to create. Valid values are 1 - through 999. Default = 4. Valid only when Label = NRRE or EFLG. + rad + Radius of fillet to be generated. Notes ----- - The NLDIAG command is a nonlinear diagnostics tool valid for nonlinear - structural analyses. It is a debugging tool for use when you must - restart after an unconverged solution. The command creates - Jobname.ndxxx, Jobname.nrxxx, or Jobname.cnd files in the working - directory to store the information you specify. + Generates an area of constant fillet radius at the intersection of two + areas using a series of Boolean operations. Corresponding lines and + keypoints are also generated. See BOPTN command for an explanation of + the options available to Boolean operations. If areas do not initially + intersect at a common line, use the AINA command. - For more information, see Performing Nonlinear Diagnostics. + """ + command = "AFILLT,%s,%s,%s" % (str(na1), str(na2), str(rad)) + self.RunCommand(command, **kwargs) - Issue the NLDIAG,NRRE,ON command to create Jobname.nrxxx diagnostic - files (for each equilibrium iteration after the first) in which to - store the relevant Newton-Raphson residual information of - forces/moments Fx, Fy, Fz, Mx, My and Mz for the last MAXFILE - equilibrium iterations. + def Xvar(self, n="", **kwargs): + """ + APDL Command: XVAR - Issue a NLDPOST,NRRE,STAT command to list the load step, substep, time, - and equilibrium iteration corresponding to each of the Jobname.nrxxx - diagnostic files in the working directory, then issue a - PLNSOL,NRRES,,,,FileID command to point to the file from which you want - to create a contour plot of your Newton-Raphson residuals. + Specifies the X variable to be displayed. - If you restart or issue a new SOLVE command, any Jobname.nrxxx - diagnostic files in the current (working) directory are overwritten. + Parameters + ---------- + n + X variable number: - Issue a NLDIAG,EFLG,ON command to create Jobname.ndxxx diagnostic - files which store IDs for elements violating the following criteria: + 0 or 1 - Display PLVAR values vs. time (or frequency). - Too large a distortion (HDST) + n - Display PLVAR values vs. variable n (2 to NV [NUMVAR]). - Elements contain nodes that have near zero pivots (PIVT) for nonlinear - analyses + 1 - Interchange time and PLVAR variable numbers with time as the curve parameter. + PLVAR variable numbers are displayed uniformly spaced along + X-axis from position 1 to 10. - Too large a plastic/creep (EPPL/EPCR) strain increment (CUTCONTROL) + Notes + ----- + Defines the X variable (displayed along the abscissa) against which the + Y variable(s) [PLVAR] are to be displayed. - Elements for which mixed u-P constraints are not satisfied (mixed U-P - option of 18x solid elements only) (MXUP) + """ + command = "XVAR,%s" % (str(n)) + self.RunCommand(command, **kwargs) - Hyperelastic element (EPHY), cohesive zone material (EPCZ), or damage - strain (EPDM) not converged + def Prod(self, ir="", ia="", ib="", ic="", name="", facta="", factb="", + factc="", **kwargs): + """ + APDL Command: PROD - Radial displacement (RDSP) not converged + Multiplies variables. - MPC184 multipoint constraint elements using KEYOPT(1) = 6 through 16 - with the Lagrange multiplier option fail to satisfy constraint - conditions (184J) + Parameters + ---------- + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. + + ia, ib, ic + Reference numbers of the three variables to be operated on. If + only two leave IC blank. If only one, leave IB blank also. - For NLDIAG,EFLG,ON, all Jobname.ndxxx diagnostic files (for each - equilibrium iteration after the first) in the current (working) - directory are deleted when you issue a new SOLVE command (or restart). + name + Thirty-two character name identifying the variable on printouts and + displays. Embedded blanks are compressed for output. - In the solution processor (/SOLU), use the STAT option to list the - active status of this command. In the postprocessor (/POST1), issue a - NLDPOST,EFLG,STAT command to list the load step, substep, time, and - equilibrium iteration corresponding to each of the Jobname.ndxxx - diagnostic files in the working directory, then issue a - NLDPOST,EFLG,CM,FileID command to create element components that - violate the criteria. + --, -- + Unused fields - Issue the NLDIAG,CONT,ON command to create a Jobname.cnd diagnostic - file which stores contact information for all defined contact pairs at - all substeps. Alternatively, you may issue one of the following - commands to store contact information at a specific frequency: + facta, factb, factc + Scaling factors (positive or negative) applied to the corresponding + variables (default to 1.0). - NLDIAG,CONT,ITER to write at each iteration + Notes + ----- + Multiplies variables (up to three at once) according to the operation: - NLDIAG,CONT,SUBS to write at each substep (default) + IR = (FACTA x IA) x (FACTB x IB) x (FACTC x IC) - NLDIAG,CONT,LSTP to write at each load step + """ + command = "PROD,%s,%s,%s,%s,%s,%s,%s,%s" % (str(ir), str(ia), str(ib), str(ic), str(name), str(facta), str(factb), str(factc)) + self.RunCommand(command, **kwargs) - Contact diagnostic information is available for elements CONTA171 - through CONTA177; it is not available for CONTA178. + def Edopt(self, option="", value="", **kwargs): + """ + APDL Command: EDOPT - Diagnostic file Jobname.cnd is written during solution and lists, on a - pair-base, the following contact information: + Specifies the type of output for an explicit dynamics analysis. - Contact pair ID[1] + Parameters + ---------- + option + Label identifying the option to be performed: - Number of contact elements in contact[2] + ADD - Define an output type specification (default). - Number of contact elements in "sticking" contact status + DELE - Delete an output type specification. - Maximum chattering level + LIST - List the current output type specification. - Maximum contact penetration/Minimum gap[3] + -- + Unused field. - Maximum closed gap + value + Label identifying the type of output that the LS-DYNA solver should + produce: - Maximum normal contact stiffness + ANSYS - Write results files for the ANSYS postprocessors (default). The files that will + be written are Jobname.RST and Jobname.HIS (see "Notes" + below). - Minimum normal contact stiffness + LSDYNA - Write results files for the LS-DYNA postprocessor (LS-POST). The files that + will be written are D3PLOT, and files specified by EDOUT + and EDHIST (see "Notes" below). - Maximum resulting pinball + BOTH - Write results files for both ANSYS and LS-DYNA postprocessors. - Maximum elastic slip distance + Notes + ----- + By default, LS-DYNA will write the ANSYS results file Jobname.RST (see + the EDRST command.) If Jobname.HIS is desired, you must also issue + EDHIST. - Maximum tangential contact stiffness + Value = LSDYNA or BOTH will cause LS-DYNA to write results files for + the LS-POST postprocessor. The D3PLOT file is always written for these + two options. If other LS-POST files are desired, you must issue the + appropriate EDHIST and EDOUT commands. - Minimum tangential contact stiffness + This command is also valid in PREP7. - Maximum sliding distance + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - Maximum contact pressure + """ + command = "EDOPT,%s,%s" % (str(option), str(value)) + self.RunCommand(command, **kwargs) - Maximum friction stress + def Ascres(self, opt="", **kwargs): + """ + APDL Command: ASCRES - Average contact depth + Specifies the output type for an acoustic scattering analysis. - Maximum closed penetration + Parameters + ---------- + opt + Output option: - Number of contact points having too much penetration + TOTAL - Output the total pressure field (default). - Contacting area + SCAT - Output the scattered pressure field. - Maximum contact damping pressure + Notes + ----- + Use the ASCRES command to specify the output type for an acoustic + scattering analysis. - Maximum tangential contact damping stress + The scattered option (Opt = SCAT) provides a scattered pressure output, + psc, required for calculating target strength (TS). - Maximum total sliding distance (GSLID), including near-field + The default behavior (Opt = TOTAL) provides a sum of the incident and + scattering fields, ptotal = pinc + psc. - Minimum total sliding distance (GSLID), including near-field + Issue the AWAVE command to define the incident pressure pinc. If the + AWAVE command is defined with Opt2 = INT, only the total pressure field + is output regardless of the ASCRES,Opt command. - Maximum fluid penetration pressure on contact surface + """ + command = "ASCRES,%s" % (str(opt)) + self.RunCommand(command, **kwargs) - Maximum fluid penetration pressure on target surface + def Vsweep(self, vnum="", srca="", trga="", lsmo="", **kwargs): + """ + APDL Command: VSWEEP - Total volume lost due to wear for the contact pair + Fills an existing unmeshed volume with elements by sweeping the mesh + from an adjacent area through the volume. - Total strain energy due to contact constraint + Parameters + ---------- + vnum + Number identifying the volume that is to be meshed by VSWEEP. If + VNUM = P, graphical picking is enabled, you will be prompted to + choose the volume or volumes based on the setting of + EXTOPT,VSWE,AUTO. This argument is required. - Total frictional dissipation energy + srca + Number identifying the source area. This is the area whose mesh + will provide the pattern for the volume elements. (If you do not + mesh the source area prior to volume sweeping, ANSYS meshes it + internally when you initiate volume sweeping.) ANSYS sweeps the + pattern of the area elements through the volume to create the mesh + of volume elements. You cannot substitute a component name for + SRCA. - Total contact stabilization energy + trga + Number identifying the target area. This is the area that is + opposite the source area specified by SRCA. You cannot substitute + a component name for TRGA. - ANSYS Workbench contact pair ID[4] + lsmo + Value specifying whether ANSYS should perform line smoothing during + volume sweeping. (The value of this argument controls line + smoothing for the VSWEEP command only; it has no effect on the + setting of the MOPT command's LSMO option.) This argument is + optional. - Contact pair ID. A positive number refers to a real constant ID for a - pair-based contact definition. A negative number refers to a section ID - of a surface in a general contact definition. + 0 - Do not perform line smoothing. This is the default. - Number of contact elements in contact. Other values are interpreted as - follows: + 1 - Always perform line smoothing. This setting is not recommended for large + models due to speed considerations. - A positive value indicates penetration and a negative value indicates a - gap. If the contact pair has a far-field contact status, penetration - and gap are not available and the value stored is the current pinball - radius. + Notes + ----- + If the source mesh consists of quadrilateral elements, ANSYS fills the + volume with hexahedral elements. If the source mesh consists of + triangles, ANSYS fills the volume with wedges. If the source mesh + consists of a combination of quadrilaterals and triangles, ANSYS fills + the volume with a combination of hexahedral and wedge elements. - Intended primarily for internal use in the contact tracking of ANSYS - Workbench. + In the past, you may have used the VROTAT, VEXT, VOFFST, and/or VDRAG + commands to extrude a meshed area into a meshed volume. However, those + commands create the volume and the volume mesh simultaneously. In + contrast, the VSWEEP command is intended for use in an existing + unmeshed volume. This makes VSWEEP particularly useful when you have + imported a solid model that was created in another program, and you + want to mesh it in ANSYS. - In the solution processor (/SOLU), use the NLDIAG,CONT,STAT command to - list the active status of the contact information. If you subsequently - issue a new SOLVE command (or restart), the Jobname.cnd diagnostic file - in the current (working) directory is not deleted; information is - appended to it. Delete the existing diagnostic file (NLDIAG,CONT,DEL - command) if you do not want to retain diagnostic information from - previous solutions. + For related information, see the description of the EXTOPT command + (although EXTOPT sets volume sweeping options, it does not affect + element spacing). Also see the detailed discussion of volume sweeping + in Meshing Your Solid Model of the Modeling and Meshing Guide. """ - command = "NLDIAG, %s, %s, %s" % (str(label), str(key), str(maxfile)) + command = "VSWEEP,%s,%s,%s,%s" % (str(vnum), str(srca), str(trga), str(lsmo)) self.RunCommand(command, **kwargs) - def Pdot(self, labr="", labx1="", laby1="", labz1="", labx2="", laby2="", - labz2="", **kwargs): + def Nlgeom(self, key="", **kwargs): """ - APDL Command: PDOT + APDL Command: NLGEOM - Calculates the dot product of two path vectors along the current path. + Includes large-deflection effects in a static or full transient + analysis. Parameters ---------- - labr - Label assigned to dot product result. + key + Large-deflection key: - labx1 - X-component of first vector label (labeled path item). + OFF - Ignores large-deflection effects (that is, a small-deflection analysis is + specified). This option is the default. - laby1 - Y-component of first vector label (labeled path item). + ON - Includes large-deflection (large rotation) effects or large strain effects, + according to the element type. - labz1 - Z-component of first vector label (labeled path item). + Notes + ----- + Large-deflection effects are categorized as either large deflection (or + large rotation) or large strain, depending on the element type. These + are listed (if available) under Special Features in the input data + table for each element in the Element Reference. When large deflection + effects are included (NLGEOM,ON), stress stiffening effects are also + included automatically. - labx2 - X-component of second vector label (labeled path item). + If used during the solution (/SOLU), this command is valid only within + the first load step. - laby2 - Y-component of second vector label (labeled path item). + In a large-deflection analysis, pressure loads behave differently than + other load types. For more information, see Load Direction in a Large- + Deflection Analysis. - labz2 - Z-component of second vector label (labeled path item). + The gyroscopic matrix (that occurs due to rotational angular velocity) + does not support large-deflection effects. The theoretical formulations + for the gyroscopic matrix support small deflection (linear formulation) + only. + + When large-deflection effects are included in a substructure or CMS + transient analysis use pass, the OUTRES command ignores DSUBres = ALL. + + This command is also valid in PREP7. + + In ANSYS Professional NLT, large deflection effects should not be + turned on if 2-D solid (PLANEn) or 3-D solid (SOLIDn) elements are + defined. ANSYS Professional NLS supports NLGEOM,ON for plane and solid + elements. """ - command = "PDOT, %s, %s, %s, %s, %s, %s, %s" % (str(labr), str(labx1), str(laby1), str(labz1), str(labx2), str(laby2), str(labz2)) + command = "NLGEOM,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Harfrq(self, freqb="", freqe="", logopt="", freqarr="", toler="", - **kwargs): + def Plnsol(self, item="", comp="", kund="", fact="", fileid ="", **kwargs): """ - APDL Command: HARFRQ + APDL Command: PLNSOL - Defines the frequency range in a harmonic analysis. + Displays results as continuous contours. Parameters ---------- - freqb - Frequency (Hz) at the beginning of the FREQB to FREQE range (if - FREQE > FREQB). If FREQE is blank, the solution is done only at - frequency FREQB (the central frequency of octave bands, when LogOpt - = OB1, OB2, OB3, OB6, OB12 or OB24). + item + Label identifying the item. Valid item labels are shown in Table + 220: PLNSOL - Valid Item and Component Labels below. Some items + also require a component label. - freqe - Frequency at end of this range. Solutions are done at an interval - of (FREQE-FREQB) / NSBSTP, ending at FREQE. No solution is done at - the beginning of the frequency range. NSBSTP is input via the - NSUBST command. See the EXPSOL command documentation for expansion - pass solutions. + comp + Component of the item (if required). Valid component labels are + shown in Table 220: PLNSOL - Valid Item and Component Labels + below. - -- - Reserved. + kund + Undisplaced shape key: - logopt - Logarithm frequency span. Solutions are done at an interval of - (log(FREQE) - log(FREQB)) / (NSBSTP-1), (NSBSTP>1). The central - frequency or beginning frequency is used for NSBSTP = 1. Valid - values are: + 0 - Do not overlay undeformed structure display - OB1 - Octave band. + 1 - Overlay displaced contour plot with undeformed display (appearance is system- + dependent) - OB2 - 1/2 octave band. + 2 - Overlay displaced contour plot with undeformed edge display (appearance is + system-dependent) - OB3 - 1/3 octave band. + fact + Scale factor for 2-D display for contact items. Default value is + 1. A negative scaling factor may be used to invert the display. - OB6 - 1/6 octave band. + fileid + The file index number (obtained via the NLDIAG,NRRE,ON command). + Valid only for Item = NRRE. - OB12 - 1/12 octave band. + Notes + ----- + Displays the solution results as continuous contours across element + boundaries for the selected nodes and elements. For example, PLNSOL,S,X + displays the X component of stress S (that is, the SX stress + component). Various element results depend upon the recalculation + method and the selected results location [AVPRIN, RSYS, LAYER, SHELL, + and NSEL]. Contours are determined by linear interpolation within each + element from the nodal values, which are averaged at a node whenever + two or more elements connect to the same node (except for FMAG, which + is summed at the node). - OB24 - 1/24 octave band. + For PowerGraphics displays [/GRAPHICS,POWER], results are plotted only + for the model exterior surface. The items marked with [2] are not + supported by PowerGraphics. To plot midside nodes, you must first issue + /EFACET,2. - LOG - General logarithm frequency span. + Table: 220:: : PLNSOL - Valid Item and Component Labels - freqarr - An array containing frequency values (Hz). Combined with the - tolerance argument, Toler, these values are merged with values - calculated based on the specifications from FREQB, FREQE, and - LogOpt, as well NSBSTP on the NSUBST command and Clust on the HROUT - command. Enclose the array name in percent (%) signs (for example, - HARFRQ,,,,,%arrname%). Use *DIM to define the array. + For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the + labels TBOT, TE2, TE3, . . ., TTOP instead of TEMP to view the + individual temperature degree of freedom. When other thermal elements + are included in the model, they should be unselected to avoid plotting + undefined information. To view all temperatures in the same plot, set + /ESHAPE,1 and /GRAPHICS,POWER and issue PLNSOL,TEMP. - toler - Tolerance to determine if a user input frequency value in FREQARR - is a duplicate and can be ignored. Two frequency values are - considered duplicates if their difference is less than the - frequency range multiplied by the tolerance. The default value is 1 - x 10-5. + Not supported by PowerGraphics - Notes - ----- - Defines the frequency range for loads in the harmonic analysis - (ANTYPE,HARMIC). + For the CONT items for elements CONTA171 through CONTA177, the reported + data is averaged across the element. To obtain a more meaningful STAT + value, use the PLESOL command. - Do not use this command for a harmonic ocean wave analysis (HROCEAN). + For MPC-based contact definitions, the value of STAT can be negative. + This indicates that one or more contact constraints were intentionally + removed to prevent overconstraint. STAT = -3 is used for MPC bonded + contact; STAT = -2 is used for MPC no-separation contact. - When frequencies are user-defined, the array FREQARR must be one- - dimensional and contain positive values. User-defined frequency input - is not supported in the following cases: + When plotting Newton-Raphson residual items (Item = NRRE) from a file + on the deformed geometry, the displacements are based on the current + set of results in the database. These displacements may not correspond + to the loadstep and substep in the .nrxxxxx file. (For more information + about .nrxxxxx files and nonlinear diagnostics postprocessing, see the + description of the NLDPOST command and Performing Nonlinear + Diagnostics.) - in a cyclic symmetry harmonic analysis + Works only if failure criteria information is provided. (For more + information, see the documentation for the FC and TB commands.) - when the Variational Technology method is used (Method = VT on the - HROPT command) + Works only if user failure criteria routine is provided. - This command is also valid in PREP7. + Must be added via the FCTYP command first. + + Failure criteria are based on the effective stresses in the damaged + material. """ - command = "HARFRQ, %s, %s, %s, %s, %s" % (str(freqb), str(freqe), str(logopt), str(freqarr), str(toler)) + command = "PLNSOL,%s,%s,%s,%s,%s" % (str(item), str(comp), str(kund), str(fact), str(fileid )) self.RunCommand(command, **kwargs) - def Trnopt(self, method="", maxmode="", minmode="", mcout="", tintopt="", - vaout="", **kwargs): + def Rmroptions(self, refname="", type="", invert="", **kwargs): """ - APDL Command: TRNOPT + APDL Command: RMROPTIONS - Specifies transient analysis options. + Defines options for ROM response surface fitting. Parameters ---------- - method - Solution method for the transient analysis: + refname + Reference name of ROM function to be fitted. Valid reference names + are "SENE" for the strain energy of the structural domain and any + capacitance reference name previously defined by means of RMCAP + command for the electrostatic domain. - FULL - Full method (default). + type + Type of fitting function to be applied for regression analysis. + Valid types are: - MSUP - Mode-superposition method. + LAGRANGE - Lagrange type (default) - VT - Variational Technology method. + invert + Flag to specify whether data should be inverted prior to fitting. - maxmode - Largest mode number to be used to calculate the response (for - Method = MSUP). Defaults to the highest mode calculated in the - preceding modal analysis. + 0 - Do not invert data (default for SENE) - -- - Unused field. + Notes + ----- + The objective of response surface fit is to compute an analytical + expression for the strain energy and the capacitance as functions of + modal amplitudes. - minmode - Smallest mode number to be used (for Method = MSUP). Defaults to - 1. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - mcout - Modal coordinates output key (valid only for the mode-superposition - method): + """ + command = "RMROPTIONS,%s,%s,%s" % (str(refname), str(type), str(invert)) + self.RunCommand(command, **kwargs) - NO - No output of modal coordinates (default). + def Kdele(self, np1="", np2="", ninc="", **kwargs): + """ + APDL Command: KDELE - YES - Output modal coordinates to the text file Jobname.MCF. + Deletes unmeshed keypoints. - tintopt - Time integration method for the transient analysis: + Parameters + ---------- + np1, np2, ninc + Delete keypoints from NP1 to NP2 (defaults to NP1) in steps of NINC + (defaults to 1). If NP1 = ALL, NP2 and NINC are ignored and all + selected keypoints [KSEL] are deleted. If NP1 = 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 NP1 (NP2 and NINC are ignored). - NMK or 0 - Newmark algorithm (default). + Notes + ----- + Deletes selected keypoints. A keypoint attached to a line cannot be + deleted unless the line is first deleted. - HHT or 1 - HHT algorithm (valid only for the full transient method). + """ + command = "KDELE,%s,%s,%s" % (str(np1), str(np2), str(ninc)) + self.RunCommand(command, **kwargs) - vaout - Velocities and accelerations output key (valid only for mode- - superposition transient analysis): + def Esys(self, kcn="", **kwargs): + """ + APDL Command: ESYS - NO - No output of velocities and accelerations (default). + Sets the element coordinate system attribute pointer. - YES - Write velocities and accelerations on the reduced displacement file - Jobname.RDSP. + Parameters + ---------- + kcn + Coordinate system number: + + 0 - Use element coordinate system orientation as defined (either by default or by + KEYOPT setting) for the element (default). + + N - Use element coordinate system orientation based on local coordinate system N + (where N must be greater than 10). For global system 0, 1, or + 2, define a local system N parallel to appropriate system with + the LOCAL or CS command (for example: LOCAL,11,1). Notes ----- - Specifies transient analysis (ANTYPE,TRANS) options. If used in - SOLUTION, this command is valid only within the first load step. Use - the TINTP command to set transient integration parameters. + Identifies the local coordinate system to be used to define the element + coordinate system of subsequently defined elements. Used only with area + and volume elements. For non-layered volume elements, the local + coordinate system N is simply assigned to be the element coordinate + system. For shell and layered volume elements, the x and y axes of the + local coordinate system N are projected onto the shell or layer plane + to determine the element coordinate system. See Understanding the + Element Coordinate System for more details. N refers to the coordinate + system reference number (KCN) defined using the LOCAL (or similar) + command. Element coordinate system numbers may be displayed [/PNUM]. - Method = VT is valid for either thermal or structural analysis, where - it attempts to reduce the total number of iterations. Both linear and - nonlinear structural transient analyses are supported. The VT method is - a full transient solution. + """ + command = "ESYS,%s" % (str(kcn)) + self.RunCommand(command, **kwargs) - To include residual vectors in your mode-superposition transient - analysis (Method = MSUP), specify RESVEC,ON. + def Suget(self, surfname="", rsetname="", parm="", geom="", **kwargs): + """ + APDL Command: SUGET - Method = MSUP is not available for ocean loading. + Moves surface geometry and mapped results to an array parameter. - This command is also valid in PREP7. + Parameters + ---------- + surfname + Eight character surface name. - Distributed ANSYS Restriction: The VT transient solution method is not - supported in Distributed ANSYS. + rsetname + Eight character result name. - Additional product restrictions for the TRNOPT command are shown in the - table below. + parm + APDL array parameter name (up to 32 characters). + + geom + Switch controlling how data is written. + + ON (or 1 or YES) - Writes geometry data and interpolated results information to the parameter. + + OFF (or 0 or NO) - Writes only interpolated results information to the parameter. (Default) + + Notes + ----- + For Geom = OFF (or 0 or NO), only results information is written to + this parameter. - The ANSYS Professional - Nonlinear Thermal (PR) product supports the - Method = FULL option only when thermal degrees of freedom are present - in the model. + For Geom = ON (or 1 or YES), both geometry data and results information + are written to this parameter. Geometry data includes 7 data items: + (GCX, GCY, GCZ, NORMX, NORMY, NORMZ, and DA). Results information is + then written to the 8th column of the parameter. SetNames of GCX, GCY, + GCZ, NORMX, NORMY, NORMZ, and DA are predefined and computed when SUCR + is issued. """ - command = "TRNOPT, %s, %s, %s, %s, %s, %s" % (str(method), str(maxmode), str(minmode), str(mcout), str(tintopt), str(vaout)) + command = "SUGET,%s,%s,%s,%s" % (str(surfname), str(rsetname), str(parm), str(geom)) self.RunCommand(command, **kwargs) - def Enddo(self, **kwargs): + def Fccheck(self, **kwargs): """ - APDL Command: *ENDDO + APDL Command: FCCHECK - Ends a do-loop and starts the looping action. + Checks both the strain and stress input criteria for all materials. Notes ----- - One *ENDDO is required for each nested do-loop. The *ENDDO command - must appear on the same file as the *DO command, and all six - characters must be input. - - This command is valid in any processor. + Issue the FCCHECK command to check the completeness of the input during + the input phase. """ - command = "*ENDDO, " % () + command = "FCCHECK," % () self.RunCommand(command, **kwargs) - def Latt(self, mat="", real="", type="", kb="", ke="", secnum="", - **kwargs): + def Tintp(self, gamma="", alpha="", delta="", theta="", oslm="", tol="", + avsmooth="", alphaf="", alpham="", **kwargs): """ - APDL Command: LATT + APDL Command: TINTP - Associates element attributes with the selected, unmeshed lines. + Defines transient integration parameters. Parameters ---------- - mat, real, type - Material number, real constant set number, and type number to be - associated with selected, unmeshed lines. + gamma + Amplitude decay factor for 2nd order transient integration, e.g., + structural dynamics (used only if ALPHA, DELTA, ALPHAF, and ALPHAM + are blank). Defaults to 0.005. - -- - Unused field. + alpha + 2nd order transient integration parameter (used only if GAMMA is + blank). Defaults to 0.2525. - kb, ke - Beginning and ending orientation keypoints to be associated with - selected, unmeshed lines. ANSYS uses the location of these - keypoints to determine how to orient beam cross sections during - beam meshing. Beam elements may be created along a line with a - constant orientation by specifying only one orientation keypoint - (KB), or a pre-twisted beam may be created by selecting different - orientation keypoints at each end of the line (KB and KE). (For a - line bounded by two keypoints (KP1 and KP2), the orientation vector - at the beginning of the line extends from KP1 to KB, and the - orientation vector at the end of the line extends from KP2 to KE. - The orientation vectors are used to compute the orientation nodes - of the elements.) + delta + 2nd order transient integration parameter (used only if GAMMA is + blank). Defaults to 0.5050. - secnum - Section identifier to be associated with selected, unmeshed lines. - For details, see the description of the SECTYPE and SECNUM - commands. + theta + 1st order transient (e.g., thermal transient) integration + parameter. Defaults to 1.0. + + oslm + Specifies the oscillation limit criterion for automatic time + stepping of 1st order transients (e.g., thermal transients). + Defaults to 0.5 with a tolerance of TOL. + + tol + Tolerance applied to OSLM. Defaults to 0.0. + + --, -- + Unused fields. + + avsmooth + Smoothing flag option: + + 0 - Include smoothing of the velocity (1st order system) or the acceleration (2nd + order system) (default). + + 1 - Do not include smoothing. + + alphaf + Interpolation factor in HHT algorithm for force and damping terms + (used only if GAMMA is blank). Defaults to 0.005. + + alpham + Interpolation factor in HHT algorithm for inertial term (used only + if GAMMA is blank). Defaults to 0.0. Notes ----- - The element attributes specified by the LATT command will be used when - the lines are meshed. - - Lines subsequently generated from the lines will also have the - attributes specified by MAT, REAL, TYPE, and SECNUM. If a line does - not have these attributes associated with it (by this command) at the - time it is meshed, the attributes are obtained from the then current - MAT, REAL, TYPE, and SECNUM command settings. + Used to define the transient integration parameters. For more + information on transient integration parameters, refer to the + Mechanical APDL Theory Reference. - In contrast, the values specified by KB and KE apply only to the - selected lines; that is, lines subsequently generated from these lines - will not share these attributes. Similarly, if a line does not have KB - and KE attributes associated with it via the LATT command at the time - it is meshed, ANSYS cannot obtain the attributes from elsewhere. See - the discussion on beam meshing in Meshing Your Solid Model in the - Modeling and Meshing Guide for more information. + For structural transient analyses, you may choose between the Newmark + and HHT time integration methods (see the TRNOPT command). In this + case, if GAMMA is input and the integration parameters ALPHA, DELTA, + ALPHAF, and ALPHAM are left blank, the program will calculate the + integration parameters. Alternatively, you can input these integration + parameters directly on this command. However, for the unconditional + stability and second order accuracy of the time integration, these + parameters should satisfy a specific relationship, as described in + Description of Structural and Other Second Order Systems of the + Mechanical APDL Theory Reference. - Reissue the LATT command (before lines are meshed) to change the - attributes. A zero (or blank) argument removes the corresponding - association. If any of the arguments are defined as -1, then that value - will be left unchanged in the selected set. + In a transient piezoelectric analysis, required input for this command + is ALPHA = 0.25, DELTA = 0.5, and THETA = 0.5. For a coupled + electromagnetic-circuit transient analysis, use THETA = 1.0, the + default value, to specify the backward Euler method. - In some cases, ANSYS can proceed with a line meshing operation even - when no logical element type has been assigned via LATT,,,TYPE or TYPE. - See Meshing Your Solid Model in the Modeling and Meshing Guide for more - information about setting element attributes. + This command is also valid in PREP7. """ - command = "LATT, %s, %s, %s, %s, %s, %s" % (str(mat), str(real), str(type), str(kb), str(ke), str(secnum)) + command = "TINTP,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(gamma), str(alpha), str(delta), str(theta), str(oslm), str(tol), str(avsmooth), str(alphaf), str(alpham)) self.RunCommand(command, **kwargs) - def Cformat(self, nfirst="", nl_ast="", **kwargs): + def Rename(self, fname1="", ext1="", fname2="", ext2="", distkey="", + **kwargs): """ - APDL Command: /CFORMAT + APDL Command: /RENAME - Controls the graphical display of alphanumeric character strings for - parameters, components, assemblies, and tables. + Renames a file. Parameters ---------- - nfirst - Display the first n characters of the parameter, component, - assembly, or table name, up to 32. Defaults to 32. + fname1 + The file to be renamed. You can also include an optional directory + path as part of the specified file name; if not, the default file + location is the working directory. - nlast - Display the last n characters of the parameter, component, - assembly, or table name, up to 32. Defaults to 0. + ext1 + Filename extension (eight-character maximum). - Notes - ----- - Use this command to control the length of the character string that is - shown in the graphics window for a parameter, component, assembly, or - table name. + -- + Unused field. - The total number of characters (NFIRST + NLAST +3) cannot exceed 32. + fname2 + The new name for the file. You can also include an optional + directory path as part of the new file name; if not, the default is + the working directory. A maximum of 248 characters is allowed for + the file name (or combined file name and directory path, if both + are specified). - If NFIRST is greater than zero and NLAST = 0, only the NFIRST - characters are displayed, followed by an ellipsis. + ext2 + Filename extension (eight-character maximum). - If NFIRST = 0 and NLAST is greater than zero, only the NLAST characters - are displayed, preceded by an ellipsis (...). + -- + Unused field. - If both NFIRST and NLAST are greater than zero, the name will be shown - as NFIRST, followed by an ellipsis (...), followed by NLAST, up to a - maximum of 32 characters. + distkey + Key that specifies whether the rename operation is performed on all + processes in distributed parallel mode (Distributed ANSYS): - For example, if NFIRST = 6 and NLAST = 3, and the character string is - LENGTHOFSIDEONE, then it will appear in the graphics window as - LENGTH...ONE. + 1 (ON or YES) - The program performs the rename operation locally on each process. - If the actual length of the character string is less than the specified - combination of NFIRST + NLAST +3, then the actual string will be used. + 0 (OFF or NO) - The program performs the rename operation only on the master process (default). - This command is valid in any processor. + Notes + ----- + Renames a file. Ex: /RENAME,A,,,B renames file A to B in the same + directory. /RENAME,A,DAT,,,INP renames file A.DAT to A.INP. On all + systems, this command will overwrite any existing file named B. See the + Operations Guide for details. Only ANSYS binary files should be + renamed. Use /SYS and system renaming commands for other files. + + In distributed parallel mode (Distributed ANSYS), only the master + process will rename Fname1.Ext1 to Fname2.Ext2 by default. However, + when DistKey is set to 1 (or ON or YES), the command is executed by all + processes. In this case, Fname1 and Fname2 will automatically have the + process rank appended to them. This means Fname1N.Ext1 will be renamed + to Fname2N.Ext2 by all processes, where N is the Distributed ANSYS + process rank. For more information see Differences in General Behavior + in the Parallel Processing Guide. + + Renaming across system partitions may be internally done by a copy and + delete operation on some systems. + + This command is valid only at the Begin Level. """ - command = "/CFORMAT, %s, %s" % (str(nfirst), str(nl_ast)) + command = "/RENAME,%s,%s,%s,%s,%s" % (str(fname1), str(ext1), str(fname2), str(ext2), str(distkey)) self.RunCommand(command, **kwargs) - def Rmmlist(self, **kwargs): + def Rmdir(self, dir="", **kwargs): """ - APDL Command: RMMLIST + APDL Command: /RMDIR - Lists all mode specifications for the ROM method. + Removes (deletes) a directory. + + Parameters + ---------- + dir + The directory to remove. If no path is provided, it will be assumed + to be in the current working directory. All files in the directory + are also removed. Notes ----- - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Removes a directory on the computer ANSYS is currently running on. No + warning or prompt is given, so use with extreme caution. """ - command = "RMMLIST, " % () + command = "/RMDIR,%s" % (str(dir)) self.RunCommand(command, **kwargs) - def Vget(self, par="", ir="", tstrt="", kcplx="", **kwargs): + def Prfar(self, lab="", option="", phi1="", phi2="", nph1="", theta1="", + theta2="", ntheta="", val1="", val2="", val3="", **kwargs): """ - APDL Command: VGET + APDL Command: PRFAR - Moves a variable into an array parameter vector. + Prints pressure far fields and far field parameters. Parameters ---------- - par - Array parameter vector in the operation. + lab + Parameters to print: - ir - Reference number of the variable (1 to NV [NUMVAR]). + PRES - Acoustic parameters - tstrt - Time (or frequency) corresponding to start of IR data. If between - values, the nearer value is used. + PROT - Acoustic parameters with the y-axis rotated extrusion - kcplx - Complex number key: + option + Print option, based on the specified print parameter type: - 0 - Use the real part of the IR data. + phi1, phi2 + Starting and ending φ angles (degrees) in the spherical coordinate + system. Defaults to 0. - 1 - Use the imaginary part of the IR data. + nphi + Number of divisions between the starting and ending φ angles for + data computations. Defaults to 0. + + theta1, theta2 + Starting and ending θ angles (degrees) in the spherical coordinate + system. Defaults to 0 in 3-D and 90 in 2-D. + + ntheta + Number of divisions between the starting and ending θ angles for + data computations. Defaults to 0. + + val1 + Radius of the sphere surface. Used only when Option = SUMC, PHSC, + SPLC, SPAC, PSCT, or TSCT. + + val2 + When Option = SPLC or SPAC: Reference rms sound pressure. Defaults + to 2x10-5 Pa. + + val3 + When Lab = PRES: Thickness of 2-D model extrusion in the z + direction (no default). Notes ----- - Moves a variable into an array parameter vector. The starting array - element number must be defined. For example, VGET,A(1),2 moves - variable 2 (starting at time 0.0) to array parameter A. Looping - continues from array element A(1) with the index number incremented by - one until the variable is filled. The number of loops may be - controlled with the *VLEN command (except that loop skipping (NINC) is - not allowed). For multi-dimensioned array parameters, only the first - (row) subscript is incremented. + The PRFAR command prints pressure far fields and far field parameters + as determined by the equivalent source principle. Use this command + to print pressure and acoustic parameters. See the HFSYM command for + the model symmetry and the HFANG command for spatial radiation + angles. + + To retrieve saved equivalent source data, issue the + SET,Lstep,Sbstep,,REAL command. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "VGET, %s, %s, %s, %s" % (str(par), str(ir), str(tstrt), str(kcplx)) + command = "PRFAR,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(lab), str(option), str(phi1), str(phi2), str(nph1), str(theta1), str(theta2), str(ntheta), str(val1), str(val2), str(val3)) self.RunCommand(command, **kwargs) def Stat(self, **kwargs): @@ -60692,1273 +60980,1039 @@ def Stat(self, **kwargs): POST26 topic commands (and their corresponding topics) are: """ - command = "STAT, " % () - self.RunCommand(command, **kwargs) - - def Smooth(self, vect1="", vect2="", datap="", fitpt="", vect3="", - vect4="", disp="", **kwargs): - """ - APDL Command: SMOOTH - - Allows smoothing of noisy data and provides a graphical representation - of the data. - - Parameters - ---------- - vect1 - Name of the first vector that contains the noisy data set (i.e., - independent variable). You must create and fill this vector before - issuing SMOOTH. - - vect2 - Name of the second vector that contains the dependent set of data. - Must be the same length as the first vector. You must create and - fill this vector before issuing SMOOTH. - - datap - Number of data points to be fitted, starting from the beginning of - the vector. If left blank, the entire vector will be fitted. The - maximum number of data points is 100,000 (or greater, depending on - the memory of the computer). - - fitpt - Order of the fitting curve that will be used as a smooth - representation of the data. This number should be less than or - equal to the number of the data points. Default (blank) is one-half - the number of data points. Maximum number of smoothed data fitting - order is the number of data points up to 50. Depending on this - number, the smoothed curve will be one of the following: - - 1 - Curve is the absolute average of all of the data points. - - 2 - Curve is the least square average of all of the data points. - - 3 or more - Curve is a polynomial of the order (n-1), where n is the number of data fitting - order points. - - vect3 - Name of the vector that contains the smoothed data of the - independent variable. This vector should have a length equal to or - greater than the number of smoothed data points. In batch (command) - mode, you must create this vector before issuing the SMOOTH - command. In interactive mode, the GUI automatically creates this - vector (if it does not exist). If you do not specify a vector name, - the GUI will name the vector smth_ind. - - vect4 - Name of the vector that contains the smoothed data of the dependent - variable. This vector must be the same length as Vect3. In batch - (command) mode, you must create this vector before issuing the - SMOOTH command. In interactive mode, the GUI automatically creates - this vector (if it does not exist). If you do not specify a vector - name, the GUI will name the vector smth_dep. - - disp - Specifies how you want to display data. No default; you must - specify an option. - - 1 - Unsmoothed data only - - 2 - Smoothed data only - - 3 - Both smoothed and unsmoothed data - - Notes - ----- - You can control the attributes of the graph using standard ANSYS - controls (/GRID, /GTHK, /COLOR, etc.). If working interactively, these - controls appear in this dialog box for convenience, as well as in their - standard dialog boxes. You must always create Vect1 and Vect2 (using - *DIM) and fill these vectors before smoothing the data. If you're - working interactively, ANSYS automatically creates Vect3 and Vect4, but - if you're working in batch (command) mode, you must create Vect3 and - Vect4 (using *DIM) before issuing SMOOTH. Vect3 and Vect4 are then - filled automatically by ANSYS. In addition, ANSYS creates an - additional TABLE type array that contains the smoothed array and the - unsmoothed data to allow for plotting later with *VPLOT. Column 1 in - this table corresponds to Vect1, column 2 to Vect2, and column 3 to - Vect4. This array is named Vect3_SMOOTH, up to a limit of 32 - characters. For example, if the array name is X1, the table name is - X1_SMOOTH. - - This command is also valid in PREP7 and SOLUTION. - - """ - command = "SMOOTH, %s, %s, %s, %s, %s, %s, %s" % (str(vect1), str(vect2), str(datap), str(fitpt), str(vect3), str(vect4), str(disp)) - self.RunCommand(command, **kwargs) - - def Nocolor(self, key="", **kwargs): - """ - APDL Command: NOCOLOR - - Removes color from graphics displays. - - Parameters - ---------- - key - Color key: - - 0 - Color the displays. - - 1 - Do not color the displays. - - 2 - Do not shade the displays. - - """ - command = "NOCOLOR, %s" % (str(key)) + command = "STAT," % () self.RunCommand(command, **kwargs) - def Hrexp(self, angle="", **kwargs): + def Octable(self, val1="", val2="", val3="", val4="", val5="", val6="", + val7="", **kwargs): """ - APDL Command: HREXP + APDL Command: OCTABLE - Specifies the phase angle for the harmonic analysis expansion pass. + Defines an ocean load using table data. Parameters ---------- - angle - Phase angle (degrees) for expansion pass. If ALL (default), use - both 0.0° (real) and 90.0° (imaginary) phase angles. + val1, val2, val3, . . . , val6 + Values describing the basic ocean load, a current condition, or a + wave condition. Notes ----- - Specifies the phase angle where the expansion pass will be done for a - harmonic mode-superposition expansion pass. - - For a specific angle, the following real solution is stored in the - results (*.rst) file: - - Where: - - i is the degree of freedom number. - - is the amplitude of the i th degree of freedom solution - - Φi is the phase shift angle of the i th degree of freedom solution - - ϕ is the supplied phase shift angle (ANGLE) + The OCTABLE specifies table data that defines the ocean load. The terms + VAL1, VAL2, etc. are specialized according to the input set required + for the given ocean load. - If ANGLE is ALL, both the real and imaginary parts of the solution are - stored in the results file. + The program interprets the data input via the OCTABLE command within + the context of the most recently issued OCTYPE command. - For more details about the solution equations, see Harmonic Analyses in - the Mechanical APDL Theory Reference. + There is no limit to the number of data input. - This command is ignored if the HROPT command has been issued with - Method = VT or Method = VTRU. + Input values in the order indicated. This command is also valid in PREP7. - """ - command = "HREXP, %s" % (str(angle)) - self.RunCommand(command, **kwargs) - - def Igesin(self, fname="", ext="", **kwargs): - """ - APDL Command: IGESIN - - Transfers IGES data from a file into ANSYS. - - Parameters - ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. - - ext - Filename extension (eight-character maximum). - - -- - Unused field. - - Notes - ----- - Reads a file containing IGES data and transfers it into the ANSYS - database. The file transferred is the IGES Version 5.1, ASCII format - file. IGES (Initial Graphics Exchange Specification) is a neutral - format developed by the U.S. Dept. of Commerce, National Institute of - Standards and Technology. There is no output transfer file written - since the transferred data is read directly into the ANSYS database. - - You can import multiple files into a single database, but you must use - the same import option (set with the IOPTN command) for each file. - - The IOPTN command sets the parameters for reading the file. Files read - via the SMOOTH method (the only available method) use the standard - database. + You can define the following ocean data types: - """ - command = "IGESIN, %s, %s" % (str(fname), str(ext)) - self.RunCommand(command, **kwargs) + If the current is constant, only one OCTABLE command is necessary and + Dep is not required. - def Prpath(self, lab1="", lab2="", lab3="", lab4="", lab5="", lab6="", - **kwargs): - """ - APDL Command: PRPATH + For waves, the current profile is stretched or compressed linearly up + to 10 percent. - Prints path items along a geometry path. + The first Dep value (representing the mean sea level) must be zero. The + last Dep value (representing the mud line) must be equal to the DEPTH + value input on the OCDATA command. - Parameters - ---------- - lab1, lab2, lab3, . . . , lab6 - Labels identifying the path items to be printed. Up to six items - may be printed at a time. Predefined path geometry items XG, YZ, - ZG, and S [PDEF] may also be printed. + The Cartesian Z values used to locate nodes, etc. decrease as one moves + from the ocean surface to the sea floor, but the Dep values increase. + See Figure: 5:: Basic Ocean Data Type Components . - Notes - ----- - Prints path items with respect to a geometry path (as defined by the - PATH and PPATH commands). Path items and their labels must have been - defined with the PDEF, PVECT, PCALC, PDOT, PCROSS, or PRNEAR commands. - Path items may also be displayed with the PLPATH and PLPAGM commands. - See the PRANGE command for range control of the path. + Dep is not affected by changes to Zmsl on the OCDATA command, as that + value simply relocates the origin. - """ - command = "PRPATH, %s, %s, %s, %s, %s, %s" % (str(lab1), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6)) - self.RunCommand(command, **kwargs) + When specifying an ocean wave type, issue the OCTABLE command to input + either wave location data or wave spectrum data. - def Del(self, val1="", val2="", **kwargs): - """ - APDL Command: *DEL + Hints for Wave Location Input: - Deletes a parameter or parameters (GUI). + The TIME command is not used, except perhaps to identify the load case. - Parameters - ---------- - val1 - Command behavior key: + The phase shift (Ps) determines the wave position (that is, the + point at which the load is to be applied). - Delete all user-defined parameters, or all user-defined parameters and all system parameters, as specified by Val2. - Delete the parameter(s) specified by Val2. + When using the Stokes fifth-order (KWAVE = 2) or stream function (KWAVE + = 3) wave type, issue only one OCTABLE command. - val2 - The parameter or parameters to delete (used only when Val1 = ALL or - (blank)): + The valid range of the order of the stream function (NORDER) is 3 + through 50. If no value is specified, the program determines a value + automatically. - When Val1 is (blank), specifies the location of the parameter within the Array Parameters dialog box. The location number is based on an alphabetically ordered list of all parameters in the database. - When Val1 is ALL, deletes all parameters, including those named with a leading - underscore (_) (except _STATUS and _RETURN). When - Val1 is (blank), deletes only those parameters - named with a leading underscore (_) (except - _STATUS and _RETURN). + When using the diffracted wave type (KWAVE = 8), an OCREAD command is + also required to read in the hydrodynamic data from the hydrodynamic + analysis. - When Val1 is (blank), deletes only those parameters named with a trailing underscore (_). - When Val1 is ALL, a (blank) value for Val2 causes all user-defined parameters - to be deleted. + Hints for Wave Spectrum Input: - Notes - ----- - This is a command generally created by the graphical user interface - (GUI). It appears in the log file (Jobname.LOG) if an array parameter - is deleted from within the Array Parameters dialog. + When defining a Pierson-Moskowitz or JONSWAP spectrum (SPECTRUM = 0 or + 1, respectively, on the OCDATA command), issue only one OCTABLE + command. - Usage examples: + When defining a Pierson-Moskowitz or JONSWAP spectrum for Shell new + wave (KWAVE = 6 on the OCDATA command), HS is calculated from the + maximum wave crest amplitude (AMPMAX on the OCDATA command) if no value + is specified. For further information, see Hydrodynamic Loads in the + Mechanical APDL Theory Reference. - Delete all user-defined parameters: *DEL,ALL + For a user-defined spectrum (SPECTRUM = 2 on the OCDATA command), issue + an OCTABLE command for each frequency data point defining the spectrum. + Specify the frequency data in ascending order. The number of wave + components (NWC) is required on the first OCTABLE command only. - Delete only those user-defined parameters named with a trailing - underscore: *DEL,,PRM_ + An ocean zone is a local space where you can override global ocean- + loading parameters. - Delete all user-defined and all system parameters (except for _STATUS - and _RETURN): *DEL,ALL,_PRM + Ocean zone data to provide in the value fields: - Delete a parameter by specifying its location within the Array - Parameters dialog: *DEL,,LOC + where - Delete a single specified parameter by name: *DEL,ParmName (You cannot - specify more than one named parameter at a time.) + Ocean zone values specified via the OCTABLE command override global + ocean-loading parameters. - This command is valid in any processor. + Arguments not specified default to the global values specified for the + basic ocean type (OCTYPE,BASIC). Therefore, the relationship between Ca + and CM values (Ca = CM + 1.0) is not applied to ocean zones. + + The OCTABLE command is not valid for a pipe-type ocean zone + (OCZONE,PIP). """ - command = "*DEL, %s, %s" % (str(val1), str(val2)) + command = "OCTABLE,%s,%s,%s,%s,%s,%s,%s" % (str(val1), str(val2), str(val3), str(val4), str(val5), str(val6), str(val7)) self.RunCommand(command, **kwargs) - def Mforder(self, fnumb1="", fnumb2="", fnumb3="", fnumb4="", fnumb5="", - fnumb6="", fnumb7="", fnumb8="", fnumb9="", fnumb10="", - fnumb11="", fnumb12="", fnumb13="", fnumb14="", fnumb15="", - fnumb16="", fnumb17="", fnumb18="", fnumb19="", fnumb20="", - **kwargs): + def Stef(self, value="", **kwargs): """ - APDL Command: MFORDER + APDL Command: STEF - Specifies field solution order for an ANSYS Multi-field solver - analysis. + Specifies Stefan-Boltzmann radiation constant. Parameters ---------- - fnumb1, fnumb2, fnumb3, . . . , fnumb20 - Field numbers defined by the MFELEM command . + value + Stefan-Boltzmann constant (defaults to 0.119E-10 Btu/hr/in2/ °R4). Notes ----- - You can define up to twenty fields in an ANSYS Multi-field solver - analysis. + You can use this command in the general preprocessor (PREP7) and in the + Solution processor to specify the Stefan-Boltzmann constant in analyses + using the radiation matrix method or the radiosity solver to model + radiation. - This command is also valid in PREP7. + """ + command = "STEF,%s" % (str(value)) + self.RunCommand(command, **kwargs) - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + def Geometry(self, **kwargs): + """ + APDL Command: GEOMETRY - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Specifies "Geometry" as the subsequent status topic. + + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "MFORDER, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(fnumb1), str(fnumb2), str(fnumb3), str(fnumb4), str(fnumb5), str(fnumb6), str(fnumb7), str(fnumb8), str(fnumb9), str(fnumb10), str(fnumb11), str(fnumb12), str(fnumb13), str(fnumb14), str(fnumb15), str(fnumb16), str(fnumb17), str(fnumb18), str(fnumb19), str(fnumb20)) + command = "GEOMETRY," % () self.RunCommand(command, **kwargs) - def Svtyp(self, ksv="", fact="", keyinterp="", **kwargs): + def Prjsol(self, item="", comp="", **kwargs): """ - APDL Command: SVTYP + APDL Command: PRJSOL - Defines the type of single-point response spectrum. + Prints joint element output. Parameters ---------- - ksv - Response spectrum type: - - 0 - Seismic velocity response spectrum loading (SV values interpreted as velocities - with units of length/time). + item + Label identifying the item. Some items also require a component + label. - 1 - Force response spectrum loading (SV values interpreted as force amplitude - multipliers). + DISP - Relative displacements. - 2 - Seismic acceleration response spectrum loading (SV values interpreted as - accelerations with units of length/time2). + ROT - Relative rotations. - 3 - Seismic displacement response spectrum loading (SV values interpreted as - displacements with units of length). + VEL - Relative linear velocities. - 4 - PSD loading (SV values interpreted as acceleration2/(cycles/time), such as - (in/sec2)2/Hz (not g2/Hz)). (Not recommended) + OMG - Relative angular velocities. - fact - Scale factor applied to spectrum values (defaults to 1.0). Values - are scaled when the solution is initiated [SOLVE]. Database values - remain the same. + ACC - Relative linear accelerations. - keyinterp - Key to activate or deactivate the linear interpolation between - input response spectrum points and input response spectrum curves: + DMG - Relative angular accelerations. - 0 (OFF or NO) - Deactivate linear and use logarithmic interpolation. This value is the default. + SMISC - Summable miscellaneous quantities. - 1 (ON or YES) - Activate linear interpolation. + comp + Component of the item (if required). For Item = DISP, ROT, VEL, + OMG, ACC, and DMG, enter the direction label, X, Y, or Z. For Item + = SMISC, enter a valid number. Notes ----- - Defines the type of single-point response spectrum [SPOPT]. The - seismic excitation direction is defined with the SED command. + Prints element output for the MPC184 joint element. The joint element + quantities printed are the values for the free or unconstrained + relative degrees of freedom. - This command is also valid in PREP7. + This command is valid in POST1 only. """ - command = "SVTYP, %s, %s, %s" % (str(ksv), str(fact), str(keyinterp)) + command = "PRJSOL,%s,%s" % (str(item), str(comp)) self.RunCommand(command, **kwargs) - def Grtyp(self, kaxis="", **kwargs): + def Edcrb(self, option="", neqn="", partm="", parts="", **kwargs): """ - APDL Command: /GRTYP + APDL Command: EDCRB - Selects single or multiple Y-axes graph displays. + Constrains two rigid bodies to act as one in an explicit dynamics + analysis. Parameters ---------- - kaxis - Axis selection key: + option + Label identifying the option to be performed: - 0 or 1 - Single Y-axis. Up to 10 curves scaled to a single Y-axis. + ADD - Define an equation to constrain two rigid bodies (default). - 2 - Additional Y-axes (one for each curve) (3 curves maximum). Allows better - scaling of curves with widely differing numbering ranges. + DELE - Delete the equation (specified by NEQN) that constrains two rigid bodies. If + NEQN is blank, all equations constraining rigid bodies are + deleted. - 3 - Same as 2 but with additional Y-axis and curves projected out of the plane (6 - curves maximum). Allows clearer display with an isometric - view. The default view when KAXIS = 3 is View,1,1,2,3. + LIST - List constrained rigid bodies specified by NEQN. If NEQN is blank, all + constrained rigid bodies are listed. + + neqn + Equation reference number. Defaults to PARTS. NEQN should be a + unique number for each pair of PARTM and PARTS. If it is not + unique, the equation reference number defined last will overwrite + any previously defined NEQN with the same number. + + partm + PART number [EDPART] identifying the master rigid body. This value + is ignored if the DELE or LIST labels are specified. No default; + you must enter a value. + + parts + PART number [EDPART] identifying the slave rigid body. This value + is ignored if the DELE or LIST labels are specified. No default; + you must enter a value. Notes ----- - The basic line graph has one or more curves plotted against the same Y - and X axes. Multiple curve graphs can also be plotted with individual - Y axes and the same X axis. The Y axis of the first curve is referred - to as the base Y-axis and the Y axes of the other curves as additional - Y axes. Curves are numbered sequentially from 1 (the base curve) in - the order in which they are displayed. See the /AXLAB, /GROPT, /GRID, - and /GTHK commands for other display options. + EDCRB is valid only for materials defined as rigid bodies with the + EDMP,RIGID command. EDCRB automatically generates a constraint equation + to force the specified rigid bodies to behave as a single rigid body. + The slave rigid body takes on the material properties and loading of + the master rigid body. Any loads [EDLOAD] existing on the slave rigid + body are ignored. - This command is valid in any processor. + To create a single large rigid body from several smaller bodies, use a + series of EDCRB commands. With the first command, specify a master and + slave to create the first combined rigid body. Then, using that body as + the master, specify another slave to create a larger rigid body. + Continue the process, using the expanding rigid body as the master and + adding slave bodies until you have defined the desired large rigid + body. All slave rigid bodies will take on the material properties and + loading of the original master rigid body. Note that you will need to + use different NEQN values for each pair of PARTM and PARTS. This + command will be ignored if you specify the previously-defined master + rigid body as a slave rigid body in the same analysis. To change the + master and slave definitions, first use the DELE option to delete all + master and slave definitions, and then use the ADD option to redefine + them. + + The equation number, NEQN, is a reference number by which the + constrained bodies can be identified for listing and deleting purposes + on the EDCRB command. For any other reference to the constrained bodies + (loading, contact definitions, etc.), use the master body part number + (PARTM). + + This command is also valid in SOLUTION. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/GRTYP, %s" % (str(kaxis)) + command = "EDCRB,%s,%s,%s,%s" % (str(option), str(neqn), str(partm), str(parts)) self.RunCommand(command, **kwargs) - def Detab(self, elem="", lab="", v1="", v2="", v3="", v4="", v5="", v6="", - **kwargs): + def Atan(self, ir="", ia="", name="", facta="", **kwargs): """ - APDL Command: DETAB + APDL Command: ATAN - Modifies element table results in the database. + Forms the arctangent of a complex variable. Parameters ---------- - elem - Element for which results are to be modified. If ALL, modify all - selected elements [ESEL] results. If ELEM = 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 ELEM. + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. - lab - Label identifying results. Valid labels are as defined with the - ETABLE command. Issue ETABLE,STAT to display labels and values. + ia + Reference number of the complex variable to be operated on. - v1 - Value assigned to this element table result in the database. If - zero, a zero value will be assigned. If blank, value remains - unchanged. + --, -- + Unused fields. - v2, v3, v4, . . . , v6 - Additional values (if any) assigned to consecutive element table - columns. + name + Thirty-two character name for identifying the variable on the + printout and displays. Embedded blanks are compressed upon output. + + --, -- + Unused fields. + + facta + Scaling factor (positive or negative) applied to variable IA + (defaults to 1.0). Usually FACTA should be set to 1. FACTA may + affect the position of the angle by a multiple of  π, resulting in + a quadrant change. Notes ----- - Modifies element table [ETABLE] results in the database. For example, - DETAB,35,ABC,1000,2000,1000 assigns 1000, 2000, and 1000 to the first - three table columns starting with label ABC for element 35. Use the - PRETAB command to list the current results. After deleting a column of - data using ETABLE,Lab,ERASE, the remaining columns of data are not - shifted to compress the empty slot. Therefore, the user must allocate - null (blank) values for V1, V2...V6 for any ETABLE entries which have - been deleted by issuing ETABLE,Lab,ERASE. All data are stored in the - solution coordinate system but will be displayed in the results - coordinate system [RSYS]. + Forms the arctangent of a complex variable according to the operation: + + IR = ATAN(FACTA X b/a) + + where a and b are the real and imaginary parts, respectively, of the + complex variable IA (which is of the form a + ib). The arctangent + represents the phase angle (in radians), and is valid only for a + harmonic analysis (ANTYPE,HARMIC). + + Since the scaling factor is applied uniformly to b/a, applying any + positive or negative scaling factor will not affect the size of the + phase angle, with the exception that a negative scaling factor will + change the results quadrant by : π. The magnitude of a complex number + is still obtained through the ABS command. See POST26 - Data + Operations in the Mechanical APDL Theory Reference for details. """ - command = "DETAB, %s, %s, %s, %s, %s, %s, %s, %s" % (str(elem), str(lab), str(v1), str(v2), str(v3), str(v4), str(v5), str(v6)) + command = "ATAN,%s,%s,%s,%s" % (str(ir), str(ia), str(name), str(facta)) self.RunCommand(command, **kwargs) - def Mftime(self, time="", **kwargs): + def Showdisp(self, dname="", ncpl="", **kwargs): """ - APDL Command: MFTIME + APDL Command: /SHOWDISP - Sets end time for an ANSYS Multi-field solver analysis. + Defines the display driver name. Parameters ---------- - time - End time of an ANSYS Multi-field solver analysis. Defaults to 1. - - Notes - ----- - A MFTIME setting overrides any other end time setting (TIME). - - This command is also valid in PREP7. + dname + Valid driver name (see Getting Started with Graphics in the Basic + Analysis Guide for details): - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + - Any linked terminal driver (such as X11, TEKTRONIX, etc.) - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + HPGL - Hewlett-Packard Graphics Language - """ - command = "MFTIME, %s" % (str(time)) - self.RunCommand(command, **kwargs) + HPGL2 - Hewlett-Packard Graphics Language with enhanced color. (See the HPGL command + for options.) Ignores the NCPL field. - def Gcolumn(self, curve="", string="", **kwargs): - """ - APDL Command: /GCOLUMN + INTERLEAF - Interleaf ASCII Format, OPS Version 5.0 - Allows the user to apply a label to a specified curve. + POSTSCRIPT - PostScript, Version 1.0 Minimally Conforming - Parameters - ---------- - curve - Curve number on which label will be applied (integer value between - 1 and 10). + DUMP - ASCII Text Dump - string - Name or designation that will be applied to the curve (8 characters - max). + --, -- + Unused fields. - Notes - ----- - This command is used for an array parameter plot (a plot created by the - *VPLOT command). Normally the label for curve 1 is "COL 1", the label - for curve 2 is "COL 2" and so on; the column number is the field - containing the dependent variables for that particular curve. Issuing - /GCOLUMN,CURVE, with no string value specified resets the label to the - original value. + ncpl + Number of color planes (4 to 8). Default is device-dependent. """ - command = "/GCOLUMN, %s, %s" % (str(curve), str(string)) + command = "/SHOWDISP,%s,%s" % (str(dname), str(ncpl)) self.RunCommand(command, **kwargs) - def Stargo(self, b_ase="", **kwargs): + def Bfescal(self, lab="", fact="", tb_ase="", **kwargs): """ - APDL Command: *GO + APDL Command: BFESCAL - Causes a specified line on the input file to be read next. + Scales element body force loads. Parameters ---------- - base - "Go to" action: + lab + Valid body load label. If ALL, use all appropriate labels. - A user-defined label (beginning with a colon (:), 8 characters maximum). The command reader will skip (and wrap to the beginning of the file, if necessary) to the first line that begins with the matching :label. - Caution:   This label option may not be mixed with do-loop or if-then-else - constructs. + fact + Scale factor for the element body load values. Zero (or blank) + defaults to 1.0. Use a small number for a "zero" scale factor. + The scale factor is not applied to body load phase angles. + + tbase + Base temperature for temperature difference. Used only with Lab = + TEMP. Scale factor is applied to the temperature difference (T - + TBASE) and then added to TBASE. T is the current temperature. Notes ----- - Causes the next read to be from a specified line on the input file. - Lines may be skipped or reread. The *GO command will not be executed - unless it is part of a macro, user file (processed by *USE), an - alternate input file (processed by /INPUT), or unless it is used in a - batch-mode input stream. Jumping into, out of, or within a do-loop or - an if-then-else construct to a :label line is not allowed. + Scales element body force loads on the selected elements in the + database. Issue the BFELIST command to list the element body loads. + Solid model boundary conditions are not scaled by this command, but + boundary conditions on the FE model are scaled. (Note that such scaled + FE boundary conditions may still be overwritten by unscaled solid model + boundary conditions if a subsequent boundary condition transfer + occurs.) - This command is valid in any processor. + BFESCAL does not work for tabular boundary conditions. + + This command is also valid in PREP7. """ - command = "*GO, %s" % (str(b_ase)) + command = "BFESCAL,%s,%s,%s" % (str(lab), str(fact), str(tb_ase)) self.RunCommand(command, **kwargs) - def Czdel(self, grp1="", grp2="", grp3="", **kwargs): + def Ssmt(self, mt11="", mt22="", mt12="", t="", **kwargs): """ - APDL Command: CZDEL + APDL Command: SSMT - Edits or clears cohesive zone sections. + Specifies preintegrated membrane thermal effects for shell sections. Parameters ---------- - grp1 - Initial group of cohesive zone elements to be deleted. - - grp2 - Final group of cohesive zone elements to be deleted. + mt11, mt22, mt12 + Membrane thermal effects component [MT]. - grp3 - Increment for selected groups. + t + Temperature. Notes ----- - The CZDEL command edits or deletes the interface elements and nodes, - along with the associated changes made to the underlying plane or solid - elements created during a previous CZMESH operation. + The behavior of shell elements is governed by the generalized- + stress/generalized-strain relationship of the form: - Each CZMESH operation will create groups of elements and nodes with - component names in the format CZME_EL01 (elements) and CZME_ND01 - (nodes). The final number of this format will be the number used for - grp1 and grp2. If grp1 = ALL, all nodes and elements created by the - CZMESH command will be deleted. After using CZDEL, all the user-defined - components will be unselected. + The SSMT command, one of several preintegrated shell section commands, + specifies the membrane thermal effects quantity (submatrix [MT] data) + for a preintegrated shell section. The section data defined is + associated with the section most recently defined (via the SECTYPE + command). - The CZDEL command is valid for structural analyses only. + The [MT] quantity represents membrane stress resultants caused by a + unit raise in temperature on a fully constrained model. For a layered + composite shell, it is usually necessary to specify both the [MT] and + [BT] quantities (by issuing the SSMT and SSBT commands, respectively). + + Unspecified values default to zero. + + Related commands are SSPA, SSPB, SSPD, SSPE, SSBT, and SSPM. + + For complete information, see Using Preintegrated General Shell + Sections. """ - command = "CZDEL, %s, %s, %s" % (str(grp1), str(grp2), str(grp3)) + command = "SSMT,%s,%s,%s,%s" % (str(mt11), str(mt22), str(mt12), str(t)) self.RunCommand(command, **kwargs) - def Race(self, xc="", yc="", rad="", tcur="", dy="", dz="", cname="", - **kwargs): + def Pdhist(self, rlab="", name="", ncl="", type="", **kwargs): """ - APDL Command: RACE + APDL Command: PDHIST - Defines a "racetrack" current source. + Plots the frequency histogram. Parameters ---------- - xc - Location of the mid-thickness of the vertical leg along the working - plane X-axis. - - yc - Location of the mid-thickness of the horizontal leg along the - working plane Y-axis. + rlab + Result set label. Identifies the result set to be used for + postprocessing. A result set label can be the solution set label + you defined in a PDEXE command (if you are directly postprocessing + Monte Carlo Simulation results), or the response surface set label + defined in an RSFIT command (for Response Surface Analyses). - rad - Radius of curvature of the mid-thickness of the curves in the - racetrack source. Defaults to .501 * DY + name + Parameter name. The parameter must have been previously defined as + a random input variable or a random output parameter with the PDVAR + command. - tcur - Total current, amp-turns (MKS), flowing in the source. + ncl + Number of classes for the histogram plot. This is the number of + bars shown in the histogram. NCL must be a positive number. If this + field is left blank, Mechanical APDL calculates an appropriate + number of classes based on the sample size. ANSYS divides the range + between the smallest and largest sample value into NCL classes of + equal width and determines the histogram frequencies by counting + the number of hits that fall in the classes. - dy - In-plane thickness of the racetrack source. + type + Type of histogram. - dz - Out-of-plane thickness (depth) of the racetrack source. + ABS - Absolute frequency histogram. This is the actual number of hits in each class. - --, -- - Unused fields + REL - Relative frequency histogram (default). This is the number of hits in the + individual classes divided by the total number of samples. - cname - An alphanumeric name assigned as a component name to the group of - SOURC36 elements created by the command macro. Cname must be - enclosed in single quotes in the RACE command line. Cname may be - up to 32 characters, beginning with a letter and containing only - letters, numbers, and underscores. Component names beginning with - an underscore (e.g., _LOOP) are reserved for use by ANSYS and - should be avoided. If blank, no component name is assigned. + NORM - Normalized frequency histogram. This is the number of hits in the individual + classes divided by the total number of samples and divided + by the width of the class. This normalization makes the + histogram comparable to the probability density function. Notes ----- - RACE invokes an ANSYS macro which defines a "racetrack" current source - in the working plane coordinate system. The current source is - generated from bar and arc source primitives using the SOURC36 element - (which is assigned the next available element type number). The macro - is valid for use in 3-D magnetic field analysis using a scalar - potential formulation. Current flows in a counterclockwise direction - with respect to the working plane. + Plots the frequency histogram. - The diagram below shows you a racetrack current source. + If Rlab is left blank, then the result set label is inherited from the + last PDEXE command (Slab), RSFIT command (RSlab), or the most recently + used PDS postprocessing command where a result set label was explicitly + specified. + + The PDHIST command cannot be used to postprocess the results in a + solution set that is based on Response Surface Methods, only Monte + Carlo Simulations. """ - command = "RACE, %s, %s, %s, %s, %s, %s, %s" % (str(xc), str(yc), str(rad), str(tcur), str(dy), str(dz), str(cname)) + command = "PDHIST,%s,%s,%s,%s" % (str(rlab), str(name), str(ncl), str(type)) self.RunCommand(command, **kwargs) - def Kwplan(self, wn="", korig="", kxax="", kplan="", **kwargs): + def Acel(self, acel_x="", acel_y="", acel_z="", **kwargs): """ - APDL Command: KWPLAN + APDL Command: ACEL - Defines the working plane using three keypoints. + Specifies the linear acceleration of the global Cartesian reference + frame for the analysis. Parameters ---------- - wn - Window number whose viewing direction will be modified to be normal - to the working plane (defaults to 1). If WN is a negative value, - the viewing direction will not be modified. If fewer than three - points are used, the viewing direction of window WN will be used - instead to define the normal to the working plane. + acel_x, acel_y, acel_z + Linear acceleration of the reference frame along global Cartesian + X, Y, and Z axes, respectively. - korig - Keypoint number defining the origin of the working plane coordinate - system. If KORIG = P, graphical picking is enabled and all - remaining command fields are ignored (valid only in the GUI). + Notes + ----- + In the absence of any other loads or supports, the acceleration of the + structure in each of the global Cartesian (X, Y, and Z) axes would be + equal in magnitude but opposite in sign to that applied in the ACEL + command. Thus, to simulate gravity (by using inertial effects), + accelerate the reference frame with an ACEL command in the direction + opposite to gravity. - kxax - Keypoint number defining the x-axis orientation (defaults to the - x-axis being parallel to the global X-axis; or if the normal to the - working plane is parallel to the global X-axis, then defaults to - being parallel to the global Y-axis). + You can define the acceleration for the following analyses types: - kplan - Keypoint number defining the working plane (the normal defaults to - the present display view [/VIEW] of window WN). + Static (ANTYPE,STATIC) - Notes - ----- - Defines a working plane to assist in picking operations using three - keypoints as an alternate to the WPLANE command. The three keypoints - also define the working plane coordinate system. A minimum of one - keypoint (at the working plane origin) is required. Immediate mode may - also be active. See WPSTYL command to set the style of working plane - display. + Harmonic (ANTYPE,HARMIC), full or mode-superposition method - This command is valid in any processor. + Transient (ANTYPE,TRANS) + + Substructure (ANTYPE,SUBSTR). + + For all transient dynamic (ANTYPE,TRANS) analyses, accelerations are + combined with the element mass matrices to form a body force load + vector term. The element mass matrix may be formed from a mass input + constant or from a nonzero density (DENS) property, depending upon the + element type. + + For analysis type ANTYPE,HARMIC, the acceleration is assumed to be the + real component with a zero imaginary component. + + Units of acceleration and mass must be consistent to give a product of + force units. + + The ACEL command supports tabular boundary conditions (%TABNAME_X%, + %TABNAME_Y%, and %TABNAME_Z%) for ACEL_X, ACEL_Y, and ACEL_Z input + values (*DIM) as a function of both time and frequency for full + transient and harmonic analyses. + + Related commands for rotational effects are CMACEL, CGLOC, CGOMGA, + DCGOMG, DOMEGA, OMEGA, CMOMEGA, and CMDOMEGA. + + See Analysis Tools in the Mechanical APDL Theory Reference for more + information. + + This command is also valid in /PREP7. """ - command = "KWPLAN, %s, %s, %s, %s" % (str(wn), str(korig), str(kxax), str(kplan)) + command = "ACEL,%s,%s,%s" % (str(acel_x), str(acel_y), str(acel_z)) self.RunCommand(command, **kwargs) - def Pcirc(self, rad1="", rad2="", theta1="", theta2="", **kwargs): + def Btol(self, ptol="", **kwargs): """ - APDL Command: PCIRC + APDL Command: BTOL - Creates a circular area centered about the working plane origin. + Specifies the Boolean operation tolerances. Parameters ---------- - rad1, rad2 - Inner and outer radii (either order) of the circle. A value of - either zero or blank for either RAD1 or RAD2, or the same value for - both RAD1 and RAD2, defines a solid circle. - - theta1, theta2 - Starting and ending angles (either order) of the circular area. - Used for creating a circular sector. The sector begins at the - algebraically smaller angle, extends in a positive angular - direction, and ends at the larger angle. The starting angle - defaults to 0.0° and the ending angle defaults to 360.0°. See the - Modeling and Meshing Guide for an illustration. + ptol + Point coincidence tolerance. Points within this distance to each + other will be assumed to be coincident during Boolean operations. + Loosening the tolerance will increase the run time and storage + requirements, but will allow more Boolean intersections to succeed. + Defaults to 0.10E-4. Notes ----- - Defines a solid circular area or circular sector centered about the - working plane origin. For a solid circle of 360°, the area will be - defined with four keypoints and four lines. See the CYL4 and CYL5 - commands for alternate ways to create circles. + Use BTOL,DEFA to reset the setting to its default value. Use BTOL,STAT + to list the status of the present setting. """ - command = "PCIRC, %s, %s, %s, %s" % (str(rad1), str(rad2), str(theta1), str(theta2)) + command = "BTOL,%s" % (str(ptol)) self.RunCommand(command, **kwargs) - def Spctemp(self, encl="", temp="", **kwargs): + def Wprota(self, thxy="", thyz="", thzx="", **kwargs): """ - APDL Command: SPCTEMP + APDL Command: WPROTA - Defines a free-space ambient temperature for radiation using the - Radiosity method. + Rotates the working plane. Parameters ---------- - encl - Radiating surface enclosure number. Defaults to 1. If ENCL = STAT, - the command lists all enclosure space temperatures. If ENCL = - DELE, the command deletes all enclosure space temperatures. + thxy + First rotation about the working plane Z axis (positive X toward + Y). - temp - Temperature of free-space in the reference temperature system. The - temperature will be offset by the value specified in the TOFFST - command for internal calculations. + thyz + Second rotation about working plane X axis (positive Y toward Z). + + thzx + Third rotation about working plane Y axis (positive Z toward X). Notes ----- - For open systems, an enclosure may radiate to the free-space ambient - temperature (TEMP). - - Open systems may be characterized by one or more enclosures (ENCL). - Each enclosure may radiate to a different free-space ambient - temperature (TEMP). - - For the first load step, the space temperature ramps from the uniform - temperature specified by the TUNIF command to the temperature specified - by the SPCTEMP command. For subsequent load steps, it ramps from the - previous value of the space temperature. For intermediate load steps, - use the SPCTEMP,DELETE command and specify the space temperature again - to ramp from the uniform temperature. + The specified angles (in degrees) are relative to the orientation of + the working plane. - If using SPCTEMP with the ANSYS Multi-field solver (MFS), you must - capture this command in the command file using MFCMMAND. This step is - necessary because at the end of each field computation, this command is - unset. + This command is valid in any processor. """ - command = "SPCTEMP, %s, %s" % (str(encl), str(temp)) + command = "WPROTA,%s,%s,%s" % (str(thxy), str(thyz), str(thzx)) self.RunCommand(command, **kwargs) - def Helpdisp(self, commandname="", **kwargs): + def Slashstatus(self, lab="", **kwargs): """ - APDL Command: HELPDISP + APDL Command: /STATUS - Displays help information on DISPLAY program commands. + Lists the status of items for the run. Parameters ---------- - commandname - Any DISPLAY command. If blank, a list of DISPLAY commands is - produced. - - """ - command = "HELPDISP, %s" % (str(commandname)) - self.RunCommand(command, **kwargs) - - def Rmmrange(self, mode="", key="", min="", max="", nstep="", damp="", - scale="", **kwargs): - """ - APDL Command: RMMRANGE + lab + Items to list status for: - Defines and edits various modal parameters for the ROM method. + ALL - List all below (default). - Parameters - ---------- - mode - Mode number. Must be lower or equal to the number of modes - extracted via the RMNEVEC command. + TITLE - List only titles, Jobname, and revision number. - key - Mode classification key. Valid keys are: + UNITS - List only units. - DOMINANT - Dominant mode + MEM - List only memory data statistics. - min - Lower bound for fit range of mode. + DB - List only database statistics - max - Upper bound for fit range of mode. + CONFIG - List only configuration parameters. - nstep - Number of equidistant steps in fit range of mode. + GLOBAL - Provides a global status summary. - damp - Modal damping factor. Defaults to 0.0. + SOLU - Provides a solution status summary. - scale - Modal scaling factor. + PROD - Provides a product summary. Notes ----- - When selected manually (RMMSELECT), modes must be classified as - dominant, relevant, or unused. Dominant modes (Key = DOMINANT) are - basis functions with large amplitudes. Relevant modes (Key = RELEVANT) - are influenced by the dominant modes but do not cause interactions - among themselves due to the small amplitude. This assumption leads to - essential speed up of the sample point generator (see RMSMPLE). + Displays various items active for the run (such as the ANSYS revision + number, Jobname, titles, units, configuration parameters, database + statistics, etc.). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "RMMRANGE, %s, %s, %s, %s, %s, %s, %s" % (str(mode), str(key), str(min), str(max), str(nstep), str(damp), str(scale)) + command = "/STATUS,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Sfdele(self, nlist="", lab="", **kwargs): + def Fjlist(self, elem="", **kwargs): """ - APDL Command: SFDELE + APDL Command: FJLIST - Deletes surface loads. + Lists forces and moments applied on joint elements. Parameters ---------- - nlist - Label defining where to find the list of nodes: - - ALL - Use all selected nodes [NSEL]. If P, use graphical picking in GUI. A - component label may be substituted for Nlist. - - lab - Valid surface load label. If ALL, use all appropriate labels. See - the SF command for labels. + elem + Element number or ALL (or blank). Lists joint element forces and + moments on the specified element(s). Notes ----- - Deletes surface loads as applied with the SF command. Loads are - deleted only for the specified nodes on external faces of selected area - and volume elements. For shell elements, if the specified nodes - include face one (which is usually the bottom face) along with other - faces (such as edges), only the loads on face one will be deleted. The - element faces are determined from the list of selected nodes as - described for the SF command. See the SFEDELE command for deleting - loads explicitly by element faces. - - This command is also valid in PREP7. + Valid for MPC184 joint elements. See FJ for information on specifying + forces and moments. """ - command = "SFDELE, %s, %s" % (str(nlist), str(lab)) + command = "FJLIST,%s" % (str(elem)) self.RunCommand(command, **kwargs) - def Edtp(self, option="", value1="", value2="", **kwargs): + def Prcint(self, id="", node="", dtype="", **kwargs): """ - APDL Command: EDTP + APDL Command: PRCINT - Plots explicit elements based on their time step size. + Lists the fracture parameter (CINT) results data. Parameters ---------- - option - Plotting option (default = 1). - - 1 - Plots the elements with the smallest time step sizes. The number of elements - plotted and listed is equal to VALUE1 (which defaults to 100). - Each element is shaded red or yellow based on its time step - value (see "Notes" for details). - - 2 - Produces the same plot as for OPTION = 1, and also produces a list of the - plotted elements and their corresponding time step values. - - 3 - Produces a plot similar to OPTION = 1, except that all selected elements are - plotted. Elements beyond the first VALUE1 elements are blue and - translucent. The amount of translucency is specified by VALUE2. - This option also produces a list of the first VALUE1 elements - with their corresponding time step values. - - value1 - Number of elements to be plotted and listed (default = 100). For - example, if VALUE1 = 10, only the elements with the 10 smallest - time step sizes are plotted and listed. - - value2 - Translucency level ranging from 0 to 1 (default = 0.9). VALUE2 is - only used when OPTION = 3, and only for the elements plotted in - blue. To plot these elements as non-translucent, set VALUE2 = 0. - - Notes - ----- - EDTP invokes an ANSYS macro that plots and lists explicit elements - based on their time step size. For OPTION = 1 or 2, the number of - elements plotted is equal to VALUE1 (default = 100). For OPTION = 3, - all selected elements are plotted. - - The elements are shaded red, yellow, or blue based on their time step - size. Red represents the smallest time step sizes, yellow represents - the intermediate time step sizes, and blue represents the largest time - step sizes. For example, if you specify VALUE1 = 30, and if T1 is the - smallest critical time step of all elements and T30 is the time step of - the 30th smallest element, then the elements are shaded as follows: - - Translucent blue elements only appear when OPTION = 3. + id + Crack ID number. - This command is also valid in PREP7. + node + Crack tip node number. Default = ALL. Valid only for 3-D analysis. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + dtype + Data type to output: - """ - command = "EDTP, %s, %s, %s" % (str(option), str(value1), str(value2)) - self.RunCommand(command, **kwargs) + JINT - J-integral - def Cbdof(self, fname1="", ext1="", fname2="", ext2="", kpos="", clab="", - kshs="", tolout="", tolhgt="", tolthk="", **kwargs): - """ - APDL Command: CBDOF + IIN1 - Interaction integral 1 - Activates cut-boundary interpolation (for submodeling). + IIN2 - Interaction integral 2 - Parameters - ---------- - fname1 - File name and directory path (248 characters maximum, including - directory) from which to read boundary node data. If no specified - directory path exists, the path defaults to your working directory - and you can use all 248 characters for the file name. + IIN3 - Interaction integral 3 - ext1 - Filename extension (eight-character maximum). + K1 - Mode 1 stress-intensity factor - -- - Unused field. + K2 - Mode 2 stress-intensity factor - fname2 - File name and directory path (248 characters maximum, including - directory) to which cut-boundary D commands are written. If no - specified directory path exists, the path defaults to your working - directory and you can use all 248 characters for the file name. + K3 - Mode 3 stress-intensity factor - ext2 - Filename extension (eight-character maximum). + G1 - Mode 1 energy release rate - -- - Unused field. + G2 - Mode 2 energy release rate - kpos - Position on Fname2 to write block of D commands: + G3 - Mode 3 energy release rate - 0 - Beginning of file (overwrite existing file). + GT - Total energy release rate - 1 - End of file (append to existing file). + MFTX - Total material force X - clab - Label (eight characters maximum, including the colon) for this - block of D commands on Fname2. his label is appended to the colon - (:). Defaults to CBn, where n is the cumulative iteration number - for the data set currently in the database. For imaginary data - (see KIMG on the *SET command), Clab defaults to CIn. + MFTY - Total material force Y - kshs - Shell-to-solid submodeling key: + MFTZ - Total material force Z - 0 - Solid-to-solid or shell-to-shell submodel. + TSTRESS - T-stress - 1 - Shell-to-solid submodel. + CEXT - Crack extension - tolout - Extrapolation tolerance about elements, based on a fraction of the - element dimension. Submodel nodes outside the element by more than - TOLOUT are not accepted as candidates for DOF extrapolation. - Defaults to 0.5 (50 percent). + CSTAR - C*-integral - tolhgt - Height tolerance above or below shell elements, in units of length. - Used only for shell-to-shell submodeling (KSHS = 0). Submodel nodes - off the element surface by more than TOLHGT are not accepted as - candidates for degree-of-freedom interpolation or extrapolation. - Defaults to 0.0001 times the maximum element dimension. + STTMAX - Maximum circumferential stress - tolthk - Height tolerance above or below shell elements, based on a fraction - of the shell element thickness. Used only for shell-to-solid - submodeling (KSHS = 1). Submodel nodes off the element surface by - more than TOLTHK are not accepted as candidates for DOF - interpolation or extrapolation. Defaults to 0.1 times the average - shell thickness. + PSMAX - Maximum circumferential stress when Notes ----- - File Fname1 should contain a node list for which boundary conditions - are to be interpolated (NWRITE). File Fname2 is created to contain - interpolated boundary conditions written as a block of D commands. - - Boundary conditions are written for the active degree-of-freedom set - for the element from which interpolation is performed. Interpolation - occurs on the selected set of elements. The block of D commands begins - with an identifying colon label and ends with a /EOF command. The - colon label is of the form :Clab (described above). - - Interpolation from multiple results sets can be performed by looping - through the results file in a user-defined macro. Additional blocks - can be appended to Fname2 by using KPOS and unique colon labels. To - read the block of commands, issue the /INPUT command with the - appropriate colon label. + When a crack tip node is defined, the values associated with the + specified node are listed. - If the model has coincident (or very close) nodes, the CBDOF must be - applied to each part of the model separately to ensure that the mapping - of the nodes is correct. For example, if nodes belonging to two - adjacent parts linked by springs are coincident, the operation should - be performed on each part of the model separately. + Dtype = STTMAX or PSMAX are valid for XFEM-based crack growth analyses + only. - Resume the coarse model database at the beginning of the cut-boundary - procedure. The database should have been saved after the first coarse - model solution, as the number of nodes in the database and the results - file must match, and internal nodes are sometimes created during the - solution. + In an XFEM-based analysis, issue the command using this syntax: - Caution:: : Relaxing the TOLHGT or TOLTHK tolerances to allow submodel - nodes to be “found” can produce poor submodel results. + PRCINT, ID, , STTMAX (or PSMAX) """ - command = "CBDOF, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(fname1), str(ext1), str(fname2), str(ext2), str(kpos), str(clab), str(kshs), str(tolout), str(tolhgt), str(tolthk)) + command = "PRCINT,%s,%s,%s" % (str(id), str(node), str(dtype)) self.RunCommand(command, **kwargs) - def Kmove(self, npt="", kc1="", x1="", y1="", z1="", kc2="", x2="", y2="", - z2="", **kwargs): + def Harfrq(self, freqb="", freqe="", logopt="", freqarr="", toler="", + **kwargs): """ - APDL Command: KMOVE + APDL Command: HARFRQ - Calculates and moves a keypoint to an intersection. + Defines the frequency range in a harmonic analysis. Parameters ---------- - npt - Move this keypoint. If NPT = 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 NPT. + freqb + Frequency (Hz) at the beginning of the FREQB to FREQE range (if + FREQE > FREQB). If FREQE is blank, the solution is done only at + frequency FREQB (the central frequency of octave bands, when LogOpt + = OB1, OB2, OB3, OB6, OB12 or OB24). - kc1 - First coordinate system number. Defaults to 0 (global Cartesian). + freqe + Frequency at end of this range. Solutions are done at an interval + of (FREQE-FREQB) / NSBSTP, ending at FREQE. No solution is done at + the beginning of the frequency range. NSBSTP is input via the + NSUBST command. See the EXPSOL command documentation for expansion + pass solutions. - x1, y1, z1 - Input one or two values defining the location of the keypoint in - this coordinate system. Input "U" for unknown value(s) to be - calculated and input "E" to use an existing coordinate value. - Fields are R1, θ1, Z1 for cylindrical, or R1, θ1, ϕ1 for spherical. + -- + Reserved. - kc2 - Second coordinate system number. + logopt + Logarithm frequency span. Solutions are done at an interval of + (log(FREQE) - log(FREQB)) / (NSBSTP-1), (NSBSTP>1). The central + frequency or beginning frequency is used for NSBSTP = 1. Valid + values are: - x2, y2, z2 - Input two or one value(s) defining the location of the keypoint in - this coordinate system. Input "U" for unknown value(s) to be - calculated and input "E" to use an existing coordinate value. - Arguments are R2, θ2, Z2 for cylindrical, or R2, θ2, ϕ2 for - spherical. + OB1 - Octave band. - Notes - ----- - Calculates and moves a keypoint to an intersection location. The - keypoint must have been previously defined (at an approximate location) - or left undefined (in which case it is internally defined at the SOURCE - location). The actual location is calculated from the intersection of - three surfaces (implied from three coordinate constants in two - different coordinate systems). Note that solid modeling in a toroidal - coordinate system is not recommended. See the MOVE command for surface - and intersection details. The three (of six) constants easiest to - define should be used. The program will calculate the remaining three - coordinate constants. All arguments, except KC1, must be input. Use - the repeat command [*REPEAT] after the KMOVE command to move a series - of keypoints, if desired. + OB2 - 1/2 octave band. - """ - command = "KMOVE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(npt), str(kc1), str(x1), str(y1), str(z1), str(kc2), str(x2), str(y2), str(z2)) - self.RunCommand(command, **kwargs) + OB3 - 1/3 octave band. - def Cbte(self, alpha="", **kwargs): - """ - APDL Command: CBTE + OB6 - 1/6 octave band. - Specifies a thermal expansion coefficient for a composite beam section. + OB12 - 1/12 octave band. + + OB24 - 1/24 octave band. + + LOG - General logarithm frequency span. + + freqarr + An array containing frequency values (Hz). Combined with the + tolerance argument, Toler, these values are merged with values + calculated based on the specifications from FREQB, FREQE, and + LogOpt, as well NSBSTP on the NSUBST command and Clust on the HROUT + command. Enclose the array name in percent (%) signs (for example, + HARFRQ,,,,,%arrname%). Use *DIM to define the array. - Parameters - ---------- - alpha - Coefficient of thermal expansion for the cross section. + toler + Tolerance to determine if a user input frequency value in FREQARR + is a duplicate and can be ignored. Two frequency values are + considered duplicates if their difference is less than the + frequency range multiplied by the tolerance. The default value is 1 + x 10-5. Notes ----- - The CBTE command, one of several composite beam section commands, - specifies a thermal expansion coefficient for a beam section. The value - specified is associated with the section most recently defined - (SECTYPE) at the specified temperature (CBTMP). + Defines the frequency range for loads in the harmonic analysis + (ANTYPE,HARMIC). - Unspecified values default to zero. + Do not use this command for a harmonic ocean wave analysis (HROCEAN). - Related commands are CBTMP, CBMX, and CBMD. + When frequencies are user-defined, the array FREQARR must be one- + dimensional and contain positive values. User-defined frequency input + is not supported in the following cases: - For complete information, see Using Preintegrated Composite Beam - Sections. + in a cyclic symmetry harmonic analysis + + when the Variational Technology method is used (Method = VT on the + HROPT command) + + This command is also valid in PREP7. """ - command = "CBTE, %s" % (str(alpha)) + command = "HARFRQ,%s,%s,%s,%s,%s" % (str(freqb), str(freqe), str(logopt), str(freqarr), str(toler)) self.RunCommand(command, **kwargs) - def Geometry(self, **kwargs): + def Edmp(self, lab="", mat="", val1="", val2="", val3="", val4="", val5="", + val6="", **kwargs): """ - APDL Command: GEOMETRY + APDL Command: EDMP - Specifies "Geometry" as the subsequent status topic. + Defines material properties for an explicit dynamics analysis. - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Parameters + ---------- + lab + Valid material property label. Applicable labels are listed under + "Material Properties" in the input table for each explicit dynamics + element type in the Element Reference. - If entered directly into the program, the STAT command should - immediately follow this command. + HGLS - Hourglass and bulk viscosity properties (valid for PLANE162, SHELL163, SOLID164 + using reduced integration, and SOLID168). VAL1 through VAL6 + are also used. For those elements using full integration, + HGLS is not applicable and the input has no effect. - """ - command = "GEOMETRY, " % () - self.RunCommand(command, **kwargs) + RIGID - Rigid body constraint (valid for LINK160, BEAM161, PLANE162, SHELL163, + SOLID164, and SOLID168). VAL1 and VAL2 are also used. - def Line(self, **kwargs): - """ - APDL Command: LINE + CABLE - Cable properties (valid for LINK167). VAL1 is optional input (see Notes). - Specifies "Lines" as the subsequent status topic. + ORTHO - Defines a material coordinate system for the orthotropic material model (valid + for PLANE162, SHELL163, SOLID164, and SOLID168) or the + anisotropic material model (valid for SOLID164 and + SOLID168). VAL1 is also used. - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + FLUID - Fluid properties (valid for PLANE162, SOLID164, and SOLID168). VAL1 is optional + input (see Notes). - If entered directly into the program, the STAT command should - immediately follow this command. + mat + Material reference number (defaults to the current MAT setting on + MAT command). - """ - command = "LINE, " % () - self.RunCommand(command, **kwargs) + val1, val2, val3, . . . , val6 + Additional input for specified Lab material property. The meaning + of VAL1 through VAL6 will vary, depending on Lab. See the table + below for VAL1 through VAL6 definitions. - def Emid(self, key="", edges="", **kwargs): - """ - APDL Command: EMID + VAL1 - Hourglass control type. For solid elements (PLANE162, SOLID164, and SOLID168), + 5 options are available. For quadrilateral shell and + membrane elements (SHELL163) with reduced integration, the + hourglass control is based on the formulation of Belytschko + and Tsay; i.e., options 1-3 are identical and options 4-5 + are identical. - Adds or removes midside nodes. + 0, 1 - Standard LS-DYNA viscous form (default). - Parameters - ---------- - key - Add or remove key: + 2 - Flanagan-Belytschko viscous form. - ADD - Add midside node to elements (default). + 3 - Flanagan-Belytschko viscous form with exact volume integration for solid + elements. - REMOVE - Remove midside nodes from elements. + 4 - Flanagan-Belytschko stiffness form. - edges - ALL + 5 - Flanagan-Belytschko stiffness form with exact volume integration for solid + elements. - ALL - Add (or remove) midside nodes to (from) all edges of all selected elements, - independent of which nodes are selected (default). + VAL2 - Hourglass coefficient. (Defaults to 0.1.) Values greater than 0.15 may cause + instabilities. The recommended default applies to all + options. The stiffness forms can stiffen the response + (especially if deformations are large) and, therefore, + should be used with care. For the shell and membrane + elements, the value input for VAL1 is the membrane hourglass + coefficient. VAL5 and VAL6 can also be input, but generally + VAL2 = VAL5 = VAL6 is adequate. - EITHER - Add (or remove) midside nodes only to (from) element edges which have either - corner node selected. + VAL3 - Quadratic bulk viscosity coefficient. (Defaults to 1.5.) - BOTH - Add (or remove) midside nodes only to (from) element edges which have both - corner nodes selected. + VAL4 - Linear bulk viscosity coefficient. (Defaults to 0.06.) + + VAL5 - Hourglass coefficient for shell bending. (Defaults to VAL2.) + + VAL6 - Hourglass coefficient for shell warping. (Defaults to VAL2.) Notes ----- - This command adds midside nodes to (or removes midside nodes from) the - selected elements. For this to occur, the selected elements must be - midside node capable, the active element type [TYPE] must allow midside - node capability, and the relationship between the finite element model - and the solid model (if any) must first be disassociated [MODMSH]. + For Lab = RIGID, you must specify elastic modulus (EX), density (DENS), + and Poisson's ratio (NUXY) [MP command]. For Lab = CABLE, you must + specify density (DENS) and one of the following: Young's modulus (EX) + or an engineering stress-strain curve (VAL1). For Lab = FLUID, you must + specify either the bulk modulus (VAL1) or both Young's modulus (EX) and + Poisson's ratio (NUXY) (if all three are specified, only VAL1 will be + used). - By default, EMID generates a midside node wherever a zero (or missing) - midside node occurs for that element. You can control this and add (or - remove) midside nodes selectively by using the Edges argument. Nodes - are located midway between the two appropriate corner nodes based on a - linear Cartesian interpolation. Nodal coordinate system rotation angles - are also linearly interpolated. Connected elements share the same - midside node. Node numbers are generated sequentially from the maximum - node number. + After you define a rigid body using EDMP,RIGID, you may assign inertia + properties to that rigid body using the EDIPART command. - The EMID command is useful for transforming linear element types to - quadratic element types having the same corner node connectivity. + EDMP,ORTHO is required for orthotropic or anisotropic material + properties that are not locally orthotropic with material axes + determined by element nodes (see Orthotropic Elastic Model and + Anisotropic Elastic Model in the ANSYS LS-DYNA User's Guide). - EMID is also useful for transforming elements created outside of the - program. + Via the GUI, Lab = RIGID, CABLE, ORTHO, and FLUID are available through + the material model interface. See Defining Explicit Dynamics Material + Models in the ANSYS LS-DYNA User's Guide for more information. + + Use the MPLIST and MPDELE commands to list and delete materials defined + by the EDMP command. + + This command is also valid in SOLUTION. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "EMID, %s, %s" % (str(key), str(edges)) + command = "EDMP,%s,%s,%s,%s,%s,%s,%s,%s" % (str(lab), str(mat), str(val1), str(val2), str(val3), str(val4), str(val5), str(val6)) self.RunCommand(command, **kwargs) - def Bucopt(self, method="", nmode="", shift="", ldmulte="", rangekey="", - **kwargs): + def Setran(self, sename="", kcnto="", inc="", file="", ext="", dx="", + dy="", dz="", norot="", **kwargs): """ - APDL Command: BUCOPT + APDL Command: SETRAN - Specifies buckling analysis options. + Creates a superelement from an existing superelement. Parameters ---------- - method - Mode extraction method to be used for the buckling analysis: + sename + The name (case-sensitive) of the file containing the original + superelement matrix created by the generation pass (Sename.SUB). + The default is the current Jobname. If Sename is a number, it is + the element number of a previously defined superelement in the + current use pass. - LANB - Block Lanczos + kcnto + The reference number of the coordinate system to where the + superelement is to be transferred. The default is the global + Cartesian system. Transfer occurs from the active coordinate + system. - SUBSP - Subspace iteration + inc + The node offset. The default is zero. All new element node + numbers are offset from those on the original by INC. - nmode - Number of buckling modes (i.e., eigenvalues or load multipliers) to - extract (defaults to 1). + file + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - shift - By default, this value acts as the initial shift point about which - the buckling modes are calculated (defaults to 0.0). + ext + Filename extension (eight-character maximum). - ldmulte - Boundary for the load multiplier range of interest (defaults to ). + -- + Unused field. - rangekey - Key used to control the behavior of the eigenvalue extraction - method (defaults to CENTER): + dx, dy, dz + Node location increments in the global Cartesian coordinate system. + Defaults to zero. - CENTER - Use the CENTER option control (default); the program computes NMODE buckling - modes centered around SHIFT in the range of (-LDMULTE, - +LDMULTE). + norot + Node rotation key: - RANGE - Use the RANGE option control; the program computes NMODE buckling modes in the - range of (SHIFT, LDMULTE). + 0 - The nodal coordinate systems of the transferred superelement rotate into the + KCNTO system. (That is, the nodal coordinate systems rotate + with the superelement.) The superelement matrices remain + unchanged. This value is the default. + + 1 - The nodal coordinate systems do not rotate. (That is, they remain fixed in + their original global orientation.) The superelement matrices + and load vectors are modified if any rotations occur. Notes ----- - Eigenvalues from a buckling analysis can be negative and/or positive. - The program sorts the eigenvalues from the most negative to the most - positive values. The minimum buckling load factor may correspond to the - smallest eigenvalue in absolute value, or to an eigenvalue within the - range, depending on your application (i.e., linear perturbation - buckling analysis or purely linear buckling analysis). + The SETRAN command creates a superelement from an existing superelement + and writes the new element to a file. You can then issue an SE command + to read the new element (during the use pass). - It is recommended that you request an additional few buckling modes - beyond what is needed in order to enhance the accuracy of the final - solution. It is also recommended that you input a non zero SHIFT value - and a reasonable LDMULTE value (i.e., a smaller LDMULTE that is closer - to the last buckling mode of interest) when numerical problems are - encountered. + You can create a superelement from an original by: - When using the RANGE option, defining a range that spans zero is not - recommended. If you are seeking both negative and positive eigenvalues, - it is recommended that you use the CENTER option. + Transferring the original's geometry from the active coordinate system + into another coordinate system (KCNTO) - This command is also valid in PREP7. If used in SOLUTION, this command - is valid only within the first load step. + Offsetting its geometry in the global Cartesian coordinate system (DX, + DY, and DZ ) - Distributed ANSYS Restriction: Both extraction methods (LANB and SUBSP) - are supported within Distributed ANSYS. However, the subspace iteration - eigensolver (SUBSP) is the only distributed eigensolver that will run a - fully distributed solution. The Block Lanczos eigensolver (LANB) is not - a distributed eigensolver; therefore, you will not see the full - performance improvements with this method that you would with a fully - distributed solution. + Offsetting its node numbers (INC). + + A combination of methods is valid. If you specify both the geometry + transfer and the geometry offset, the transfer occurs first. + + If you specify rotation of the transferred superelement's nodal + coordinate systems into the KCNTO system (NOROT = 0), the rotated nodes + cannot be coupled via the CP command; in this case, issue the CE + command instead. If you specify no rotation of the nodal coordinate + systems (NOROT = 1) for models with displacement degrees of freedom, + and KCNTO is not the active system, the superelement Sename must have + six MDOF at each node that has MDOF; therefore, only elements with all + six structural DOFs are valid in such cases. + + There is no limit to the number of copies that can be made of a + superelement, provided the copies are all generated from the same + original superelement. However, nested copies are limited to five. In + other words, the total number of different Sename usages on the SETRAN + and SESYMM commands is limited to five. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "BUCOPT, %s, %s, %s, %s, %s" % (str(method), str(nmode), str(shift), str(ldmulte), str(rangekey)) + command = "SETRAN,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(sename), str(kcnto), str(inc), str(file), str(ext), str(dx), str(dy), str(dz), str(norot)) self.RunCommand(command, **kwargs) def Edread(self, nstart="", label="", num="", step1="", step2="", @@ -62037,590 +62091,534 @@ def Edread(self, nstart="", label="", num="", step1="", step2="", Distributed ANSYS. """ - command = "EDREAD, %s, %s, %s, %s, %s" % (str(nstart), str(label), str(num), str(step1), str(step2)) + command = "EDREAD,%s,%s,%s,%s,%s" % (str(nstart), str(label), str(num), str(step1), str(step2)) self.RunCommand(command, **kwargs) - def Al(self, l1="", l2="", l3="", l4="", l5="", l6="", l7="", l8="", l9="", - l10="", **kwargs): + def Aglue(self, na1="", na2="", na3="", na4="", na5="", na6="", na7="", + na8="", na9="", **kwargs): """ - APDL Command: AL + APDL Command: AGLUE - Generates an area bounded by previously defined lines. + Generates new areas by "gluing" areas. Parameters ---------- - l1, l2, l3, . . . , l10 - List of lines defining area. The minimum number of lines is 3. - The positive normal of the area is controlled by the direction of - L1 using the right-hand rule. A negative value of L1 reverses the - normal direction. If L1 = ALL, use all selected lines with L2 - defining the normal (L3 to L10 are ignored and L2 defaults to the - lowest numbered selected line). If L1 = P, graphical picking is - enabled and all remaining arguments are ignored (valid only in the - GUI). A component name may also be substituted for L1. + na1, na2, na3, . . . , na9 + Numbers of the areas to be glued. If NA1 = ALL, all selected areas + will be glued (NA2 to NA9 will be ignored). If NA1 = P, graphical + picking is enabled and all remaining arguments are ignored (valid + only in the GUI). A component name may also be substituted for + NA1. Notes ----- - Lines may be input (once each) in any order and must form a simply - connected closed curve. If the area is defined with more than four - lines, the lines must also lie in the same plane or on a constant - coordinate value in the active coordinate system (such as a plane or a - cylinder). - - Note:: : Solid modeling in a toroidal coordinate system is not - recommended. Areas may be redefined only if not yet attached to a - volume. + Use of the AGLUE command generates new areas by "gluing" input areas. + The glue operation redefines the input areas so that they share lines + along their common boundaries. The new areas encompass the same + geometry as the original areas. This operation is only valid if the + intersection of the input areas are lines along the boundaries of those + areas. See the Modeling and Meshing Guide for an illustration. See + the BOPTN command for an explanation of the options available to + Boolean operations. Element attributes and solid model boundary + conditions assigned to the original entities will not be transferred to + new entities generated. - This command is valid in any processor. + The AGLUE command results in the merging of lines and keypoints at the + common area boundaries. The lines and keypoints of the lower numbered + area will be kept. This means one must be aware of area numbering when + multiple AGLUE commands are applied to avoid any “ungluing” of + geometry. """ - command = "AL, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(l1), str(l2), str(l3), str(l4), str(l5), str(l6), str(l7), str(l8), str(l9), str(l10)) + command = "AGLUE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(na7), str(na8), str(na9)) self.RunCommand(command, **kwargs) - def Dist(self, wn="", dval="", kfact="", **kwargs): + def Psdunit(self, tblno="", type="", gvalue="", **kwargs): """ - APDL Command: /DIST + APDL Command: PSDUNIT - Specifies the viewing distance for magnifications and perspective. + Defines the type of input PSD. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). - - dval - Distance along the view line from the observer to the focus point - (defaults to value producing full-window display). Distances "too - close" to the object will produce excessive magnifications. If - DVAL = AUTO, zero, or blank, the program will calculate the - distance automatically. If DVAL = USER, the distance of last - display will be used (useful when last display automatically - calculated distance). - - kfact - DVAL interpretation key: - - 0 - Interpret numerical DVAL values as described above. - - 1 - Interpret DVAL as a multiplier on the current distance (DVAL of 2 gives twice - the current distance; 0.5 gives half the current distance, - etc.). - - Notes - ----- - The scale factor is relative to the window shape. For example, for - objects centered in a square window and with parallel projection (no - perspective), a distance of : /2 (+10%) produces a full window - magnification, where : is the largest in-plane vertical or horizontal - dimension. See also /AUTO and /USER commands. + tblno + Input table number. - This command is valid in any processor. + type + Label identifying the type of spectrum: - """ - command = "/DIST, %s, %s, %s" % (str(wn), str(dval), str(kfact)) - self.RunCommand(command, **kwargs) + DISP - Displacement spectrum (in terms of displacement2/Hz ). - def Sedlist(self, sename="", kopt="", **kwargs): - """ - APDL Command: SEDLIST + VELO - Velocity spectrum (in terms of velocity2/Hz ). - Lists the DOF solution of a superelement after the use pass. + ACEL - Acceleration spectrum (in terms of acceleration2/Hz ). - Parameters - ---------- - sename - Name of the superelement in Jobname.DSUB to be listed. If a - number, it is the element number of the superelement as used in the - use pass. If ALL, list results for all superelements. + ACCG - Acceleration spectrum (in terms of g2/Hz ). - kopt - List key: + FORC - Force spectrum (in terms of force2/Hz ). - 0 - List summary data only. + PRES - Pressure spectrum (in terms of pressure2/Hz ). - 1 - List full contents. Be aware that the listing may be extensive. + gvalue + Value of acceleration due to gravity in any arbitrary units for + Type=ACCG. Default is 386.4 in/sec2. Notes ----- - Lists the degree of freedom solution of a superelement after the - substructure use pass. Results may be listed for any superelement on - File.DSUB. + Defines the type of PSD defined by the PSDVAL, COVAL, and QDVAL + commands. - This command is valid in any processor. + Force (FORC) and pressure (PRES) type spectra can be used only as a + nodal excitation. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + GVALUE is valid only when type ACCG is specified. A zero or negative + value cannot be used. A parameter substitution can also be performed. + + This command is also valid in PREP7. """ - command = "SEDLIST, %s, %s" % (str(sename), str(kopt)) + command = "PSDUNIT,%s,%s,%s" % (str(tblno), str(type), str(gvalue)) self.RunCommand(command, **kwargs) - def Timp(self, elem="", chgbnd="", implevel="", **kwargs): + def Replot(self, label="", **kwargs): """ - APDL Command: TIMP + APDL Command: /REPLOT - Improves the quality of tetrahedral elements that are not associated - with a volume. + Automatically reissues the last display command for convenience. Parameters ---------- - elem - Identifies the tetrahedral elements to be improved. Valid values - are ALL and P. If ELEM = ALL (default), improve all selected - tetrahedral elements. If ELEM = P, graphical picking is enabled - and all remaining command fields are ignored (valid only in the - GUI). - - chgbnd - Specifies whether to allow boundary modification. Boundary - modification includes such things as changes in the connectivity of - the element faces on the boundary and the addition of boundary - nodes. (Also see the Notes section below for important usage - information for CHGBND.) - - 0 - Do not allow boundary modification. - - 1 - Allow boundary modification (default). + label + Controls the type of replot. - implevel - Identifies the level of improvement to be performed on the - elements. (Improvement occurs primarily through the use of face - swapping and node smoothing techniques.) + RESIZE - Issued internally when a graphics window resize occurs (Default). - 0 - Perform the least amount of swapping/smoothing. + FAST - Only applicable for 3-D devices that allow a fast redisplay for changes in the + view characteristics only. - 1 - Perform an intermediate amount of swapping/smoothing. + Notes + ----- + Reissues the last display command (NPLOT, EPLOT, KPLOT, PLNSOL, PLVAR, + etc.), along with its parameters, for convenience. The current display + specifications are used. - 2 - Perform the greatest amount of swapping/smoothing. + When the last display command is invalid in a particular processor, the + use of the /REPLOT command is also invalid in that processor. However, + if you attempt a /REPLOT and the last display command is invalid in the + current processor, ANSYS produces an element display [EPLOT] instead, + as long as the last display command was PLNSOL, PLESOL, or PLDISP. + ANSYS performs this substitution of /REPLOT with EPLOT for your + convenience. - 3 - Perform the greatest amount of swapping/smoothing, plus additional improvement - techniques (default). + For example, the PLNSOL command, which is used to display solution + results as continuous contours, is a valid command in the general + postprocessor [/POST1]. If you issue PLNSOL followed by /REPLOT while + in the general postprocessor, the /REPLOT command effectively reissues + your earlier PLNSOL command, along with its parameters. But if you + then exit the general postprocessor, enter the preprocessor [/PREP7], + and issue the /REPLOT command again, ANSYS internally issues EPLOT + instead. This occurs because PLNSOL is not a valid command in the + preprocessor. - Notes - ----- - The TIMP command enables you to improve a given tetrahedral mesh by - reducing the number of poorly-shaped tetrahedral elements (in - particular, the number of sliver tetrahedral elements)--as well as the - overall number of elements--in the mesh. It also improves the overall - quality of the mesh. + When you click on one of the buttons on the Pan, Zoom, Rotate dialog + box to manipulate the view of a model, the /REPLOT command is issued + internally. Thus, the substitution of /REPLOT with EPLOT as described + above may occur not only for the PLNSOL, PLESOL, and PLDISP results + display commands, but also for operations that you perform with the + Pan, Zoom, Rotate dialog box. - TIMP is particularly useful for an imported tetrahedral mesh for which - no geometry information is attached. + /REPLOT will not show boundary conditions if they are only applied to a + solid model and the last display command (for example, EPLOT) displays + the finite element model. To show boundary conditions, the following + options are available: - Regardless of the value of the CHGBND argument, boundary mid-nodes can - be moved. + Issue /REPLOT after you issue the SBCTRAN command to transfer solid + model boundary conditions to the finite element model. - When loads or constraints have been placed on boundary nodes or mid- - nodes, and boundary mid-nodes are later moved, ANSYS issues a warning - message to let you know that it will not update the loads or - constraints. + Issue /REPLOT after you issue a solid model display command (for + example, VPLOT). - No boundary modification is performed if shell or beam elements are - present in the mesh, even when CHGBND = 1. + This command is valid in any processor (except as noted above). """ - command = "TIMP, %s, %s, %s" % (str(elem), str(chgbnd), str(implevel)) + command = "/REPLOT,%s" % (str(label)) self.RunCommand(command, **kwargs) - def Qdval(self, tblno1="", tblno2="", sv1="", sv2="", sv3="", sv4="", - sv5="", sv6="", sv7="", **kwargs): + def Combine(self, filetype="", **kwargs): """ - APDL Command: QDVAL + APDL Command: COMBINE - Defines PSD quadspectral values. + Combines distributed memory parallel (Distributed ANSYS) files. Parameters ---------- - tblno1 - First input PSD table number associated with this spectrum. - - tblno2 - Second input PSD table number associated with this spectrum. + filetype + Type of solution file to combine. There is no default; if (blank), + the command is ignored. - sv1, sv2, sv3, . . . , sv7 - PSD quadspectral values corresponding to the frequency points - [PSDFRQ]. + RST - Structural results file (.RST) - Notes - ----- - Defines PSD quadspectral values to be associated with the previously - defined frequency points. Repeat QDVAL command with the same table - number for additional points. Unlike autospectra [PSDVAL], the - quadspectra can be positive or negative. The quadspectral curve - segment where there is a sign change is interpolated linearly (the rest - of the curve segments use log-log interpolation). For better accuracy, - choose as small a curve segment as possible wherever a sign change - occurs. + RTH - Thermal results file (.RTH) - Two table numbers are required since values are off-diagonal terms. - This command is valid for SPOPT,PSD only. + RMG - Magnetics results file (.RMG) - This command is also valid in PREP7. + RSTP - Linear perturbation results file (.RSTP) - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + EMAT - Element matrix file (.EMAT). - """ - command = "QDVAL, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(tblno1), str(tblno2), str(sv1), str(sv2), str(sv3), str(sv4), str(sv5), str(sv6), str(sv7)) - self.RunCommand(command, **kwargs) + ESAV - Element saved data file (.ESAV) - def Svplot(self, optionscale="", damp1="", damp2="", damp3="", damp4="", - **kwargs): - """ - APDL Command: SVPLOT + MODE - Modal results file (.MODE) - Displays input spectrum curves. + MLV - Modal load vector file (.MLV) - Parameters - ---------- - optionscale - Flag to activate or deactivate input spectrum value scaling: + IST - Initial state file (.IST) - OFF - Do not scale the input spectrum values with scale factor FACT (SVTYP command). - This is the default value. + FULL - Full matrix file (.FULL) - ON - Scale the input spectrum values with scale factor FACT (SVTYP command) + RFRQ - Reduced complex displacement file (.RFRQ) - damp1 - Damping ratio corresponding to DAMP (SV command) defining the first - spectrum curve. + RDSP - Reduced displacement file (.RDSP) - damp2 - Damping ratio corresponding to DAMP (SV command) defining the - second spectrum curve. + Notes + ----- + The COMBINE command is used within the AUX2 auxiliary processor to + combine local solution files from a distributed memory parallel + solution into a single, global file. Before using this command, you + must enter the AUX2 processor by issuing the /AUX2 command. - damp3 - Damping ratio corresponding to DAMP (SV command) defining the third - spectrum curve. + In a distributed memory parallel (Distributed ANSYS) solution, you can + use the DMPOPTION command to bypass the file combination step, causing + all individual local files to be kept on the local disks in the current + working directory. Later on, you can start a new distributed memory + parallel solution and use the COMBINE command to combine local files + into a global file for a downstream solution or another operation + (e.g., postprocessing with /POST1). For example, the command + COMBINE,RST will combine local results files (JobnameN.RST) into a + global results file (Jobname.RST). - damp4 - Damping ratio corresponding to DAMP (SV command) defining the - fourth spectrum curve. + When the COMBINE command is used in a subsequent Distributed ANSYS + session, the number of processors must be the same as in the + distributed memory parallel solution that generated the files. - Notes - ----- - You can display up to four input spectrum tables (SV and FREQ commands) - with log X scale. If no damping ratio is specified, all spectrum tables - are displayed. + When running on a cluster, the local solution files must be available + in the working directory on each node in the subsequent session. As an + example, consider the following command line used to generate local + solution files: - This command is valid in any processor. + Different machines can be used in the subsequent session to combine + these files. However, the total number of cores must remain unchanged + (seven in the above case), and the local files must be copied to the + working directory (or directories) on each of the machines used in the + subsequent session. """ - command = "SVPLOT, %s, %s, %s, %s, %s" % (str(optionscale), str(damp1), str(damp2), str(damp3), str(damp4)) + command = "COMBINE,%s" % (str(filetype)) self.RunCommand(command, **kwargs) - def Anorm(self, anum="", noeflip="", **kwargs): + def Eshape(self, scale="", key="", **kwargs): """ - APDL Command: ANORM + APDL Command: /ESHAPE - Reorients area normals. + Displays elements with shapes determined from the real constants or + section definition. Parameters ---------- - anum - Area number having the normal direction that the reoriented areas - are to match. + scale + Scaling factor: - noeflip - Indicates whether you want to change the normal direction of the - existing elements on the reoriented area(s) so that they are - consistent with each area's new normal direction. + 0 - Use simple display of line and area elements. This value is the default. - 0 - Make the normal direction of existing elements on the reoriented area(s) - consistent with each area's new normal direction (default). + 1 - Use real constants or section definition to form a solid shape display of the + applicable elements. - 1 - Do not change the normal direction of existing elements on the reoriented - area(s). + FAC - Multiply certain real constants, such as thickness, by FAC (where FAC > 0.01) + and use them to form a solid shape display of elements. + + key + Current shell thickness key: + + 0 - Use current thickness in the displaced solid shape display of shell elements + (valid for SHELL181, SHELL208, SHELL209, and SHELL281). This + value is the default. + + 1 - Use initial thickness in the displaced solid shape display of shell elements. Notes ----- - Reorients areas so that their normals are consistent with that of a - specified area. + The /ESHAPE command allows beams, shells, current sources, and certain + special-purpose elements to be displayed as solids with the shape + determined from the real constants or section types. Elements are + displayed via the EPLOT command. No checks for valid or complete input + are made for the display. - If any of the areas have inner loops, the ANORM command will consider - the inner loops when it reorients the area normals. + Following are details about using this command with various element + types: - You cannot use the ANORM command to change the normal direction of any - element that has a body or surface load. We recommend that you apply - all of your loads only after ensuring that the element normal - directions are acceptable. + SOLID65 elements are displayed with internal lines that represent rebar + sizes and orientations (requires vector mode [/DEVICE] with a basic + type of display [/TYPE,,BASIC]). The rebar with the largest volume + ratio in each element plots as a red line, the next largest as green, + and the smallest as blue. - Real constants (such as nonuniform shell thickness and tapered beam - constants) may be invalidated by an element reversal. + COMBIN14, COMBIN39, and MASS21 are displayed with a graphics icon, with + the offset determined by the real constants and KEYOPT settings. - See Revising Your Model of the Modeling and Meshing Guide for more - information. + BEAM188, BEAM189, PIPE288, PIPE289 and ELBOW290 are displayed as solids + with the shape determined via the section-definition commands (SECTYPE + and SECDATA). The arbitrary section option (Subtype = ASEC) has no + definite shape and appears as a thin rectangle to show orientation. The + elements are displayed with internal lines representing the cross- + section mesh. - """ - command = "ANORM, %s, %s" % (str(anum), str(noeflip)) - self.RunCommand(command, **kwargs) + SOLID272 and SOLID273 are displayed as solids with the shape determined + via the section-definition commands (SECTYPE and SECDATA). The 2-D + master plane is revolved around the prescribed axis of symmetry. - def Mflist(self, option="", value="", **kwargs): - """ - APDL Command: MFLIST + Contour plots are available for these elements in postprocessing for + PowerGraphics only (/GRAPHICS,POWER). To view 3-D deformed shapes for + the elements, issue OUTRES,MISC or OUTRES,ALL for static or transient + analyses. To view 3-D mode shapes for a modal or eigenvalue buckling + analysis, expand the modes with element results calculation ON (Elcalc + = YES for MXPAND). - Lists the settings for an ANSYS Multi-field solver analysis. + SOURC36, CIRCU124, and TRANS126 elements always plot using /ESHAPE when + PowerGraphics is activated (/GRAPHICS,POWER). - Parameters - ---------- - option - ALL + In most cases, /ESHAPE renders a thickness representation of your + shell, plane and layered elements more readily in PowerGraphics + (/GRAPHICS,POWER). This type of representation employs PowerGraphics to + generate the enhanced representation, and will often provide no + enhancement in Full Graphics (/GRAPHICS,FULL). This is especially true + for POST1 results displays, where /ESHAPE is not supported for most + element types with FULL graphics. - ALL - Lists all ANSYS Multi-field solver analysis options. + When PowerGraphics is active, /ESHAPE may degrade the image if adjacent + elements have overlapping material, such as shell elements which are + not co-planar. Additionally, if adjacent elements have different + thicknesses, the polygons depicting the connectivity between the + “thicker” and “thinner” elements along the shared element edges may not + always be displayed. - SOLU - Lists all solution-related ANSYS Multi-field solver options. + For POST1 results displays (such as PLNSOL), the following limitations + apply: - FIELD - Lists all ANSYS Multi-field solver options related to the specified field - number. + Rotational displacements for beam elements are used to create a more + realistic displacement display. When /ESHAPE is active, displacement + plots (via PLNSOL,U,X and PLDISP, for example) may disagree with your + PRNSOL listings. This discrepancy will become more noticeable when the + SCALE value is not equal to one. - SINT - Lists all surface interface information for the specified surface interface - number. + When shell elements are not co-planar, the resulting PLNSOL display + with /ESHAPE will actually be a PLESOL display as the non-coincident + pseudo-nodes are not averaged. Additionally, /ESHAPE should not be used + with coincident elements because the plot may incorrectly average the + displacements of the coincident elements. - VINT - Lists all volumetric interface information for the specified volumetric - interface number. + When nodes are initially coincident and PowerGraphics is active, + duplicate polygons are eliminated to conserve display time and disk + space. The command may degrade the image if initially coincident nodes + have different displacements. The tolerance for determining coincidence + is 1E-9 times the model’s bounding box diagonal. - value - Use only for Option = FIELD, SINT, or VINT. + If you want to view solution results (PLNSOL, etc.) on layered elements + (such as SHELL181, SOLSH190, SOLID185 Layered Solid, SOLID186 Layered + Solid, SHELL208, SHELL209, SHELL281, and ELBOW290), set KEYOPT(8) = 1 + for the layer elements so that the data for all layers is stored in the + results file. - Notes - ----- - This command is also valid in PREP7. + You can plot the through-thickness temperatures of elements SHELL131 + and SHELL132 regardless of the thermal DOFs in use by issuing the + PLNSOL,TEMP command (with PowerGraphics and /ESHAPE active). - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + The /ESHAPE,1 and /ESHAPE,FAC commands are incompatible with the + /CYCEXPAND command used in cyclic symmetry analyses. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "MFLIST, %s, %s" % (str(option), str(value)) + command = "/ESHAPE,%s,%s" % (str(scale), str(key)) self.RunCommand(command, **kwargs) - def Lfsurf(self, sline="", tline="", **kwargs): + def Vddam(self, vf="", va="", vb="", vc="", **kwargs): """ - APDL Command: LFSURF + APDL Command: VDDAM - Generates surface elements overlaid on the edge of existing solid - elements and assigns the extra node as the closest fluid element node. + Specifies the velocity spectrum computation constants for the analysis + of shock resistance of shipboard structures. Parameters ---------- - sline - Component name for the surface lines of the meshed solid areas. + vf + Direction-dependent velocity coefficient for elastic or elastic- + plastic analysis option (Default = 0). - tline - Component name for the target lines meshed with fluid elements. + va, vb, vc + Coefficients for the DDAM velocity spectrum equations. See Dynamic + Design Analysis Method in the Mechanical APDL Theory Reference. + Default for these coefficients is zero. Notes ----- - This command macro is used to generate surface effect elements overlaid - on the surface of existing plane elements and, based on proximity, to - determine and assign the extra node for each surface element. The - underlying areas of the solid region and the fluid lines must be meshed - prior to calling this command macro. The active element type must be - SURF151 with appropriate settings for KEYOPT(4), KEYOPT(5), KEYOPT(6), - and KEYOPT(8). - - The surface lines of the solid and the target lines of the fluid are - grouped into components and named using the CM command. The names must - be enclosed in single quotes (e.g., 'SLINE') when the LFSURF command is - manually typed in. + This command specifies velocity coefficients to analyze shock + resistance of shipboard equipment. These coefficients are used to + compute mode coefficients according to the equations given in Dynamic + Design Analysis Method in the Mechanical APDL Theory Reference. The + form of these equations is based on the Naval NRL Dynamic Design + Analysis Method. This command, along with the ADDAM and SED commands, + is used with the spectrum (ANTYPE,SPECTR) analysis as a special purpose + alternative to the SV, FREQ, and SVTYP commands. The mass and length + units of the model must be in pounds and inches, respectively. - When using the GUI method, node and element components are created - through the picking dialog boxes associated with this command. + DDASPEC may alternatively be used to calculate spectrum coefficients. - The macro is applicable for the SURF151 and FLUID116 element types. + This command is also valid in PREP7. """ - command = "LFSURF, %s, %s" % (str(sline), str(tline)) + command = "VDDAM,%s,%s,%s,%s" % (str(vf), str(va), str(vb), str(vc)) self.RunCommand(command, **kwargs) - def Fscale(self, rfact="", ifact="", **kwargs): + def Mforder(self, fnumb1="", fnumb2="", fnumb3="", fnumb4="", fnumb5="", + fnumb6="", fnumb7="", fnumb8="", fnumb9="", fnumb10="", + fnumb11="", fnumb12="", fnumb13="", fnumb14="", fnumb15="", + fnumb16="", fnumb17="", fnumb18="", fnumb19="", fnumb20="", + **kwargs): """ - APDL Command: FSCALE + APDL Command: MFORDER - Scales force load values in the database. + Specifies field solution order for an ANSYS Multi-field solver + analysis. 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. + fnumb1, fnumb2, fnumb3, . . . , fnumb20 + Field numbers defined by the MFELEM command . Notes ----- - Scales force load (force, heat flow, etc.) values in the database. - Scaling applies to the previously defined values for the selected nodes - [NSEL] and the selected force labels [DOFSEL]. Issue FLIST command to - review results. Solid model boundary conditions are not scaled by this - command, but boundary conditions on the FE model are scaled. + You can define up to twenty fields in an ANSYS Multi-field solver + analysis. - Note:: : Such scaled FE boundary conditions may still be overwritten by - unscaled solid model boundary conditions if a subsequent boundary - condition transfer occurs. + This command is also valid in PREP7. - FSCALE does not work for tabular boundary conditions. + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. - This command is also valid in PREP7. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "FSCALE, %s, %s" % (str(rfact), str(ifact)) + command = "MFORDER,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(fnumb1), str(fnumb2), str(fnumb3), str(fnumb4), str(fnumb5), str(fnumb6), str(fnumb7), str(fnumb8), str(fnumb9), str(fnumb10), str(fnumb11), str(fnumb12), str(fnumb13), str(fnumb14), str(fnumb15), str(fnumb16), str(fnumb17), str(fnumb18), str(fnumb19), str(fnumb20)) self.RunCommand(command, **kwargs) - def Fc(self, mat="", lab1="", lab2="", data1="", data2="", data3="", - data4="", data5="", data6="", **kwargs): + def Rmndisp(self, loadt="", loc="", **kwargs): """ - APDL Command: FC + APDL Command: RMNDISP - Provides failure criteria information and activates a data table to - input temperature-dependent stress and strain limits. + Extracts neutral plane displacements from a test load or element load + solution for the ROM method. Parameters ---------- - mat - Material reference number. You can define failure criteria for up - to 250 different materials. - - lab1 - Type of data. - - TEMP - Temperatures. Each of the materials you define can have a different set of - temperatures to define the failure criteria. - - EPEL - Strains. - - S - Stresses. - - lab2 - Specific criteria. Not used if Lab1 = TEMP. - - XTEN - Allowable tensile stress or strain in the x-direction. (Must be positive.) - - XCMP - Allowable compressive stress or strain in the x-direction. (Defaults to - negative of XTEN.) - - YTEN - Allowable tensile stress or strain in the y-direction. (Must be positive.) - - YCMP - Allowable compressive stress or strain in the y-direction. (Defaults to - negative of YTEN.) - - ZTEN - Allowable tensile stress or strain in the z-direction. (Must be positive.) - - ZCMP - Allowable compressive stress or strain in the z-direction. (Defaults to - negative of ZTEN.) + loadt + Load type. Load type must be an alphanumeric string enclosed in + single quotes. Valid load types are 'TLOAD' for the test load and + 'ELOAD' for the element load. - XY - Allowable XY stress or shear strain. (Must be positive.) + loc + Determines whether file will be overwritten or appended. Valid + labels are 'WRITE' or 'APPEND'. Defaults to 'WRITE' for test load. - YZ - Allowable YZ stress or shear strain. (Must be positive.) + Notes + ----- + This command extracts the displacements at a neutral plane of a model. + If LoadT = 'TLOAD', extract displacements for a test load on a + structure that represents the expected deflection state. A test load + is used to assist in the automatic mode selection for the ROM mode + characterization. If LoadT = 'ELOAD', extract the neutral plane + displacements for an element load that will be used in the use pass of + a ROM analysis. Typical element loads are gravity, and pressure + loading. The element loads may be scaled [RMLVSCALE] during the use + pass. - XZ - Allowable XZ stress or shear strain. (Must be positive.) + The command requires a node component named "NEUN" to be defined. These + nodes represent the nodes at the neutral plane of a structure (in the + case of a stress-stiffened structure), or at any plane in the structure + (non stress-stiffened case). - XYCP - XY coupling coefficient (Used only if Lab1 = S). Defaults to -1.0. [1] + For LoadT = 'TLOAD', node displacements are written to the file + jobname.tld. For LoadT = 'ELOAD', node displacements are written to + the file jobname.eld. Up to 5 element load cases may be written to the + file jobname.eld. - YZCP - YZ coupling coefficient (Used only if Lab1 = S). Defaults to -1.0. [1] + This command is only valid in POST1. - XZCP - XZ coupling coefficient (Used only if Lab1 = S). Defaults to -1.0. [1] + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - data1, data2, data3, . . . , data6 - Description of DATA1 through DATA6. + """ + command = "RMNDISP,%s,%s" % (str(loadt), str(loc)) + self.RunCommand(command, **kwargs) - T1, T2, T3, T4, T5, T6 - Temperature at which limit data is input. Used only when Lab1 = TEMP. + def Aflist(self, **kwargs): + """ + APDL Command: AFLIST - V1, V2, V3, V4, V5, V6 - Value of limit stress or strain at temperature T1 through T6. Used only when - Lab1 = S or EPEL. + Lists the current data in the database. Notes ----- - The data table can be input in either PREP7 or POST1. This table is - used only in POST1. When you postprocess failure criteria results - defined via the FC command (PLESOL, PRESOL, PLNSOL, PRNSOL, PRRSOL, - etc.), the active coordinate system must be the coordinate system of - the material being analyzed. You do this using RSYS, SOLU. For layered - applications, you also use the LAYER command. See the specific element - documentation in the Element Reference for information on defining your - coordinate system for layers. - - Some plotting and printing functions will not support Failure Criteria - for your PowerGraphics displays. This could result in minor changes to - other data when Failure Criteria are applied. See the appropriate plot - or print command documentation for more information . + Lists the current data and specifications in the database. If batch, + lists all appropriate data. If interactive, lists only summaries. """ - command = "FC, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(mat), str(lab1), str(lab2), str(data1), str(data2), str(data3), str(data4), str(data5), str(data6)) + command = "AFLIST," % () self.RunCommand(command, **kwargs) - def Cyccalc(self, fileprefix="", fileformat="", **kwargs): + def Edcts(self, dtms="", tssfac="", **kwargs): """ - APDL Command: CYCCALC + APDL Command: EDCTS - Calculates results from a cyclic harmonic mode-superposition analysis - using the specifications defined by CYCSPEC. + Specifies mass scaling and scale factor of computed time step for an + explicit dynamics analysis. Parameters ---------- - fileprefix - Each result table (corresponding to each CYCSPEC specification) is - written to a file beginning with FilePrefix. If blank (default), - the result tables are written to the output file. - - fileformat - If FilePrefix is specified, then use FileFormat to specify the - format of the file to be written: - - FORM - Formatted file (default) + dtms + Time step size for mass scaled solutions (defaults to 0). - CSV - Comma-separated value file + tssfac + Scale factor for computed time step. Defaults to 0.9; if high + explosives are used, the default is lowered to 0.67. Notes ----- - CYCCALC loops through the specification given by CYCSPEC and computes - the requested outputs. The outputs are given in a table format, with - the rows corresponding to each frequency solution from the harmonic - analysis, and the columns corresponding to each sector. The table - entries are the maximum value of the specified quantity at the - specified location in the sector. In addition, columns containing the - maximum value at the frequency, the sector in which it occurs, and the - node in the sector at which it occurs are output. - - If FilePrefix is specified, a file is created for each output table - with the name FilePrefix_node_type.ext, where node is the node number - or component name, type is the item/component requested, and the file - extension .ext is either .txt or .csv, depending on FileFormat. - - A SET command must precede the CYCCALC command. - - The CYCCALC results are based on the currently active RSYS, SHELL, - LAYER, and AVPRIN settings. - - """ - command = "CYCCALC, %s, %s" % (str(fileprefix), str(fileformat)) - self.RunCommand(command, **kwargs) - - def Csdele(self, kcn1="", kcn2="", kcinc="", **kwargs): - """ - APDL Command: CSDELE + If DTMS is positive, the same time step size will be used for all + elements and mass scaling will be done for all elements. Therefore, + positive values should only be used if inertial effects are + insignificant. - Deletes local coordinate systems. + If DTMS is negative, mass scaling is applied only to elements whose + calculated time step size is smaller than DTMS. Negative values should + only be used in transient analyses if the mass increases are + insignificant. - Parameters - ---------- - kcn1, kcn2, kcinc - Delete coordinate systems from KCN1 (must be greater than 10) to - KCN2 (defaults to KCN1) in steps of KCINC (defaults to 1). If KCN1 - = ALL, KCN2 and KCINC are ignored and all coordinate systems are - deleted. + In order to use mass scaling in an explicit dynamic small restart + analysis (EDSTART,2) or full restart analysis (EDSTART,3), mass scaling + must have been active in the original analysis. The time step and scale + factor used in the original analysis will be used by default in the + restart. You can issue EDCTS in the restart analysis to change these + settings. - Notes - ----- - This command is valid in any processor. + This command is also valid in PREP7. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "CSDELE, %s, %s, %s" % (str(kcn1), str(kcn2), str(kcinc)) + command = "EDCTS,%s,%s" % (str(dtms), str(tssfac)) self.RunCommand(command, **kwargs) def Nsel(self, type="", item="", comp="", vmin="", vmax="", vinc="", @@ -62703,6227 +62701,5805 @@ def Nsel(self, type="", item="", comp="", vmin="", vmax="", vinc="", values, see Reviewing Results in POST1 in the Contact Technology Guide. """ - command = "NSEL, %s, %s, %s, %s, %s, %s, %s" % (str(type), str(item), str(comp), str(vmin), str(vmax), str(vinc), str(kabs)) - self.RunCommand(command, **kwargs) - - def Toper(self, parr="", par1="", oper="", par2="", fact1="", fact2="", - con1="", **kwargs): - """ - APDL Command: *TOPER - - Operates on table parameters. - - Parameters - ---------- - parr - Name of the resulting table parameter. The command will create a - table array parameter with this name. Any existing parameter with - this name will be overwritten. - - par1 - Name of the first table parameter. - - oper - The operation to be performed: ADD. The operation is: ParR(i,j,k) - = FACT1*Par1(i,j,k) + FACT2 *Par2(i,j,k) +CON1 - - par2 - Name of the second table parameter. - - fact1 - The first table parameter multiplying constant. Defaults to 1. - - fact2 - The second table parameter multiplying constant. Defaults to 1. - - con1 - The constant increment for offset. Defaults to 0. - - Notes - ----- - *TOPER operates on table parameters according to: ParR(i,j,k) = - FACT1*Par1(i,j,k) + FACT2 *Par2(i,j,k) +CON1 - - Par1 and Par2 must have the same dimensions and the same variable names - corresponding to those dimensions. Par1 and Par2 must also have - identical index values for rows, columns, etc. - - If you want a local coordinate system for the resulting array, you must - dimension it as such using the *DIM command before issuing *TOPER. - - This command is valid in any processor. - - """ - command = "*TOPER, %s, %s, %s, %s, %s, %s, %s" % (str(parr), str(par1), str(oper), str(par2), str(fact1), str(fact2), str(con1)) - self.RunCommand(command, **kwargs) - - def Nopr(self, **kwargs): - """ - APDL Command: /NOPR - - Suppresses the expanded interpreted input data listing. - - Notes - ----- - Suppresses printout of interpreted input data, including information - labeled as "Notes." When this printout is not suppressed, the data - input to the analysis is echoed to the output file in an expanded - format. Printout is suppressed until a /GOPR or /GO command is read. - - Use of /NOPR is not recommended when the graphical user interface (GUI) - is active. The GUI sometimes issues "hidden" /NOPR and /GOPR command - sequences, which will countermand user-issued /NOPR commands, thus - making the use of /NOPR in the GUI environment unpredictable. - - This command is valid in any processor. - - """ - command = "/NOPR, " % () + command = "NSEL,%s,%s,%s,%s,%s,%s,%s" % (str(type), str(item), str(comp), str(vmin), str(vmax), str(vinc), str(kabs)) self.RunCommand(command, **kwargs) - def Mpdele(self, lab="", mat1="", mat2="", inc="", lchk="", **kwargs): + def Rmuse(self, option="", usefil="", **kwargs): """ - APDL Command: MPDELE + APDL Command: RMUSE - Deletes linear material properties. + Activates ROM use pass for ROM elements. Parameters ---------- - lab - Material property label (see MP command for valid labels). If ALL, - delete properties for all applicable labels. - - mat1, mat2, inc - Delete materials from MAT1 to MAT2 (defaults to MAT1) in steps of - INC (defaults to 1). If MAT1 = ALL, MAT2 and INC are ignored and - the properties for all materials are deleted. - - lchk - Specifies the level of element-associativity checking: - - NOCHECK - No element-associativity check occurs. This option is the default. + option + Type of data to be plotted. Valid types are: - WARN - When a section, material, or real constant is associated with an element, ANSYS - issues a message warning that the necessary entity has been - deleted. + 1 or "ON" - Activates ROM use pass. - CHECK - The command terminates, and no section, material, or real constant is deleted - if it is associated with an element. + usefil + Name of the reduced displacement file (.rdsp) created by the ROM + Use Pass (required field only for the Expansion Pass). Notes ----- - This command is also valid in SOLUTION. - - The LCHK argument is valid only when Lab = ALL. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "MPDELE, %s, %s, %s, %s, %s" % (str(lab), str(mat1), str(mat2), str(inc), str(lchk)) + command = "RMUSE,%s,%s" % (str(option), str(usefil)) self.RunCommand(command, **kwargs) - def Rmanl(self, fname="", ext="", dimn="", oper="", **kwargs): + def Free(self, name="", **kwargs): """ - APDL Command: RMANL + APDL Command: *FREE - Assigns model database, dimensionality, and operating direction for the - ROM method. + Deletes a matrix or a solver object and frees its memory allocation. Parameters ---------- - fname - Database file name and directory path (248 characters maximum, - including directory). The file name defaults to Jobname. - - ext - File extension (8 character maximum). The extension defaults to db. - - -- - Unused field. - - dimn - Model dimensionality: - - 2 - 2-D models - - 3 - 3-D Models - - oper - Primary operating direction: - - X - direction - - Y - direction + name + Name of the matrix or solver object to delete. Use Name = ALL to + delete all APDL Math matrices and solver objects. Use Name = WRK + to delete all APDL Math matrices and solver objects that belong to + a given workspace. - Z - direction + val1 + If Name = WRK, Val1 is to set the memory workspace number. Notes ----- - Required Inputs: - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + A /CLEAR command will automatically delete all the current APDL Math + objects. """ - command = "RMANL, %s, %s, %s, %s" % (str(fname), str(ext), str(dimn), str(oper)) + command = "*FREE,%s" % (str(name)) self.RunCommand(command, **kwargs) - def Bfv(self, volu="", lab="", val1="", val2="", val3="", ph_ase="", - **kwargs): + def Hptcreate(self, type="", entity="", nhp="", label="", val1="", val2="", + val3="", **kwargs): """ - APDL Command: BFV + APDL Command: HPTCREATE - Defines a body force load on a volume. + Defines a hard point. Parameters ---------- - volu - Volume to which body load applies. If ALL, apply to all selected - volumes [VSEL]. A component name may also be substituted for Volu. - - lab - Valid body load label. Load labels are listed under "Body Loads" in - the input table for each element type in the Element Reference. - - val1, val2, val3 - Value associated with the Lab item or a table name for specifying - tabular boundary conditions. Use only VAL1 for TEMP, FLUE, HGEN, - and CHRGD. Use VAL1, VAL2, and VAL3 for the X, Y, and Z components - of JS. For Lab = JS in magnetics, use VAL1, VAL2, and VAL3 for the - X, Y, and Z components. For acoustics, if Lab = JS, use VAL1 for - mass source in a harmonic analysis or mass source rate in a - transient analysis, and ignoreVAL2 and VAL3. For Lab = VLTG, VAL1 - is the voltage drop and VAL2 is the phase angle. When specifying a - table name, you must enclose the table name in percent signs (%), - e.g., BFV,Volu,Lab,%tabname%. Use the *DIM command to define a - table. - - phase - Phase angle in degrees associated with the JS label. - - Notes - ----- - Defines a body force load (such as temperature in a structural - analysis, heat generation rate in a thermal analysis, etc.) on a - volume. Body loads may be transferred from volumes to volume elements - (or to nodes if volume elements do not exist) with the BFTRAN or - SBCTRAN commands. Body loads default to the value specified on the - BFUNIF command, if it was previously specified. - - You can specify a table name only when using temperature (TEMP) and - heat generation rate (HGEN) body load labels. + type + Type of entity on which the hard point will be created. - Body loads specified by the BFV command can conflict with other - specified body loads. See Resolution of Conflicting Body Load - Specifications in the Basic Analysis Guide for details. + LINE - Hard point will be created on a line. - Graphical picking is available only via the listed menu paths. + AREA - Hard point will be created within an area (not on the boundaries). - This command is also valid in PREP7. + entity + Number of the line or area on which the hard point will be created. - """ - command = "BFV, %s, %s, %s, %s, %s, %s" % (str(volu), str(lab), str(val1), str(val2), str(val3), str(ph_ase)) - self.RunCommand(command, **kwargs) + nhp + Number assigned to the hard point. Defaults to the lowest + available hard point number. - def Cmgrp(self, aname="", cnam1="", cnam2="", cnam3="", cnam4="", cnam5="", - cnam6="", cnam7="", cnam8="", **kwargs): - """ - APDL Command: CMGRP + label + If LABEL = COORD, VAL1, VAL2, and VAL3 are the respective global X, + Y, and Z coordinates. If LABEL = RATIO, VAL1 is the parameter + value (this is available only for lines). Valid parameter values + are between 0 and 1. VAL2 and VAL3 are ignored. - Groups components and assemblies into an assembly. + val1 + If LABEL = RATIO, ratio value for line. If LABEL = COORD, global X + coordinate value. - Parameters - ---------- - aname - An alphanumeric name used to identify this assembly. Aname may be - up to 32 characters, beginning with a letter and containing only - letters, numbers, and underscores. Overwrites a previously defined - Aname (and removes it from higher level assemblies, if any). + val2 + If LABEL = COORD, global Y coordinate value. - cnam1, cnam2, cnam3, . . . , cnam8 - Names of existing components or other assemblies to be included in - this assembly. + val3 + If LABEL = COORD, global Z coordinate value. Notes ----- - Groups components and other assemblies into an assembly identified by a - name. CMGRP is used for the initial definition of an assembly. An - assembly is used in the same manner as a component. Up to 5 levels of - assemblies within assemblies may be used. - - An assembly is a convenient grouping of previously defined components - and other assemblies. Assemblies may contain components only, other - assemblies, or any combination. A component may belong to any number - of assemblies. Up to 5 levels of nested assemblies may be defined. - Components and assemblies may be added to or deleted from an existing - assembly by the CMEDIT command. Once defined, an assembly may be - listed, deleted, selected, or unselected using the same commands as for - a component. Assemblies are automatically updated to reflect deletions - of one or more of their components or lower-level assemblies. - Assemblies are not automatically deleted when all their components or - subassemblies are deleted. - - This command is valid in any processor. - - """ - command = "CMGRP, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(aname), str(cnam1), str(cnam2), str(cnam3), str(cnam4), str(cnam5), str(cnam6), str(cnam7), str(cnam8)) - self.RunCommand(command, **kwargs) - - def Wpcsys(self, wn="", kcn="", **kwargs): - """ - APDL Command: WPCSYS - - Defines the working plane location based on a coordinate system. + The ability to enter a parameter value provides a simple way of + positioning hard points on lines. For example, to place a hard point + halfway along a line, one can simply specify a VAL1 value of 0.5. - Parameters - ---------- - wn - Window number whose viewing direction will be modified to be normal - to the working plane (defaults to 1). If WN is a negative value, - the viewing direction will not be modified. + For models imported through the DEFAULT IGES filter, you can place hard + points on models only by specifying coordinates (you can't place a hard + point using interactive picking). - kcn - Coordinate system number. KCN may be 0,1,2 or any previously - defined local coordinate system number (defaults to the active - system). + If you issue any commands that update the geometry of an entity, such + as Boolean or simplification commands, any hard points associated with + that entity are deleted. Therefore, you should add any hard points + after completing the solid model. If you delete an entity that has + associated hard points, those hard points are either - Notes - ----- - Defines a working plane location and orientation based on an existing - coordinate system. If a Cartesian system is used as the basis (KCN) - for the working plane, the working plane will also be Cartesian, in the - X-Y plane of the base system. If a cylindrical, spherical, or toroidal - base system is used, the working plane will be a polar system in the - R-θ plane of the base system. + Deleted along with the entity (if the hard point is not associated with + any other entities). - If working plane tracking has been activated (CSYS,WP or CSYS,4), the - updated active coordinate system will be of a similar type, except that - a toroidal system will be updated to a cylindrical system. See the - Modeling and Meshing Guide for more information on working plane - tracking. + Detached from the deleted entity (if the hard point is associated with + additional entities). - This command is valid in any processor. + When archiving your model (CDWRITE), hardpoint information cannot be + written to the IGES file. The Jobname.cdb file can be written with the + CDWRITE,DB option. - Some primitive generation commands will not honor R-theta - transformations for non-cartesian coordinate systems. Refer to the - primitive commands table for more information. + Hard points are only applicable for area and volume meshing, not for + beams. """ - command = "WPCSYS, %s, %s" % (str(wn), str(kcn)) + command = "HPTCREATE,%s,%s,%s,%s,%s,%s,%s" % (str(type), str(entity), str(nhp), str(label), str(val1), str(val2), str(val3)) self.RunCommand(command, **kwargs) - def Tbfield(self, type="", value="", **kwargs): + def Seclib(self, option="", path="", **kwargs): """ - APDL Command: TBFIELD + APDL Command: /SECLIB - Defines values of field variables for material data tables. + Sets the default section library path for the SECREAD command. Parameters ---------- - type - Type of field variable: - - FREQ - A frequency is to be specified in Value - - TEMP - A temperature is to be specified in Value - - TIME - A time is to be specified in Value - - NPRES - A normal pressure is to be specified in Value - - SLDA - A total sliding distance (algebraic) is to be specified in Value - - SLDI - A total sliding distance (absolute) is to be specified in Value - - SLRV - A sliding velocity is to be specified in Value + option + READ - CYCLE - A healing cycle number is to be specified in Value + READ - Sets the read path (default). - UFXX - User-defined field variable (UF01,UF02, ..., UF09) + STATUS - Reports the current section library path setting to the Jobname.LOG file. - value - The field value to be referenced (use this command multiple times - to enter values of different field variables). + path + Defines the directory path from which to read section library + files. Notes ----- - Define your data tables as field-variable-dependent (via the - appropriate TB command shown below), then issue the TBFIELD command to - define the field values. - - Define data values in ascending order for all field quantities. If a - field value is to be held constant, define it only once; subsequent - definitions are ignored. - - There is no limit on the number of values you can specify. The - specified field value remains active until the next TBFIELD command is - input. - - After you have defined the field value(s), define your data for the - data tables (TBDATA). - - See Understanding Field Variables in the Material Reference for more - information about the interpolation scheme used for field-dependent - material properties. - - See Full Harmonic Analysis in the Structural Analysis Guide for more - information about using TBFIELD with TB,ELASTIC or TB,SDAMP. - - The TBFIELD command supports the following material models (TB,Lab - commands): - - The TEMP value specified on this command corresponds to the average - temperature on the contact surface for contact elements CONTA171, - CONTA172, CONTA173, CONTA174, CONTA175, CONTA176, and CONTA177. For - contact element CONTA178, the TEMP value corresponds to the average - temperature of the nodes. + When the SECREAD command is issued without a directory path, the + command searches for a section library in the following order: - The TIME value specified on this command corresponds to the analysis - time specified on the TIME command. + The user's home directory - The algebraic sliding distance (SLDA) specified on this command is the - total sliding distance (the algebraic sum) as reported in the element - output definitions table for the contact elements (for example, TASS - and TASR output items for CONTA174). + The current working directory - The absolute sliding distance (SLDI) specified on this command is the - total accumulated sliding distance (the absolute sum) as reported in - the element output definitions table for the contact elements (for - example, AASS and AASR output items for CONTA174). + The path specified by the /SECLIB command - When used with TB,FRIC, field variables defined by TBFIELD are only - available for isotropic friction (TBOPT = ISO) and orthotropic friction - (TBOPT = ORTHO); they are not available for user-defined friction - (TBOPT = USER). - See Contact Friction in the Material Reference for more information - about using TBFIELD with TB,FRIC. """ - command = "TBFIELD, %s, %s" % (str(type), str(value)) + command = "/SECLIB,%s,%s" % (str(option), str(path)) self.RunCommand(command, **kwargs) - def Rigresp(self, option="", method="", val1="", val2="", **kwargs): + def Biot(self, label="", **kwargs): """ - APDL Command: RIGRESP + APDL Command: BIOT - Specifies the rigid response calculation. + Calculates the Biot-Savart source magnetic field intensity. Parameters ---------- - option - Flag to activate or deactivate the rigid response calculation: - - 1 (ON or YES) - Activate. - - 2 (OFF or NO) - Deactivate. This value is the default. - - method - Method used to calculate the rigid response: - - GUPTA - Gupta method. - - LINDLEY - Lindley-Yow method. + label + Controls the Biot-Savart calculation: - val1 - If Method = GUPTA, Val1 represents the frequency F1 in Hertz. + NEW - Calculate the magnetic source field intensity (Hs) from the selected set of + source elements to the selected set of nodes. Overwrite any + existing Hs field values. - val2 - If Method = GUPTA, Val2 represents the frequency F2 in Hertz. + SUM - Calculate the Hs field from the selected set of source elements to the selected + set of nodes. Accumulate with any existing Hs field values. Notes ----- - This rigid response calculation is only valid for single point response - spectrum analysis (SPOPT, SPRS) and multiple point response spectrum - analysis (SPOPT, MPRS) with combination methods (SRSS), complete - quadratic (CQC) or Rosenblueth (ROSE) - - This command is also valid in PREP7. - - Only Sptype = SPRS is allowed in ANSYS Professional. - - """ - command = "RIGRESP, %s, %s, %s, %s" % (str(option), str(method), str(val1), str(val2)) - self.RunCommand(command, **kwargs) - - def Dlist(self, node1="", node2="", ninc="", **kwargs): - """ - APDL Command: DLIST - - Lists DOF constraints. + Calculates the Biot-Savart source magnetic field intensity (Hs) at the + selected nodes from the selected source elements. The calculation is + done at the time the BIOT command is issued. - 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). + Source elements include primitives described by element SOURC36, and + coupled-field elements SOLID5, LINK68, and SOLID98. Current conduction + elements do not have a solved-for current distribution from which to + calculate a source field until after the first substep. Inclusion of a + current conduction element Hs field will require a subsequent BIOT,SUM + command (with SOURC36 elements unselected) and a SOLVE command. - Notes - ----- - Listing applies to the selected nodes [NSEL] and the selected degree of - freedom labels [DOFSEL]. + The units of Hs are as specified by the current EMUNIT command setting. - This command is valid in any processor. + This command is also valid in PREP7. """ - command = "DLIST, %s, %s, %s" % (str(node1), str(node2), str(ninc)) + command = "BIOT,%s" % (str(label)) self.RunCommand(command, **kwargs) - def Mdplot(self, function="", dmpname="", scale="", **kwargs): + def Eread(self, fname="", ext="", **kwargs): """ - APDL Command: MDPLOT + APDL Command: EREAD - Plots frequency-dependent modal damping coefficients calculated by - DMPEXT. + Reads elements from a file. Parameters ---------- - function - Function to display. - - d_coeff - Damping coefficient - - s_coeff - Squeeze coefficient - - d_ratio - Damping ratio - - s_ratio - Squeeze stiffness ratio - - dmpname - Array parameter name where damping information is stored. Defaults - to d_damp. - - scale - Indicates whether to perform a linear or a double logarithmic plot. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - LIN - Perform a linear plot. Default + ext + Filename extension (eight-character maximum). - LOG - Perform a double logarithmic plot. + -- + Unused field. Notes ----- - See Thin Film Analysis for more information on thin film analyses. + This read operation is not necessary in a standard ANSYS run but is + provided as a convenience to users wanting to read a coded element + file, such as from another mesh generator or from a CAD/CAM program. + Data should be formatted as produced with the EWRITE command. If + issuing EREAD to acquire element information generated from ANSYS + EWRITE, you must also issue NREAD before the EREAD command. The element + types [ET] must be defined before the file is read so that the file may + be read properly. Only elements that are specified with the ERRANG + command are read from the file. Also, only elements that are fully + attached to the nodes specified on the NRRANG command are read from the + file. Elements are assigned numbers consecutively as read from the + file, beginning with the current highest database element number plus + one. The file is rewound before and after reading. Reading continues + until the end of the file. """ - command = "MDPLOT, %s, %s, %s" % (str(function), str(dmpname), str(scale)) + command = "EREAD,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Spline(self, p1="", p2="", p3="", p4="", p5="", p6="", xv1="", yv1="", - zv1="", xv6="", yv6="", zv6="", **kwargs): + def Vext(self, na1="", na2="", ninc="", dx="", dy="", dz="", rx="", ry="", + rz="", **kwargs): """ - APDL Command: SPLINE + APDL Command: VEXT - Generates a segmented spline through a series of keypoints. + Generates additional volumes by extruding areas. Parameters ---------- - p1, p2, p3, . . . , p6 - Keypoints through which the spline is fit. At least two must be - defined. If P1 = P, graphical picking is enabled and all remaining - command fields are ignored (valid only in the GUI). + na1, na2, ninc + Set of areas (NA1 to NA2 in steps of NINC) that defines the pattern + to be extruded. NA2 defaults to NA1, NINC defaults to 1. If NA1 = + ALL, NA2 and NINC are ignored and the pattern is defined by all + selected areas. If NA1 = 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 NA1 (NA2 and NINC are + ignored). + + dx, dy, dz + Increments to be applied to the X, Y, and Z keypoint coordinates in + the active coordinate system (DR, Dθ, DZ for cylindrical; DR, Dθ, + DΦ for spherical). + + rx, ry, rz + Scale factors to be applied to the X, Y, and Z keypoint coordinates + in the active coordinate system (RR, Rθ, RZ for cylindrical; RR, + Rθ, RΦ for spherical). Note that the Rθ and RΦ scale factors are + interpreted as angular offsets. For example, if CSYS = 1, RX, RY, + RZ input of (1.5,10,3) would scale the specified keypoints 1.5 + times in the radial and 3 times in the Z direction, while adding an + offset of 10 degrees to the keypoints. Zero, blank, or negative + scale factor values are assumed to be 1.0. Zero or blank angular + offsets have no effect. Notes ----- - The output from this command is a series of connected lines (one line - between each pair of keypoints) that together form a spline. Note that - solid modeling in a toroidal coordinate system is not recommended. + Generates additional volumes (and their corresponding keypoints, lines, + and areas) by extruding and scaling a pattern of areas in the active + coordinate system. - """ - command = "SPLINE, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(p1), str(p2), str(p3), str(p4), str(p5), str(p6), str(xv1), str(yv1), str(zv1), str(xv6), str(yv6), str(zv6)) - self.RunCommand(command, **kwargs) + If element attributes have been associated with the input area via the + AATT command, the opposite area generated by the VEXT operation will + also have those attributes (i.e., the element attributes from the input + area are copied to the opposite area). Note that only the area + opposite the input area will have the same attributes as the input + area; the areas adjacent to the input area will not. - def Cmomega(self, cm_name="", omegax="", omegay="", omegaz="", x1="", - y1="", z1="", x2="", y2="", z2="", **kwargs): - """ - APDL Command: CMOMEGA + If the areas are meshed or belong to meshed volumes, a 3-D mesh can be + extruded with this command. Note that the NDIV argument on the ESIZE + command should be set before extruding the meshed areas. - Specifies the rotational velocity of an element component about a user- - defined rotational axis. + Scaling of the input areas, if specified, is performed first, followed + by the extrusion. - Parameters - ---------- - cm_name - The name of the element component. + In a non-Cartesian coordinate system, the VEXT command locates the end + face of the volume based on the active coordinate system. However, the + extrusion is made along a straight line between the end faces. Note + that solid modeling in a toroidal coordinate system is not recommended. - omegax, omegay, omegaz - If the X2, Y2, Z2 fields are not defined, OMEGAX, OMEGAY, and - OMEGAZ specify the components of the rotational velocity vector in - the global Cartesian X, Y, Z directions. + Caution:: : Use of the VEXT command can produce unexpected results when + operating in a non-Cartesian coordinate system. For a detailed + description of the possible problems that may occur, see Solid Modeling + in the Modeling and Meshing Guide. - x1, y1, z1 - If the X2, Y2, Z2 fields are defined,X1, Y1, and Z1 define the - coordinates of the beginning point of the rotational axis vector. - Otherwise, X1, Y1, and Z1 are the coordinates of a point through - which the rotational axis passes. + """ + command = "VEXT,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(na1), str(na2), str(ninc), str(dx), str(dy), str(dz), str(rx), str(ry), str(rz)) + self.RunCommand(command, **kwargs) - x2, y2, z2 - The coordinates of the end point of the rotational axis vector. + def Damorph(self, area="", xline="", rmshky="", **kwargs): + """ + APDL Command: DAMORPH - Notes - ----- - Specifies the rotational velocity components OMEGAX, OMEGAY, and OMEGAZ - of an element component CM_NAME about a user-defined rotational axis. - The rotational axis can be defined either as a vector passing through a - single point or a vector connecting two points. + Move nodes in selected areas to conform to structural displacements. - You can define rotational velocity and rotational axis for these - analysis types: + Parameters + ---------- + area + Non-structural area to which mesh movement (morph) applies. If + ALL, apply morphing to all selected areas [ASEL]. If AREA = P, + graphical picking is enabled. A component may be substituted for + AREA. - Static (ANTYPE,STATIC) + xline + Lines to be excluded from morphing. If ALL, exclude all selected + lines [LSEL] from morphing. If XLINE = P, graphical picking is + enabled. A component may be substituted for XLINE. If XLINE is + blank (default), allow morphing of nodes attached to lines of the + selected areas (AREA) which are not shared by unselected areas. + See Notes for clarification. - Harmonic (ANTYPE,HARMIC) -- Full or modal superposition + rmshky + Remesh flag option: - Transient (ANTYPE,TRANS) -- Full or modal superposition + 0 - Remesh the selected non-structural areas only if mesh morphing fails. - Substructuring (ANTYPE,SUBSTR) + 1 - Remesh the selected non-structural areas and bypass mesh morphing. - Modal (ANTYPE,MODAL) + 2 - Perform mesh morphing only and do not remesh. - Rotational velocities are combined with the element mass matrices to - form a body force load vector term. Units are radians/time. Related - commands are ACEL, CGLOC, CGLOC, CGOMGA, CMDOMEGA, DCGOMG, DOMEGA. + Notes + ----- + The selected areas should include only non-structural regions adjacent + to structural regions. DAMORPH will morph the non-structural areas to + coincide with the deflections of the structural regions. - See Analysis Tools in the Mechanical APDL Theory Reference for more - information. + Nodes in the structural regions move in accordance with computed + displacements. Displacements from a structural analysis must be in the + database prior to issuing DAMORPH. - You can use the CMOMEGA command in conjunction with either one of the - following two groups of commands, but not with both groups - simultaneously: + By default, nodes attached to lines can move along the lines, or off + the lines (if a line is interior to the selected areas). You can use + XLINE to restrain nodes on certain lines. - Components for which you want to specify rotational loading must - consist of elements only. The elements you use cannot be part of more - than one component, and elements that share nodes cannot exist in - different element components. You cannot apply the loading to an - assembly of element components. + By default (RMSHKEY = 0), DAMORPH will remesh the selected non- + structural areas entirely if a satisfactory morphed mesh cannot be + provided. - If you have applied the Coriolis effect (CORIOLIS) using a stationary - reference frame, the CMOMEGA command takes the gyroscopic damping - matrix into account for the elements listed under “Stationary Reference - Frame” in the notes section of the CORIOLIS command. ANSYS verifies - that the rotation vector axis is parallel to the axis of the element; - if not, the gyroscopic effect is not applied. If you issue a CMOMEGA - command when the Coriolis or gyroscopic effect is present, a - subsequently issued OMEGA command has no effect. + If boundary conditions and loads are applied directly to nodes and + elements, the DAMORPH command requires that these be removed before + remeshing can take place. - The CMOMEGA command supports tabular boundary conditions (%TABNAME_X%, - %TABNAME_Y%, and %TABNAME_Z%) for CMOMEGA_X, CMOMEGA_Y, and CMOMEGA_Z - input values (*DIM) for full transient and harmonic analyses. + Exercise care with initial conditions defined by the IC command. Before + a structural analysis is performed for a sequentially coupled analysis, + the DAMORPH command requires that initial conditions be removed from + all null element type nodes in the non-structural regions. Use ICDELE + to delete the initial conditions. - In a mode-superposition harmonic or transient analysis, you must apply - the load in the modal portion of the analysis. Mechanical APDL - calculates a load vector and writes it to the MODE file, which you can - apply via the LVSCALE command. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "CMOMEGA, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(cm_name), str(omegax), str(omegay), str(omegaz), str(x1), str(y1), str(z1), str(x2), str(y2), str(z2)) + command = "DAMORPH,%s,%s,%s" % (str(area), str(xline), str(rmshky)) self.RunCommand(command, **kwargs) - def Pddmcs(self, nsim="", _astop="", accmean="", accstdev="", check="", - seed="", **kwargs): + def Shade(self, wn="", type="", **kwargs): """ - APDL Command: PDDMCS + APDL Command: /SHADE - Specifies options for Monte Carlo Simulations using direct sampling. + Defines the type of surface shading used with Z-buffering. Parameters ---------- - nsim - Number of simulation loops of the analysis. + wn + Window number (or ALL) to which command applies (defaults to 1). - -- - Unused field. + type + Shading type: - astop - Autostop option label. + FACET or 0 - Facet shading (one color per area face) (default). - AUTO - Enable Autostop. When Autostop is used, the PDS feature continues the - simulation loops until the convergence criteria for the mean - value and the standard deviation have been met or until the - number of simulations NSIM are complete, whichever comes - first. The convergence criteria (mean value and standard - deviations of all random output parameters) are specified by - the ACCMEAN and ACCSTDEV parameters. The criteria are met if - the mean value and the standard deviations converge within - the accuracy specified in the ACCMEAN and ACCSTDEV options. - The convergence check is done every i-th loop, where i is - specified in the CHECK parameter. + GOURAUD or 1 - Gouraud smooth shading (smooth variation of color based on interpolated vertex + colors). - ALL - Disable Autostop option. All Monte Carlo Simulations as specified by NSIM are - performed (default). + PHONG or 2 - Phong smooth shading (smooth variation of color based on interpolated vertex + normals). - accmean - Accuracy of the mean values of all random output parameters that - must be met for the Autostop option. Default is 0.01 (1%). ACCMEAN - is ignored for Astop = ALL. The convergence of the mean values is - met if for all random output parameters y the equation holds: + Notes + ----- + Defines the type of surface shading used on area, volume, and + PowerGraphics [/GRAPHICS,POWER] displays when software Z-buffering is + enabled [/TYPE]. This command is only functional for 2-D display + devices. - accstdev - Accuracy of the standard deviations of all random output parameters - that must be met for the Autostop option. The default is 0.02 (2%). - ACCSTDEV is ignored for Astop = ALL. The convergence for the - standard deviations is met if for all random output parameters y - the equation holds: + This command is valid in any processor. - check - Sets how often conditions for convergence are checked for Autostop. - The PDS checks if the convergence criteria are met every i-th loop, - where i is given by the CHECK parameter. The default value is 10. - It is not recommended to use CHECK = 1, because it could cause - Autostop to terminate the simulations prematurely. The mean values - and standard deviation might not show large differences between - consecutive simulation loops but might still have a visible - "global" trend if viewed over several simulations. This behavior - indicates that convergence has not really been achieved. If you set - CHECK = 1 (or another small number), then Autostop is not able to - detect such a global trend. CHECK is ignored for Astop = ALL. + """ + command = "/SHADE,%s,%s" % (str(wn), str(type)) + self.RunCommand(command, **kwargs) - seed - Seed value label. Random number generators require a seed value - that is used to calculate the next random number. After each random - number generation finishes, the seed value is updated and is used - again to calculate the next random number. ANSYS initializes the - seed value with the system time when the ANSYS session started. + def Lcfile(self, lcno="", fname="", ext="", **kwargs): + """ + APDL Command: LCFILE - CONT - Continues updating using the derived seed value (default). + Creates a load case from an existing load case file. - TIME - Initializes the seed value with the system time. You can use this if you want - the seed value set to a specific value for one analysis and - then you want to continue with a "random" seed in the next - analysis. It is not recommended to "randomize" the seed - value with the Seed = TIME option for multiple analyses. If - the Monte Carlo simulations requested with this command will - be appended to previously existing simulations, then the - Seed option is ignored and Seed = CONT is used. + Parameters + ---------- + lcno + Arbitrary (1-99) pointer number assigned to this load case. - INIT - Initializes the seed value using 123457 (a typical recommendation). This option - leads to identical random numbers for all random input - variables when the exact analysis will be repeated, making - it useful for benchmarking and validation purposes (where - identical random numbers are desired). If the Monte Carlo - simulations requested with this command will be appended to - previously existing simulations, then the Seed option is - ignored and Seed = CONT is used. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - Value - Uses the specified (positive) value for the initialization of the seed value. - This option has the same effect as Seed = INIT, except you - can chose an arbitrary (positive) number for the - initialization. If the Monte Carlo simulations requested - with this command will be appended to previously existing - simulations, then the Seed option is ignored and Seed = - CONT is used. + ext + Filename extension (eight-character maximum). + + -- + Unused field. Notes ----- - Defines the number of simulations, the specification of the Autostop - option, how frequently the Autostop option is checked and the seed - value for random number generation. If the Autostop option is enabled, - then the number of simulations given for NSIM can be regarded as the - maximum number of simulations to be performed. The Autostop option may - terminate the simulations before NSIM simulations are done if the - convergence criteria are met. + Creates a load case by establishing a pointer to an existing load case + file [LCWRITE]. This pointer (LCNO) can then be used on the LCASE or + LCOPER commands to read the load case data into the database. This + command is typically used to reestablish load case pointers in a new + ANSYS session (pointers are not saved on the database file), or when + more than one pointer to a single load case is desired. See the LCDEF + command for status and erase operations. See also LCDEF to establish a + pointer to a set of results on a results file (written during the ANSYS + solution phase). """ - command = "PDDMCS, %s, %s, %s, %s, %s, %s" % (str(nsim), str(_astop), str(accmean), str(accstdev), str(check), str(seed)) + command = "LCFILE,%s,%s,%s" % (str(lcno), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Vup(self, wn="", label="", **kwargs): + def Vget(self, par="", ir="", tstrt="", kcplx="", **kwargs): """ - APDL Command: /VUP + APDL Command: VGET - Specifies the global Cartesian coordinate system reference orientation. + Moves a variable into an array parameter vector. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). - - label - Orientation: - - Y  - Y vertical upward, X horizontal to the right, Z out from the screen (default). + par + Array parameter vector in the operation. - -Y  - Y vertical downward, X horizontal to the left, Z out from the screen. + ir + Reference number of the variable (1 to NV [NUMVAR]). - X  - X vertical upward, Y horizontal to the left, Z out from the screen. + tstrt + Time (or frequency) corresponding to start of IR data. If between + values, the nearer value is used. - -X  - X vertical downward, Y horizontal to the right, Z out from the screen. + kcplx + Complex number key: - Z  - Z vertical upward, Y horizontal to the right, X out from the screen. With this - choice, you should use a view other than the /VIEW default of - (0,0,1). + 0 - Use the real part of the IR data. - -Z  - Z vertical downward, Y horizontal to the left, X out from the screen. With - this choice, you should use a view other than the /VIEW - default of (0,0,1). + 1 - Use the imaginary part of the IR data. Notes ----- - Specifies the global Cartesian coordinate system reference orientation. - The /VIEW and /ANGLE commands may be used to reorient the view and are - relative to this reference orientation. All coordinate systems are - right-handed. - - This command is valid in any processor. + Moves a variable into an array parameter vector. The starting array + element number must be defined. For example, VGET,A(1),2 moves + variable 2 (starting at time 0.0) to array parameter A. Looping + continues from array element A(1) with the index number incremented by + one until the variable is filled. The number of loops may be + controlled with the *VLEN command (except that loop skipping (NINC) is + not allowed). For multi-dimensioned array parameters, only the first + (row) subscript is incremented. """ - command = "/VUP, %s, %s" % (str(wn), str(label)) + command = "VGET,%s,%s,%s,%s" % (str(par), str(ir), str(tstrt), str(kcplx)) self.RunCommand(command, **kwargs) - def Vlist(self, nv1="", nv2="", ninc="", **kwargs): + def Lcsum(self, lab="", **kwargs): """ - APDL Command: VLIST + APDL Command: LCSUM - Lists the defined volumes. + Specifies whether to process non-summable items in load case + operations. Parameters ---------- - nv1, nv2, ninc - List volumes from NV1 to NV2 (defaults to NV1) in steps of NINC - (defaults to 1). If NV1 = ALL (default), NV2 and NINC are ignored - and all selected volumes [VSEL] are listed. If NV1 = 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 NV1 (NV2 and NINC are ignored). + lab + Combination option + + (blank) - Only combine summable items [default]. + + ALL - Combine all items including non summable items. Notes ----- - An attribute (TYPE, MAT, REAL, or ESYS) listed as a zero is unassigned; - one listed as a positive value indicates that the attribute was - assigned with the VATT command (and will not be reset to zero if the - mesh is cleared); one listed as a negative value indicates that the - attribute was assigned using the attribute pointer [TYPE, MAT, REAL, or - ESYS] that was active during meshing (and will be reset to zero if the - mesh is cleared). A "-1" in the "nodes" column indicates that the - volume has been meshed but there are no interior nodes. The volume - size is listed only if a VSUM command has been performed on the volume. - Volume orientation attributes (KZ1 and KZ2) are listed only if a - VEORIENT command was previously used to define an orientation for the - volume. - - This command is valid in any processor. + Allows non-summable items (e.g. plastic strains) to be included in load + combinations. Issue LCSUM,ALL before the first load case operation + (LCXX command). May also be used to include nonsummable items in the + appending of a results file (RAPPND command). """ - command = "VLIST, %s, %s, %s" % (str(nv1), str(nv2), str(ninc)) + command = "LCSUM,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Dspoption(self, reord_option="", memory_option="", memory_size="", - solve_info="", **kwargs): + def Pdplot(self, name="", plow="", pup="", **kwargs): """ - APDL Command: DSPOPTION + APDL Command: PDPLOT - Sets memory option for the distributed sparse solver. + Plots the distribution curves of a defined random input variable. Parameters ---------- - reord_option - Reordering option: - - DEFAULT - Use the default reordering scheme. - - SEQORDER - Use a sequential equation reordering scheme within the distributed sparse - solver. Relative to PARORDER, this option typically - results in longer equation ordering times and therefore - longer overall solver times. Occasionally, however, this - option will produce better quality orderings which - decrease the matrix factorization times and improve - overall solver performance. - - PARORDER - Use a parallel equation reordering scheme within the distributed sparse solver. - Relative to SEQORDER, this option typically results in - shorter equation ordering times and therefore shorter - overall solver times. Occasionally, however, this option - will produce lower quality orderings which increase the - matrix factorization times and degrade overall solver - performance. - - memory_option - Memory allocation option: - - DEFAULT - Use the default memory allocation strategy for the distributed sparse solver. - The default strategy attempts to run in the INCORE memory - mode. If there is not enough physical memory available - when the solver starts to run in the INCORE memory mode, - the solver will then attempt to run in the OUTOFCORE - memory mode. + name + Parameter name. The parameter name must have been previously + defined as a random input variable using the PDVAR command. - INCORE - Use a memory allocation strategy in the distributed sparse solver that will - attempt to obtain enough memory to run with the entire - factorized matrix in memory. This option uses the most - amount of memory and should avoid doing any I/O. By - avoiding I/O, this option achieves optimal solver - performance. However, a significant amount of memory is - required to run in this mode, and it is only recommended - on machines with a large amount of memory. If the - allocation for in-core memory fails, the solver will - automatically revert to out-of-core memory mode. + plow + Lower probability level used to determine the lower boundary of the + curve. This probability must be between 0.0 and 1.0 and it defaults + to 0.0025. This parameter is used to determine the lower plotting + range (boundary) in case the random input variable does not have a + minimum value (such as Gauss). - OUTOFCORE - Use a memory allocation strategy in the distributed sparse solver that will - attempt to allocate only enough work space to factor - each individual frontal matrix in memory, but will - share the entire factorized matrix on disk. Typically, - this memory mode results in poor performance due to the - potential bottleneck caused by the I/O to the various - files written by the solver. + pup + Upper probability level used to determine the upper boundary of the + curve. This probability must be between 0.0 and 1.0 and it defaults + to 0.9975. - FORCE - This option, when used in conjunction with the Memory_Size option, allows you - to force the distributed sparse solver to run with a - specific amount of memory. This option is only recommended - for the advanced user who understands distributed sparse - solver memory requirements for the problem being solved, - understands the physical memory on the system, and wants to - control the distributed sparse solver memory usage. + Notes + ----- + Plots the distribution of a defined random input variable. The PDPLOT + command generates a probability density function plot as well as a + cumulative distribution function plot of the random variable. The + probabilities PLOW and PUP are used to determine the plot range of the + random input variable values. To do this, the probabilities are + converted into random input variable values using the inverse + cumulative distribution function of the random input variable as shown + in the following illustration. - memory_size - Initial memory size allocation for the sparse solver in MB. The - Memory_Size setting should always be well within the physical - memory available, but not so small as to cause the distributed - sparse solver to run out of memory. Warnings and/or errors from the - distributed sparse solver will appear if this value is set too low. - If the FORCE memory option is used, this value is the amount of - memory allocated for the entire duration of the distributed sparse - solver solution. + Using the probabilities ensures that the boundaries are always feasible + and meaningful for the random input variable regardless of its + distribution type. - --, -- - Unused fields + If PLOW is left blank, then a minimum value of the distribution is + used for plotting, provided it exists (for example, uniform + distribution). If the distribution type has no minimum value (for + example, a Gaussian distribution) then the default value is used to + determine the lower plotting range value. The same applies for the + maximum value, if PUP is left blank. - solve_info - Solver output option: + """ + command = "PDPLOT,%s,%s,%s" % (str(name), str(plow), str(pup)) + self.RunCommand(command, **kwargs) - OFF - Turns off additional output printing from the distributed sparse solver - (default). + def Ftran(self, **kwargs): + """ + APDL Command: FTRAN - PERFORMANCE - Turns on additional output printing from the distributed sparse solver, - including a performance summary and a summary of file - I/O for the distributed sparse solver. Information on - memory usage during assembly of the global matrix - (that is, creation of the Jobname.FULL file) is also - printed with this option. + Transfers solid model forces to the finite element model. Notes ----- - This command controls options related to the distributed sparse solver - in all analysis types where the distributed sparse solver can be used. - - The amount of memory required for the distributed sparse solver is - unknown until the matrix structure is preprocessed, including equation - reordering. The amount of memory allocated for the distributed sparse - solver is then dynamically adjusted to supply the solver what it needs - to compute the solution. - - If you have a large memory system, you may want to try selecting the - INCORE memory mode for larger jobs to improve performance. Also, when - running the distributed sparse solver with many processors on the same - machine or on a machine with very slow I/O performance (e.g., slow hard - drive speed), you may want to try using the INCORE memory mode to - achieve better performance. However, doing so may require much more - memory compared to running in the OUTOFCORE memory mode. + Forces are transferred only from selected keypoints to selected nodes. + The FTRAN operation is also done if the SBCTRAN command is issued or + automatically done upon initiation of the solution calculations + [SOLVE]. - Running with the INCORE memory mode is best for jobs which comfortably - fit within the limits of the physical memory on a given system. If the - distributed sparse solver workspace exceeds physical memory size, the - system will be forced to use virtual memory (or the system page/swap - file). In this case, it is typically more efficient to run with the - OUTOFCORE memory mode. + This command is also valid in PREP7. """ - command = "DSPOPTION, %s, %s, %s, %s" % (str(reord_option), str(memory_option), str(memory_size), str(solve_info)) + command = "FTRAN," % () self.RunCommand(command, **kwargs) - def Fsdele(self, nloc="", nev="", nlod="", **kwargs): + def Adapt(self, nsoln="", stargt="", ttargt="", facmn="", facmx="", + kykps="", kymac="", **kwargs): """ - APDL Command: FSDELE + APDL Command: ADAPT - Deletes a stress condition for a fatigue location, event, and loading. + Adaptively meshes and solves a model. Parameters ---------- - nloc - Delete stresses associated with location NLOC. Defaults to zero. + nsoln + Number of solutions allowed (1 or more) (defaults to 5). - nev - Delete stresses associated with event NEV. Defaults to zero. + stargt + Target percentage for structural percent error in energy norm + (SEPC) (defaults to 5). If -1, no target value is used. - nlod - Delete stresses associated with loading NLOD. Defaults to zero. + ttargt + Target percentage for thermal percent error in energy norm (TEPC) + (defaults to 1). If -1, no target value is used. + + facmn + Minimum factor for the keypoint element size changes (defaults to + 0.25). + + facmx + Maximum factor for the keypoint element size changes (defaults to + 2.0). + + kykps + Specifies whether element size is to be modified at selected + keypoints: + + 0 - Modify element size regardless of selected keypoint set (default). + + 1 - Modify element size only at selected keypoints. + + kymac + Specifies which user-written auxiliary macro files are to be used: + + 0 - Ignore user-written auxiliary macro files, if any (default). + + 1 - Use user-written auxiliary macro files (if they exist) as follows: Use + ADAPTMSH.MAC instead of the default meshing command sequence. + Use ADAPTSOL.MAC instead of the default solution command + sequence (/SOLU ... SOLVE ... FINISH). Notes ----- - Deletes a stress condition stored for a particular fatigue location, - event, and loading. Use FE command to delete all stresses for a - particular event or FL command to delete all stresses for a particular - location. + ADAPT invokes a predefined ANSYS macro for adaptive meshing and + solution. The macro causes repeated runs of the PREP7, SOLUTION, and + POST1 phases of the ANSYS program with mesh density refinements based + upon the percentage error in energy norm. See the Advanced Analysis + Guide for additional details. After the adaptive meshing process is + complete, the ADAPT macro automatically turns element shape checking on + (SHPP,ON). + + A copy of the macro, called UADAPT.MAC, is available on the ANSYS + distribution medium (system dependent), and may be copied and modified + by the user to suit a particular need. The modified file should be + given a suitable name (cmd.MAC) and run as described above with the + ADAPT command name replaced by your "cmd" name. + + This command is also valid at the Begin level. """ - command = "FSDELE, %s, %s, %s" % (str(nloc), str(nev), str(nlod)) + command = "ADAPT,%s,%s,%s,%s,%s,%s,%s" % (str(nsoln), str(stargt), str(ttargt), str(facmn), str(facmx), str(kykps), str(kymac)) self.RunCommand(command, **kwargs) - def Udoc(self, wind="", cl_ass="", key="", **kwargs): + def Comp(self, matrix="", algorithm="", threshold="", **kwargs): """ - APDL Command: /UDOC + APDL Command: *COMP - Determines position and content for the multi-legend options. + Compresses the columns of a matrix using a specified algorithm. Parameters ---------- - wind - The window number to which the command applies. (defaults to 1) + matrix + Name of the matrix to compress. - class - The type (and relative importance) of legend item being displayed: + algorithm + Algorithm to use: - CNTR - Contour legend. This legend item is controlled separately from the other legend - items (see note below). + Singular value decomposition algorithm (default). - Modified Gram-Schmidt algorithm. - DATE - The items in the DATE class include the date and time, or the ANSYS graphical - logo (/PLOPTS,LOGO,1). This item is shown by default in all - plots. + threshold + Numerical threshold value used to manage the compression. Default + value for SVD is 1E-7; default value for MGS is 1E-14. - GWIN - The items in the GWIN class include the entity acronyms that appear in the - legend of a multiplot of entities (Nodes, Elements, - Keypoints, Lines, Areas, Volumes). GWIN items are shown by - default for all GPLOT displays. + Notes + ----- + The algorithms available through this command are only applicable to + dense matrices that were created using the *DMAT command. - TYPE - Items in the TYPE class include the plot type (e.g. ELEMENTS, MATERIALS, NODAL - SOLUTIONS, etc.). TYPE items are shown by default in all - plots. + Columns which are linearly dependent on others are removed, leaving the + independent or basis vectors. The matrix is resized according to the + new size determined by the algorithm. - TYP2 - Items in the TYP2 class include supplementary type information, such as DMAX - and SMAX for nodal solutions. TYP2 items are shown by - default in all plots. + """ + command = "*COMP,%s,%s,%s" % (str(matrix), str(algorithm), str(threshold)) + self.RunCommand(command, **kwargs) - INUM - Items in the INUM class include the number labels generated by the /PNUM - command. This class is displayed by default in all plots - that contain /PNUM information. + def Starvput(self, parr="", entity="", entnum="", item1="", it1num="", + item2="", it2num="", kloop="", **kwargs): + """ + APDL Command: *VPUT - BCDC - The items in the BCDC class include labels created by the /PBC command. This - class is shown by default in all plots which contain /PBC - information. + Restores array parameter values into the ANSYS database. - VECT - Items in the VECT class include labels created by the PLVECT command. This - class is shown by default for all PLVECT plots. + Parameters + ---------- + parr + The name of the input vector array parameter. See *SET for name + restrictions. The parameter must exist as a dimensioned array + [*DIM] with data input. - SURF - The items in the SURF class include labels from the /PSF legend. This class is - shown by default on all plots of surface boundary - conditions. + entity + Entity keyword. Valid keywords are shown for Entity = in the table + below. - BODY - Items from the BODY class include labels from the /PBF legend. This class is - shown by default in all plots of body forces. + entnum + The number of the entity (as shown for ENTNUM= in the table below). - PSTA - Items from the PSTA class include stress scaling statistics, such as the - /SSCALE setting. This class is not shown as the default for - any type of plot, and must be specifically referenced to - display the included data. + item1 + The name of a particular item for the given entity. Valid items + are as shown in the Item1 columns of the table below. - VIEW - The items in the VIEW class include view statistics. This class is not shown as - the default for any type of plot, and must be specifically - referenced to display the included data. + it1num + The number (or label) for the specified Item1 (if any). Valid + IT1NUM values are as shown in the IT1NUM columns of the table + below. Some Item1 labels do not require an IT1NUM value. - MISC - The items in the MISC class include supplementary labels like /EXPANDED and - Stress Section Cross Section. This class is not shown as the - default for any type of plot, and must be specifically - referenced to display the included data. + item2, it2num + A second set of item labels and numbers to further qualify the item + for which data is to be stored. Most items do not require this + level of information. - key - Switch: + kloop + Field to be looped on: + + Loop on the ENTNUM field (default). - Loop on the Item1 field. + + Loop on the IT1NUM field. Successive items are as shown with IT1NUM. - Loop on the Item2 field. Notes ----- - The legend classes conform to the controls specified in the window - options panel (PlotCtrls> Window Controls> Window Options). In many - instances, the legend controls specified with the /PLOPTS command will - take precedence and override /UDOC specifications. For instance: + The *VPUT command is not supported for PowerGraphics displays. + Inconsistent results may be obtained if this command is not used in + /GRAPHICS, FULL. - /PLOPTS,LEG1,OFF will disable the TYPE, TYP2, INUM, and MISC classes, - regardless of the /UDOC settings. + Plot and print operations entered via the GUI (Utility Menu> Pltcrtls, + Utility Menu> Plot) incorporate the AVPRIN command. This means that the + principal and equivalent values are recalculated. If you use *VPUT to + put data back into the database, issue the plot commands from the + command line to preserve your data. - /PLOPTS,LEG2,OFF will disable the VIEW class, regardless of the /UDOC - settings. + This operation is basically the inverse of the *VGET operation. Vector + items are put directly (without any coordinate system transformation) + into the ANSYS database. Items can only replace existing items of the + database and not create new items. Degree of freedom results that are + replaced in the database are available for all subsequent + postprocessing operations. Other results are changed temporarily and + are available mainly for the immediately following print and display + operations. The vector specification *VCUM does not apply to this + command. The valid labels for the location fields (Entity, ENTNUM, + Item1, and IT1NUM) are listed below. Item2 and IT2NUM are not + currently used. Not all items from the *VGET list are allowed on *VPUT + since putting values into some locations could cause the database to be + inconsistent. - /PLOPTS,LEG3,OFF will disable the PSTA class, regardless of the /UDOC - settings. + This command is valid in any processor. - All items in a class are listed with the same X coordinate (except for - contours). The contents of the text classes are dumped onto the display - window from top to bottom, in order of class importance. + Table: 250:: : *VPUT - POST1 Items - The font specification for text items that are included in the user- - specified legends are controlled with the /DEVICE command (PlotCtrls> - Font Controls> Anno/Graph Font). + X, Y, or Z fluid velocity. X, Y, or Z nodal velocity in a transient + structural analysis (LS-DYNA analysis or analysis with ANTYPE,TRANS). - The floating point values for the data presented in the legend(s) are - controlled by the /GFORMAT command. + X, Y, or Z magnetic vector potential. X, Y, or Z nodal acceleration in + a transient structural analysis (LS-DYNA analysis or analysis with + ANTYPE,TRANS). """ - command = "/UDOC, %s, %s, %s" % (str(wind), str(cl_ass), str(key)) + command = "*VPUT,%s,%s,%s,%s,%s,%s,%s,%s" % (str(parr), str(entity), str(entnum), str(item1), str(it1num), str(item2), str(it2num), str(kloop)) self.RunCommand(command, **kwargs) - def Catiain(self, name="", extension="", path="", **kwargs): + def Pmacro(self, **kwargs): """ - APDL Command: ~CATIAIN - - Transfers a CATIA model into the ANSYS program. - - Parameters - ---------- - name - The name of a valid CATIA model, created with CATIA 4.x or lower. - The first character of the file name must be an alphanumeric. - Special characters such as & - and * and spaces are not permitted - in the part name. - - extension - The extension for the file. The default extension is .model. + APDL Command: /PMACRO - path - The path name of the directory in which the file resides, enclosed - in single quotes. The default path name is the current working - directory. + Specifies that macro contents be written to the session log file. - -- - Unused field. + Notes + ----- + This command forces the contents of a macro or other input file to be + written to Jobname.LOG. It is valid only within a macro or input file, + and should be placed at the top of the file. /PMACRO should be + included in any macro or input file that calls GUI functions. - -- - Unused field. + """ + command = "/PMACRO," % () + self.RunCommand(command, **kwargs) - blank - Sets whether to import “blanked” entities. + def Psdgraph(self, tblno1="", tblno2="", **kwargs): + """ + APDL Command: PSDGRAPH - 0 - Does not import “blanked” (suppressed) CATIA entities (default). + Displays input PSD curves - 1 - Imports “blanked” entities. The portions of CATIA data that were suppressed - will be included in the import. + Parameters + ---------- + tblno1 + PSD table number to display. - -- - Unused field. + tblno2 + Second PSD table number to display. TBLNO2 is used only in + conjunction with the COVAL or the QDVAL commands. Notes ----- - More information on importing CATIA parts is available in CATIA V4 in - the Connection User's Guide. + The input PSD tables are displayed in log-log format as dotted lines. + The best-fit curves, used to perform the closed-form integration, are + displayed as solid lines. If there is a significant discrepancy between + the two, then you should add one or more intermediate points to the + table to obtain a better fit. + + If TBLNO2 is zero, blank, or equal to TBLNO1, then the autospectra + (PSDVAL) are displayed for TBLNO1. If TBLNO2 is also specified, then + the autospectra for TBLNO1 and TBLNO2 are displayed, along with the + corresponding cospectra (COVAL) and quadspectra (QDVAL), if they are + defined. + + This command is valid in any processor. """ - command = "~CATIAIN, %s, %s, %s" % (str(name), str(extension), str(path)) + command = "PSDGRAPH,%s,%s" % (str(tblno1), str(tblno2)) self.RunCommand(command, **kwargs) - def Show(self, fname="", option="", vect="", ncpl="", **kwargs): + def Dldele(self, line="", lab="", **kwargs): """ - APDL Command: /SHOW + APDL Command: DLDELE - Specifies the device and other parameters for graphics displays. + Deletes DOF constraints on a line. Parameters ---------- - fname - Device name, file name, or keyword, as listed below: - - - Any valid graphics display device name (e.g., X11, 3-D etc.). Defaults to X11 - for most systems. See Getting Started with - Graphics in the Basic Analysis Guide for details. - A device name must be defined before activating the - Graphical User Interface (GUI). Once the GUI is - activated, the device name cannot be changed for - that session, except for switching between X11 and - X11C. - - - Name of graphics file to which graphics displays are to be diverted (248 - characters maximum). Should not be the same as a - valid device name or any other Fname option. Plots are - written to the file Filename.Ext (or just Filename.Ext - if Ext is left blank) in the working directory. This - file can be appended only during the same session; - reissuing the same file name in a new session will - overwrite existing file names from previous sessions. - Although multiple file names can be used within one - session, only the last file created or accessed will - be appended. Issuing /SHOW, CLOSE, or starting a new - session will prevent access to any previously created - files. - - TERM - Graphics displays are switched back to the last-specified device name. + line + Line for which constraints are to be deleted. If ALL, delete for + all selected lines [LSEL]. If LINE = 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 LINE - CLOSE - This option purges the graphics file buffer. The CLOSE option should be issued - any time you are changing graphics devices or file output - types during a session. Graphics displays are switched back - to the last-specified device name, and any open graphics - files are closed. The CLOSE option is similar to the TERM - option, however, with the CLOSE option, another process, - such as the DISPLAY program, can access the data in the - graphics file. The CLOSE option causes graphics file - buffers to be flushed to the graphics file. + lab + Constraint label: - FILE - Graphics displays are switched back to the last-specified file name. + ALL - All constraints. - OFF - Graphics display requests are ignored. + SYMM - Symmetry constraints. - (blank) - If blank in interactive mode, graphics will be displayed on screen as requested - by display commands (no file written); If blank in batch - mode, graphics data will be written to Jobname.GRPH. + ASYM - Antisymmetry constraints. - PSCR - Creates PostScript graphic files that are named Jobnamennn.eps, where nnn is a - numeric value that is incremented by one as each additional - file is created; that is, Jobname000.eps, Jobname001.eps, - Jobname002.eps, and so on . (See the PSCR command for - options.) Ignores the Ext and NCPL fields. + UX - Displacement in X direction. - HPGL - Creates Hewlett-Packard Graphics Language files that are named Jobnamennn.hpgl, - where nnn is a numeric value that is incremented by one as - each additional file is created; that is, Jobname000.hpgl, - Jobname001.hpgl, Jobname002.hpgl, and so on. (See the HPGL - command for options.) Ignores the Ext and NCPL fields. + UY - Displacement in Y direction. - HPGL2 - Creates Hewlett-Packard Graphics Language files that are named Jobnamennn.hpgl, - where nn is a numeric value that is incremented by one as - each additional file is created; that is, Jobname000.hpgl, - Jobname001.hpgl, Jobname02.hpgl, and so on. The HPGL2 - files have enhanced color. (See the HPGL command for - options.) Ignores the Ext field. + UZ - Displacement in Z direction. - JPEG - Creates JPEG files that are named Jobnamennn.jpg, where nnn is a numeric value - that is incremented by one as each additional file is - created; that is, Jobname000.jpg, Jobname001.jpg, - Jobname002.jpg, and so on. Ignores the Ext field. + ROTX - Rotation about X axis. - TIFF - Creates tagged image format files that are named Jobnamennn.tif, where nnn is a - numeric value that is incremented by one as each additional - file is created; that is, Jobname000.tif, Jobname001.tif, - Jobname002.tif, and so on. This value for the Fname argument - ignores the Ext field. (See the TIFF command for options.) + ROTY - Rotation about Y axis. - PNG - Creates PNG (Portable Network Graphics) files that are named Jobnamennn.png, - where nnn is a numeric value that is incremented by one as - each additional file is created; that is, Jobname000.png, - Jobname001.png, Jobname002.png, and so on. This value for the - Fname argument ignores the Ext field. (See the PNGR command - for options.) + ROTZ - Rotation about Z axis. - VRML - Creates Virtual Reality Meta Language files named Jobname000.wrl that can be - displayed on 3-D Internet web browsers. Ignores the Ext and - NCPL fields. + WARP - Warping magnitude. - option - Assign a file name extension or specify reverse video output: + PRES - Pressure. - Ext - File name extension (eight-character maximum). + TEMP, TBOT, TE2, TE3, . . ., TTOP - Temperature. - REV - Reverse background/image (black/white) colors. Valid with Fname = PNG - (recommended), JPEG, PSCR, TIFF, and HPGL. This option is - ignored if a previously specified color map table (/CMAP or - /RGB) is in effect. + VOLT - Electric scalar potential. - vect - Specifies raster or vector display mode. This affects area, - volume, and element displays, as well as geometric results displays - such as contour plots. See the /DEVICE command for an alternate - way to toggle between raster and vector mode. Changing VECT also - resets the /TYPE command to its default. + AX - Magnetic vector potential in X direction. - 0 - Raster display (color filled entities; default) + AY - Magnetic vector potential in Y direction. - 1 - Vector display (outlined entities; i.e., "wireframe") + AZ - Magnetic vector potential in Z direction. - ncpl - Sets the number of color planes (4 to 8). Default is device- - dependent. NCPL is not supported by all graphics devices. + CONC - Concentration. Notes ----- - Specifies the device to be used for graphics displays, and specifies - other graphics display parameters. Display may be shown at the time of - generation (for interactive runs at a graphics display terminal) or - diverted to a file for later processing with the DISPLAY program. - Issue /PSTATUS for display status. - - Batch runs do not have access to the fonts available on your system. - The Courier and Helvetica font files used for JPEG, PNG and TIFF batch - output are copyrighted by Adobe Systems Inc. and Digital Equipment - Corp. Permission to use these trademarks is hereby granted only in - association with the images described above. Batch run JPEG output is - produced at the default quality index value of 75, unless specified - otherwise. + Deletes the degree of freedom constraints (and all corresponding finite + element constraints) on a line previously specified with the DL + command. See the DDELE command for delete details. - Interactive displays default to eight color planes (NCPL = 8) for most - monitors, while graph file output defaults to eight color planes for - VRML output, and four color planes for PSCR, HPGL, HPGL2, JPEG, PNG, - TIFF and FILE33. + Warning:: : On previously meshed lines, all constraints on affected + nodes will also be deleted, whether or not they were specified by the + DL command. - This command is valid in any processor. + This command is also valid in PREP7. """ - command = "/SHOW, %s, %s, %s, %s" % (str(fname), str(option), str(vect), str(ncpl)) + command = "DLDELE,%s,%s" % (str(line), str(lab)) self.RunCommand(command, **kwargs) - def Hropt(self, method="", maxmode="", minmode="", mcout="", damp="", - **kwargs): + def Hrout(self, reimky="", clust="", mcont="", **kwargs): """ - APDL Command: HROPT + APDL Command: HROUT - Specifies harmonic analysis options. + Specifies the harmonic analysis output options. Parameters ---------- - method - Solution method for the harmonic analysis: - - AUTO - Automatically select the most efficient method. Either the FULL method or the - Variational Technology method is selected depending on the - model. (default method). - - FULL - Full method. - - MSUP - Mode-superposition method. - - VT - Variational Technology method (based on FULL harmonic algorithm). - - VTPA - Variational Technology perfect absorber method (based on FULL harmonic - algorithm). - - VTRU - Variational Technology reuse method (based on FULL harmonic algorithm). - - maxmode - Largest mode number to be used to calculate the response (for - Method = MSUP only). Defaults to the highest mode calculated in - the preceding modal analysis. + reimky + Real/Imaginary print key: - minmode - Smallest mode number to be used (for Method = MSUP only). Defaults - to 1. + ON - Print complex displacements as real and imaginary components (default). - mcout - Modal coordinates output key (valid only for the mode superposition - method MSUP): + OFF - Print complex displacements as amplitude and phase angle (degrees). - NO - No output of modal coordinates (default). + clust + Cluster option (for HROPT,MSUP): - YES - Output modal coordinates to the text file jobname.MCF. + OFF - Uniform spacing of frequency solutions (default). - damp - Damping mode for frequency-dependent material properties (valid - only for the Variational Technology Method VT). + ON - Cluster frequency solutions about natural frequencies. - Hysteretic - Not proportional to the frequency. + mcont + Mode contributions key (for HROPT,MSUP): - Viscous - Proportional to the frequency (default). + OFF - No print of mode contributions at each frequency (default). + + ON - Print mode contributions at each frequency. Notes ----- - Specifies the method of solution for a harmonic analysis - (ANTYPE,HARMIC). If used in SOLUTION, this command is valid only - within the first load step. See the product restrictions indicated - below. + Specifies the harmonic analysis (ANTYPE,HARMIC) output options. If + used in SOLUTION, this command is valid only within the first load + step. OUTPR,NSOL must be specified to print mode contributions at each + frequency. - For cyclic symmetry mode-superposition harmonic solutions, MAXMODE and - MINMODE are ignored. + This command is ignored if the HROPT command has been issued with + Method = VT, VTPA, or VTRU. Displacements are not available at expanded + frequencies with these solution methods. - To include residual vectors in your mode-superposition harmonic - analysis, specify RESVEC,ON. + For cyclic symmetry mode-superposition harmonic solutions, the cluster + option is not available. This command is also valid in PREP7. - Distributed ANSYS Restriction: The VTRU method is not supported. - """ - command = "HROPT, %s, %s, %s, %s, %s" % (str(method), str(maxmode), str(minmode), str(mcout), str(damp)) + command = "HROUT,%s,%s,%s" % (str(reimky), str(clust), str(mcont)) self.RunCommand(command, **kwargs) - def Rdele(self, nset1="", nset2="", ninc="", lchk="", **kwargs): + def Sspe(self, e11="", e21="", e22="", t="", **kwargs): """ - APDL Command: RDELE + APDL Command: SSPE - Deletes real constant sets. + Specifies a preintegrated transverse shear stiffness for shell + sections. Parameters ---------- - nset1, nset2, ninc - Delete real constant sets from NSET1 to NSET2 (defaults to NSET1) - in steps of NINC (defaults to 1). If NSET1 = ALL, ignore NSET2 and - NINC and all real constant sets are deleted. + e11, e21, e22 + Transverse shear stiffness component (symmetric lower part of + submatrix [E]). - lchk - Specifies the level of element-associativity checking: + t + Temperature. - NOCHECK - No element-associativity check occurs. This option is the default. + Notes + ----- + The behavior of shell elements is governed by the generalized- + stress/generalized-strain relationship of the form: - WARN - When a section, material, or real constant is associated with an element, ANSYS - issues a message warning that the necessary entity has been - deleted. + The SSPE command, one of several preintegrated shell section commands, + specifies the transverse shear stiffness quantity (submatrix [E] data) + for a preintegrated shell section. The section data defined is + associated with the section most recently defined (via the SECTYPE + command). - CHECK - The command terminates, and no section, material, or real constant is deleted - if it is associated with an element. + Unspecified values default to zero. - Notes - ----- - Deletes real constant sets defined with the R command. + Related commands are SSPA, SSPB, SSPD, SSMT, SSBT, and SSPM. - This command is also valid in SOLUTION. + If you are using the SHELL181 or SHELL281 element's Membrane option + (KEYOPT(1) = 1), it is not necessary to issue this command. + + For complete information, see Using Preintegrated General Shell + Sections. """ - command = "RDELE, %s, %s, %s, %s" % (str(nset1), str(nset2), str(ninc), str(lchk)) + command = "SSPE,%s,%s,%s,%s" % (str(e11), str(e21), str(e22), str(t)) self.RunCommand(command, **kwargs) - def Vread(self, parr="", fname="", ext="", label="", n1="", n2="", n3="", - nskip="", **kwargs): + def Adams(self, nmodes="", kstress="", kshell="", **kwargs): """ - APDL Command: *VREAD + APDL Command: ADAMS - Reads data and produces an array parameter vector or matrix. + Performs solutions and writes flexible body information to a modal + neutral file (Jobname.MNF) for use in an ADAMS analysis. Parameters ---------- - parr - The name of the resulting array parameter vector. See *SET for - name restrictions. The parameter must exist as a dimensioned array - [*DIM]. String arrays are limited to a maximum of 8 characters. + nmodes + Number of normal modes to be written to Jobname.MNF file (no + default). - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + kstress + Specifies whether to write stress or strain results: - ext - Filename extension (eight-character maximum). + 0 - Do not write stress or strain results (default). - -- - Unused field. + 1 - Write stress results. - label - Can take a value of IJK, IKJ, JIK, JKI, KIJ, KJI, or blank (IJK). + 2 - Write strain results. - n1, n2, n3 - Read as (((ParR (i,j,k), k = 1,n1), i = 1, n2), j = 1, n3) for - Label = KIJ. n2 and n3 default to 1. + 3 - Write both stress and strain results. - nskip - Number of lines at the beginning of the file being read that will - be skipped during the reading. Default = 0. + kshell + Shell element output location. This option is valid only for shell + elements. + + 0, 1 - Shell top surface (default). + + 2 - Shell middle surface. + + 3 - Shell bottom surface. Notes ----- - Reads data from a file and fills in an array parameter vector or - matrix. Data are read from a formatted file or, if the menu is off - [/MENU,OFF] and Fname is blank, from the next input lines. The format - of the data to be read must be input immediately following the *VREAD - command. The format specifies the number of fields to be read per - record, the field width, and the placement of the decimal point (if - none specified in the value). The read operation follows the available - FORTRAN FORMAT conventions of the system (see your system FORTRAN - manual). Any standard FORTRAN real format (such as (4F6.0), - (E10.3,2X,D8.2), etc.) or alphanumeric format (A) may be used. - Alphanumeric strings are limited to a maximum of 8 characters for any - field (A8). For storage of string arrays greater than 8 characters, the - *SREAD command can be used. Integer (I) and list-directed (*) - descriptors may not be used. The parentheses must be included in the - format and the format must not exceed 80 characters (including - parentheses). The input line length is limited to 128 characters. + ADAMS invokes a predefined ANSYS macro that solves a series of analyses + and then writes the modal neutral file, Jobname.MNF. This file can be + imported into the ADAMS program in order to perform a rigid body + dynamics simulation. For detailed information on how to use the ADAMS + command macro to create a modal neutral file, see Rigid Body Dynamics + and the ANSYS-ADAMS Interface in the Substructuring Analysis Guide. - A starting array element number must be defined for the result array - parameter vector (numeric or character). For example, entering these - two lines: + Before running the ADAMS command macro, you must specify the units with + the /UNITS command. The interface points should be the only selected + nodes when the command macro is initiated. (Interface points are nodes + where constraints may be applied in ADAMS.) Only selected elements will + be considered in the calculations. - will read two values from each line of file ARRAYVAL and assign the - values to A(1), A(2), A(3), etc. Reading continues until successive - row elements [*VLEN, *VMASK, *DIM] are filled. + By default, stress and strain data is transferred to the ADAMS program + for all nodes, as specified by the KSTRESS value. If you want to + transfer stress/strain data for only a subset of nodes, select the + desired subset and create a node component named "STRESS" before + running the ADAMS command macro. For example, you may want to select + exterior nodes for the purpose of visualization in the ADAMS program. - For an array parameter matrix, a starting array element row and column - number must be defined. For example, entering these two lines: + The default filename for the modal neutral file is Jobname.MNF. In + interactive (GUI) mode, you can specify a filename other than + Jobname.MNF. In batch mode, there is no option to change the filename, + and the modal neutral file is always written to Jobname.MNF. - will read two values from each line of file ARRAYVAL and assign the - values to A(1,1), A(2,1), A(3,1), etc. Reading continues until n1 (10) - successive row elements are filled. Once the maximum row number is - reached, subsequent data will be read into the next column (e.g., - A(1,2), A(2,2), A(3,2), etc.) + """ + command = "ADAMS,%s,%s,%s" % (str(nmodes), str(kstress), str(kshell)) + self.RunCommand(command, **kwargs) - For numerical parameters, absolute values and scale factors may be - applied to the result parameter [*VABS, *VFACT]. Results may be - cumulative [*VCUM]. See the *VOPER command for details. If you are in - the GUI the *VREAD command must be contained in an externally prepared - file read into the ANSYS program (i.e., *USE, /INPUT, etc.). + def Nusort(self, **kwargs): + """ + APDL Command: NUSORT - This command is not applicable to 4- or 5-D arrays. + Restores original order for nodal data. - This command is valid in any processor. + Notes + ----- + This command restores the nodal data to its original order (sorted in + ascending node number sequence) after an NSORT command. Changing the + selected nodal set [NSEL] also restores the original nodal order. """ - command = "*VREAD, %s, %s, %s, %s, %s, %s, %s, %s" % (str(parr), str(fname), str(ext), str(label), str(n1), str(n2), str(n3), str(nskip)) + command = "NUSORT," % () self.RunCommand(command, **kwargs) - def Atan(self, ir="", ia="", name="", facta="", **kwargs): + def Lstr(self, p1="", p2="", **kwargs): """ - APDL Command: ATAN + APDL Command: LSTR - Forms the arctangent of a complex variable. + Defines a straight line irrespective of the active coordinate system. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. - - ia - Reference number of the complex variable to be operated on. - - --, -- - Unused fields. - - name - Thirty-two character name for identifying the variable on the - printout and displays. Embedded blanks are compressed upon output. - - --, -- - Unused fields. + p1 + Keypoint at the beginning of line. If P1 = P, graphical picking is + enabled and all remaining command fields are ignored (valid only in + the GUI) - facta - Scaling factor (positive or negative) applied to variable IA - (defaults to 1.0). Usually FACTA should be set to 1. FACTA may - affect the position of the angle by a multiple of  π, resulting in - a quadrant change. + p2 + Keypoint at the end of line. Notes ----- - Forms the arctangent of a complex variable according to the operation: - - IR = ATAN(FACTA X b/a) - - where a and b are the real and imaginary parts, respectively, of the - complex variable IA (which is of the form a + ib). The arctangent - represents the phase angle (in radians), and is valid only for a - harmonic analysis (ANTYPE,HARMIC). - - Since the scaling factor is applied uniformly to b/a, applying any - positive or negative scaling factor will not affect the size of the - phase angle, with the exception that a negative scaling factor will - change the results quadrant by : π. The magnitude of a complex number - is still obtained through the ABS command. See POST26 - Data - Operations in the Mechanical APDL Theory Reference for details. + Defines a straight line from P1 to P2 using the global Cartesian + coordinate system. The active coordinate system will be ignored. The + line shape is invariant with the coordinate system after it is + generated. Lines may be redefined only if not yet attached to an area. """ - command = "ATAN, %s, %s, %s, %s" % (str(ir), str(ia), str(name), str(facta)) + command = "LSTR,%s,%s" % (str(p1), str(p2)) self.RunCommand(command, **kwargs) - def Tlabel(self, xloc="", yloc="", text="", **kwargs): + def Mfcmmand(self, fnumb="", fname="", ext="", **kwargs): """ - APDL Command: /TLABEL + APDL Command: MFCMMAND - Creates annotation text (GUI). + Captures field solution options in a command file. Parameters ---------- - xloc - Text X starting location (-1.0 < X < 1.6). + fnumb + Field number specified by the MFELEM command. - yloc - Text Y starting location (-1.0 < Y < 1.0). + fname + Command file name specified for the field number. Defaults to field + "FNUMB". - text - Text string (60 characters maximum). Parameter substitution may be - forced within the text by enclosing the parameter name or - parametric expression within percent (%) signs. + ext + Extension for Fname. Defaults to .cmd. Notes ----- - Defines annotation text to be written directly onto the display at a - specified location. This is a command generated by the Graphical User - Interface (GUI) and will appear in the log file (Jobname.LOG) if - annotation is used. This command is not intended to be typed in - directly in an ANSYS session (although it can be included in an input - file for batch input or for use with the /INPUT command). + All relevant solution option commands for the specified field are + written to a file with the extension .cmd. Refer to the commands in the + following tables in the Command Reference: Analysis Options, Nonlinear + Options, Dynamic Options, and Load Step Options. - All text is shown on subsequent displays unless the annotation is - turned off or deleted. Use the /TSPEC command to set the attributes of - the text. + This command is also valid in PREP7. - This command is valid in any processor. + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/TLABEL, %s, %s, %s" % (str(xloc), str(yloc), str(text)) + command = "MFCMMAND,%s,%s,%s" % (str(fnumb), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Bfldele(self, line="", lab="", **kwargs): + def Mxpand(self, nmode="", freqb="", freqe="", elcalc="", signif="", + msupkey="", modeselmethod="", **kwargs): """ - APDL Command: BFLDELE + APDL Command: MXPAND - Deletes body force loads on a line. + Specifies the number of modes to expand and write for a modal or + buckling analysis. Parameters ---------- - line - Line at which body load is to be deleted. If ALL, delete for all - selected lines [LSEL]. A component name may also be substituted - for LINE. - - lab - Valid body load label. If ALL, use all appropriate labels. Load - labels are listed under "Body Loads" in the input table for each - element type in the Element Reference. See the BFL command for - labels. + nmode + Number of modes or array name (enclosed in percent signs) to expand + and write. If blank or ALL, expand and write all modes within the + frequency range specified. If -1, do not expand and do not write + modes to the results file during the analysis. If an array name is + input, the array must contain 1 for the expanded modes and zero + otherwise, where the array index corresponds to the mode number. To + specify an array containing the individual modes to expand, enclose + the array name in percent (%) signs (for example, + MXPAND,%arrname%). Use the *DIM command to define the array. - Notes - ----- - Deletes body force loads (and all corresponding finite element loads) - for a specified line and label. Body loads may be defined on a line - with the BFL command. + freqb + Beginning, or lower end, of frequency range of interest. If FREQB + and FREQE are both blank, expand and write the number of modes + specified without regard to the frequency range. Defaults to the + entire range. - Graphical picking is available only via the listed menu paths. + freqe + Ending, or upper end, of frequency range of interest. - This command is also valid in PREP7. + elcalc + Element calculation key: - """ - command = "BFLDELE, %s, %s" % (str(line), str(lab)) - self.RunCommand(command, **kwargs) + NO - Do not calculate element results, reaction forces, and energies (default). - def Wstart(self, node1="", node2="", ninc="", itime="", inc="", **kwargs): - """ - APDL Command: WSTART + YES - Calculate element results, reaction forces, energies, and the nodal degree of + freedom solution. - Defines a starting wave list. + signif + Expand only those modes whose significance level exceeds the SIGNIF + threshold (only applicable when ModeSelMethod is defined). - Parameters - ---------- - node1, node2, ninc - Define a set of nodes in the starting wave list from NODE1 to NODE2 - (defaults to NODE1) in steps of NINC (defaults to 1). If NODE1 = - ALL, ignore remaining fields and use all selected nodes [NSEL]. + msupkey + Element result superposition key: - itime, inc - Add more node sets to the same starting wave list by repeating the - previous node set with NODE1 and NODE2 incremented by INC (defaults - to 1) each time after the first. ITIME is the total number of sets - (defaults to 1) defined with this command. + NO - Do not write element results to the mode file Jobname.MODE. - Notes - ----- - Defines a starting wave list (optional) for reordering with the WAVES - command. Repeat WSTART command to define other starting wave lists (20 - maximum). + YES - Write element result to the mode file for use in the expansion pass of a + subsequent mode-superposition PSD, transient, or harmonic + analysis (default if Elcalc = YES and the mode shapes are + normalized to the mass matrix). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + modeselmethod + Methods for mode selection (not supported for complex + eigensolvers): - """ - command = "WSTART, %s, %s, %s, %s, %s" % (str(node1), str(node2), str(ninc), str(itime), str(inc)) - self.RunCommand(command, **kwargs) + blank - No mode selection is performed (default). - def Edhist(self, comp="", **kwargs): - """ - APDL Command: EDHIST + MODM - The mode selection is based on the modal effective masses. - Specifies time-history output for an explicit dynamic analysis. + MODC - The mode selection is based on the mode coefficients. - Parameters - ---------- - comp - Name of the component containing nodes or elements for which output - is desired. Comp is required. + DDAM - The mode selection is based on DDAM procedure (see Mode Selection Based on DDAM + Procedure in the Mechanical APDL Structural Analysis Guide + for more information). This option is applicable only to + DDAM spectrum analysis. Notes ----- - The time-history output is written to the file Jobname.HIS. Output is - written only for the nodes or elements contained in Comp. The data is - written at time intervals specified on the EDHTIME command. If no time - interval is specified, output is written at 1000 steps over the - analysis. (See also the EDOUT command which controls time-history - output in ascii form for an explicit dynamics analysis.) + Specifies the number of modes to expand and write over a frequency + range for a modal (ANTYPE,MODAL) or buckling (ANTYPE,BUCKLE) analysis. + If used in SOLUTION, this command is valid only within the first load + step. - Use EDHIST,LIST to list the time-history output specification. (The - listing will include output requested with the EDOUT command.) Use - EDHIST,DELE to delete the time-history output specification. + There is no limit on the number of expanded modes (NMODE). However, + there is a limit on the maximum number of modes used via the *GET,,MODE + command, mode combinations, and the MDAMP command. - Jobname.HIS is a binary file that is read by the ANSYS time-history - postprocessor (POST26). If LS-DYNA output has been requested on the - EDWRITE command [EDWRITE,LSDYNA or EDWRITE,BOTH], the file D3THDT will - also be written. D3THDT is a binary file that is read by the LS-POST - postprocessor. + With MSUPkey = YES, the computed element results (Elcalc = YES) are + written to Jobname.MODE for use in subsequent downstream mode- + superposition analyses, including harmonic, transient, and PSD + analyses. This significantly reduces computation time for the + combination or expansion passes. For limitations, see Option: Number of + Modes to Expand (MXPAND) in the Mechanical APDL Structural Analysis + Guide. - This command is also valid in PREP7. + If a mode selection method (ModeSelMethod) is defined, only the + selected modes will be expanded. See Using Mode Selection in the + Mechanical APDL Structural Analysis Guide for more details about the + procedure. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + For array input (NMODE), the array must be dimensioned to be the size + of the number of modes extracted (NMODE on the MODOPT command). A value + of 1 in the array indicates the mode is to be expanded, and a value of + 0 indicates not to expand the mode. For the DAMP modal solution, the + modes are in pairs, so be sure to verify that both modes of a pair have + the same value. (For example, if modes #3 and #4 are a pair, indices 3 + and 4 in the array should have the same value, 0 or 1.) + + For linear perturbation modal analyses, you must set both Elcalc and + MSUPkey to YES so that the downstream stress expansion pass can produce + a solution consistent with the linear or nonlinear base (static or full + transient) analysis. The prestressed nonlinear element history (saved + variables) is accessible only in the first and second phases of the + linear perturbation. The downstream MSUP or PSD analysis can only reuse + the nonlinear information contained in the Jobname.MODE file that is + generated in the linear perturbation. + + In a Distributed ANSYS analysis, you must issue MXPAND to specify the + number of modes to expand when computing the modes and mode shapes. In + a Distributed ANSYS run, MXPAND cannot be issued in an expansion pass + (EXPASS). + + This command is also valid in PREP7. """ - command = "EDHIST, %s" % (str(comp)) + command = "MXPAND,%s,%s,%s,%s,%s,%s,%s" % (str(nmode), str(freqb), str(freqe), str(elcalc), str(signif), str(msupkey), str(modeselmethod)) self.RunCommand(command, **kwargs) - def Qsopt(self, opt="", **kwargs): + def Dsys(self, kcn="", **kwargs): """ - APDL Command: QSOPT + APDL Command: DSYS - Specifies quasi static radiation options. + Activates a display coordinate system for geometry listings and plots. Parameters ---------- - opt - Quasi static option: - - OFF - Do not run transient radiation problem to steady-state (default). - - ON - Run transient radiation problem to steady-state. + kcn + Coordinate system reference number. KCN may be 0,1,2 or any + previously defined local coordinate system number. Notes ----- - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Boundary condition symbols, vector arrows, and element coordinate + system triads are not transformed to the display coordinate system. The + display system orientation (for the default view) is X horizontal to + the right, Y vertical upward, and Z out of the screen (normal). + + Line directions and area directions (/PSYMB,LDIR and /PSYMB,ADIR) are + not plotted for DSYS >0. + + When you create ANSYS 3-D annotation, the coordinates are stored to the + database in the DSYS that was active at the time of creation. Changing + the DSYS does not change the annotation coordinate data in the + database. + + This command is valid in any processor. """ - command = "QSOPT, %s" % (str(opt)) + command = "DSYS,%s" % (str(kcn)) self.RunCommand(command, **kwargs) - def Prod(self, ir="", ia="", ib="", ic="", name="", facta="", factb="", - factc="", **kwargs): + def Vfquery(self, srcelem="", tarelem="", **kwargs): """ - APDL Command: PROD + APDL Command: VFQUERY - Multiplies variables. + Queries and prints element Hemicube view factors and average view + factor. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. - - ia, ib, ic - Reference numbers of the three variables to be operated on. If - only two leave IC blank. If only one, leave IB blank also. - - name - Thirty-two character name identifying the variable on printouts and - displays. Embedded blanks are compressed for output. - - --, -- - Unused fields + srcelem + Elements representing the source radiating surfaces used to query + the view factor at the target element(s). If SRCELEM = P, graphical + picking is enabled (valid only in the GUI). If SRCELEM = ALL, all + selected elements will have their view factors queried. A component + name may also be substituted for SRCELEM. Selected elements must be + flagged for surface to surface radiation in order to query view + factors (SF, SFA, or SFE with Lab = RDSF). The view factors must + have been previously computed. - facta, factb, factc - Scaling factors (positive or negative) applied to the corresponding - variables (default to 1.0). + tarelem + Element for view factor query. If TARELEM = P, graphical picking is + enabled (valid only in the GUI). If TARELEM = ALL, all selected + elements will have their view factors queried. A component name may + also be substituted for TARELEM. Selected elements must be flagged + for surface to surface radiation in order to query view factors + (SF, SFA, or SFE with Lab = RDSF). The view factors must have been + previously computed. Notes ----- - Multiplies variables (up to three at once) according to the operation: + View factors for each target element will be printed. - IR = (FACTA x IA) x (FACTB x IB) x (FACTC x IC) + An average view factor for all target elements will be computed. (Use + *GET to retrieve the average value). + + When resuming a database, issue the command VFOPT,READ before issuing + the VFQUERY command. """ - command = "PROD, %s, %s, %s, %s, %s, %s, %s, %s" % (str(ir), str(ia), str(ib), str(ic), str(name), str(facta), str(factb), str(factc)) + command = "VFQUERY,%s,%s" % (str(srcelem), str(tarelem)) self.RunCommand(command, **kwargs) - def Tee(self, label="", fname="", ext="", **kwargs): + def Edsp(self, option="", min="", max="", inc="", **kwargs): """ - APDL Command: /TEE + APDL Command: EDSP - Writes a list of commands to a specified file at the same time that the - commands are being executed. + Specifies small penetration checking for contact entities in an + explicit dynamic analysis. Parameters ---------- - label - Indicates how ANSYS is to interpret this /TEE command: + option + Label identifying the option to be performed (no default). - Signals the beginning of the command text that is to be written to Fname. If Fname already exists, specifying NEW causes the contents of Fname to be overwritten. - Indicates that you want to append to Fname the command text that follows. + ON   - Turn small penetration checking on for specified contact entities. - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + OFF - Turn small penetration checking off for specified contact entities. - ext - Filename extension (eight-character maximum). + LIST   - List current setting for penetration checking. - -- - Unused field. + min + Minimum contact entity number for which to turn on/off small + penetration check (default = 1). + + max + Maximum contact entity number for which to turn on/off small + penetration check (defaults to MIN). + + inc + Contact entity number increment (default = 1). Notes ----- - You can use the /TEE command to record a macro to a specified file at - the same time that the macro is being executed. It is similar to the - Linux tee command. - - For more information about the /TEE command, see the Introducing APDL - of the ANSYS Parametric Design Language Guide. + This command controls small penetration checking in an explicit dynamic + analysis. EDSP is applicable only to the following contact types: STS, + NTS, OSTS, TNTS, and TSTS. The penetration checking specified by EDSP + is similar to PENCHK on the EDCONTACT command. However, EDSP controls + penetration checking for individual contact entities whereas PENCHK is + a global control that applies to all defined contact (of the types + mentioned above). EDSP can be used in a new analysis, or in a small + restart (EDSTART,2). - The following example illustrates the use of the /TEE command. If you - issue these commands: + Use the EDCLIST command to list the contact entity numbers for all + defined contact. - the content of myfile.mac is: + This command is also valid in SOLUTION. - This command is valid in any processor, but only during an interactive - run. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/TEE, %s, %s, %s" % (str(label), str(fname), str(ext)) + command = "EDSP,%s,%s,%s,%s" % (str(option), str(min), str(max), str(inc)) self.RunCommand(command, **kwargs) - def Cmmod(self, cname="", keyword="", value="", **kwargs): + def Facet(self, lab="", **kwargs): """ - APDL Command: CMMOD + APDL Command: /FACET - Modifies the specification of a component. + Specifies the facet representation used to form solid model displays. Parameters ---------- - cname - Name of the existing component or assembly to be modified. + lab + Valid labels: - keyword - The label identifying the type of value to be modified. + FINE - Use finer tessellation to increase the number of facets for the display. + Provides the best representation (but decreases speed of + operation). - value - If Keyword is NAME, then the value is the alphanumeric label to be - applied. See the CM command for naming convention details. If a - component named Value already exists, the command will be ignored - and an error message will be generated. + NORML - Use the basic number of facets for the display (default). + + COAR - Use a limited number of facets for the display. This option will increase the + speed of the operations, but may produce poor + representations for some imported models. + + WIRE - Display model with a wireframe representation (fast, but surfaces will not be + shown). Notes ----- - The naming conventions for components, as specified in the CM command, - apply for CMMOD (32 characters, “ALL”, “STAT” and “DEFA” are not - allowed, etc.). However, if you choose a component name that is already - designated for another component, an error message will be issued and - the command will be ignored. + Specifies the facet (or polygon) representation used to form solid + model displays. Used only with the APLOT, ASUM, VPLOT, and VSUM + commands. This command is valid in any processor. """ - command = "CMMOD, %s, %s, %s" % (str(cname), str(keyword), str(value)) + command = "/FACET,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Vput(self, par="", ir="", tstrt="", kcplx="", name="", **kwargs): + def Rmsmple(self, nlgeom="", cap="", seqslv="", eeqslv="", **kwargs): """ - APDL Command: VPUT + APDL Command: RMSMPLE - Moves an array parameter vector into a variable. + Runs finite element solutions and obtains sample points for the ROM + method. Parameters ---------- - par - Array parameter vector in the operation. + nlgeom + Specify whether a large or small deflection analysis is to be + performed for the mechanical domain: - ir - Arbitrary reference number assigned to this variable (1 to NV - [NUMVAR]). Overwrites any existing results for this variable. + OFF (or 0) - Perform small deflection analysis (default). - tstrt - Time (or frequency) corresponding to start of IR data. If between - values, the nearer value is used. + cap + Capacitance calculation method. - kcplx - Complex number key: + CHARGE - Compute capacitance based on the charge voltage relationship (default). - 0 - Use the real part of the IR data. + seqslv + Solver for structural analysis: - 1 - Use the imaginary part of the IR data. + SPARSE - Sparse direct equation solver (default). - name - Thirty-two character name identifying the item on printouts and - displays. Defaults to the label formed by concatenating VPUT with - the reference number IR. + eeqslv + Solver for electrostatic analysis: + + SPARSE - Sparse direct equation solver (default). Notes ----- - At least one variable should be defined (NSOL, ESOL, RFORCE, etc.) - before using this command. The starting array element number must be - defined. For example, VPUT,A(1),2 moves array parameter A to variable - 2 starting at time 0.0. Looping continues from array element A(1) with - the index number incremented by one until the variable is filled. - Unfilled variable locations are assigned a zero value. The number of - loops may be controlled with the *VLEN command (except that loop - skipping (NINC) is not allowed). For multi-dimensioned array - parameters, only the first (row) subscript is incremented. + This command prepares and runs multiple finite element solutions on the + Structural domain and the Electrostatic domain of a model to collect + sample points of data for ROM response curve fitting. The command + requires a model database [RMANL] and two Physics Files (Structural + domain, titled "STRU" and an Electrostatic domain, titled "ELEC"; see + PHYSICS command). Also required is a complete ROM database generated + from the ROM Tools. The Cap = CHARGE method is preferred when + capacitance to "infinity" is not required. Capacitance conductor pairs + are defined by the RMCAP command. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. + + Strain energy and capacitance data files jobname_ijk.dec (mode i, j, + k). """ - command = "VPUT, %s, %s, %s, %s, %s" % (str(par), str(ir), str(tstrt), str(kcplx), str(name)) + command = "RMSMPLE,%s,%s,%s,%s" % (str(nlgeom), str(cap), str(seqslv), str(eeqslv)) self.RunCommand(command, **kwargs) - def Ssmt(self, mt11="", mt22="", mt12="", t="", **kwargs): + def Prcamp(self, option="", slope="", unit="", freqb="", cname="", + stabval="", keyallfreq="", keynegfreq="", **kwargs): """ - APDL Command: SSMT + APDL Command: PRCAMP - Specifies preintegrated membrane thermal effects for shell sections. + Prints Campbell diagram data for applications involving rotating + structure dynamics. Parameters ---------- - mt11, mt22, mt12 - Membrane thermal effects component [MT]. + option + Flag to activate or deactivate sorting of forward or backward whirl + frequencies: - t - Temperature. + 0 (OFF or NO) - No sorting. - Notes - ----- - The behavior of shell elements is governed by the generalized- - stress/generalized-strain relationship of the form: + 1 (ON or YES) - Sort. This value is the default. - The SSMT command, one of several preintegrated shell section commands, - specifies the membrane thermal effects quantity (submatrix [MT] data) - for a preintegrated shell section. The section data defined is - associated with the section most recently defined (via the SECTYPE - command). + slope + The slope of the line to be printed. This value must be positive. - The [MT] quantity represents membrane stress resultants caused by a - unit raise in temperature on a fully constrained model. For a layered - composite shell, it is usually necessary to specify both the [MT] and - [BT] quantities (by issuing the SSMT and SSBT commands, respectively). + SLOPE > 0 - The line represents the number of excitations per revolution of the rotor. For + example, SLOPE = 1 represents one excitation per + revolution, usually resulting from unbalance. - Unspecified values default to zero. + SLOPE = 0 - The line represents the stability threshold for stability values or logarithmic + decrements printout (STABVAL = 1 or 2) - Related commands are SSPA, SSPB, SSPD, SSPE, SSBT, and SSPM. + unit + Specifies the unit of measurement for rotational angular + velocities: - For complete information, see Using Preintegrated General Shell - Sections. + RDS - Rotational angular velocities in radians per second (rad/s). This value is the + default. - """ - command = "SSMT, %s, %s, %s, %s" % (str(mt11), str(mt22), str(mt12), str(t)) - self.RunCommand(command, **kwargs) + RPM - Rotational angular velocities in revolutions per minute (RPMs). - def Int1(self, ir="", iy="", ix="", name="", facta="", factb="", const="", - **kwargs): - """ - APDL Command: INT1 + freqb + The beginning, or lower end, of the frequency range of interest. + The default is zero. - Integrates a variable. + cname + The rotating component name. - Parameters - ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. Table values represent integrated - sum of IY to current table position of IX. + stabval + Flag to print the stability values: - iy, ix - Integrate variable IY with respect to IX. + 0 (OFF or NO) - Print the frequencies (the imaginary parts of the eigenvalues in Hz). This + value is the default. - -- - Unused field. + 1 (ON or YES) - Print the stability values (the real parts of the eigenvalues in Hz). - name - Thirty-two character name for identifying the variable on the - printout and displays. Embedded blanks are compressed upon output. + 2 - Print the logarithmic decrements. - --, -- - Unused fields. + keyallfreq + Key to specify if all frequencies above FREQB are printed out: - facta, factb - Scaling factors (positive or negative) applied to the corresponding - variables (default to 1.0). + 0 (OFF or NO) - A maximum of 10 frequencies are printed out. They correspond to the frequencies + displayed via the PLCAMP command. This value is the + default. - const - Initial value. + 1 (ON or YES) - All frequencies are printed out. + + keynegfreq + Key to specify if the negative frequencies are printed out. It only + applies to solutions obtained with the damped eigensolver + (Method=DAMP on the MODOPT command): + + 0 (OFF or NO) - Only positive frequencies are printed out. This value is the default. + + 1 (ON or YES) - Negative and positive frequencies are printed out. Notes ----- - Integrates variables according to the operation: + The following items are required when generating a Campbell diagram: - IR = ∫ (FACTA x IY) d(FACTB x IX) + CONST + Take the gyroscopic effect into account by issuing the CORIOLIS command + in the SOLUTION module. - """ - command = "INT1, %s, %s, %s, %s, %s, %s, %s" % (str(ir), str(iy), str(ix), str(name), str(facta), str(factb), str(const)) - self.RunCommand(command, **kwargs) + Run a modal analysis using the QR damped (MODOPT,QRDAMP) or damped + (MODOPT,DAMP) method. Complex eigenmodes are necessary + (MODOPT,QRDAMP,,,,Cpxmod = ON), and you must specify the number of + modes to expand (MXPAND). - def Rmmselect(self, nmode="", method="", dmin="", dmax="", **kwargs): - """ - APDL Command: RMMSELECT + Define two or more load step results with an ascending order of + rotational velocity (OMEGA or CMOMEGA). - Selects modes for the ROM method. + In some cases where modes are not in the same order from one load step + to the other, sorting the frequencies (Option = 1) can help to obtain a + correct printout. Sorting is based on the comparison between complex + mode shapes calculated at two successive load steps. - Parameters - ---------- - nmode - Total number of modes to be selected + At each load step, the application compares the mode shape to the loads + to determine the whirl direction. If applicable, a label appears (on + the rows of output data) representing the whirl mode (BW for backward + whirl and FW for forward whirl). - method - Method for mode selection. Valid methods are: + If you specify a non-zero slope (SLOPE > 0), the command prints the + critical speeds corresponding to the intersection points of the + frequency curves and the added line. In the case of a named component + (Cname), critical speeds relate to the rotational velocity of the + component. Critical speeds are available only if the frequencies are + printed (STABVAL = OFF). - TMOD - Automated selection using a test load. TMOD must be enclosed in single quotes. + If you specify a zero slope (SLOPE = 0), the command prints the + stability threshold corresponding to the sign change of the stability + values (or logarithmic decrements). In the case of a named component + (Cname), stability thresholds relate to the rotational velocity of the + component. Stability thresholds are available only if the stability + values or logarithmic decrements are printed (STABVAL = 1 or 2). - dmin - Lower bound for total deflection range. + At each load step, the program checks for instability (based on the + sign of the real part of the eigenvalue). The label “U” appears on the + printout for each unstable frequency. - dmax - Upper bound for total deflection range. + If specified, the rotational velocities of the named component (Cname) + are printed out along with the natural frequencies. - Notes - ----- - Select pertinent modes for use in a ROM. Pertinent mode selection may - be enhanced by using the deflection state of the structure - representative of the operating nature of the device (Method = TMOD). A - static analysis with an applied Test Load may be used. The test load - displacements must be extracted at the neutral plane of the device (if - the device is stress-stiffened), or at any plane of the device (non- - stress-stiffened). A node component "NEUN" must be defined for the - plane of nodes, and the displacements extracted using the RMNDISP - command prior to issuing this command. If Method = NMOD, use the first - Nmode eigenmodes to select the pertinent modes for the ROM tool. Only - those modes are selected that act in the operating direction of the - structure [RMANL]. + In general, printing a Campbell diagram is recommended only when your + analysis is performed in a stationary reference frame + (CORIOLIS,,,,RefFrame = ON). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + For information on printing a Campbell diagram for a prestressed + structure, see Solving for a Subsequent Campbell Analysis of a + Prestressed Structure Using the Linear Perturbation Procedure in the + Rotordynamic Analysis Guide. - jobname.evx, jobname.evy, jobname.evz, jobname.evn, jobname.evl + For a usage example of the companion command PLCAMP (used for plotting + a Campbell diagram), see Example Campbell Diagram Analysis. - Test load and element load neutral plane displacement files: - jobname.tld, jobname.eld + For more information on Campbell diagram generation, see Campbell + Diagram in the Rotordynamic Analysis Guide. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "RMMSELECT, %s, %s, %s, %s" % (str(nmode), str(method), str(dmin), str(dmax)) + command = "PRCAMP,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(slope), str(unit), str(freqb), str(cname), str(stabval), str(keyallfreq), str(keynegfreq)) self.RunCommand(command, **kwargs) - def Sfbeam(self, elem="", lkey="", lab="", vali="", valj="", val2i="", - val2j="", ioffst="", joffst="", lenrat="", **kwargs): + def Bss2(self, val1="", val2="", t="", **kwargs): """ - APDL Command: SFBEAM + APDL Command: BSS2 - Specifies surface loads on beam and pipe elements. + Specifies the transverse shear strain and force relationship in plane + XY for beam sections. Parameters ---------- - elem - Element to which surface load is applied. If ALL, apply load to - all selected beam elements (ESEL). If Elem = P, graphical picking - is enabled and all remaining command fields are ignored (valid only - in the GUI). A component name may be substituted in Elem. - - lkey - Load key associated with surface load (defaults to 1). Load keys - (1, 2, 3, etc.) are listed under "Surface Loads" in the input table - for each element type in the Element Reference. For beam and some - pipe elements, the load key defines the load orientation. - - lab - Valid surface load label. Load labels are listed under "Surface - Loads" in the input table for each element type in the Element - Reference. Structural labels: PRES (pressure). - - vali, valj - Surface load values at nodes I and J. If VALJ is blank, it - defaults to VALI. If VALJ is zero, a zero is used. - - val2i, val2j - Second surface load values at nodes I and J. Currently not used. - - ioffst, joffst - Offset distance from node I (toward node J) where VALI is applied, - and offset distance from node J (toward node I) where VALJ is - applied, respectively. - - lenrat - Offset distance flag: + val1 + Transverse shear strain component (γ2). - 0 - Offset is in terms of length units (default). + val2 + Transverse shear force component (S2). - 1 - Offset is in terms of a length ratio (0.0 to 1.0). + t + Temperature. Notes ----- - Specifies surface loads on the selected beam elements. Distributed - loads are applied on a force-per-length basis (that is, the width of - the underlying element is not considered). To list and delete surface - loads applied with this command, use the SFELIST and SFEDELE commands, - respectively. + The behavior of beam elements is governed by the generalized- + stress/generalized-strain relationship of the form: - If no offset values (IOFFSET and JOFFSET) are specified, the load is - applied over the full element length. Values may also be input as - length fractions, depending on the LENRAT setting. For example, - assuming a line length of 5.0, an IOFFST of 2.0 with LENRAT = 0 or an - IOFFST of 0.4 with LENRAT = 1 represent the same point. If JOFFST = - -1, VALI is assumed to be a point load at the location specified via - IOFFST, and VALJ is ignored. (IOFFSET cannot be equal to -1.) The - offset values are stepped even if you issue a KBC,0 command. + The BSS1 command, one of several nonlinear general beam section + commands, specifies the transverse shear strain and transverse shear + force relationship for plane XY of a beam section. The section data + defined is associated with the section most recently defined (via the + SECTYPE command). - Offsets are only available for element types BEAM188 and PIPE288 if - using the cubic shape function (KEYOPT(3) = 3) for those element types. + Unspecified values default to zero. - To accumulate (add) surface loads applied with this command, use the - SFCUM,,ADD command. Use the same offset values used on the previous - SFBEAM command (for a given element face); otherwise, the loads do not - accumulate. If no offsets are specified, the command applies the - previous offset values. + Related commands are BSAX, BSM1, BSM2, BSTQ, BSS1, BSMD, and BSTE. - This command is also valid in PREP7. + For complete information, see Using Nonlinear General Beam Sections. """ - command = "SFBEAM, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(elem), str(lkey), str(lab), str(vali), str(valj), str(val2i), str(val2j), str(ioffst), str(joffst), str(lenrat)) + command = "BSS2,%s,%s,%s" % (str(val1), str(val2), str(t)) self.RunCommand(command, **kwargs) - def Ensym(self, iinc="", ninc="", iel1="", iel2="", ieinc="", **kwargs): + def Pdsens(self, rlab="", name="", chart="", type="", slevel="", **kwargs): """ - APDL Command: ENSYM + APDL Command: PDSENS - Generates elements by symmetry reflection. + Plots the probabilistic sensitivities. Parameters ---------- - iinc - Increment to be added to element numbers in existing set. - - -- - Unused field. - - ninc - Increment nodes in the given pattern by NINC. + rlab + Result set label. Identifies the result set to be used for + postprocessing. A result set label can be the solution set label + you defined in a PDEXE command (if you are directly postprocessing + Monte Carlo Simulation results), or the response surface set label + defined in an RSFIT command (for Response Surface Analyses). The + PDSENS command cannot be used to postprocess the results in a + solution set that is based on Response Surface Methods, only Monte + Carlo Simulations. - iel1, iel2, ieinc - Reflect elements from pattern beginning with IEL1 to IEL2 (defaults - to IEL1) in steps of IEINC (defaults to 1). If IEL1 = ALL, IEL2 and - IEINC are ignored and pattern is all selected elements [ESEL]. If - IEL1 = 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 IEL1 (IEL2 and IEINC are ignored). + name + Parameter name. The parameter must have been previously defined as + a random output parameter using the PDVAR command. - Notes - ----- - This command is the same as the ESYM command except it allows - explicitly assigning element numbers to the generated set (in terms of - an increment IINC). Any existing elements already having these numbers - will be redefined. + chart + Keyword for the type of chart to be plotted. - The operation generates a new element by incrementing the nodes on the - original element, and reversing and shifting the node connectivity - pattern. For example, for a 4-node 2-D element, the nodes in positions - I, J, K and L of the original element are placed in positions J, I, L - and K of the reflected element. + BAR - Bar chart of the absolute sensitivities. - Similar permutations occur for all other element types. For line - elements, the nodes in positions I and J of the original element are - placed in positions J and I of the reflected element. In releases prior - to ANSYS 5.5, no node pattern reversing and shifting occurred for line - elements generated by ENSYM. To achieve the same results as you did in - releases prior to ANSYS 5.5, use the ENGEN command instead. + PIE - Pie chart of relative and normalized sensitivities. - See the ESYM command for additional information about symmetry - elements. + BOTH - Both pie and bar charts plotted side by side (default). - The ENSYM command also provides a convenient way to reverse shell - element normals. If the IINC and NINC argument fields are left blank, - the effect of the reflection is to reverse the direction of the outward - normal of the specified elements. You cannot use the ENSYM command to - change the normal direction of any element that has a body or surface - load. We recommend that you apply all of your loads only after ensuring - that the element normal directions are acceptable. Also note that real - constants (such as nonuniform shell thickness and tapered beam - constants) may be invalidated by an element reversal. See Revising Your - Model in the Modeling and Meshing Guide for more information about - controlling element normals. + type + Keyword for the type of correlation coefficients used to evaluate + the sensitivities. - """ - command = "ENSYM, %s, %s, %s, %s, %s" % (str(iinc), str(ninc), str(iel1), str(iel2), str(ieinc)) - self.RunCommand(command, **kwargs) + RANK - Spearman rank-order correlation coefficient (default). - def Volumes(self, **kwargs): - """ - APDL Command: VOLUMES + LIN - Pearson linear correlation coefficient. - Specifies "Volumes" as the subsequent status topic. + slevel + Significance level. The value for the significance level must be + between 0.0 and 1.0 and it defaults to 0.025 (2.5%). Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and appear in the log file (Jobname.LOG) if status - is requested for some items by choosing Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Plots the probabilistic sensitivities. - If entered directly into the program, the STAT command should - immediately follow this command. + If Rlab is left blank, then the result set label is inherited from the + last PDEXE command (Slab), RSFIT command (RSlab), or the most recently + used PDS postprocessing command where a result set label was explicitly + specified. + + Evaluation of the probabilistic sensitivities is based on the + correlation coefficients between all random input variables and the + random output parameter specified by Name. You can chose which + correlation coefficient should be used for that evaluation using the + Corr option. For all sensitivity values, the probabilistic design tool + evaluates the probability that the sensitivity can be neglected, based + on statistical test theory. If this probability exceeds the + significance level as specified by the SLEVEL parameter, the + sensitivity value should be regarded as negligible or insignificant. + The higher the significance level (SLEVEL) the more sensitivities are + considered as significant. The sensitivity plot includes the + significant sensitivities only and lists the insignificant ones + separately. """ - command = "VOLUMES, " % () + command = "PDSENS,%s,%s,%s,%s,%s" % (str(rlab), str(name), str(chart), str(type), str(slevel)) self.RunCommand(command, **kwargs) - def Gfile(self, size="", **kwargs): + def Edcontact(self, sfsi="", rwpn="", ipck="", shtk="", peno="", stcc="", + orie="", cspc="", penchk="", **kwargs): """ - APDL Command: /GFILE + APDL Command: EDCONTACT - Specifies the pixel resolution on Z-buffered graphics files. + Specifies contact surface controls for an explicit dynamics analysis. Parameters ---------- - size - Pixel resolution. Defaults to a pixel resolution of 800. Valid - values are from 256 to 2400. + sfsi + Scale factor for sliding interface penalties. Defaults to 0.1. - Notes - ----- - Defines the pixel resolution on subsequently written graphics files - (Jobname.GRPH) for software Z-buffered displays [/TYPE]. Lowering the - pixel resolution produces a "fuzzier" image; increasing the resolution - produces a "sharper" image but takes a little longer. + rwpn + Scale factor for rigid wall penalties (defaults to 0). If RWPN = 0, + rigid bodies interacting with rigid walls are not considered. If + RWPN>0, rigid bodies interact with fixed rigid walls. A value of + 1.0 should be optimal; however, this may be problem dependent. - This command is valid in any processor. + ipck + Initial contact surface penetration checking option: - """ - command = "/GFILE, %s" % (str(size)) - self.RunCommand(command, **kwargs) + 1 - No checking. - def Nora(self, area="", ndir="", **kwargs): - """ - APDL Command: NORA + 2 - Full check of initial penetration is performed (default). - Rotates nodal coordinate systems to surface normal + shtk + Shell thickness contact option for surface-to-surface and nodes-to- + surface contact (see Notes below): - Parameters - ---------- - area - The area number containing the nodes to be rotated to their - normals. If ALL, applies to all selected areas (see the ASEL - command). If AREA = P, graphical picking is enabled. + 0 - Thickness is not considered (default). - ndir - Direction of the normal. If NDIR = -1, the nodal coordinate system - is rotated in the opposite direction of the surface normal. The - default is the same direction as the surface normal. + 1 - Thickness is considered, except in rigid bodies. - Notes - ----- - The NORA command rotates the X-axis of the nodal coordinate system to - the surface normal. The rotated nodal coordinate systems may be - displayed through the /PSYMB command. In case multiple areas are - selected, there could be conflicts at the boundaries. If a node belongs - to two areas that have a different normal, its nodal coordinate system - will be rotated to the area normal with the lowest number. You can use - the AREVERSE and ANORM commands to rotate the surface normals in the - appropriate direction. Keep the following in mind when using the NORA - command: + 2 - Thickness is considered, including rigid bodies. - If the nodal coordinate system is parallel to the global Cartesian - system, it is not displayed through the /PSYMB command. + peno + Penalty stiffness option (options 4 and 5 are useful for metal + forming calculations): - Previously specified rotation on the selected nodes are overridden. + 1 - Minimum of master segment and slave node (default). - """ - command = "NORA, %s, %s" % (str(area), str(ndir)) - self.RunCommand(command, **kwargs) + 2 - Use master segment stiffness. - def Rose(self, signif="", label="", td="", forcetype="", **kwargs): - """ - APDL Command: ROSE + 3 - Use slave node value. - Specifies the Rosenblueth mode combination method. + 4 - Use area or mass weighted slave node value. - Parameters - ---------- - signif - Combine only those modes whose significance level exceeds the - SIGNIF threshold. For single point, multipoint, or DDAM response - (SPOPT, SPRS, MPRS, or DDAM), the significance level of a mode is - defined as the mode coefficient of the mode, divided by the maximum - mode coefficient of all modes. Any mode whose significance level is - less than SIGNIF is considered insignificant and does not - contribute to the mode combinations. The higher the SIGNIF - threshold, the fewer the number of modes combined. SIGNIF defaults - to 0.001. If SIGNIF is specified as 0.0, it is taken as 0.0. + 5 - Use slave node value inversely proportional to shell thickness. (This may + require special scaling and is not generally recommended.) - label - Label identifying the combined mode solution output. + stcc + Shell thickness change option for single surface contact: - DISP - Displacement solution (default). Displacements, stresses, forces, etc., are - available. + 1 - Shell thickness changes are not considered (default). - VELO - Velocity solution. Velocities, "stress velocities," "force velocities," etc., - are available. + 2 - Shell thickness changes are included. - ACEL - Acceleration solution. Accelerations, "stress accelerations," "force - accelerations," etc. are available. + orie + Option for automatic reorientation of contact surface segments + during initialization: - td - Time duration for earthquake or shock spectrum. TD defaults to 10. + 1 - Activate for automated (part ID) input only (default). - forcetype - Label identifying the forces to be combined: + 2 - Activate for manual (nodal component) and automated (part ID) input. - STATIC - Combine the modal static forces (default). + 3 - Do not activate. - TOTAL - Combine the modal static plus inertial forces. + cspc + Contact surface penetration check multiplier, used if small + penetration checking is on (PENCHK = 1 or 2). Defaults to 4. + + penchk + Small penetration check, used only for contact types STS, NTS, + OSTS, TNTS, and TSTS. If the contact surface node penetrates more + than the target thickness times CSPC, the penetration is ignored + and the contacting node is set free. The target thickness is the + element thickness for shell elements, or 1/20 of the shortest + diagonal for solid elements. + + 0 - Penetration checking is off (default). + + 1 - Penetration checking is on. + + 2 - Penetration checking is on, but shortest diagonal is used. Notes ----- - For more information on spectrum analysis combination methods, see - Combination of Modes + The thickness offsets are always included in single surface, automatic + surface-to-surface, and automatic nodes-to-surface contact. The shell + thickness change option must be used [EDSHELL,,,1] and a nonzero value + must be specified for SHTK before the shell thickness changes can be + included in the surface-to-surface contact type. Additionally, STCC + must be set to 2 if thickness changes are to be included in the single + surface contact algorithms. - This command is also valid in PREP7. + To reset the contact options to default values, issue the EDCONTACT + command with no fields specified. + + This command is also valid in SOLUTION. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "ROSE, %s, %s, %s, %s" % (str(signif), str(label), str(td), str(forcetype)) + command = "EDCONTACT,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(sfsi), str(rwpn), str(ipck), str(shtk), str(peno), str(stcc), str(orie), str(cspc), str(penchk)) self.RunCommand(command, **kwargs) - def Vsymm(self, ncomp="", nv1="", nv2="", ninc="", kinc="", noelem="", - imove="", **kwargs): + def Filldata(self, ir="", lstrt="", lstop="", linc="", value="", dval="", + **kwargs): """ - APDL Command: VSYMM + APDL Command: FILLDATA - Generates volumes from a volume pattern by symmetry reflection. + Fills a variable by a ramp function. Parameters ---------- - ncomp - Symmetry key: - - X - X symmetry (default). - - Y - Y symmetry. - - Z - Z symmetry. - - nv1, nv2, ninc - Reflect volumes from pattern beginning with NV1 to NV2 (defaults to - NV1) in steps of NINC (defaults to 1). If NV1 = ALL, NV2 and NINC - are ignored and the pattern is all selected volumes [VSEL]. If NV1 - = 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 NV1 (NV2 and NINC are ignored). - - kinc - Keypoint increment between sets. If zero, the lowest available - keypoint numbers are assigned [NUMSTR]. - - noelem - Specifies whether nodes and elements are also to be generated: + ir + Define data table as variable IR (2 to NV [NUMVAR]). - 0 - Generate nodes and elements associated with the original volumes, if they - exist. + lstrt + Start at location LSTRT (defaults to 1). - 1 - Do not generate nodes and elements. + lstop + Stop at location LSTOP (defaults to maximum location as determined + from data previously stored. - imove - Specifies whether volumes will be moved or newly defined: + linc + Fill every LINC location between LSTRT and LSTOP (defaults to 1). - 0 - Generate additional volumes. + value + Value assigned to location LSTRT. - 1 - Move original volumes to new position retaining the same keypoint numbers (KINC - and NOELEM are ignored). Corresponding meshed items are also - moved if not needed at their original position. + dval + Increment value of previous filled location by DVAL and assign sum + to next location to be filled (may be positive or negative.) Notes ----- - Generates a reflected set of volumes (and their corresponding - keypoints, lines, areas and mesh) from a given volume pattern by a - symmetry reflection (see analogous node symmetry command, NSYM). The - MAT, TYPE, REAL, and ESYS attributes are based upon the volumes in the - pattern and not upon the current settings. Reflection is done in the - active coordinate system by changing a particular coordinate sign. The - active coordinate system must be a Cartesian system. Volumes in the - pattern may have been generated in any coordinate system. However, - solid modeling in a toroidal coordinate system is not recommended. - Volumes are generated as described in the VGEN command. - - See the ESYM command for additional information about symmetry - elements. + Locations may be filled continuously or at regular intervals (LINC). + Previously defined data at a location will be overwritten. """ - command = "VSYMM, %s, %s, %s, %s, %s, %s, %s" % (str(ncomp), str(nv1), str(nv2), str(ninc), str(kinc), str(noelem), str(imove)) + command = "FILLDATA,%s,%s,%s,%s,%s,%s" % (str(ir), str(lstrt), str(lstop), str(linc), str(value), str(dval)) self.RunCommand(command, **kwargs) - def Lines(self, n="", **kwargs): + def Undo(self, kywrd="", **kwargs): """ - APDL Command: LINES + APDL Command: UNDO - Specifies the length of a printed page. + Allows the user to modify or save commands issued since the last RESUME + or SAVE command. Parameters ---------- - n - Number of lines per page (defaults to 20). (Minimum allowed = 11). + kywrd + + + NEW - Create an editable GUI window that allows the user to alter the commands issued + since the most recent SAVE or RESUME operations (GUI only). Notes ----- - Specifies the length of a printed page (for use in reports, etc.). + The UNDO command brings up the session editor, a text window that + displays all of the program operations since the last SAVE or RESUME + command. You can modify command parameters, delete whole sections of + text and even save a portion of the command string to a separate file. + The file is named jobname000.cmds, with each subsequent save operation + incrementing the filename by one digit. + + Note:: : The session editor file can be changed only by the session + editor. If you rename your database file outside of ANSYS and then + resume that database, the session editor will display the old filename. + + For more information on the session editor, see Using the Session + Editor in the Operations Guide. """ - command = "LINES, %s" % (str(n)) + command = "UNDO,%s" % (str(kywrd)) self.RunCommand(command, **kwargs) - def Geom(self, k2d="", ndiv="", **kwargs): + def Smcons(self, **kwargs): """ - APDL Command: GEOM - - Defines the geometry specifications for the radiation matrix - calculation. - - Parameters - ---------- - k2d - Dimensionality key: + APDL Command: SMCONS - 0 - 3-D geometry (default) + Specifies "Constraints on the solid model" as the subsequent status + topic. - 1 - 2-D geometry (plane or axisymmetric) + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - ndiv - Number of divisions in an axisymmetric model. Used only with K2D = - 1. Defaults to 0 (2-D plane). The 2-D model is internally - expanded to a 3-D model based on the number of divisions specified - (6   NDIV   90). For example, NDIV of 6 is internally represented - by six 60° sections. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "GEOM, %s, %s" % (str(k2d), str(ndiv)) + command = "SMCONS," % () self.RunCommand(command, **kwargs) - def Edcmore(self, option="", num="", val1="", val2="", **kwargs): + def Gmatrix(self, symfac="", condname="", numcond="", matrixname="", + **kwargs): """ - APDL Command: EDCMORE + APDL Command: GMATRIX - Specifies additional contact parameters for a given contact definition - in an explicit dynamic analysis. + Performs electric field solutions and calculates the self and mutual + conductance between multiple conductors. Parameters ---------- - option - Label identifying the option to be performed. - - ADD - Define contact parameters for the contact entity specified by NUM (default). + symfac + Geometric symmetry factor. Conductance values are scaled by this + factor which represents the fraction of the total device modeled. + Defaults to 1. - DELE - Delete contact parameters (VAL1 and VAL2) for the contact entity specified by - NUM. If NUM = ALL, all contact parameters previously defined - by EDCMORE are deleted. + condname + Alphanumeric prefix identifier used in defining named conductor + components. - num - Contact entity number. This contact entity must have been - previously defined with the EDCGEN command. Use EDCLIST to obtain a - list of contact entity numbers. + numcond + Total number of components. If a ground is modeled, it is to be + included as a component. -- Unused field. - val1 - Penalty scale factor for slave (contact) surface (SFS); default = - 1. - - val2 - Penalty scale factor for master (target) surface (SFM); default = - 1. + matrixname + Array name for computed conductance matrix. Defaults to GMATRIX. Notes ----- - You can use the EDCMORE command to specify two additional contact - parameters (SFS and SFM) for a specific contact definition. These - parameters will apply only to the contact entity number entered on the - NUM field. Use the EDCLIST command to obtain a list of contact - definitions and their corresponding contact entity numbers. The listing - produced by EDCLIST will include any contact parameters specified with - the EDCMORE command. + To invoke the GMATRIX macro, the exterior nodes of each conductor must + be grouped into individual components using the CM command. Each set + of independent components is assigned a component name with a common + prefix followed by the conductor number. A conductor system with a + ground must also include the ground nodes as a component. The ground + component is numbered last in the component name sequence. - When you use the EDDC command to delete a contact definition, any - parameters you specified with EDCMORE for that contact definition will - also be deleted. To delete only the parameters specified by EDCMORE for - a given contact definition, use the command EDCMORE,DELE,NUM. + A ground conductance matrix relates current to a voltage vector. A + ground matrix cannot be applied to a circuit modeler. The lumped + conductance matrix is a combination of lumped "arrangements" of + voltage differences between conductors. Use the lumped conductance + terms in a circuit modeler to represent conductances between + conductors. - Note:: : When you delete a contact definition with the EDDC command, - the contact entity numbers will be renumbered for the remaining contact - definitions. Therefore, you should always issue EDCLIST to obtain a - current list of contact entity numbers before adding or deleting - contact parameters with the EDCMORE command. + Enclose all name-strings in single quotes in the GMATRIX command line. - The EDCMORE command is also valid in SOLUTION. + GMATRIX works with the following elements: + + SOLID5 (KEYOPT(1) = 9) + + SOLID98 (KEYOPT(1) = 9) + + LINK68 + + PLANE230 + + SOLID231 + + SOLID232 + + This command is available from the menu path shown below only if + existing results are available. + + This command does not support multiframe restarts Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "EDCMORE, %s, %s, %s, %s" % (str(option), str(num), str(val1), str(val2)) + command = "GMATRIX,%s,%s,%s,%s" % (str(symfac), str(condname), str(numcond), str(matrixname)) self.RunCommand(command, **kwargs) - def Aoffst(self, narea="", dist="", kinc="", **kwargs): + def Tb(self, lab="", mat="", ntemp="", npts="", tbopt="", eosopt="", + funcname="", **kwargs): """ - APDL Command: AOFFST + APDL Command: TB - Generates an area, offset from a given area. + Activates a data table for material properties or special element + input. Parameters ---------- - narea - Area from which generated area is to be offset. If NAREA = ALL, - offset from all selected areas [ASEL]. If NAREA = P, graphical - picking is enabled and all remaining arguments are ignored (valid - only in the GUI). + lab + Material model data table type: - dist - Distance normal to given area at which keypoints for generated area - are to be located. Positive normal is determined from the right- - hand-rule keypoint order. + AFDM - Acoustic frequency-dependent material. - kinc - Keypoint increment between areas. If zero, the lowest available - keypoint numbers are assigned [NUMSTR]. + AHYPER - Anisotropic hyperelasticity. - Notes - ----- - Generates an area (and its corresponding keypoints and lines) offset - from a given area. The direction of the offset varies with the given - area normal. End slopes of the generated lines remain the same as - those of the given pattern. Area and line numbers are automatically - assigned, beginning with the lowest available values [NUMSTR]. + ANEL - Anisotropic elasticity. - """ - command = "AOFFST, %s, %s, %s" % (str(narea), str(dist), str(kinc)) - self.RunCommand(command, **kwargs) + ANISO - Anisotropic plasticity. - def File(self, fname="", ext="", **kwargs): - """ - APDL Command: FILE + BB - Bergstrom-Boyce. - Specifies the data file where results are to be found. + BH - Magnetic field data. - Parameters - ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + BISO - Bilinear isotropic hardening using von Mises or Hill plasticity. - ext - Filename extension (eight-character maximum). + BKIN - Bilinear kinematic hardening using von Mises or Hill plasticity. - -- - Unused field. + CAST - Cast iron. - Notes - ----- - Specifies the ANSYS data file where the results are to be found for - postprocessing. + CDM - Mullins effect (for isotropic hyperelasticity models). - """ - command = "FILE, %s, %s" % (str(fname), str(ext)) - self.RunCommand(command, **kwargs) + CGCR - Fracture criterion for crack-growth simulation (CGROW). - def Edenergy(self, hgen="", swen="", sien="", rlen="", **kwargs): - """ - APDL Command: EDENERGY + CHABOCHE - Chaboche nonlinear kinematic hardening using von Mises or Hill plasticity. - Specifies energy dissipation controls for an explicit dynamics - analysis. + COMP - Composite damage (explicit dynamic analysis). - Parameters - ---------- - hgen - Hourglass energy control key: + CONCR - Concrete element data. - OFF or 0 - Hourglass energy is not computed. + CREEP - Creep. Pure creep, creep with isotropic hardening plasticity, or creep with + kinematic hardening plasticity using both von Mises or Hill + potentials. - ON or 1 - Hourglass energy is computed and included in the energy balance (default). + CTE - Secant coefficient of thermal expansion. - swen - Stonewall energy dissipation control key: + CZM - Cohesive zone. - OFF or 0 - Stonewall energy dissipation is not computed. + DISCRETE - Explicit spring-damper (discrete). + + DMGE - Damage evolution law. + + DMGI - Damage initiation criteria. + + DP - Classic Drucker-Prager plasticity. + + DPER - Anisotropic electric permittivity. + + EDP - Extended Drucker-Prager (for granular materials such as rock, concrete, soil, + ceramics and other pressure-dependent materials). + + ELASTIC - Elasticity. For full harmonic analyses, properties can be defined as frequency- + or temperature-dependent (TBFIELD). + + EOS - Equation of state (explicit dynamic analysis). + + EVISC - Viscoelastic element data (explicit dynamic analysis). + + EXPE - Experimental data. + + FCON - Fluid conductance data (explicit dynamic analysis). + + FCLI - Material strength limits for calculating failure criteria. + + FLUID - Fluid. + + FOAM - Foam (explicit dynamic analysis). + + FRIC - Coefficient of friction based on Coulomb's Law or user-defined friction. + + GASKET - Gasket. + + GCAP - Geological cap (explicit dynamic analysis). + + GURSON - Gurson pressure-dependent plasticity for porous metals. - ON or 1 - Stonewall energy dissipation is computed and included in the energy balance - (default). + HFLM - Film coefficient data. - sien - Sliding interface energy dissipation control key: + HILL - Hill anisotropy. When combined with other material options, simulates + plasticity, viscoplasticity, and creep -- all with the Hill + potential. - OFF or 0 - Sliding interface energy dissipation is not computed. + HONEY - Honeycomb (explicit dynamic analysis). - ON or 1 - Sliding interface energy dissipation is computed and included in the energy - balance (default). + HYPER - Hyperelasticity material models (Arruda-Boyce, Blatz-Ko, Extended Tube, Gent, + Mooney-Rivlin [default], Neo-Hookean, Ogden, Ogden Foam, + Polynomial Form, Response Function, Yeoh, and user- + defined). - rlen - Rayleigh (damping) energy dissipation control key: + INTER - Contact interaction. - OFF or 0 - Rayleigh energy dissipation is not computed. + JOIN - Joint (linear and nonlinear elastic stiffness, linear and nonlinear damping, + and frictional behavior). - ON or 1 - Rayleigh energy dissipation is computed and included in the energy balance - (default). + KINH - Multilinear kinematic hardening using von Mises or Hill plasticity. - Notes - ----- - This command is also valid in PREP7. + MELAS - Multilinear elasticity. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + MISO - Multilinear isotropic hardening using von Mises or Hill plasticity. - """ - command = "EDENERGY, %s, %s, %s, %s" % (str(hgen), str(swen), str(sien), str(rlen)) - self.RunCommand(command, **kwargs) + MKIN - Multilinear kinematic hardening using von Mises or Hill plasticity. - def Seclock(self, dof1="", minvalue1="", maxvalue1="", dof2="", - minvalue2="", maxvalue2="", dof3="", minvalue3="", - maxvalue3="", **kwargs): - """ - APDL Command: SECLOCK + MOONEY - Mooney-Rivlin hyperelasticity (explicit dynamic analysis). - Specifies locks on the components of relative motion in a joint - element. + MPLANE - Microplane. - Parameters - ---------- - dof - Local degree of freedom to be locked. + NLISO - Voce isotropic hardening law (or power law) for modeling nonlinear isotropic + hardening using von Mises or Hill plasticity. - minvalue - Low end of the range of allowed movement for the specified DOF. + PERF - Equivalent fluid model of perforated media. - maxvalue - High end of the range of allowed movement for the specified DOF. + PIEZ - Piezoelectric matrix. - Notes - ----- - Specify up to three DOFs to be locked. Locks are activated when the - limit values are reached, and further motion in that DOF is frozen. If - necessary, you may repeat the command. + PLASTIC - Nonlinear plasticity. - """ - command = "SECLOCK, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(dof1), str(minvalue1), str(maxvalue1), str(dof2), str(minvalue2), str(maxvalue2), str(dof3), str(minvalue3), str(maxvalue3)) - self.RunCommand(command, **kwargs) + PLAW - Plasticity laws (explicit dynamic analysis). - def Swgen(self, ecomp="", swrd="", ncm1="", ncm2="", snd1="", snd2="", - shrd="", dirx="", diry="", dirz="", itty="", icty="", **kwargs): - """ - APDL Command: SWGEN + PM - Porous Media. Coupled pore-fluid diffusion and structural model of porous + media. - Creates a new spot weld set. + PRONY - Prony series constants for viscoelastic materials. - Parameters - ---------- - ecomp - Name to identify the new spot weld. This name will be used for the - element component containing the new contact, target, and beam - elements generated for the spot weld set. + PZRS - Piezoresistivity. - swrd - Spot weld radius. + RATE - Rate-dependent plasticity (viscoplasticity) when combined with the BISO, MISO, + NLISO or PLASTIC material options, or rate-dependent + anisotropic plasticity (anisotropic viscoplasticity) when + combined with the HILL and BISO, MISO, NLISO or PLASTIC + material options. - ncm1 - Name of a component containing nodes on the first spot weld - surface, or a meshed area number for the surface. + The exponential visco-hardening option includes an explicit function for directly defining static yield stresses of materials. - The Anand unified plasticity option requires no combination with other material + models. - ncm2 - Name of a component containing nodes on the second spot weld - surface, or a meshed area number for the surface. + SDAMP - Material damping coefficients. - snd1 - Node number of the first spot weld node corresponding to the first - surface (NCM1). This node can be on or close to the first surface. + SHIFT - Shift function for viscoelastic materials. - snd2 - Node number of the second spot weld node corresponding to the - second surface (NCM2). This node can be on or close to the second - surface. ANSYS will create the node if it is not specified. + SMA - Shape memory alloy for simulating hysteresis superelastic behavior with no + performance degradation. Plane stress is not supported. - shrd - Search radius. Defaults to 4 times the spot weld radius SWRD. + STATE - User-defined state variables. Valid with TB,USER and used with either the + UserMat or UserMatTh subroutine. Also valid with TB,CREEP + (when TBOPT = 100) and used with the UserCreep subroutine. - dirx, diry, dirz - Spot weld projection direction in terms of normal X, Y, and Z - components. + SWELL - Swelling strain function. - itty - Target element type ID. + UNIAXIAL - Uniaxial stress-strain relation associated with the Cast iron material model. - icty - Contact element type ID. + USER - User-defined material model (general-purpose except for incompressible material + models) or thermal material model. - Notes - ----- - This command creates a new spot weld set. You can add more surfaces to - the set using SWADD after the initial SWGEN command. However, the - maximum number of allowable surfaces (including the 2 surfaces used for - the original set) for each spot weld set is 11. + WEAR - Contact surface wear. - Ecomp, SWRD, NCM1, NCM2, and SND1 must be specified. SND2, SHRD, DIRX, - DIRY, DIRZ, ITTY, ICTY are optional inputs. If the second spot weld - node (SND2) is specified, that node is used to determine the spot weld - projection direction, andDIRX, DIRY and DIRZ are ignored. + mat + Material reference number. The default value is 1. - If ITTY is specified, the following corresponding target element key - option must be set: KEYOPT(5) = 4. If ICTY is specified, the following - corresponding contact element key options must be set: KEYOPT(2) = 2, - KEYOPT(12) = 5. + ntemp + The number of temperatures for which data will be provided (if + applicable). Specify temperatures via the TBTEMP command. - Use the SWLIST and SWDEL commands to list or delete spot welds. See - Creating a Basic Spot Weld Set with SWGEN for detailed information on - defining spot welds. + npts + For most labels where NPTS is defined, the number of data points to + be specified for a given temperature. Define data points via the + TBDATA or TBPT commands. - """ - command = "SWGEN, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(ecomp), str(swrd), str(ncm1), str(ncm2), str(snd1), str(snd2), str(shrd), str(dirx), str(diry), str(dirz), str(itty), str(icty)) - self.RunCommand(command, **kwargs) + eosopt + Indicates which equation of state model will be used. Used only + for explicit dynamics, and only when Lab = EOS. - def Fj(self, elem="", label="", value="", **kwargs): - """ - APDL Command: FJ + 1 - Linear polynomial equation of state - Specify forces or moments on the components of the relative motion of a - joint element. + 2 - Gruneisen equation of state - Parameters - ---------- - elem - Element number or ALL to specify all joint elements. + 3 - Tabulated equation of state - label - Valid labels: + funcname + The name of the function to be used (entered as %tabname%, where + tabname is the name of the table created by the Function Tool). + Valid only when Lab = JOIN (joint element material) and nonlinear + stiffness or damping are specified on the TBOPT field (see Joint + Element Specifications (JOINT)). The function must be previously + defined using the Function Tool. To learn more about how to create + a function, see Using the Function Tool in the Basic Analysis + Guide. - FX - Force in local x direction. + Notes + ----- + TB activates a data table to be used with subsequent TBDATA or TBPT + commands. The table space is initialized to zero values. Data from + this table are used for certain nonlinear material descriptions as well + as for special input for some elements. - FY - Force in local y direction. + For a list of elements supporting each material model (Lab value), see + Material Model Element Support in the Material Reference. - FZ - Force in local z direction. + For a description of the material model table types (TB command Lab + values), see Material Models in the Mechanical APDL Material Reference. - MX - Moment about local x axis. + For a description of data table input required for explicit dynamic + materials, see Material Models in the ANSYS LS-DYNA User's Guide. - MY - Moment about local y axis. + For information about linear material property input, see the MP + command. - MZ - Moment about local z axis. + The relationship between SDAMP, DMPSTR, MP,DMPR, and MP,BETD is as + follows: - value - Value of the label. + Where s is the damping value specified via TB,SDAMP and f is the + corresponding frequency. - Notes - ----- - Valid for MPC184 (joint options in KEYOPT(1)). + This command is also valid in SOLUTION. - See FJDELE for information on deleting forces and moments. + ANSYS Professional NLS supports this command for the coefficient of + friction material model data type (TB,FRIC). """ - command = "FJ, %s, %s, %s" % (str(elem), str(label), str(value)) + command = "TB,%s,%s,%s,%s,%s,%s,%s" % (str(lab), str(mat), str(ntemp), str(npts), str(tbopt), str(eosopt), str(funcname)) self.RunCommand(command, **kwargs) - def Aux3(self, **kwargs): + def Gresume(self, fname="", ext="", **kwargs): """ - APDL Command: /AUX3 + APDL Command: /GRESUME - Enters the results file editing processor. + Sets graphics settings to the settings on a file. + + Parameters + ---------- + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. + + ext + Filename extension (eight-character maximum). + + -- + Unused field. Notes ----- - Enters the results file editing processor (ANSYS auxiliary processor - AUX3). This processor is used to edit ANSYS results files. + Causes a file to be read to reset the graphics slash (/) commands as + they were at the last /GSAVE command. - This command is valid only at the Begin Level. + This command is valid in any processor. """ - command = "/AUX3, " % () + command = "/GRESUME,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Config(self, lab="", value="", **kwargs): + def Vcum(self, key="", **kwargs): """ - APDL Command: /CONFIG + APDL Command: *VCUM - Assigns values to ANSYS configuration parameters. + Allows array parameter results to add to existing results. Parameters ---------- - lab - Configuration parameter to be changed: - - NORSTGM - Option to write or not write geometry data to the results file. VALUE is either - 0 (write geometry data) or 1 (do not write geometry - data). Useful when complex analyses will create - abnormally large files. Default is 0. - - NBUF - VALUE is the number of buffers (1 to 32) per file in the solver. Defaults to - 4. + key + Accumulation key: - LOCFL - File open and close actions. For VALUE use: 0 for global (default); 1 for - local. Applicable to File.EROT, File.ESAV, and File.EMAT. - Typically used for large problems where locally closed - files may be deleted earlier in the run with the /FDELE - command. + Overwrite results. - Add results to the current value of the results parameter. - SZBIO - VALUE is the record size (1024 to 4194304) of binary files (in integer words). - Defaults to 16384 (system dependent). + Notes + ----- + Allows results from certain *VXX and *MXX operations to overwrite or + add to existing results. The cumulative operation is of the form: - ORDER - Automatic reordering scheme. For VALUE use: 0 for WSORT,ALL; 1 for WAVES; 2 - for both WSORT,ALL and WAVES (default). + ParR = ParR + ParR(Previous) - FSPLIT - Defines split points for binary files. VALUE is the file split point in - megawords and defaults to the maximum file size for the - system. + The cumulative setting is reset to the default (overwrite) after each + *VXX or *MXX operation. Use *VSTAT to list settings. - MXND - Maximum number of nodes. If not specified, defaults to 100 at first encounter. - Dynamically expanded by doubling, even at first encounter, - when maximum is exceeded. + This command is valid in any processor. - MXEL - Maximum number of elements. Default and expansion as for MXND. + """ + command = "*VCUM,%s" % (str(key)) + self.RunCommand(command, **kwargs) - MXKP - Maximum number of keypoints. Default and expansion as for MXND. + def Etlist(self, ityp1="", ityp2="", inc="", **kwargs): + """ + APDL Command: ETLIST - MXLS - Maximum number of lines. Default and expansion as for MXND. + Lists currently defined element types. - MXAR - Maximum number of areas. Default and expansion as for MXND. + Parameters + ---------- + ityp1, ityp2, inc + Lists element types from ITYP1 to ITYP2 (defaults to ITYP1) in + steps of INC (defaults to 1). If ITYP1 = ALL (default), ITYP2 and + INC are ignored and all element types are listed. - MXVL - Maximum number of volumes. Default and expansion as for MXND. + Notes + ----- + This command is valid in any processor. - MXRL - Maximum number of sets of real constants (element attributes). Default and - expansion as for MXND. + """ + command = "ETLIST,%s,%s,%s" % (str(ityp1), str(ityp2), str(inc)) + self.RunCommand(command, **kwargs) - MXCP - Maximum number of sets of coupled degrees of freedom. Default and expansion as - for MXND. + def Wplane(self, wn="", xorig="", yorig="", zorig="", xxax="", yxax="", + zxax="", xplan="", yplan="", zplan="", **kwargs): + """ + APDL Command: WPLANE - MXCE - Maximum number of constraint equations. Default and expansion as for MXND. + Defines a working plane to assist in picking operations. - NOELDB - Option to write or not write results into the database after a solution. When - VALUE = 0 (default), write results into the database. - When VALUE = 1, do not write results into the database. + Parameters + ---------- + wn + Window number whose viewing direction will be modified to be normal + to the working plane (defaults to 1). If WN is a negative value, + the viewing direction will not be modified. If fewer than three + points are used, the viewing direction of window WN will be used + instead to define the normal to the working plane. - DYNA_DBL - Option to invoke the double precision version of the explicit dynamics solver - LS-DYNA. When VALUE = 0 (default), the single precision - version is used. When VALUE = 1, the double precision - version is used. + xorig, yorig, zorig + Global Cartesian coordinates of the origin of the working plane + coordinate system. - STAT - Displays current values set by the /CONFIG command. + xxax, yxax, zxax + Global Cartesian coordinates of a point defining the x-axis + orientation. The x-axis aligns with the projection of the line + from this orientation point to the origin. - value - Value (an integer number) assigned to the configuration parameter. + xplan, yplan, zplan + Global Cartesian coordinates of the third point defining the + working plane. This point will also define the location of the + positive XY-sector of the working plane coordinate system. Notes ----- - All configuration parameters have initial defaults, which in most cases - do not need to be changed. Where a specially configured version of the - ANSYS program is desired, the parameters may be changed with this - command. Issue /CONFIG,STAT to display current values. Changes must - be defined before the parameter is required. These changes (and - others) may also be incorporated into the config162.ans file which is - read upon execution of the program (see The Configuration File in the - Basic Analysis Guide). If the same configuration parameter appears in - both the configuration file and this command, this command overrides. - - Distributed ANSYS uses the default FSPLIT value, and forces NOELDB = 1 - and NORSTGM = 0 for all results files. The FSPLIT, NOELDB, and NORSTGM - options cannot be changed when using Distributed ANSYS. - - The /CONFIG command is not valid for the ANSYS Multiphysics 1, 2, or 3 - products. + Defines a working plane to assist in picking operations using the + coordinates of three noncolinear points. The three points also define + the working plane coordinate system. A minimum of one point (the + working plane origin) is required. Immediate mode may also be active. + See WPSTYL command to set the style of working plane display. - The ANSYS Multi-field solver (MFS and MFX) does not support - /CONFIG,NOELDB,1. The ANSYS Multi-field solver needs the updated ANSYS - database. + This command is valid in any processor. """ - command = "/CONFIG, %s, %s" % (str(lab), str(value)) + command = "WPLANE,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(wn), str(xorig), str(yorig), str(zorig), str(xxax), str(yxax), str(zxax), str(xplan), str(yplan), str(zplan)) self.RunCommand(command, **kwargs) - def Triad(self, lab="", **kwargs): + def Rmresume(self, fname="", ext="", **kwargs): """ - APDL Command: /TRIAD + APDL Command: RMRESUME - Shows the global XYZ coordinate triad on displays. + Resumes ROM data from a file. Parameters ---------- - lab - Display triad as follows: - - ORIG - Display triad at global origin (default). - - OFF - Turn off triad display. - - LBOT - Display triad in lower left screen corner. - - RBOT - Display triad in lower right screen corner. + fname + Name and directory path of the ROM database file (248 character + maximum). Default to Jobname. - LTOP - Display triad in upper left screen corner. + ext + Extension of the ROM database file. Default to .rom. - RTOP - Display triad in upper right screen corner. + -- + Unused field. Notes ----- - For efficiency, ANSYS 3-D graphics logic maintains a single data - structure (segment), which includes the triad as a 3-D data object. If - a 3-D device is involved (/SHOW,3D), and the ANSYS graphics are not - being displayed as multi-plots, then the triad location is determined - by the view settings for Window #1. A request for triad display - anywhere except for the origin could yield an improper display in - windows 2 through 5. The program displays the same segment in all - windows. The view settings of each window constitute the only - difference in the display in the active windows. - - This command is valid in any processor. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/TRIAD, %s" % (str(lab)) + command = "RMRESUME,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Oclist(self, datatype="", zonename="", **kwargs): + def Arctrm(self, lab="", val="", node="", dof="", **kwargs): """ - APDL Command: OCLIST + APDL Command: ARCTRM - Summarizes all currently defined ocean loads. + Controls termination of the solution when the arc-length method is + used. Parameters ---------- - datatype - Ocean data type to list. Valid values are BASIC, CURRENT, WAVE, - ZONE, and ALL. + lab + Specifies the basis of solution termination: - zonename - The name of an ocean zone to list. If no name is specified, all - defined ocean zones are listed. Valid only when DataType = ZONE. + OFF - Does not use ARCTRM to terminate analysis (default). + + L - Terminates the analysis if the first limit point has been reached. The first + limit point is that point in the response history when the + tangent stiffness matrix becomes singular (i.e., the point at + which the structure becomes unstable). If Lab = L, arguments + VAL, NODE, DOF are ignored. + + U - Terminates the analysis when the displacement first equals or exceeds the + maximum desired value. + + val + Maximum desired displacement (absolute value). Valid only if Lab = + U. The analysis terminates whenever the calculated displacement + first equals or exceeds this value. For rotational degrees of + freedom, VAL must be in radians (not degrees). + + node + Node number corresponding to displacement used to compare with + displacement specified by VAL. If blank, the maximum displacement + will be used. Valid only if Lab = U. + + dof + Valid degree of freedom label for nodal displacement specified by + NODE. Valid labels are UX, UY, UZ, ROTX, ROTY, ROTZ. Valid only + if NODE>0 and Lab = U. Notes ----- - The OCLIST command summarizes the ocean properties for all defined - ocean loads in the current session. - - When this command follows the SOLVE command, certain waves types also - list the calculated wave length. + The ARCTRM command is valid only when the arc-length method (ARCLEN,ON) + is used. - This command is also valid in PREP7. + It can be convenient to use this command to terminate the analysis when + the first limit point is reached. In addition, the NCNV command should + be used to limit the maximum number of iterations. If the ARCTRM + command is not used, and the applied load is so large that the solution + path can never reach that load, the arc-length solution will continue + to run until a CPU time limit or a "maximum number of iterations" is + reached. """ - command = "OCLIST, %s, %s" % (str(datatype), str(zonename)) + command = "ARCTRM,%s,%s,%s,%s" % (str(lab), str(val), str(node), str(dof)) self.RunCommand(command, **kwargs) - def Plgeom(self, item="", nodekey="", **kwargs): + def Igesout(self, fname="", ext="", att="", **kwargs): """ - APDL Command: PLGEOM + APDL Command: IGESOUT - Plots target and source geometries. + Writes solid model data to a file in IGES Version 5.1 format. Parameters ---------- - item - Items to plot: + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - BOTH - Plot both target and source geometries (default). + ext + Filename extension (eight-character maximum). - TARGET - Plot only the target geometry. + -- + Unused field. - SOURCE - Plot only the source geometry. + att + Attribute key: - nodekey - If the source data contains faces (that is, surface elements were - created upon the READ command), set NODEkey = 1 to plot only the - source nodes rather than both the nodes and the elements. + 0 - Do not write assigned numbers and attributes of the solid model entities to the + IGES file (default). + + 1 - Write assigned numbers and attributes of solid model entities (keypoints, + lines, areas, volumes) to the IGES file. Attributes include + MAT, TYPE, REAL, and ESYS specifications as well as associated + solid model loads and meshing (keypoint element size, number of + line divisions and spacing ratio) specifications. Notes ----- - Target faces are displayed in gray and source points in yellow. If the - source data contains faces (that is, surface elements were created upon - the READ command), the source faces are also displayed in blue (unless - NODEkey = 1), and both surfaces are made translucent. + Causes the selected solid model data to be written to a coded file in + the IGES Version 5.1 format. Previous data on this file, if any, are + overwritten. Keypoints that are not attached to any line are written + to the output file as IGES entity 116 (Point). Lines that are not + attached to any area are written to the output file as either IGES + Entity 100 (Circular Arc), 110 (Line), or 126 (Rational B-Spline Curve) + depending upon whether the ANSYS entity was defined as an arc, straight + line, or spline. Areas are written to the output file as IGES Entity + 144 (Trimmed Parametric Surface). Volumes are written to the output + file as IGES entity 186 (Manifold Solid B-Rep Object). Solid model + entities to be written must have all corresponding lower level entities + selected (use ALLSEL,BELOW,ALL) before issuing command. Concatenated + lines and areas are not written to the IGES file; however, the entities + that make up these concatenated entities are written. + + Caution:: : Section properties assigned to areas, lines and other solid + model entities will not be maintained when the model is exported using + IGESOUT. + + If you issue the IGESOUT command after generating a beam mesh with + orientation nodes, the orientation keypoints that were specified for + the line (LATT) are no longer associated with the line and are not + written out to the IGES file. The line does not recognize that + orientation keypoints were ever assigned to it, and the orientation + keypoints do not "know" that they are orientation keypoints. Thus the + IGESOUT command does not support (for beam meshing) any line operation + that relies on solid model associativity. For example, meshing the + areas adjacent to the meshed line, plotting the line that contains the + orientation nodes, or clearing the mesh from the line that contains + orientation nodes may not work as expected. See Meshing Your Solid + Model in the Modeling and Meshing Guide for more information about beam + meshing. """ - command = "PLGEOM, %s, %s" % (str(item), str(nodekey)) + command = "IGESOUT,%s,%s,%s" % (str(fname), str(ext), str(att)) self.RunCommand(command, **kwargs) - def Nrotat(self, node1="", node2="", ninc="", **kwargs): + def Mfexter(self, fnumb1="", fnumb2="", fnumb3="", fnumb4="", fnumb5="", + fnumb6="", fnumb7="", fnumb8="", fnumb9="", fnumb10="", + fnumb11="", fnumb12="", fnumb13="", fnumb14="", fnumb15="", + fnumb16="", fnumb17="", fnumb18="", fnumb19="", fnumb20="", + **kwargs): """ - APDL Command: NROTAT + APDL Command: MFEXTER - Rotates nodal coordinate systems into the active system. + Defines external fields for an ANSYS Multi-field solver analysis. Parameters ---------- - node1, node2, ninc - Rotate nodes from NODE1 to NODE2 (defaults to NODE1) in steps of - NINC (defaults to 1). If NODE1 = ALL, NODE2 and NINC are ignored - and all selected nodes [NSEL] are rotated. 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). + fnumb1, fnumb2, fnumb3, . . . , fnumb20 + External field numbers defined by the MFELEM command. Notes ----- - Rotates nodal coordinate systems into the active coordinate system. - Nodal coordinate systems may be automatically rotated into the active - (global or local) coordinate system as follows: Rotations in Cartesian - systems will have nodal x directions rotated parallel to the Cartesian - X direction. Rotations in cylindrical, spherical or toroidal systems - will have the nodal x directions rotated parallel to the R direction. - Nodes at (or near) a zero radius location should not be rotated. Nodal - coordinate directions may be displayed [/PSYMB]. Nodal forces and - constraints will also appear rotated when displayed if the nodal - coordinate system is rotated. + This command specifies external field numbers to be used for load + transfer in an ANSYS Multi-field solver analysis. Use the MFIMPORT + command to import the external fields. - ANSYS LS-DYNA (explicit dynamics) does not support the NROTAT command. - If you have rotated nodes in the implicit phase of an implicit-to- - explicit sequential solution, you must rotate the nodes back to the - global Cartesian direction before switching from implicit to explicit - elements (ETCHG,ITE). Use the EDNROT command in the explicit run to - maintain the same displacement constraints as were used on rotated - nodes in the implicit run. + Use the MFELEM command to specify external field numbers. Use the + MFORDER command to specify the solution order for the external fields. - Note:: : When the nodal coordinate systems are defined, they remain - parallel to the global Cartesian system unless subsequently rotated. + You can define a maximum of 20 fields. - Previously specified rotations on the specified nodes are overridden. + This command is also valid in PREP7. - See the NMODIF, NANG, and NORA commands for other rotation options. + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "NROTAT, %s, %s, %s" % (str(node1), str(node2), str(ninc)) + command = "MFEXTER,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(fnumb1), str(fnumb2), str(fnumb3), str(fnumb4), str(fnumb5), str(fnumb6), str(fnumb7), str(fnumb8), str(fnumb9), str(fnumb10), str(fnumb11), str(fnumb12), str(fnumb13), str(fnumb14), str(fnumb15), str(fnumb16), str(fnumb17), str(fnumb18), str(fnumb19), str(fnumb20)) self.RunCommand(command, **kwargs) - def Slashfdele(self, ident="", stat="", **kwargs): + def Dsum(self, signif="", label="", td="", forcetype="", **kwargs): """ - APDL Command: /FDELE + APDL Command: DSUM - Deletes a binary file after it is used. + Specifies the double sum mode combination method. Parameters ---------- - ident - ANSYS file name identifier. Valid identifiers are: EMAT, ESAV, - FULL, SUB, MODE, DSUB, USUB, OSAV, and SELD. See the Basic - Analysis Guide for file descriptions. + signif + Combine only those modes whose significance level exceeds the + SIGNIF threshold. For single point, multipoint, or DDAM response + (SPOPT, SPRS, MPRS, or DDAM), the significance level of a mode is + defined as the mode coefficient of the mode, divided by the maximum + mode coefficient of all modes. Any mode whose significance level + is less than SIGNIF is considered insignificant and is not + contributed to the mode combinations. The higher the SIGNIF + threshold, the fewer the number of modes combined. SIGNIF defaults + to 0.001. If SIGNIF is specified as 0.0, it is taken as 0.0. + (This mode combination method is not valid for SPOPT, PSD.) - stat - Keep or delete key: + label + Label identifying the combined mode solution output. - KEEP - Keep this file. + DISP - Displacement solution (default). Displacements, stresses, forces, etc., are + available. - DELE - Delete (or do not write, if not necessary) this file. + VELO - Velocity solution. Velocities, "stress velocities," "force velocities," etc., + are available. - Notes - ----- - Deletes as soon as possible (or prevents writing) a binary file created - by the ANSYS program to save space. + ACEL - Acceleration solution. Accelerations, "stress accelerations," "force + accelerations," etc., are available. - Caution:: : Deleting files that are necessary for the next substep, - load step, or analysis will prevent continuation of the run. + td + Time duration for earthquake or shock spectrum. TD defaults to 10. - This command is valid only at the Begin Level. + forcetype + Label identifying the forces to be combined: + + STATIC - Combine the modal static forces (default). + + TOTAL - Combine the modal static plus inertial forces. + + Notes + ----- + This command is also valid for PREP7. """ - command = "/FDELE, %s, %s" % (str(ident), str(stat)) + command = "DSUM,%s,%s,%s,%s" % (str(signif), str(label), str(td), str(forcetype)) self.RunCommand(command, **kwargs) - def Usrelem(self, nnodes="", ndim="", keyshape="", nreal="", nsavevars="", - nrsltvar="", keyansmat="", nintpnts="", kestress="", keysym="", - **kwargs): + def Auto(self, wn="", **kwargs): """ - APDL Command: USRELEM + APDL Command: /AUTO - Specifies the characteristics of the user-defined element USER300. + Resets the focus and distance specifications to "automatically + calculated." Parameters ---------- - nnodes - The number of nodes. - - ndim - The number of dimensions (of nodal coordinates). Valid values are 2 - or 3. + wn + Window number (or ALL) to which command applies (defaults to 1). - keyshape - One of the following element shape options: + Notes + ----- + Focus point and distance will be automatically calculated during next + display. Settings may still be changed with the /FOCUS and /DIST + commands after this command has been issued. See also the /USER + command. - ANYSHAPE - Any shape (that is, no specified shape). This value is the default. (The ANSYS - MeshTool is unavailable.) + This command is valid in any processor. - POINT - Point. + """ + command = "/AUTO,%s" % (str(wn)) + self.RunCommand(command, **kwargs) - LINE - Straight line. + def Eddrelax(self, option="", nrcyck="", drtol="", dffctr="", drterm="", + tssfdr="", irelal="", edttl="", **kwargs): + """ + APDL Command: EDDRELAX - TRIAN - Triangle. + Activates initialization to a prescribed geometry or dynamic relaxation + for the explicit analysis. - QUAD - Quadrilateral. This shape can be degenerated to a triangle. + Parameters + ---------- + option + Specifies when dynamic relaxation is activated. - TET - Tetrahedron. + ANSYS - Stresses are initialized in ANSYS LS-DYNA to a prescribed geometry for small + strains, according to the solution of an ANSYS (implicit) + run. The explicit solution is based on the implicit X,Y,Z + displacements and rotations contained in the drelax file + (created with the REXPORT command). - BRICK - Brick. This shape can be degenerated to a wedge, pyramid, or tetrahedron. + DYNA - Dynamic relaxation is on. When you use this option, you can specify some or all + of the parameters NRCYCK, DRTOL, DFFCTR, DRTERM, TSSFDR, + IRELAL, and EDTTL. Any parameters that you do not specify + are set to their default values. - nreal - The number of real constants. + OFF - Turn off initialization to a prescribed geometry (Option = ANSYS) or dynamic + relaxation (Option = DYNA). - nsavevars - The number of saved variables. + nrcyck + Number of iterations between convergence checks for dynamic + relaxation option. Default = 250. - nrsltvar - The number of variables saved in results files. + drtol + Convergence tolerance for dynamic relaxation option. Default = + 0.001. - keyansmat - Key for element formulation control: + dffctr + Dynamic relaxation factor. Default = 0.995. - 0 - Create your own material codes within the element formulation. In this case, - the real constants are available to input material properties. - You can also input linear material properties via MP and MPDATA - commands . + drterm + Optional termination time for dynamic relaxation. Termination + occurs at this time, or when convergence is attained, whichever + comes first. Default = infinity. - 1 - Use ANSYS standard material routines or the USERMAT subroutine to form - structural material data. ANSYS material properties must be - input in the standard way (as you would for non-user-defined - elements). This value is invalid when KeyShape = ANYSHAPE. + tssfdr + Scale factor for computed time step during dynamic relaxation. If + zero, the value is set to TSSFAC (defined on the EDCTS command). + After converging, the scale factor is reset to TSSFAC. - nintpnts - The maximum number of integration points (used when KEYANSMAT = 1). + irelal + Automatic control for dynamic relaxation option based on algorithm + of Papadrakakis. - kestress - Key for the element stress state (used when KEYANSMAT = 1): + 0 - Not active (default). - 0 - Plane stress elements. + 1 - Active. - 1 - Axisymmetric elements. + edttl + Convergence tolerance on automatic control of dynamic relaxation + (default = 0.04). - 2 - Plane strain elements. + Notes + ----- + Use Option = ANSYS when running an implicit-to-explicit sequential + solution to initialize the structure to a static solution performed + earlier by the ANSYS implicit solver. Use Option = DYNA to perform + dynamic relaxation within the LS-DYNA program. Use Option = OFF to turn + off previously specified stress initialization or dynamic relaxation. + You must specify the Option you want; there is no default. - 3 - 3-D solid elements. + In LS-DYNA, the dynamic relaxation is performed before the regular + transient analysis. The convergence process of the dynamic relaxation + is not written to the ANSYS history file. The ANSYS results files only + include the converged result of the dynamic relaxation, which is the + result at time zero in the Jobname.HIS and Jobname.RST files. - 4 - 3-D solid-shell elements. + You can restart a dynamic relaxation analysis (EDSTART,2 or EDSTART,3) + from a previous transient analysis or a previous dynamic relaxation + analysis. In the restart, you can change or set the convergence + criteria with the EDDRELAX command. Only the load curves that are + flagged for dynamic relaxation (PHASE = 1 or 2 on EDLOAD) are applied + after restarting. If you restart the explicit portion of an implicit- + to-explicit sequential solution, you do not need to reissue the REXPORT + command because displacement information contained in the drelax file + is already included in the LS-DYNA restart file. If the dynamic + relaxation is activated from a regular transient analysis, LS-DYNA + continues the output of data to ANSYS results files. This is unlike the + dynamic relaxation phase at the beginning of the calculation for which + only the converged solution is written. - 5 - Generalized plane strain elements. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - 6 - Beam elements. + """ + command = "EDDRELAX,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(nrcyck), str(drtol), str(dffctr), str(drterm), str(tssfdr), str(irelal), str(edttl)) + self.RunCommand(command, **kwargs) - 7 - Link/truss elements. + def Opncontrol(self, lab="", value="", numstep="", **kwargs): + """ + APDL Command: OPNCONTROL - 8 - 3-D shell elements. + Sets decision parameter for automatically increasing the time step + interval. - 9 - Axisymmetric shell elements. + Parameters + ---------- + lab + DOF - keysym - Key for specifying whether element stiffness matrices are symmetric - or unsymmetric: + DOF - Degree-of-freedom label used to base a decision for increasing the time step + (substep) interval in a nonlinear or transient analysis. + The only DOF label currently supported is TEMP. - 0 - Symmetric. + OPENUPFACTOR - Factor for increasing the time step interval. Specify when AUTOTS,ON is issued + and specify a VALUE > 1.0 (up to 10.0). The default + VALUE = 1.5 (except for thermal analysis, where it + is 3.0). Generally, VALUE > 3.0 is not recommended. - 1 - Unsymmetric. + value, numstep + Two values used in the algorithm for determining if the time step + interval can be increased. Valid only when Lab = DOF. Notes ----- - The USRELEM command specifies the characteristics of the user-defined - element USER300. - - Although you can intersperse other commands as necessary for your - analysis, issue the USRELEM command as part of the following general - sequence of commands: - - Issue the ET command for element USER300, followed by the related TYPE - command. - - Issue both the USRELEM and USRDOF commands (in either order). - - Define your element using USER300. - - The number of real constants (NREAL) can refer to geometry quantities, - material quantities, or any parameters for element formulation. - - ANSYS saves variables in the .esav file to preserve element data when - you specify a positive NSAVEVARS value. When KEYANSMAT = 0, all - variables of both material and kinematic formulation are saved. When - KEYANSMAT = 1, only the variables for kinematic formulation (such as - deformation gradient tensor) are saved; in this case, the material - routine saves all necessary material data automatically. - - Element data saved in results files (NRSLTVAR) are accessible only as - nonsummable miscellaneous data. ANSYS saves stress and total strain - data for structural elements in the .rst file automatically (as it does - for equivalent variables such as thermal gradient and thermal flux in - thermal elements); therefore, NRSLTVAR does not need to include stress - and total strain data. - - To learn more about creating user-defined elements, see Creating a New - Element in the Programmer's Reference. + This command is available only for nonlinear or full transient + analysis. """ - command = "USRELEM, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nnodes), str(ndim), str(keyshape), str(nreal), str(nsavevars), str(nrsltvar), str(keyansmat), str(nintpnts), str(kestress), str(keysym)) + command = "OPNCONTROL,%s,%s,%s" % (str(lab), str(value), str(numstep)) self.RunCommand(command, **kwargs) - def Pwedge(self, xcentr="", ycentr="", xlrad="", angle1="", angle2="", - **kwargs): + def Lfsurf(self, sline="", tline="", **kwargs): """ - APDL Command: /PWEDGE + APDL Command: LFSURF - Creates an annotation wedge (GUI). + Generates surface elements overlaid on the edge of existing solid + elements and assigns the extra node as the closest fluid element node. Parameters ---------- - xcentr - Wedge X center location (-1.0 < X < 2.0). - - ycentr - Wedge Y center location (-1.0 < Y < 1.0). - - xlrad - Wedge radius length. - - angle1 - Starting angle of wedge. + sline + Component name for the surface lines of the meshed solid areas. - angle2 - Ending angle of wedge. The wedge is drawn counterclockwise from - the starting angle, ANGLE1, to the ending angle, ANGLE2. + tline + Component name for the target lines meshed with fluid elements. Notes ----- - Creates an annotation wedge to be written directly onto the display at - a specified location. This is a command generated by the Graphical - User Interface (GUI) and will appear in the log file (Jobname.LOG) if - annotation is used. This command is not intended to be typed in - directly in an ANSYS session (although it can be included in an input - file for batch input or for use with the /INPUT command). + This command macro is used to generate surface effect elements overlaid + on the surface of existing plane elements and, based on proximity, to + determine and assign the extra node for each surface element. The + underlying areas of the solid region and the fluid lines must be meshed + prior to calling this command macro. The active element type must be + SURF151 with appropriate settings for KEYOPT(4), KEYOPT(5), KEYOPT(6), + and KEYOPT(8). - All wedges are shown on subsequent displays unless the annotation is - turned off or deleted. Use the /LSPEC and the /PSPEC command to set - the attributes of the wedge. + The surface lines of the solid and the target lines of the fluid are + grouped into components and named using the CM command. The names must + be enclosed in single quotes (e.g., 'SLINE') when the LFSURF command is + manually typed in. - This command is valid in any processor. + When using the GUI method, node and element components are created + through the picking dialog boxes associated with this command. + + The macro is applicable for the SURF151 and FLUID116 element types. """ - command = "/PWEDGE, %s, %s, %s, %s, %s" % (str(xcentr), str(ycentr), str(xlrad), str(angle1), str(angle2)) + command = "LFSURF,%s,%s" % (str(sline), str(tline)) self.RunCommand(command, **kwargs) - def Dsys(self, kcn="", **kwargs): + def Andscl(self, nfram="", delay="", ncycl="", **kwargs): """ - APDL Command: DSYS + APDL Command: ANDSCL - Activates a display coordinate system for geometry listings and plots. + Produces an animated sequence of a deformed shape. Parameters ---------- - kcn - Coordinate system reference number. KCN may be 0,1,2 or any - previously defined local coordinate system number. + nfram + Number of frames captured (defaults to 5). - Notes - ----- - Boundary condition symbols, vector arrows, and element coordinate - system triads are not transformed to the display coordinate system. The - display system orientation (for the default view) is X horizontal to - the right, Y vertical upward, and Z out of the screen (normal). + delay + Time delay during animation (defaults to 0.1 seconds). - Line directions and area directions (/PSYMB,LDIR and /PSYMB,ADIR) are - not plotted for DSYS >0. + ncycl + Number of animation cycles (defaults to 5). Available in non-UI + mode only. - When you create ANSYS 3-D annotation, the coordinates are stored to the - database in the DSYS that was active at the time of creation. Changing - the DSYS does not change the annotation coordinate data in the - database. + Notes + ----- + ANDSCL involves an ANSYS macro which produces an animation of + displacement of the last plot action command (for example, PLDISP). + This command operates only on graphic display platforms supporting the + /SEG command. After executing ANDSCL, you can replay the animated + sequence by issuing the ANIM command. - This command is valid in any processor. + The command functions only in the postprocessor. """ - command = "DSYS, %s" % (str(kcn)) + command = "ANDSCL,%s,%s,%s" % (str(nfram), str(delay), str(ncycl)) self.RunCommand(command, **kwargs) - def Errang(self, emin="", emax="", einc="", **kwargs): + def Rmxport(self, **kwargs): """ - APDL Command: ERRANG - - Specifies the element range to be read from a file. + APDL Command: RMXPORT - Parameters - ---------- - emin, emax, einc - Elements with numbers from EMIN (defaults to 1) to EMAX (defaults - to 99999999) in steps of EINC (defaults to 1) will be read. + Exports ROM model to external VHDL-AMS simulator. Notes ----- - Defines the element number range to be read [EREAD] from the element - file. If a range is also implied from the NRRANG command, only those - elements satisfying both ranges will be read. + Use this command to generate all files necessary to run the ROM + analysis in an external VHDL-AMS Simulator. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. + + VHDL files: Initial.vhd, S_ams_ijk.vhd, Cxxx_ams_ijk.vhd, + transducer.vhd. """ - command = "ERRANG, %s, %s, %s" % (str(emin), str(emax), str(einc)) + command = "RMXPORT," % () self.RunCommand(command, **kwargs) - def Cp(self, nset="", lab="", node1="", node2="", node3="", node4="", - node5="", node6="", node7="", node8="", node9="", node10="", - node11="", node12="", node13="", node14="", node15="", node16="", - node17="", **kwargs): + def Sflex(self, ffax="", ffby="", ffbz="", ffto="", fftsy="", fftsz="", + **kwargs): """ - APDL Command: CP + APDL Command: SFLEX - Defines (or modifies) a set of coupled degrees of freedom. + Sets flexibility factors for the currently defined pipe element + section. Parameters ---------- - nset - Set reference number: - - n - Arbitrary set number. - - HIGH - The highest defined coupled set number will be used (default, unless Lab = - ALL). This option is useful when adding nodes to an - existing set. + ffax + Factor to increase axial flexibility. The default value is 1.0. - NEXT - The highest defined coupled set number plus one will be used (default if Lab = - ALL). This option automatically numbers coupled sets so - that existing sets are not modified. + ffby + Factor to increase bending flexibility about element y axis + (bending in the element x-z plane). The default value is 1.0. - lab - Degree of freedom label for coupled nodes (in the nodal coordinate - system). Defaults to label previously defined with NSET if set - NSET already exists. A different label redefines the previous label - associated with NSET. Valid labels are: Structural labels: UX, - UY, or UZ (displacements); ROTX, ROTY, or ROTZ (rotations) (in - radians); HDSP (hydrostatic pressure). Thermal labels: TEMP, TBOT, - TE2, TE3, . . ., TTOP (temperature). Fluid labels: PRES - (pressure); VX, VY, or VZ (velocities). Electric labels: VOLT - (voltage); EMF (electromotive force drop); CURR (current). - Magnetic labels: MAG (scalar magnetic potential); AX, AY, or AZ - (vector magnetic potentials); CURR (current). Diffusion label: - CONC (concentration). Explicit analysis labels: UX, UY, or UZ - (displacements). + ffbz + Factor to increase bending flexibility about element z axis + (bending in the element x-y plane). The default value is FFBY. - node1, node2, node3, . . . , node17 - List of nodes to be included in set. Duplicate nodes are ignored. - If a node number is input as negative, the node is deleted from the - coupled set. The first node in the list is the primary (retained) - node, and the remaining nodes represent the removed degrees of - freedom. If NODE1 = ALL, NODE2 through NODE17 are ignored and all - selected nodes (NSEL) are included in the set. 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. + ffto + Factor to increase torsional flexibility. The default value is 1.0. - Notes - ----- - Do not include the same degree of freedom in more than one coupled set. - Repeat CP command for additional nodes. + fftsy + Factor to increase transverse shear flexibility in the element x-z + plane. The default value is 1.0. - Coupling degrees of freedom into a set causes the results calculated - for one member of the set to be the same for all members of the set. - Coupling can be used to model various joint and hinge effects. A more - general form of coupling can be done with constraint equations (CE). - For structural analyses, a list of nodes is defined along with the - nodal directions in which these nodes are to be coupled. As a result - of this coupling, these nodes are forced to take the same displacement - in the specified nodal coordinate direction. The amount of the - displacement is unknown until the analysis is completed. A set of - coupled nodes which are not coincident, or which are not along the line - of the coupled displacement direction, may produce an applied moment - which will not appear in the reaction forces. The actual degrees of - freedom available for a particular node depends upon the degrees of - freedom associated with element types (ET) at that node. For scalar - field analysis, this command is used to couple nodal temperatures, - pressures, voltages, etc. + fftsz + Factor to increase transverse shear flexibility in the element x-y + plane. The default value is FFTSY. - For an explicit dynamic analysis, the only valid DOF labels for - coupling are UX, UY, and UZ. Since the rotational DOF (ROTX, ROTY, - ROTZ) are not allowed. The CP family of commands should not be used in - an explicit analysis to model rigid body behavior that involves - rotations. If CP is used in this manner, it could lead to nonphysical - responses. + Notes + ----- + The SFLEX command sets section-flexibility factors for sections used by + pipe elements. - A set of coupled nodes which are not coincident, or which are not along - the line of the coupled displacement direction, produce an artificial - moment constraint. If the structure rotates, a moment may be produced - in the coupled set in the form of a force couple. This moment is in - addition to the real reaction forces and may make it appear that moment - equilibrium is not satisfied by just the applied forces and the - reaction forces. Note, however, that in an explicit dynamic analysis, - this artificial moment will not be produced. Rather, just the applied - forces and the reaction forces will satisfy the moment equilibrium in - the model. Thus, in an explicit analysis, the magnitude of nodal - displacements for this set of nodes will depend on the distance from - each node to the center of the coupled set, and the direction of - displacement will depend on the resulting moment. This may lead to a - nonphysical response in some cases. + To increase stiffness, use a flexibility factor of less than 1.0. - Additional sets of coupled nodes may be generated from a specified set. - Degrees of freedom are coupled within a set but are not coupled between - sets. No degree of freedom should appear in more than one coupled set. - Such an appearance would indicate that at least two sets were in fact - part of a single larger set. The first degree of freedom of the - coupled set is the "prime" degree of freedom. All other degrees of - freedom in the coupled sets are eliminated from the solution matrices - by their relationship to the prime degree of freedom. Forces applied - to coupled nodes (in the coupled degree of freedom direction) will be - summed and applied to the prime degree of freedom. Output forces are - also summed at the prime degree of freedom. Degrees of freedom with - specified constraints (D) should not be included in a coupled set - (unless the degree of freedom is prime). + The FFBY and FFTSY arguments affect motion in the element x-z plane, + and the FFBZ and FFTSZ arguments affect motion in the element x-y + plane. For stout pipe structures with low slenderness ratios, set both + FFBY and FFTSY--and/or both FFBZ and FFTSZ (the related bending and + transverse shear factors)--to the same value to obtain the expected + flexibility effect. - If master degrees of freedom are defined for coupled nodes, only the - prime degree of freedom should be so defined. The use of coupled nodes - reduces the set of coupled degrees of freedom to only one degree of - freedom. + When issued, the SFLEX command applies to the pipe section most + recently defined via the SECTYPE command. - The removed degrees of freedom defined by the CP command cannot be - included in any CE or CERIG command. + SFLEX is valid only for linear material properties and small strain + analyses. The command does not support offsets, temperature loading, or + initial state loading. While the resulting displacements and reactions + are valid, the stresses may not be valid. """ - command = "CP, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nset), str(lab), str(node1), str(node2), str(node3), str(node4), str(node5), str(node6), str(node7), str(node8), str(node9), str(node10), str(node11), str(node12), str(node13), str(node14), str(node15), str(node16), str(node17)) + command = "SFLEX,%s,%s,%s,%s,%s,%s" % (str(ffax), str(ffby), str(ffbz), str(ffto), str(fftsy), str(fftsz)) self.RunCommand(command, **kwargs) - def Sfcalc(self, labr="", labs="", labt="", type="", **kwargs): + def Mshkey(self, key="", **kwargs): """ - APDL Command: SFCALC + APDL Command: MSHKEY - Calculates the safety factor or margin of safety. + Specifies whether free meshing or mapped meshing should be used to mesh + a model. Parameters ---------- - labr - Label assigned to results. If same as existing label, the existing - values will be overwritten by these results. + key + Key indicating the type of meshing to be used: - labs - Labeled result item corresponding to the element stress. + 0 - Use free meshing (the default). - labt - Labeled result item corresponding to the element temperature. + 1 - Use mapped meshing. - type - Type of calculation: + 2 - Use mapped meshing if possible; otherwise, use free meshing. If you specify + MSHKEY,2, SmartSizing will be inactive even while free meshing + non-map-meshable areas. - 0 or 1 - Use safety factor (SF) calculation. + Notes + ----- + The MSHKEY, MSHAPE, and MSHMID commands replace the functionality that + was provided by the ESHAPE command in ANSYS 5.3 and earlier releases. - 2 - Use margin of safety (MS) calculation. + This command is also valid for rezoning. - 3 - Use 1/SF calculation. + """ + command = "MSHKEY,%s" % (str(key)) + self.RunCommand(command, **kwargs) + + def Cfclos(self, **kwargs): + """ + APDL Command: *CFCLOS + + Closes the "command" file. Notes ----- - Calculates safety factor (SF) or margin of safety (MS) as described for - the SFACT command for any labeled result item (see ETABLE command) for - the selected elements. Use the PRETAB or PLETAB command to display - results. Allowable element stress is determined from the SALLOW-TALLOW - table [SALLOW, TALLOW]. + This command is valid in any processor. """ - command = "SFCALC, %s, %s, %s, %s" % (str(labr), str(labs), str(labt), str(type)) + command = "*CFCLOS," % () self.RunCommand(command, **kwargs) - def Psmesh(self, secid="", name="", p0="", egroup="", num="", kcn="", - kdir="", value="", ndplane="", pstol="", pstype="", ecomp="", - ncomp="", **kwargs): + def Timint(self, key="", lab="", **kwargs): """ - APDL Command: PSMESH + APDL Command: TIMINT - Create and mesh a pretension section + Turns on transient effects. Parameters ---------- - secid - Unique section number. This number must not already be assigned to - a section. + key + Transient effects key: - name - Unique eight character descriptive name, if desired. + OFF - No transient effects (static or steady-state). - p0 - Pretension node number. The node will be defined if it doesn't - exist and the number defaults to the highest node number plus one. + ON - Include transient (mass or inertia) effects. - egroup, num - Element group on which PSMESH will operate. If Egroup = P, - graphical picking is enabled and NUM is ignored (valid only in the - GUI). + lab + Degree of freedom label: - L (or LINE) - PSMESH operates on all elements in the line specified by NUM. New pretension - nodes are associated with NUM or entities below it. - Any subsequent LCLEAR operation of NUM deletes the - pretension elements and nodes created by PSMESH. + ALL - Apply this key to all appropriate labels (default). - A (or AREA) - PSMESH operates on all elements in the area specified by NUM. New pretension - nodes are associated with NUM or entities below it. - Any subsequent ACLEAR of NUM deletes the pretension - elements and nodes created by PSMESH. + STRUC - Apply this key to structural DOFs. - V (or VOLU) - PSMESH operates on all elements in the volume specified by NUM. New pretension - nodes are associated with NUM or entities below it. - Any subsequent VCLEAR of NUM deletes the pretension - elements and nodes created by PSMESH. + THERM - Apply this key to thermal DOFs. - P - PSMESH operates on elements selected through the subsequent picking operations, - and NUM is ignored + ELECT - Apply this key to electric DOFs. - ALL - The command operates on all selected elements, and NUM is ignored. + MAG - Apply this key to magnetic DOFs. - kcn - Coordinate system number for the separation surface and normal - direction. + FLUID - Apply this key to fluid DOFs. - kdir - Direction (x, y, or z) normal to separation surface in the KCN - coordinate system. + DIFFU - Apply this key to concentration of DOFs. - value - Point along the KDIR axis at which to locate the separation - surface. Ignored if NDPLANE is supplied. + Notes + ----- + Indicates whether this load step in a full transient analysis should + use time integration, that is, whether it includes transient effects + (e.g. structural inertia, thermal capacitance) or whether it is a + static (steady-state) load step for the indicated DOFs. Transient + initial conditions are introduced at the load step having Key = ON. + Initial conditions are then determined from the previous two substeps. + Zero initial velocity and acceleration are assumed if no previous + substeps exist. See the Structural Analysis Guide, the Thermal + Analysis Guide, and the Low-Frequency Electromagnetic Analysis Guide + for details. - ndplane - Existing node that PSMESH will use to locate the separation - surface. If NDPLANE is supplied, the location of the separation - surface is defined by the KDIR coordinate of NDPLANE. + This command is also valid in PREP7. - pstol - Optional tolerance below VALUE. Allows nodes occurring precisely at - or slightly below the separation to be identified properly as - above the plane. Has the effect of shifting the plane down by - PSTOL. The following expression represents the default value: + """ + command = "TIMINT,%s,%s" % (str(key), str(lab)) + self.RunCommand(command, **kwargs) - pstype - If specified, this value is the type number for pretension - elements. (If not specified, ANSYS defines this value.) If already - defined, it must be of type PRETS179. + def Susel(self, type="", name1="", name2="", name3="", name4="", name5="", + name6="", name7="", name8="", **kwargs): + """ + APDL Command: SUSEL - ecomp - If specified, the name of a component to be composed of new - pretension elements and existing elements modified by the PSMESH - command. + Selects a subset of surfaces - ncomp - Name of a component to be composed of nodes on new pretension - elements. + Parameters + ---------- + type + Label identifying the type of select: - Notes - ----- - The PSMESH command creates a pretension section normal to the - pretension load direction by cutting the mesh along existing element - boundaries at the point defined by VALUE or NDPLANE and inserting - PRETS179 elements. The PSMESH command verifies that PSTYPE is PRETS179; - if it is not, the command finds the lowest available ITYPE that is - PRETS179, or if necessary will create a new one. + S - Selects a new set (default). - When it is necessary to define the pretension node, ANSYS uses node - NDPLANE. If the NDPLANE value is not specified, ANSYS defines the - pretension node at: + R - Reselects a set from the current set. - The centroid of geometric entity NUM, if Egroup = LINE, AREA or VOLU + A - Additionally selects a set and extends the current set. - The centroid location of all selected elements, if Egroup = ALL or if - graphical picking is used. + U - Unselects a set from the current set. - If the elements to which the pretension load is to be applied have - already been meshed in two groups, PSMESH cannot be used to insert the - pretension elements. The EINTF command must be used to insert the - PRETS179 elements between the two meshed groups. + ALL - Also selects all surfaces. - The PSMESH operation copies any nodal temperatures you have defined on - the split surface of the original mesh from the original nodes to the - newly created coincident duplicate nodes. However, displacements, - forces, and other boundary conditions are not copied. + NONE - Unselects all surfaces. - By mathematical definition, the pretension surface must always be a - flat plane. In a non-Cartesian coordinate system, the PSMESH command - creates that plane at the indicated position, oriented with respect to - the specified direction of the active system (in the same manner that - the NROTAT command orients a nodal system with respect to a curved - system). For example, assuming a X = 1 and Y = 45 in a cylindrical - coordinate system with Z as the axis of rotation (KCN = 1), a - pretension surface normal to X tilts 45 degrees away from the global X - axis. + name1, name2, name3, . . . , name8 + Eight character surface names - The PSMESH command is valid for structural analyses only. + Notes + ----- + The selected set of surfaces is used in the following operations: + SUMAP, SUDEL, SUCALC, SUEVAL, and SUVECT. """ - command = "PSMESH, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(secid), str(name), str(p0), str(egroup), str(num), str(kcn), str(kdir), str(value), str(ndplane), str(pstol), str(pstype), str(ecomp), str(ncomp)) + command = "SUSEL,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(type), str(name1), str(name2), str(name3), str(name4), str(name5), str(name6), str(name7), str(name8)) self.RunCommand(command, **kwargs) - def Vdrag(self, na1="", na2="", na3="", na4="", na5="", na6="", nlp1="", - nlp2="", nlp3="", nlp4="", nlp5="", nlp6="", **kwargs): + def Edpvel(self, option="", pid="", vx="", vy="", vz="", omegax="", + omegay="", omegaz="", xc="", yc="", zc="", angx="", angy="", + angz="", **kwargs): """ - APDL Command: VDRAG + APDL Command: EDPVEL - Generates volumes by dragging an area pattern along a path. + Applies initial velocities to parts or part assemblies in an explicit + dynamic analysis. Parameters ---------- - na1, na2, na3, . . . , na6 - List of areas in the pattern to be dragged (6 maximum if using - keyboard entry). If NA1 = P, graphical picking is enabled and all - remaining command fields are ignored (valid only in the GUI). If - NA1 = ALL, all selected areas will be swept along the path. A - component name may also be substituted for NA1. + option + Label identifying the option to be performed. - nlp1, nlp2, nlp3, . . . , nlp6 - List of lines defining the path along which the pattern is to be - dragged (6 maximum if using keyboard entry). Must be a continuous - set of lines. To be continuous, adjacent lines must share the - connecting keypoint (the end keypoint of one line must also be - first keypoint of the next line). + VGEN - Define initial velocities for the part or part assembly based on translational + velocities (relative to global Cartesian) and the rotational + velocity about an arbitrary axis. For this option, use the + fields VX, VY, VZ to specify the translational velocities, + and use OMEGAX, XC, YC, ZC, ANGX, ANGY, ANGZ to specify the + rotational velocity and the axis of rotation. + + VELO - Define initial velocity for the part or part assembly based on translational + velocities and nodal rotational velocities input relative to + the global Cartesian axes. For this option, use the + following fields to define the initial velocity: VX, VY, VZ, + OMEGAX, OMEGAY, OMEGAZ. + + LIST - List initial velocity for the part or part assembly specified by PID. If PID is + blank, all initial velocities defined on parts and part + assemblies are listed. Remaining fields are ignored for this + option. + + DELE - Delete initial velocity defined for the part or part assembly specified by PID. + If PID is blank, all initial velocities defined on parts and + part assemblies are deleted. Remaining fields are ignored + for this option. + + pid + Part ID or part assembly ID to which the initial velocity is to be + applied. The part or assembly ID must be defined (EDPART or EDASMP) + before issuing this command. + + vx + Initial velocity in X direction. Defaults to 0. + + vy + Initial velocity in Y direction. Defaults to 0. + + vz + Initial velocity in Z direction. Defaults to 0. + + omegax + For Option = VGEN, OMEGAX is the initial rotational velocity of the + part or part assembly about the specified rotational axis. For + Option = VELO, OMEGAX is the initial nodal rotational velocity + about the X-axis. OMEGAX defaults to 0. + + omegay + Initial nodal rotational velocity about the Y-axis (used only if + Option = VELO). Defaults to 0. + + omegaz + Initial nodal rotational velocity about the Z-axis (used only if + Option = VELO). Defaults to 0. Notes ----- - Generates volumes (and their corresponding keypoints, lines, and areas) - by sweeping a given area pattern along a characteristic drag path. If - the drag path consists of multiple lines, the drag direction is - determined by the sequence in which the path lines are input (NLP1, - NLP2, etc.). If the drag path is a single line (NLP1), the drag - direction is from the keypoint on the drag line that is closest to the - first keypoint of the given area pattern to the other end of the drag - line. + You cannot mix the two methods of initial velocity input (Option = VELO + and Option = VGEN) in the same analysis. You must use only one method + for all initial velocity definitions. - The magnitude of the vector between the keypoints of the given pattern - and the first path keypoint remains constant for all generated keypoint - patterns and the path keypoints. The direction of the vector relative - to the path slope also remains constant so that patterns may be swept - around curves. Lines are generated with the same shapes as the given - pattern and the path lines. + The VGEN and VELO methods differ in how the rotational velocity is + defined. Use Option = VGEN to input the initial velocities of a + rotating part or part assembly. Use Option = VELO to apply the + rotations directly to the nodes' rotation degrees of freedom. Since + only shell and beam elements have rotation degrees of freedom, the + rotations input with Option = VELO are only applicable to SHELL163 and + BEAM161 elements. The rotational velocities input with Option = VELO + are ignored for nodes not having rotational degrees of freedom (such as + nodes attached to a SOLID164 or SOLID168 element). - Keypoint, line, area, and volume numbers are automatically assigned - (beginning with the lowest available values [NUMSTR]). Adjacent lines - use a common keypoint, adjacent areas use a common line, and adjacent - volumes use a common area. For best results, the entities to be - dragged should be orthogonal to the start of the drag path. Drag - operations that produce an error message may create some of the desired - entities prior to terminating. + It is normally acceptable to mix nodes belonging to deformable bodies + and rigid bodies in the part assembly used in an initial velocity + definition. However, when defining initial velocities in an implicit- + to-explicit sequential solution, this is not an acceptable practice. In + order for the initial velocities to be defined correctly in this type + of analysis, you must define the initial velocities on the deformable + body nodes separately from the initial velocities on the rigid body + nodes. - If element attributes have been associated with the input area via the - AATT command, the opposite area generated by the VDRAG operation will - also have those attributes (i.e., the element attributes from the input - area are copied to the opposite area). Note that only the area - opposite the input area will have the same attributes as the input - area; the areas adjacent to the input area will not. + Issuing the EDPVEL command again for the same part or part assembly + (PID) will overwrite previous initial velocities defined for that part + or part assembly. - If the input areas are meshed or belong to a meshed volume, the area(s) - can be extruded to a 3-D mesh. Note that the NDIV argument of the - ESIZE command should be set before extruding the meshed areas. - Alternatively, mesh divisions can be specified directly on the drag - line(s) (LESIZE). See the Modeling and Meshing Guide for more - information. + To set the initial velocities to zero, issue the EDPVEL command with + only the Option (use VELO or VGEN) and PID fields specified. - You can use the VDRAG command to generate 3-D interface element meshes - for elements INTER194 and INTER195. When generating interface element - meshes using VDRAG, you must specify the line divisions to generate one - interface element directly on the drag line using the LESIZE command. - The source area to be extruded becomes the bottom surface of the - interface element. Interface elements must be extruded in what will - become the element's local x direction, that is, bottom to top. + In a small restart analysis (EDSTART,2), you can only use the Option = + VELO method to change initial velocities. When used in a small restart, + the command EDPVEL,VELO changes the velocity of the specified part or + part assembly. If you don't change the velocity of the parts and + assemblies, their velocity at the beginning of the restart will be the + same as the velocity at the end of the previous analysis. + + Except for the LIST option, the EDPVEL command is not supported in a + full restart analysis (EDSTART,3). You can list initial velocities + defined in the previous analysis with the command EDPVEL,LIST. However, + you cannot change initial velocities for parts that existed in the + previous analysis; their velocity at the beginning of the analysis will + be the same as the velocity at the end of the previous analysis. In + addition, you cannot define initial velocities for any parts that are + added in the full restart; the velocity of new parts will be zero. + + To apply initial velocities to node components or nodes, use the EDVEL + command. + + You can use EDPVEL and EDVEL in the same analysis. If a node or node + component input on the EDVEL command shares common nodes with a part or + part assembly input on the EDPVEL command, the initial velocities + defined on the common nodes will be determined by the last command + input. + + This command is also valid in PREP7. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "VDRAG, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(nlp1), str(nlp2), str(nlp3), str(nlp4), str(nlp5), str(nlp6)) + command = "EDPVEL,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(pid), str(vx), str(vy), str(vz), str(omegax), str(omegay), str(omegaz), str(xc), str(yc), str(zc), str(angx), str(angy), str(angz)) self.RunCommand(command, **kwargs) - def Addam(self, af="", aa="", ab="", ac="", ad="", amin="", **kwargs): + def Nprint(self, n="", **kwargs): """ - APDL Command: ADDAM + APDL Command: NPRINT - Specifies the acceleration spectrum computation constants for the - analysis of shock resistance of shipboard structures. + Defines which time points stored are to be listed. Parameters ---------- - af - Direction-dependent acceleration coefficient for elastic or - elastic-plastic analysis option (default = 0). - - aa, ab, ac, ad - Coefficients for the DDAM acceleration spectrum equations. Default - for these coefficients is zero. - - amin - The minimum acceleration value in inch/sec2. It defaults to 2316 - inch/sec2 which equals 6g, where g is acceleration due to gravity - (g = 386 inch/sec2). + n + List data associated with every N time (or frequency) point(s), + beginning with the first point stored (defaults to 1). Notes ----- - This command specifies acceleration coefficients to analyze shock - resistance of shipboard equipment. These coefficients are used to - compute mode coefficients according to the equations given in Dynamic - Design Analysis Method in the Mechanical APDL Theory Reference. The - form of these equations is based on the Naval NRL Dynamic Design - Analysis Method. This command, along with the VDDAM and SED commands, - is used with the spectrum (ANTYPE,SPECTR) analysis as a special purpose - alternative to the SV, FREQ, and SVTYP commands. The mass and length - units of the model must be in pounds and inches, respectively. - - DDASPEC may alternatively be used to calculate spectrum coefficients. - - This command is also valid in PREP7. + Defines which time (or frequency) points within the range stored are to + be listed. """ - command = "ADDAM, %s, %s, %s, %s, %s, %s" % (str(af), str(aa), str(ab), str(ac), str(ad), str(amin)) + command = "NPRINT,%s" % (str(n)) self.RunCommand(command, **kwargs) - def Anpres(self, nfram="", delay="", ncycl="", refframe="", **kwargs): + def Dist(self, wn="", dval="", kfact="", **kwargs): """ - APDL Command: ANPRES + APDL Command: /DIST - Produces an animated sequence of the time-harmonic pressure variation - of an engine-order excitation in a cyclic harmonic analysis. + Specifies the viewing distance for magnifications and perspective. Parameters ---------- - nfram - Number of frame captures per cycle. Defaults to 3 times the number - of sectors. - - delay - Time delay (seconds) during animation. Defaults to 0.1 seconds. + wn + Window number (or ALL) to which command applies (defaults to 1). - ncycl - Number of animation cycles. Defaults to 5. + dval + Distance along the view line from the observer to the focus point + (defaults to value producing full-window display). Distances "too + close" to the object will produce excessive magnifications. If + DVAL = AUTO, zero, or blank, the program will calculate the + distance automatically. If DVAL = USER, the distance of last + display will be used (useful when last display automatically + calculated distance). - refframe - Reference frame for the model rotation. + kfact + DVAL interpretation key: - 0 - Rotating reference frame (default). The model remains fixed in space and the - pressure revolve around the model. + 0 - Interpret numerical DVAL values as described above. - 1 - Stationary reference frame. The model rotates and the pressure locations remain - fixed in space. + 1 - Interpret DVAL as a multiplier on the current distance (DVAL of 2 gives twice + the current distance; 0.5 gives half the current distance, + etc.). Notes ----- - ANPRES invokes a macro which produces an animated sequence of the time- - harmonic applied pressure in the case of a mode-superposition harmonic - analysis (ANTYPE,HARMIC with CYCOPT,MSUP,ON). The engine-order - excitation must also have been specified (CYCFREQ,EO). While pressure - loads are not accepted as valid loading in a mode-superposition - analysis (they must be applied in the modal analysis and the modal load - vector applied in the mode-superposition analysis) you can apply them - for the purposes of this animation. + The scale factor is relative to the window shape. For example, for + objects centered in a square window and with parallel projection (no + perspective), a distance of : /2 (+10%) produces a full window + magnification, where : is the largest in-plane vertical or horizontal + dimension. See also /AUTO and /USER commands. + + This command is valid in any processor. + + """ + command = "/DIST,%s,%s,%s" % (str(wn), str(dval), str(kfact)) + self.RunCommand(command, **kwargs) + + def Sptopt(self, **kwargs): + """ + APDL Command: SPTOPT - For RefFrame = 1 (stationary reference frame), the rotational velocity - from the Linear Perturbation step, or the current OMEGA or CGOMGA - value, is used to determine the rotation direction about the cyclic - cylindrical axis, otherwise a positive rotation is assumed. + Specifies "Spectrum analysis options" as the subsequent status topic. - You may use /HBC,,ON to hide overlapping pressure faces, and use - /GLINE,,-1 to suppress the element outlines if desired. + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "ANPRES, %s, %s, %s, %s" % (str(nfram), str(delay), str(ncycl), str(refframe)) + command = "SPTOPT," % () self.RunCommand(command, **kwargs) - def Save(self, fname="", ext="", slab="", **kwargs): + def Pdcorr(self, name1="", name2="", corr="", **kwargs): """ - APDL Command: SAVE + APDL Command: PDCORR - Saves all current database information. + Specifies the correlation between two random input variables. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. - - ext - Filename extension (eight-character maximum). - - -- - Unused field. + name1 + Parameter name. The parameter must have been previously defined as + a random input variable with the PDVAR command. - slab - Mode for saving the database: + name2 + Parameter name. The parameter must have been previously defined as + a random input variable with the PDVAR command. Must be different + from Name1. - ALL - Save the model data, solution data and post data (element tables, etc.). This - value is the default. + corr + Specification of the correlation: - MODEL - Save the model data (solid model, finite element model, loadings, etc.) only. + Value - Sets the correlation coefficient between Name1 and Name2 to the specified + value. If this correlation coefficient was already defined + it will be changed to this new value. The correlation + coefficient must be between -1.0 and +1.0. - SOLU - Save the model data and the solution data (nodal and element results). + DEL - Delete the previously defined correlation between Name1 and Name2. Notes ----- - Saves all current database information to a file (File.DB). In - interactive mode, an existing File.DB is first written to a backup file - (File.DBB). In batch mode, an existing File.DB is replaced by the - current database information with no backup. The command should be - issued periodically to ensure a current file backup in case of a system - "crash" or a "line drop." It may also be issued before a "doubtful" - command so that if the result is not what was intended the database may - be easily restored to the previous state. A save may be time consuming - for large models. Repeated use of this command overwrites the previous - data on the file (but a backup file is first written during an - interactive run). When issued from within POST1, the nodal boundary - conditions in the database (which were read from the results file) will - overwrite the nodal boundary conditions existing on the database file. - - Internal nodes may be created during solution (for example, via the - mixed u-P formulation or generalized plane strain option for current- - technology elements, the Lagrangian multiplier method for contact - elements or the MPC184 elements, or the quadratic or cubic option of - the BEAM188 and PIPE288 elements). It is sometimes necessary to save - the internal nodes in the database for later operations, such as - cutting boundary interpolations (CBDOF) for submodeling. To do so, - issue the SAVE command after the first SOLVE command. + Specifies the correlations between two random input variables. The PDS + tool generates correlated samples if correlations exist. This applies + to both probabilistic methods (Monte Carlo Simulation and Response + Surface Methods). - In general, saving after solving is always a good practice. + If there are correlated random input variables, the sampled locations + of the random input variables reflect the correlation as illustrated + below for the case of two standard normal distributed variables X1 and + X2. The illustrations show no correlation (correlation coefficient + 0.0), a relatively moderate negative correlation (correlation + coefficient -0.6), and a relative strong positive correlation + (correlation coefficient 0.9). - This command is valid in any processor. + : : : """ - command = "SAVE, %s, %s, %s" % (str(fname), str(ext), str(slab)) + command = "PDCORR,%s,%s,%s" % (str(name1), str(name2), str(corr)) self.RunCommand(command, **kwargs) - def Anum(self, num="", type="", xhot="", yhot="", **kwargs): + def Spcnod(self, encl="", node="", **kwargs): """ - APDL Command: /ANUM + APDL Command: SPCNOD - Specifies the annotation number, type, and hot spot (GUI). + Defines a space node for radiation using the Radiosity method. Parameters ---------- - num - Annotation number. ANSYS automatically assigns the lowest - available number. You cannot assign a higher number if a lower - number is available; ANSYS will substitute the lowest available - number in place of any user-specified higher number. - - type - Annotation internal type number. If TYPE = DELE, delete annotation - NUM. - - 1 - Text - - 2 - Block text (not available in GUI) + encl + Radiating surface enclosure number. Defaults to 1. If ENCL = STAT, + the command lists all enclosure space nodes. If ENCL = DELE, the + command deletes all enclosure space nodes. - 3 - Dimensions + node + Node defined to be the space node. - 4 - Lines + Notes + ----- + For open systems, an enclosure may radiate to a space node (NODE). - 5 - Rectangles + Open systems may be characterized by one or more enclosures (ENCL). + Each enclosure may radiate to a different space node (NODE). - 6 - Circles + For a space node that is not part of the finite element model, specify + the temperature using the D command. For the first load step, the space + node temperature ramps from the uniform temperature specified by the + TUNIF command to the temperature specified by the D command. For + subsequent load steps, it ramps from the previous value of the space + node temperature. For intermediate load steps, use the SPCNOD,DELETE + command and specify the space node temperature again to ramp from the + uniform temperature. - 7 - Polygons + For a space node that is part of the finite element model, the + temperature is that calculated during the finite element solution. - 8 - Arcs + """ + command = "SPCNOD,%s,%s" % (str(encl), str(node)) + self.RunCommand(command, **kwargs) - 9 - Wedges, pies + def Pnum(self, label="", key="", **kwargs): + """ + APDL Command: /PNUM - 11 - Symbols + Controls entity numbering/coloring on plots. - 12 - Arrows + Parameters + ---------- + label + Type of numbering/coloring: - 13 - Bitmap + NODE - Node numbers on node and element plots. - xhot - X hot spot (-1.0 < X < 2.0). Used for menu button item delete. + ELEM - Element numbers and colors on element plots. - yhot - Y hot spot (-1.0 < Y < 1.0). Used for menu button item delete. + SEC - Section numbers and colors on element and solid model plots (see "Notes"). - Notes - ----- - This is a command generated by the GUI and will appear in the log file - (Jobname.LOG) if annotation is used. This command is not intended to - be typed in directly in an ANSYS session (although it can be included - in an input file for batch input or for use with the /INPUT command). + MAT - Material set numbers and colors on element and solid model plots (see + "Notes"). - Type 13 (bitmap) annotation applies user defined bitmaps defined using - the FILE option of the /TXTRE command. + TYPE - Element type reference numbers and colors on element and solid model plots (see + "Notes"). - This command is valid in any processor. + REAL - Real constant set numbers and colors on element and solid model plots (see + "Notes"). - """ - command = "/ANUM, %s, %s, %s, %s" % (str(num), str(type), str(xhot), str(yhot)) - self.RunCommand(command, **kwargs) + ESYS - Element coordinate system numbers on element and solid model plots (see + "Notes"). - def Asifile(self, opt="", fname="", ext="", oper="", kdim="", kout="", - limit="", **kwargs): - """ - APDL Command: ASIFILE + PART - Element part numbers and colors on element plots (applicable to ANSYS LS-DYNA + only). - Writes or reads one-way acoustic-structural coupling data. + LOC - Location numbers/colors of the element in matrix assembly order on element + plots. - Parameters - ---------- - opt - Command behavior option: + Note:LOC and ELEM numbers will be the same unless the model has been reordered. - KP - WRITE - Write the structural results to the specified file. + Keypoint numbers on solid model plots. - LINE - READ - Read the structural results from the specified file. + Line numbers on solid model plots (both numbers and colors on line plots). - AREA - fname - File name and directory path of a one-way acoustic-structural - coupling data file (248 characters maximum, including the - characters needed for the directory path). An unspecified directory - path defaults to the working directory; in this case, you can use - all 248 characters for the file name (defaults to jobname). + Area numbers on solid model plots (both numbers and colors on area plots). - VOLU - ext - File name extension of the one-way acoustic-structural coupling - data file (defaults to .asi). + Volume numbers on solid model plots (both numbers and colors on volume plots). - SVAL - oper - Command operation: + Stress (or any contour) values on postprocessing plots, and surface load values and colors on model plots (when surface load symbols are on [/PSF]). For tabular boundary conditions, the table-evaluated values will be displayed on node, element, or contour displays in POST1 when load symbols (/PBF, /PSF, /PBC) are on and TABNAM is OFF. - TABNAM - NOMAP - No mapping occurs between the structural and acoustic models when reading the - structural results from the specified file (default). + Table names for tabular boundary conditions. If this label is turned on, the table name appears next to the appropriate symbol, arrow, face outline, or contour as dictated by the /PSF, /PBC, and /PBF commands. - STAT - MAP - Maps the results from the structural to the acoustic model. (See "Notes".) + Shows current settings for /PNUM. - DEFA - kdim - Interpolation criteria. Valid only when Oper = MAP. + key + Switch: - kout - Outside region results. Valid only when Oper = MAP. + 0 - Turns OFF numbers/colors for specified label. - limit - Number of nearby nodes considered for interpolation. Valid only - when Oper = MAP. + 1 - Turns ON numbers/colors for specified label. Notes ----- - The ASIFILE command writes to, or reads from, a file containing one-way - acoustic-structural coupling data. - - Results data on the one-way coupling interface (defined by the - SF,,FSIN) in the structural model are written to the one-way coupling - result data file during the structural solution. - - One-way coupling results data are read into the acoustic model as the - velocity (harmonic) or acceleration (transient) excitation during the - sequential acoustic solution. - - If Oper = NOMAP, both structural and acoustic models must share the - same node number on the one-way coupling interface. - - If Oper = MAP: + This command specifies entity numbering and coloring for subsequent + plots. - The one-way coupling interface must be defined in the acoustic model - (SF,,FSIN) such that it corresponds to the field-surface interface - number (FSIN) in the structural model. + The MAT, TYPE, REAL, and ESYS labels activate both the numbering and + coloring of the corresponding attributes for EPLOT, KPLOT, LPLOT, + APLOT, and VPLOT. The ELEM, MAT, TYPE, REAL, ESYS, PART (ANSYS LS-DYNA + only), and LOC labels are mutually exclusive, i.e., only one can be + specified at a time. Also, turning on a LINE, AREA, or VOLU label will + turn off the MAT, TYPE, REAL, and PART labels. - The output points are correct only if they are within the boundaries - set via the specified input points. + PowerGraphics [/GRAPHICS,POWER] displays for/PNUM can be problematic. + /PNUM,ELEM will display erratically depending on other display command + specifications, while /PNUM,LOC and /PNUM,ESYS are not supported. - Calculations for out-of-bound points require much more processing time - than do points that are within bounds. + Element and volume numbers are not visible for 3-D elements and volumes + when Z-buffering is turned on (/TYPE,,[6,7, or 8]). - For each point in the acoustic destination mesh, the command searches - all possible triangles in the structural source mesh to find the best - triangle containing each point, then performs a linear interpolation - inside this triangle. For faster and more accurate results, consider - your interpolation method and search criteria carefully (see LIMIT). + Use /PSTATUS or /PNUM,STAT to show settings. Use /PNUM,DEFA to reset + all specifications back to default. Use the /NUMBER command to control + whether numbers and colors are displayed together. - One-way coupling excitation can be applied to multiple frequencies or - time steps. + This command is valid in any processor """ - command = "ASIFILE, %s, %s, %s, %s, %s, %s, %s" % (str(opt), str(fname), str(ext), str(oper), str(kdim), str(kout), str(limit)) + command = "/PNUM,%s,%s" % (str(label), str(key)) self.RunCommand(command, **kwargs) - def Devdisp(self, label="", key="", **kwargs): + def Filedisp(self, fname="", ext="", **kwargs): """ - APDL Command: /DEVDISP + APDL Command: FILEDISP - Controls graphics device options. + Specifies the file containing the graphics data. Parameters ---------- - label - Device function label: + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - BBOX - Disables display information sorting for PowerGraphics displays. When activated - (KEY = 1 or ON), model rotations and replots are performed - without recalculating edge and surface data. This will speed - up the rotation (especially for 2-D displays) of large - models, although the display information will not be - resolved as quickly (you will see a bounding box instead of - the model during dynamic rotations). The default is OFF (KEY - = 0). + ext + Filename extension (eight-character maximum). - DITHER - Dithering. When turned on (default), dithering smooths transitions in color - intensity. Applies only to Z-buffered displays. + Notes + ----- + Specifies the input file containing the graphics data (defaults to + File.GRPH). - FONT - Font selection for the ANSYS graphics window. When Label = FONT, the command - format is: /DEVDISP,FONT,KEY,Val1,Val2,Val3,VAL4,Val5,Val6, - where KEY determines the type of font being controlled, and - values 1 through 6 control various font parameters. Note - that these values are device specific; using the same - command input file [/INPUT] on different machines may yield - different results.The following KEY values determine the - font information that will be supplied to the appropriate - driver (e.g., Postscript, X11, Win32, JPEG, ...): + """ + command = "FILEDISP,%s,%s" % (str(fname), str(ext)) + self.RunCommand(command, **kwargs) - KEY = 1 - The command controls the LEGEND (documentation column) font. + def Lnsrch(self, key="", **kwargs): + """ + APDL Command: LNSRCH - KEY = 2 - The command controls the ENTITY (node and keypoint number) font. + Activates a line search to be used with Newton-Raphson. - KEY = 3 - The command controls the ANNOTATION/GRAPH font. + Parameters + ---------- + key + Line search key: - Linux: Values 1 through 4 are used to find a match in the X11 database of font strings. Values 1, 2, and 3 are character strings; value 4 is a nonzero integer: - Val1 + OFF - Do not use a line search. - Family name (e.g., Courier*New). Substitute an asterisk (*) for any blank character that appears in a family name. If Val1 = MENU, all other values are ignored, and a font selection menu appears (GUI must be active). - Val2 + ON - Use a line search. Note, adaptive descent is suppressed when LNSRCH is on + unless explicitly requested on the NROPT command. Having + line search on and adaptive descent on at the same time is not + recommended. - Weight (e.g., medium) - Val3 + AUTO - The program automatically switches line searching ON and OFF between substeps + of a load step as needed. This option is recommended. - Slant (e.g., r) - Val4 + Notes + ----- + Activates a line search to be used with the Newton-Raphson method + [NROPT]. Line search is an alternative to adaptive descent (see Line + Search in the Mechanical APDL Theory Reference). - Pixel size (e.g., 14). Note that this value does not affect the annotation fonts (KEY = 3). Use the /TSPEC command to control the pixel size of your annotation fonts. - Val5 + LNSRCH,AUTO can be very efficient for problems in which LNSRCH is + needed at only certain substeps. - unused - Val6 + You cannot use line search [LNSRCH], automatic time stepping [AUTOTS], + or the DOF solution predictor [PRED] with the arc-length method + [ARCLEN, ARCTRM]. If you activate the arc-length method after you set + LNSRCH, AUTOTS, or PRED, a warning message appears. If you choose to + proceed with the arc-length method, the program disables your line + search, automatic time stepping, and DOF predictor settings, and the + time step size is controlled by the arc-length method internally. - unused - PC: The values are encoded in a PC logical font structure. Value 1 is a - character string, and the remaining values are integers: + This command is also valid in PREP7. - Val1 - Family name (e.g., Courier*New) Substitute an asterisk (*) for any blank - character that appears in a family name. If Val1 = MENU, all - other values are ignored and a font selection menu appears - (GUI must be active). A value containing all blank - characters causes ANSYS to use the first available resource - it finds. + """ + command = "LNSRCH,%s" % (str(key)) + self.RunCommand(command, **kwargs) - Val2 - Weight (0 - 1000) + def Operate(self, **kwargs): + """ + APDL Command: OPERATE - Val3 - Orientation (in tenths of a degree) + Specifies "Operation data" as the subsequent status topic. - Val4 - Height (in logical units) Note that this value does not affect the annotation - fonts (KEY =3). Use the /TSPEC command to control the height - of your annotation fonts. + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - Val5 - Width (in logical units) + If entered directly into the program, the STAT command should + immediately follow this command. - Val6 - Italics (0 = OFF, 1 = ON) + """ + command = "OPERATE," % () + self.RunCommand(command, **kwargs) - TEXT - Text size specification for the ANSYS Graphics window. When Label = TEXT, the - command format is: /DEVDISP,TEXT,KEY,PERCENT, where KEY - determines the type of text being controlled (1 for LEGEND, - and 2 for ENTITY), and PERCENT specifies the new text size - as a percent of the default text size. If PERCENT = 100, - the new text size is precisely the default size. If PERCENT - = 200, the new text size is twice the default text size. + def Rcon(self, **kwargs): + """ + APDL Command: RCON - key - Control key: + Specifies "Real constants" as the subsequent status topic. - OFF or 0 - Turns specified function off. + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - ON or 1 - Turns specified function on. + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "/DEVDISP, %s, %s" % (str(label), str(key)) + command = "RCON," % () self.RunCommand(command, **kwargs) - def Dnsol(self, node="", item="", comp="", v1="", v2="", v3="", v4="", - v5="", v6="", **kwargs): + def Elist(self, iel1="", iel2="", inc="", nnkey="", rkey="", ptkey="", + **kwargs): """ - APDL Command: DNSOL + APDL Command: ELIST - Defines or modifies solution results at a node. + Lists the elements and their attributes. Parameters ---------- - node - Node for which results are specified. If ALL, apply 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. + iel1, iel2, inc + Lists elements from IEL1 to IEL2 (defaults to IEL1) in steps of INC + (defaults to 1). If IEL1 = ALL (default), IEL2 and INC are ignored + and all selected elements [ESEL] are listed. If IEL1 = 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 IEL1 (IEL2 and INC are ignored). - item - Label identifying results, see Table 131: DNSOL - Valid Item and - Component Labels. Items also require a component label. + nnkey + Node listing key: - comp - Component of the item. Valid component labels are shown Table - 131: DNSOL - Valid Item and Component Labels below. + 0 - List attribute references and nodes. - v1, v2, v3, . . . , v6 - Value assigned to result. If zero, a zero value will be assigned. - If blank, the value remains unchanged. Additional values (if any) - assigned to the remaining components (in the order corresponding to - the Comp list shown below for the specified Item (starting from the - specified Comp label and proceeding to the right). + 1 - List attribute references but not nodes. + + rkey + Real constant listing key: + + 0 - Do not show real constants for each element. + + 1 - Show real constants for each element. This includes default values chosen for + the element. + + ptkey + LS-DYNA part number listing key (applicable to ANSYS LS-DYNA only): + + 0 - Do not show part ID number for each element. + + 1 - Show part ID number for each element. Notes ----- - DNSOL can be used only with FULL graphics activated (/GRAPHICS,FULL); - it will not work correctly with PowerGraphics activated. - - DNSOL defines or modifies solution results in the database at a node. - For example, DNSOL,35,U,X,.001,.002,.001 assigns values 0.001, 0.002, - and 0.001 to UX, UY, and UZ (respectively) for node 35. All results - that are changed in the database, including the nodal degree of freedom - results, are available for all subsequent operations. All data is - stored in the solution coordinate system, but will be displayed in the - results coordinate system [RSYS]. Use the PRNSOL command to list the - current results. + Lists the elements with their nodes and attributes (MAT, TYPE, REAL, + ESYS, SECNUM, PART). See also the LAYLIST command for listing layered + elements. - Data input by DNSOL is stored in temporary space and does not replace - information in the database. Therefore, data input by this command may - be overwritten if a change is made to the selected set of nodes. + This command is valid in any processor. - Issuing the DNSOL command or its GUI equivalent requires you to place - the data type (stress/strain) in the element nodal records. To get - around this requirement, use the DESOL command or equivalent path to - add a "dummy" element stress/strain record. + """ + command = "ELIST,%s,%s,%s,%s,%s,%s" % (str(iel1), str(iel2), str(inc), str(nnkey), str(rkey), str(ptkey)) + self.RunCommand(command, **kwargs) - Result items are available depending on element type; check the - individual element for availability. Valid item and component labels - for element results are: + def Slashsolu(self, **kwargs): + """ + APDL Command: /SOLU - Table: 131:: : DNSOL - Valid Item and Component Labels + Enters the solution processor. - For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the - labels TBOT, TE2, TE3, ..., TTOP instead of TEMP. + Notes + ----- + This command is valid only at the Begin Level. """ - command = "DNSOL, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(node), str(item), str(comp), str(v1), str(v2), str(v3), str(v4), str(v5), str(v6)) + command = "/SOLU," % () self.RunCommand(command, **kwargs) - def Con4(self, xcenter="", ycenter="", rad1="", rad2="", depth="", - **kwargs): + def Qsopt(self, opt="", **kwargs): """ - APDL Command: CON4 + APDL Command: QSOPT - Creates a conical volume anywhere on the working plane. + Specifies quasi static radiation options. Parameters ---------- - xcenter, ycenter - Working plane X and Y coordinates of the center axis of the cone. + opt + Quasi static option: - rad1, rad2 - Radii of the faces of the cone. RAD1 defines the bottom face and - will be located on the working plane. RAD2 defines the top face - and is parallel to the working plane. A value of zero or blank for - either RAD1 or RAD2 defines a degenerate face at the center axis - (i.e., the vertex of the cone). The same value for both RAD1 and - RAD2 defines a cylinder instead of a cone. + OFF - Do not run transient radiation problem to steady-state (default). - depth - The perpendicular distance (either positive or negative based on - the working plane Z direction) from the working plane representing - the depth of the cone. DEPTH cannot be zero (see "Notes" below). + ON - Run transient radiation problem to steady-state. Notes ----- - Defines a solid conical volume with either the vertex or a face - anywhere on the working plane. The cone must have a spatial volume - greater than zero. (i.e., this volume primitive command cannot be used - to create a degenerate volume as a means of creating an area.) The - face or faces will be circular (each area defined with four lines), and - they will be connected with two areas (each spanning 180°). See the - CONE command for an alternate way to create cones. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "CON4, %s, %s, %s, %s, %s" % (str(xcenter), str(ycenter), str(rad1), str(rad2), str(depth)) + command = "QSOPT,%s" % (str(opt)) self.RunCommand(command, **kwargs) - def Eqslv(self, lab="", toler="", mult="", keepfile="", **kwargs): + def Mcheck(self, lab="", **kwargs): """ - APDL Command: EQSLV + APDL Command: MCHECK - Specifies the type of equation solver. + Checks mesh connectivity. Parameters ---------- lab - Equation solver type: + Operation: - SPARSE - Sparse direct equation solver. Applicable to real-value or complex-value - symmetric and unsymmetric matrices. Available only for - STATIC, HARMIC (full method only), TRANS (full method - only), SUBSTR, and PSD spectrum analysis types [ANTYPE]. - Can be used for nonlinear and linear analyses, especially - nonlinear analysis where indefinite matrices are - frequently encountered. Well suited for contact analysis - where contact status alters the mesh topology. Other - typical well-suited applications are: (a) models - consisting of shell/beam or shell/beam and solid elements - (b) models with a multi-branch structure, such as an - automobile exhaust or a turbine fan. This is an - alternative to iterative solvers since it combines both - speed and robustness. Generally, it requires considerably - more memory (~10x) than the PCG solver to obtain optimal - performance (running totally in-core). When memory is - limited, the solver works partly in-core and out-of-core, - which can noticeably slow down the performance of the - solver. See the BCSOPTION command for more details on the - various modes of operation for this solver. + ESEL - Unselects the valid elements. - This solver can be run in shared memory parallel or distributed memory parallel (Distributed ANSYS) mode. When used in Distributed ANSYS, this solver preserves all of the merits of the classic or shared memory sparse solver. The total sum of memory (summed for all processes) is usually higher than the shared memory sparse solver. System configuration also affects the performance of the distributed memory parallel solver. If enough physical memory is available, running this solver in the in-core memory mode achieves optimal performance. The ideal configuration when using the out-of-core memory mode is to use one processor per machine on multiple machines (a cluster), spreading the I/O across the hard drives of each machine, assuming that you are using a high-speed network such as Infiniband to efficiently support all communication across the multiple machines. - This solver supports use of the GPU accelerator capability. + Notes + ----- + Wherever two area or volume elements share a common face, MCHECK + verifies that the way the elements are connected to the face is + consistent with their relative normals or integrated volumes. (This may + detect folds or otherwise overlapping elements.) - JCG - Jacobi Conjugate Gradient iterative equation solver. Available only for STATIC, - HARMIC (full method only), and TRANS (full method only) - analysis types [ANTYPE]. Can be used for structural, thermal, - and multiphysics applications. Applicable for symmetric, - unsymmetric, complex, definite, and indefinite matrices. - Recommended for 3-D harmonic analyses in structural and - multiphysics applications. Efficient for heat transfer, - electromagnetics, piezoelectrics, and acoustic field - problems. + MCHECK verifies that the element exterior faces form simply-connected + closed surfaces. (This may detect unintended cracks in a mesh.) - This solver can be run in shared memory parallel or distributed memory parallel (Distributed ANSYS) mode. When used in Distributed ANSYS, in addition to the limitations listed above, this solver only runs in a distributed parallel fashion for STATIC and TRANS (full method) analyses in which the stiffness is symmetric and only when not using the fast thermal option (THOPT). Otherwise, this solver runs in shared memory parallel mode inside Distributed ANSYS. - This solver supports use of the GPU accelerator capability. When using the GPU - accelerator capability, in addition to the - limitations listed above, this solver is - available only for STATIC and TRANS (full method) - analyses where the stiffness is symmetric and - does not support the fast thermal option (THOPT). + MCHECK warns if the number of element facets in a 2-D loop or 3-D + shell is not greater than a computed limit. This limit is the smaller + of either three times the number of faces on one element, or one-tenth + the total number of element faces in the model. (This may detect holes + in the middle of a mesh.) - ICCG - Incomplete Cholesky Conjugate Gradient iterative equation solver. Available for - STATIC, HARMIC (full method only), and TRANS (full method - only) analysis types [ANTYPE]. Can be used for structural, - thermal, and multiphysics applications, and for symmetric, - unsymmetric, complex, definite, and indefinite matrices. The - ICCG solver requires more memory than the JCG solver, but is - more robust than the JCG solver for ill-conditioned - matrices. + The MCHECK command will perform a number of validity checks on the + selected elements, including: - This solver can only be run in shared memory parallel mode. This is also true when the solver is used inside Distributed ANSYS. - This solver does not support use of the GPU accelerator capability. + Normal check: Wherever two area elements share a common edge, MCHECK + verifies that the ordering of the nodes on each element is consistent + with their relative normals. - QMR - Quasi-Minimal Residual iterative equation solver. Available for the HARMIC - (full method only) analysis type [ANTYPE]. Can be used for - high-frequency electromagnetic applications, and for - symmetric, complex, definite, and indefinite matrices. The - QMR solver is more stable than the ICCG solver. + Volume check: Wherever two volume elements share a common face, MCHECK + verifies that the sign of the integrated volume of each element is + consistent. - This solver can only be run in shared memory parallel mode. This is also true when the solver is used inside Distributed ANSYS. - This solver does not support use of the GPU accelerator capability. + Closed surface check: MCHECK verifies that the element exterior faces + form simply-connected closed surfaces (this may detect unintended + cracks in a mesh). - PCG - Preconditioned Conjugate Gradient iterative equation solver (licensed from - Computational Applications and Systems Integration, Inc.). - Requires less disk file space than SPARSE and is faster for - large models. Useful for plates, shells, 3-D models, large - 2-D models, and other problems having symmetric, sparse, - definite or indefinite matrices for nonlinear analysis. - Requires twice as much memory as JCG. Available only for - analysis types [ANTYPE] STATIC, TRANS (full method only), or - MODAL (with PCG Lanczos option only). Also available for the - use pass of substructure analyses (MATRIX50). The PCG solver - can robustly solve equations with constraint equations (CE, - CEINTF, CPINTF, and CERIG). With this solver, you can use - the MSAVE command to obtain a considerable memory savings. + Check for holes in the mesh: MCHECK warns if the number of element + faces surrounding an interior void in the mesh is small enough to + suggest one or more accidentally omitted elements, rather than a + deliberately formed hole. For this test, the number of faces around the + void is compared to the smaller of a) three times the number of faces + on one element, or b) one-tenth the total number of element faces in + the model. - The PCG solver can handle ill-conditioned problems by using a higher level of difficulty (see PCGOPT). Ill-conditioning arises from elements with high aspect ratios, contact, and plasticity. - This solver can be run in shared memory parallel or distributed memory parallel - (Distributed ANSYS) mode. When used in - Distributed ANSYS, this solver preserves all of - the merits of the classic or shared memory PCG - solver. The total sum of memory (summed for all - processes) is about 30% more than the shared - memory PCG solver. + """ + command = "MCHECK,%s" % (str(lab)) + self.RunCommand(command, **kwargs) - toler - Iterative solver tolerance value. Used only with the Jacobi - Conjugate Gradient, Incomplete Cholesky Conjugate Gradient, Pre- - conditioned Conjugate Gradient, and Quasi-Minimal Residual equation - solvers. For the PCG solver, the default is 1.0E-8. The value - 1.0E-5 may be acceptable in many situations. When using the PCG - Lanczos mode extraction method, the default solver tolerance value - is 1.0E-4. For the JCG and ICCG solvers with symmetric matrices, - the default is 1.0E-8. For the JCG and ICCG solvers with - unsymmetric matrices, and for the QMR solver, the default is - 1.0E-6. Iterations continue until the SRSS norm of the residual is - less than TOLER times the norm of the applied load vector. For the - PCG solver in the linear static analysis case, 3 error norms are - used. If one of the error norms is smaller than TOLER, and the SRSS - norm of the residual is smaller than 1.0E-2, convergence is assumed - to have been reached. See Iterative Solver in the Mechanical APDL - Theory Reference for details. + def Vabs(self, kabsr="", kabs1="", kabs2="", kabs3="", **kwargs): + """ + APDL Command: *VABS - mult - Multiplier (defaults to 2.5 for nonlinear analyses; 1.0 for linear - analyses) used to control the maximum number of iterations - performed during convergence calculations. Used only with the Pre- - conditioned Conjugate Gradient equation solver (PCG). The maximum - number of iterations is equal to the multiplier (MULT) times the - number of degrees of freedom (DOF). If MULT is input as a negative - value, then the maximum number of iterations is equal to abs(MULT). - Iterations continue until either the maximum number of iterations - or solution convergence has been reached. In general, the default - value for MULT is adequate for reaching convergence. However, for - ill-conditioned matrices (that is, models containing elements with - high aspect ratios or material type discontinuities) the multiplier - may be used to increase the maximum number of iterations used to - achieve convergence. The recommended range for the multiplier is - 1.0 MULT 3.0. Normally, a value greater than 3.0 adds no further - benefit toward convergence, and merely increases time requirements. - If the solution does not converge with 1.0 MULT 3.0, or in less - than 10,000 iterations, then convergence is highly unlikely and - further examination of the model is recommended. Rather than - increasing the default value of MULT, consider increasing the level - of difficulty (Lev_Diff) on the PCGOPT command. + Applies the absolute value function to array parameters. - -- - Unused field. + Parameters + ---------- + kabsr + Absolute value of results parameter: - keepfile - Determines whether files from a SPARSE solver run should be deleted - or retained. Applies only to Lab = SPARSE for static and full - transient analyses. + Do not take absolute value of results parameter (ParR). - Take absolute value. - DELE - Deletes all files from the SPARSE solver run, including the factorized file, - .LN22, upon FINISH or /EXIT (default). + kabs1 + Absolute value of first parameter: - KEEP - Retains all necessary files from the SPARSE solver run, including the .LN22 - file, in the working directory. + Do not take absolute value of first parameter (Par1 or ParI). - Take absolute value. + + kabs2 + Absolute value of second parameter: + + Do not take absolute value of second parameter (Par2 or ParJ). - Take absolute value. + + kabs3 + Absolute value of third parameter: + + Do not take absolute value of third parameter (Par3 or ParK). - Take absolute value. Notes ----- - The selection of a solver can affect the speed and accuracy of a - solution. For a more detailed discussion of the merits of each solver, - see Solution in the Basic Analysis Guide. + Applies an absolute value to parameters used in certain *VXX and *MXX + operations. Typical absolute value applications are of the form: - You may only specify the solver type in the first load step. You may, - however, modify the solver tolerance in subsequent load steps for the - iterative solvers. + ParR = |f(|Par1|)| - This command is also valid in PREP7. + or - Distributed ANSYS Restriction: All equation solvers are supported in - Distributed ANSYS. However, the SPARSE and PCG solvers are the only - distributed solvers that always run a fully distributed solution. The - JCG solver runs in a fully distributed mode in some cases; in other - cases, it does not. The ICCG and QMR solvers are not distributed - solvers; therefore, you will not see the full performance improvements - with these solvers that you would with a fully distributed solution. + ParR = |(|Par1| o |Par2|)| - The ANSYS DesignSpace (DS) product does not support distributed - solutions (Distributed ANSYS). + The absolute values are applied to each input parameter value before + the operation and to the result value after the operation. Absolute + values are applied before the scale factors so that negative scale + factors may be used. The absolute value settings are reset to the + default (no absolute value) after each *VXX or *MXX operation. Use + *VSTAT to list settings. + + This command is valid in any processor. """ - command = "EQSLV, %s, %s, %s, %s" % (str(lab), str(toler), str(mult), str(keepfile)) + command = "*VABS,%s,%s,%s,%s" % (str(kabsr), str(kabs1), str(kabs2), str(kabs3)) self.RunCommand(command, **kwargs) - def Lsfactor(self, enginename="", option="", **kwargs): + def Wsprings(self, **kwargs): """ - APDL Command: *LSFACTOR - - Performs the numerical factorization of a linear solver system. - - Parameters - ---------- - enginename - Name used to identify this engine. Must have been previously - created using *LSENGINE. + APDL Command: WSPRINGS - option - Option to invert the matrix, used only with an LAPACK engine - (*LSENGINE,LAPACK): + Creates weak springs on corner nodes of a bounding box of the currently + selected elements. Notes ----- - Performs the computationally intensive, memory intensive factorization - of a matrix specified by *LSENGINE, using the solver engine also - specified by *LSENGINE. + WSPRINGS invokes a predefined ANSYS macro that is used during the + import of loads from the ADAMS program into the ANSYS program. WSPRINGS + creates weak springs on the corner nodes of the bounding box of the + currently selected elements. The six nodes of the bounding box are + attached to ground using COMBIN14 elements. The stiffness is chosen as + a small number and can be changed by changing the real constants of the + COMBIN14 elements. This command works only for models that have a + geometric extension in two or three dimensions. One dimensional + problems (pure beam in one axis) are not supported. + + For more information on how WSPRINGS is used during the transfer of + loads from the ADAMS program to ANSYS, see Import Loads into ANSYS in + the Substructuring Analysis Guide. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "*LSFACTOR, %s, %s" % (str(enginename), str(option)) + command = "WSPRINGS," % () self.RunCommand(command, **kwargs) - def Lwplan(self, wn="", nl1="", ratio="", **kwargs): + def Dklist(self, kpoi="", **kwargs): """ - APDL Command: LWPLAN + APDL Command: DKLIST - Defines the working plane normal to a location on a line. + Lists the DOF constraints at keypoints. Parameters ---------- - wn - Window number whose viewing direction will be modified to be normal - to the working plane (defaults to 1). If WN is a negative value, - the viewing direction will not be modified. - - nl1 - Number of line to be used. If NL1 = P, graphical picking is + kpoi + List constraints for this keypoint. If ALL (default), list for all + selected keypoints [KSEL]. If KPOI = P, graphical picking is enabled and all remaining command fields are ignored (valid only in - the GUI). - - ratio - Location on NL1, specified as a ratio of the line length. Must be - between 0.0 and 1.0. If RATIO = P, use graphical picking to - specify location on the line. + the GUI). A component name may also be substituted for KPOI. Notes ----- - Defines a working plane (to assist in picking operations) normal to a - location on a line. See WPSTYL command to set the style of working - plane display. + Listing applies to the selected keypoints [KSEL] and the selected + degree of freedom labels [DOFSEL]. This command is valid in any processor. """ - command = "LWPLAN, %s, %s, %s" % (str(wn), str(nl1), str(ratio)) + command = "DKLIST,%s" % (str(kpoi)) self.RunCommand(command, **kwargs) - def Inquire(self, strarray="", func="", **kwargs): + def Cval(self, wn="", v1="", v2="", v3="", v4="", v5="", v6="", v7="", + v8="", **kwargs): """ - APDL Command: /INQUIRE + APDL Command: /CVAL - Returns system information to a parameter. + Specifies nonuniform contour values on stress displays. Parameters ---------- - strarray - Name of the "string array" parameter that will hold the returned - values. String array parameters are similar to character arrays, - but each array element can be as long as 128 characters. If the - string parameter does not exist, it will be created. + wn + Window number (or ALL) to which command applies (defaults to 1). + + v1, v2, v3, . . . , v8 + Up to 8 contour values may be specified (in ascending order). The + 0.0 value (if any) must not be the last value specified. If no + values are specified, all contour specifications are erased and + contours are automatically calculated. Notes ----- - The /INQUIRE command is valid in any processor. + This command is similar to the /CONTOUR command. With /CVAL, however, + you define the upper level of each contour band instead of having the + contours uniformly distributed over the range. The minimum value + (including a zero value for the first band) for a contour band cannot + be specified. If you use both /CONTOUR and /CVAL, the last command + issued takes precedence. + + This command is valid in any processor. """ - command = "/INQUIRE, %s, %s" % (str(strarray), str(func)) + command = "/CVAL,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(wn), str(v1), str(v2), str(v3), str(v4), str(v5), str(v6), str(v7), str(v8)) self.RunCommand(command, **kwargs) - def Filname(self, fname="", key="", **kwargs): + def Reset(self, **kwargs): """ - APDL Command: /FILNAME - - Changes the Jobname for the analysis. - - Parameters - ---------- - fname - Name (32 characters maximum) to be used as the Jobname. Defaults - to the initial Jobname as specified on the ANSYS execution command, - or to file if none specified. - - key - Specify whether to use the existing log, error, lock, page, and - output files (.LOG, .ERR, .LOCK, .PAGE and .OUT) or start new - files. - - 0, OFF - Continue using current log, error, lock, page, and output files. + APDL Command: RESET - 1, ON - Start new log, error, lock, page, and output files (old log and error files are - closed and saved, but old lock, page, and output files are - deleted). Existing log and error files are appended. + Resets all POST1 or POST26 specifications to initial defaults. Notes ----- - All subsequently created files will be named with this Jobname if Key = - 0. Use Key = 1 to start new log, error, lock, page, and output files. - The previous Jobname is typically defined on the ANSYS program - execution line (see the Operations Guide). This command is useful when - different groups of files created throughout the run are to have - different names. For example, the command may be used before each - substructure pass to avoid overwriting files or having to rename each - file individually. - - This command is valid only at the Begin level. + Has the same effect as entering the processor the first time within the + run. In POST1, resets all specifications to initial defaults, erases + all element table items, path table data, fatigue table data, and load + case pointers. In POST26, resets all specifications to initial + defaults, erases all variables defined, and zeroes the data storage + space. """ - command = "/FILNAME, %s, %s" % (str(fname), str(key)) + command = "RESET," % () self.RunCommand(command, **kwargs) - def Psdres(self, lab="", relkey="", **kwargs): + def Psymb(self, label="", key="", **kwargs): """ - APDL Command: PSDRES + APDL Command: /PSYMB - Controls solution output written to the results file from a PSD - analysis. + Shows various symbols on displays. Parameters ---------- - lab - Label identifying the solution output: + label + Show symbols as selected from the following labels: - DISP - Displacement solution (default). One-sigma displacements, stresses, forces, - etc. Written as load step 3 on File.RST. + CS - Local coordinate systems. - VELO - Velocity solution. One-sigma velocities, "stress velocities," "force - velocities," etc. Written as load step 4 of File.RST. + NDIR - Nodal coordinate systems (on rotated nodes only). - ACEL - Acceleration solution. One-sigma accelerations, "stress accelerations," "force - accelerations,” etc. Written as load step 5 on File.RST. + ESYS - Element coordinate systems (element displays only). - relkey - Key defining relative or absolute calculations: + LDIR - Line directions (line displays only). - REL - Calculations are relative to the base excitation (default). + LDIV - Controls the display of element divisions on lines. - ABS - Calculations are absolute. + ADIR - Area direction symbol (for keypoint, line, area and volume plots). - OFF - No calculation of solution output identified by Lab. + LAYR - Layer orientations (relative to the projected element x-axis) or fiber + orientations in smeared reinforcing elements. Used only + within an element display. Use KEY to specify the layer + number. - Notes - ----- - Controls the amount and form of solution output written to the results - file from a PSD analysis. One-sigma values of the relative or absolute - displacement solution, relative or absolute velocity solution, relative - or absolute acceleration solution, or any combination may be included - on the results file. + ECON - Element mesh symbols on keypoints and lines. - This command is also valid in PREP7. + DOT - Larger symbols displayed for node and keypoint locations. When Label = DOT, + KEY = 1 by default. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + XNOD - Extra node of surface or circuit elements. - """ - command = "PSDRES, %s, %s" % (str(lab), str(relkey)) - self.RunCommand(command, **kwargs) + FBCS - Force boundary condition scaling. Subsequent KEY value determines whether or + not to scale the applied and derived forces/moments to the + same maximum value. - def Linv(self, nl="", nv="", **kwargs): - """ - APDL Command: LINV + DEFA - Resets the symbol keys so that ANSYS displays none of the symbols controlled by + the /PSYMB command. The value of the KEY field is ignored. - Finds the intersection of a line with a volume. + STAT - Prints the status of the settings of the symbol keys controlled by the /PSYMB + command. The KEY field is ignored. - Parameters - ---------- - nl - Number of line to be intersected. If NL = P, graphical picking is - enabled and all remaining command fields are ignored (valid only in - the GUI). + key + Symbol key: - nv - Number of volume to be intersected. + -1  - Effective only if Label = LAYR and solid shape element display (/ESHAPE) is + active. Orientation of all layers appears with the solid + shape element display. + + 0  - No symbol (default). If Label = LDIV, then KEY= 0 indicates that the displayed + element divisions will correspond to the existing mesh (the + word MESHED or EXISTING can also be substituted). Also, for + Label = LDIV, if you execute any meshing command (such as + AMESH or VMESH), KEY is set to 0 (MESHED) automatically. If + Label = FBCS, then KEY= 0 indicates that boundary condition + scaling will not be common. The applied and derived + forces/moments will be scaled to their respective maximum + values. + + 1  - Include symbol. If Label = LDIV, then KEY = 1 indicates that the displayed line + divisions will correspond to the value assigned by LESIZE (the + word LESIZE can also be substituted). Also, for Label = LDIV, + if you execute the LESIZE command, KEY is set to 1 (LESIZE) + automatically. If Label = FBCS, then KEY= 1 indicates that + boundary condition scaling will be common. The applied and + derived forces/moments will be scaled to the same maximum + value. + + N  - If Label = LAYR, then N is equal to the layer number. If Label = DOT, then N + can be equal to 0,1,.....15, indicating the dot size. If Label + = LDIV, then KEY = -1, indicates that no element divisions + will be displayed (the word OFF can also be substituted). Notes ----- - Finds the intersection of a line with a volume. New lines will be - generated where the lines intersect the volumes. If the regions of - intersection are only points, new keypoints will be generated instead. - See the Modeling and Meshing Guide for an illustration. See the BOPTN - command for the options available to Boolean operations. Element - attributes and solid model boundary conditions assigned to the original - entities will not be transferred to the new entities generated. + Includes various symbols on the display. Triads are right-handed with + x displayed as the longest leg. Where color is displayed, x is white, + y is green, and z is blue. For beams, x is always along the length of + the element. For lines, an arrow represents the direction of a line, + from the beginning keypoint to the end keypoint. See /PLOPTS command + for additional display options. Use /PSTATUS or /PSYMB,STAT to display + settings. Use /PSYMB,DEFA to reset all specifications back to their + defaults. The command /PSYMB,ECON,1 causes the symbol "M" to be + displayed on keypoints and lines associated with meshed entities. When + you issue the command /PSYMB,DOT,1, a larger symbol is displayed for + each node and keypoint location. + + PowerGraphics (/GRAPHICS,POWER) does not support /PSYMB,ESYS and + /PSYMB,LAYR. + + If KEY = N and PowerGraphics is off, the centroid of the surface + elements is connected to the extra node using a gray line. However, if + PowerGraphics is on, the color of the line connecting the centroid to + the extra node is the same as that for the elements themselves (as + determined by /PNUM). + + When Label = LAYR, the layer systems can be visualized with all + current-technology layered elements and the smeared reinforcing element + REINF265. To use /PSYMB,LAYR with REINF265, first set the vector-mode + graphics option (/DEVICE,VECTOR,1). + + This command is valid in any processor. """ - command = "LINV, %s, %s" % (str(nl), str(nv)) + command = "/PSYMB,%s,%s" % (str(label), str(key)) self.RunCommand(command, **kwargs) - def Vcum(self, key="", **kwargs): + def Vedit(self, par="", **kwargs): """ - APDL Command: *VCUM + APDL Command: *VEDIT - Allows array parameter results to add to existing results. + Allows numerical array parameters to be graphically edited. Parameters ---------- - key - Accumulation key: - - Overwrite results. - Add results to the current value of the results parameter. + par + Name of the array parameter to be edited. Notes ----- - Allows results from certain *VXX and *MXX operations to overwrite or - add to existing results. The cumulative operation is of the form: - - ParR = ParR + ParR(Previous) + Invokes a graphical editing system that displays array parameter values + in matrix form, and allows the use of the mouse to edit individual + values. The starting array subscripts must be defined, such as + *VEDIT,A(4,6,1), to indicate the section of the array to be edited. + The array section starts at the specified array element and continues + to the maximum extent of the array parameter. Row and column index + values may be set or changed in any plane, and those values will be + applied to all planes. The menu system must be on [/MENU] when this + command is issued. Graphical editing is not available for character + array parameters. The *VEDIT command can not be used in a macro or + other secondary input file. - The cumulative setting is reset to the default (overwrite) after each - *VXX or *MXX operation. Use *VSTAT to list settings. + This command is not applicable to 4- or 5-D arrays. This command is valid in any processor. """ - command = "*VCUM, %s" % (str(key)) + command = "*VEDIT,%s" % (str(par)) self.RunCommand(command, **kwargs) - def Lsbw(self, nl="", sepo="", keep="", **kwargs): + def Rimport(self, source="", type="", loc="", lstep="", sbstep="", + fname="", ext="", spscale="", mscale="", **kwargs): """ - APDL Command: LSBW + APDL Command: RIMPORT - Subtracts the intersection of the working plane from lines (divides - lines). + Imports initial stresses from an explicit dynamics run into ANSYS. Parameters ---------- - nl - Line (or lines, if picking is used) to be subtracted from. If NL = - ALL, use all selected lines. If NL = P, graphical picking is - enabled and all remaining command fields are ignored (valid only in - the GUI). A component name may also be input for NL. + source + The type of analysis run from which stresses are imported. - sepo - Behavior of the created boundary. + OFF - Ignore initial stresses. - (blank) - The resulting lines will share keypoint(s) where they touch. + DYNA - Get initial stresses from an earlier explicit (ANSYS LS-DYNA) run (default). - SEPO - The resulting lines will have separate, but coincident keypoint(s). + type + Type of data imported. Note that this is an ANSYS-defined field; + the only valid value is STRESS. - keep - Specifies whether NL lines are to be deleted: + loc + Location where the data is imported. Note that this is an ANSYS- + defined field; the only valid value is ELEM (data imported at the + element integration points). - (blank) - Use the setting of KEEP on the BOPTN command. + lstep + Load step number of data to be imported. Defaults to the last load + step. - DELETE - Delete NL lines after LSBW operation (override BOPTN command settings). + sbstep + Substep number of data to be imported. Defaults to the last + substep. - KEEP - Keep NL lines after LSBW operation (override BOPTN command settings). + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. + + ext + Filename extension (eight-character maximum). + + -- + Unused field. + + spscale + Stabilization factor. This factor is used in a springback analysis + to scale (up or down) the initial stiffness of the applied spring. + No default; input a value only if you want to activate + stabilization. If SPSCALE is blank, stabilization is not activated. + + mscale + Acceptable stabilization stiffness (defaults to 1.0 X 10--4). In a + springback analysis, iterations will stop when the applied spring + stiffness comes down to this value. MSCALE is not used if SPSCALE + is blank. Notes ----- - Generates new lines by subtracting the intersection of the working - plane from the NL lines. The intersection will be a keypoint(s). The - working plane must not be in the same plane as the NL line(s). If SEPO - is blank, the NL line is divided and the resulting lines will be - connected, sharing a common keypoint where they touch. If SEPO is set - to SEPO, NL is divided into two unconnected lines with separate - keypoints. See the Modeling and Meshing Guide for an illustration. - See the BOPTN command for an explanation of the options available to - Boolean operations. Element attributes and solid model boundary - conditions assigned to the original entities will not be transferred to - the new entities generated. Areas that completely contain the input - lines will be updated if the lines are divided by this operation. + This command imports initial stress information into ANSYS from an + earlier explicit (ANSYS LS-DYNA) run. The stress state from SHELL163 + and SOLID164 elements in the explicit analysis is imported to the + corresponding SHELL181 and SOLID185 implicit elements. For the shell + elements, the current shell element thickness is also imported. This + command is valid only before the first SOLVE command of the implicit + analysis (which comes after the explicit analysis) and is ignored if + issued after subsequent SOLVE commands (that is, stresses will not be + re-imported). + + RIMPORT is typically used to perform springback analysis of sheet metal + forming. We recommend that you use SHELL163 elements in the explicit + analysis with 3 to 5 integration points through the thickness. This + ensures that the through-thickness stress distribution is transferred + accurately to the SHELL181 elements. If more than 5 integration points + are used, ANSYS imports resultants (forces and moments) to the SHELL181 + elements. This implies that linearization of the through-thickness + stress distribution is assumed in SHELL181 elements. If SHELL163 uses + full integration in the shell plane, stress and thickness data are + averaged and then transferred. For the solid elements, the stress at + the SOLID164 element centroid is transferred to the SOLID185 element + centroid. If SOLID164 has full integration, the stress is averaged and + then transferred. + + When the SPSCALE argument is specified, artificial springs with + exponentially decaying stiffness (as a function of iterations) are + applied. This technique is recommended only for those cases in which + there are severe convergence difficulties. In general, you should first + attempt a springback analysis without using the stabilization factors + SPSCALE and MSCALE. (For more information on springback stabilization, + see the ANSYS LS-DYNA User's Guide.) + + This command is not written to the Jobname.CDB file when the CDWRITE + command is issued. Further, the RIMPORT information is not saved to the + database; therefore, the RIMPORT command must be reissued if the + database is resumed. + + This command is also valid in PREP7. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "LSBW, %s, %s, %s" % (str(nl), str(sepo), str(keep)) + command = "RIMPORT,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(source), str(type), str(loc), str(lstep), str(sbstep), str(fname), str(ext), str(spscale), str(mscale)) self.RunCommand(command, **kwargs) - def Pdhist(self, rlab="", name="", ncl="", type="", **kwargs): + def Prenergy(self, energytype="", cname1="", cname2="", cname3="", + cname4="", cname5="", cname6="", **kwargs): """ - APDL Command: PDHIST + APDL Command: PRENERGY - Plots the frequency histogram. + Prints the total energies of a model or the energies of the specified + components. Parameters ---------- - rlab - Result set label. Identifies the result set to be used for - postprocessing. A result set label can be the solution set label - you defined in a PDEXE command (if you are directly postprocessing - Monte Carlo Simulation results), or the response surface set label - defined in an RSFIT command (for Response Surface Analyses). - - name - Parameter name. The parameter must have been previously defined as - a random input variable or a random output parameter with the PDVAR - command. - - ncl - Number of classes for the histogram plot. This is the number of - bars shown in the histogram. NCL must be a positive number. If this - field is left blank, Mechanical APDL calculates an appropriate - number of classes based on the sample size. ANSYS divides the range - between the smallest and largest sample value into NCL classes of - equal width and determines the histogram frequencies by counting - the number of hits that fall in the classes. + energytype + Type of energies to be printed: - type - Type of histogram. + ALL - All energies are printed: potential, kinetic, artificial hourglass/drill + stiffness, contact stabilization energy, and artificial + stabilization energy when applicable. This is the default. - ABS - Absolute frequency histogram. This is the actual number of hits in each class. + SENE - Potential energy. - REL - Relative frequency histogram (default). This is the number of hits in the - individual classes divided by the total number of samples. + KENE - Kinetic energy. - NORM - Normalized frequency histogram. This is the number of hits in the individual - classes divided by the total number of samples and divided - by the width of the class. This normalization makes the - histogram comparable to the probability density function. + cname1, cname2, cname3,… + Component names for energies of the components printout. Notes ----- - Plots the frequency histogram. + The PRENERGY command prints out either the total energies of the entire + model or the energies of the components depending on the Cname1 + specification. - If Rlab is left blank, then the result set label is inherited from the - last PDEXE command (Slab), RSFIT command (RSlab), or the most recently - used PDS postprocessing command where a result set label was explicitly - specified. + Only existing components based on elements (defined with the CM + command) are supported when component energies are listed. - The PDHIST command cannot be used to postprocess the results in a - solution set that is based on Response Surface Methods, only Monte - Carlo Simulations. + This command applies to structural elements only. """ - command = "PDHIST, %s, %s, %s, %s" % (str(rlab), str(name), str(ncl), str(type)) + command = "PRENERGY,%s,%s,%s,%s,%s,%s,%s" % (str(energytype), str(cname1), str(cname2), str(cname3), str(cname4), str(cname5), str(cname6)) self.RunCommand(command, **kwargs) - def Vdot(self, labr="", labx1="", laby1="", labz1="", labx2="", laby2="", - labz2="", **kwargs): + def Cnkmod(self, itype="", knum="", value="", **kwargs): """ - APDL Command: VDOT + APDL Command: CNKMOD - Forms an element table item from the dot product of two vectors. + Modifies contact element key options. Parameters ---------- - labr - Label assigned to dot product result. + itype + Contact element type number as defined on the ET command. - labx1, laby1, labz1 - X, Y, and Z-component of first vector label. + knum + Number of the KEYOPT to be modified (KEYOPT(KNUM)). - labx2, laby2, labz2 - X, Y, and Z-component of second vector label. + value + Value to be assigned to the KEYOPT. Notes ----- - Forms labeled result items for the selected element from the dot - product of two vectors: + The CNKMOD command has the same syntax as the KEYOPT command. However, + it is valid only in the SOLUTION processor. This command is intended + only for use in a linear perturbation analysis, and can only be used to + modify certain contact element KEYOPT values as described below. - LabR = {LabX1, LabY1, LabZ1} : : {LabX2, LabY2, LabZ2} + Modifying KEYOPT(12) - Data must be in a consistent coordinate system. Labels are those - associated with the ETABLE command. + One use for this command is to modify contact interface behavior + between load steps in a linear perturbation analysis; it allows the + user to control the contact status locally per contact pair. For this + application, this command is limited to changing the contact interface + behavior key option: KEYOPT(12) of CONTA171, CONTA172, CONTA173, + CONTA174, CONTA175, CONTA176, and CONTA177; and KEYOPT(10) of CONTA178. - """ - command = "VDOT, %s, %s, %s, %s, %s, %s, %s" % (str(labr), str(labx1), str(laby1), str(labz1), str(labx2), str(laby2), str(labz2)) - self.RunCommand(command, **kwargs) + When used for this purpose, the command adjusts the contact status from + the linear perturbation base analysis (at the point of restart) as + described in the table below. Note that CNKMOD allows you to take + points in the base analysis that are near contact (within the pinball + region) and modify them to be treated as "in contact" in the + perturbation analysis; see the "1 - near-field" row with KEYOPT(12) + values set to 4 or 5. CNKMOD also allows you to take points that are + sliding in the base analysis and treat them as sticking in the + perturbation analysis, irrespective of the MU value; see the "2 - + sliding" row with KEYOPT(12) values set to 1,3, 5, or 6. - def Keypts(self, **kwargs): - """ - APDL Command: KEYPTS + Table: 128:: : Adjusted Contact Status with CNKMOD is Issued - Specifies "Keypoints" as the subsequent status topic. + (if outside of the adjusted pinball region) - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + (if inside of the adjusted pinball region) - If entered directly into the program, the STAT command should - immediately follow this command. + (if outside of the adjusted pinball region) + + (if inside of the adjusted pinball region) + + If an open gap exists at the end of the previous load step and the + contact status is adjusted as sliding or sticking due to a “bonded” or + “no seperation” contact behavior definition, then the program will + treat it as near-field contact when executing CNKMOD in the subsequent + load steps. + + In the linear perturbation analysis procedure, contact status can also + be controlled or modified by the PERTURB command. The contact status + always follows local controls defined by the CNKMOD command first, and + is then adjusted by the global sticking or bonded setting (ContKey = + STICKING or BONDED) on the PERTURB command (see the PERTURB command for + details). + + Modifying KEYOPT(3) + + Another use for this command is to change the units of normal contact + stiffness (contact element real constant FKN) in a linear perturbation + modal analysis that is used to model brake squeal. For contact elements + CONTA171, CONTA172, CONTA173, and CONTA174, KEYOPT(3) controls the + units of normal contact stiffness. You can issue the command + CNKMOD,ITYPE,3,1 during the first phase of the linear perturbation + analysis in order to change the units of normal contact stiffness from + FORCE/LENGTH3 (in the base analysis) to FORCE/LENGTH. Note that + KEYOPT(3) = 1 is valid only when a penalty-based algorithm is used + (KEYOPT(2) = 0 or 1) and the absolute normal contact stiffness value is + explicitly specified (that is, a negative value input for real constant + FKN). """ - command = "KEYPTS, " % () + command = "CNKMOD,%s,%s,%s" % (str(itype), str(knum), str(value)) self.RunCommand(command, **kwargs) - def Slashdscale(self, wn="", dmult="", **kwargs): + def Rforce(self, nvar="", node="", item="", comp="", name="", **kwargs): """ - APDL Command: /DSCALE + APDL Command: RFORCE - Sets the displacement multiplier for displacement displays. + Specifies the total reaction force data to be stored. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). - - dmult - AUTO or 0 - - AUTO or 0 - Scale displacements automatically so that maximum displacement (vector - amplitude) displays as 5 percent of the maximum model - length, as measured in the global Cartesian X, Y, or Z - directions. + nvar + Arbitrary reference number assigned to this variable (2 to NV + [NUMVAR]). Overwrites any existing results for this variable. - 1 - Do not scale displacements (i.e., scale displacements by 1.0, true to - geometry). Often used with large deflection results. + node + Node for which data are to be stored. If NODE = P, graphical + picking is enabled (valid only in the GUI). - FACTOR - Scale displacements by numerical value input for FACTOR. + item + Label identifying the item. Valid item labels are shown in the + table below. Some items also require a component label. - OFF - Remove displacement scaling (i.e., scale displacements by 0.0, no distortion). + comp + Component of the item (if required). Valid component labels are + shown in the table below. - USER - Set DMULT to that used for last display (useful when last DMULT value was - automatically calculated). + name + Thirty-two character name identifying the item on printouts and + displays. Defaults to an eight character label formed by + concatenating the first four characters of the Item and Comp + labels. Notes ----- - If Multi-Plots are not being displayed, and the current device is a 3-D - device [/SHOW,3D], then the displacement scale in all active windows - will be the same, even if separate /DSCALE commands are issued for each - active window. For efficiency, ANSYS 3-D graphics logic maintains a - single data structure (segment), which contains only one displacement - scale. The program displays the same segment (displacement scale) in - all windows. Only the view settings will be different in each of the - active windows. + Defines the total reaction force data (static, damping, and inertial + components) to be stored from single pass (ANTYPE,STATIC or TRANS) + solutions or from the expansion pass of mode-superposition + (ANTYPE,HARMIC or TRANS) solutions. - This command is valid in any processor. + Table: 228:: : RFORCE - Valid Item and Component Labels + + For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the + labels HBOT, HE2, HE3, . . ., HTOP instead of HEAT. """ - command = "/DSCALE, %s, %s" % (str(wn), str(dmult)) + command = "RFORCE,%s,%s,%s,%s,%s" % (str(nvar), str(node), str(item), str(comp), str(name)) self.RunCommand(command, **kwargs) - def Kplot(self, np1="", np2="", ninc="", lab="", **kwargs): + def Starvplot(self, parx="", pary="", y2="", y3="", y4="", y5="", y6="", + y7="", y8="", **kwargs): """ - APDL Command: KPLOT + APDL Command: *VPLOT - Displays the selected keypoints. + Graphs columns (vectors) of array parameters. Parameters ---------- - np1, np2, ninc - Display keypoints from NP1 to NP2 (defaults to NP1) in steps of - NINC (defaults to 1). If NP1 = ALL (default), NP2 and NINC are - ignored and all selected keypoints [KSEL] are displayed. - - lab - Determines what keypoints are plotted (one of the following): + parx + Name of the array parameter whose column vector values will be the + abscissa of the graph. If blank, row subscript numbers are used + instead. ParX is not sorted by the program. - (blank) - Plots all keypoints. + pary + Name of the array parameter whose column vector values will be + graphed against the ParX values. - HPT - Plots only those keypoints that are hard points. + y2, y3, y4, . . . , y8 + Additional column subscript of the ParY array parameter whose + values are to be graphed against the ParX values. Notes ----- + The column to be graphed and the starting row for each array parameter + must be specified as subscripts. Additional columns of the ParY array + parameter may be graphed by specifying column numbers for Y2, Y3, + ...,Y8. For example, *VPLOT,TIME (4,6), DISP (8,1),2,3 specifies that + the 1st, 2nd, and 3rd columns of array parameter DISP (all starting at + row 8) are to be graphed against the 6th column of array parameter TIME + (starting at row 4). The columns are graphed from the starting row to + their maximum extent. See the *VLEN and *VMASK commands to limit or + skip data to be graphed. The array parameters specified on the *VPLOT + command must be of the same type (type ARRAY or TABLE; [*DIM]. Arrays + of type TABLE are graphed as continuous curves. Arrays of type ARRAY + is displayed in bar chart fashion. + + The normal curve labeling scheme for *VPLOT is to label curve 1 “COL + 1”, curve 2 “COL 2” and so on. You can use the /GCOLUMN command to + apply user-specified labels (8 characters maximum) to your curves. See + Modifying Curve Labels in the ANSYS Parametric Design Language Guide + for more information on using /GCOLUMN. + + When a graph plot reaches minimum or maximum y-axis limits, the program + indicates the condition by clipping the graph. The clip appears as a + horizontal magenta line. Mechanical APDL calculates y-axis limits + automatically; however, you can modify the (YMIN and YMAX) limits via + the /YRANGE command. + This command is valid in any processor. """ - command = "KPLOT, %s, %s, %s, %s" % (str(np1), str(np2), str(ninc), str(lab)) + command = "*VPLOT,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(parx), str(pary), str(y2), str(y3), str(y4), str(y5), str(y6), str(y7), str(y8)) self.RunCommand(command, **kwargs) - def Nscale(self, inc="", node1="", node2="", ninc="", rx="", ry="", rz="", - **kwargs): + def Dsurf(self, kcn="", xsurf="", ysurf="", zsurf="", **kwargs): """ - APDL Command: NSCALE + APDL Command: DSURF - Generates a scaled set of nodes from a pattern of nodes. + Defines the surface upon which digitized nodes lie. Parameters ---------- - inc - Do this scaling operation one time, incrementing all nodes in the - given pattern by INC. If INC = 0, nodes will be redefined at the - scaled locations. - - node1, node2, ninc - Scale nodes from pattern of nodes beginning with NODE1 to NODE2 - (defaults to NODE1) in steps of NINC (defaults to 1). If NODE1 = - ALL, NODE2 and NINC are ignored and pattern is all selected nodes - [NSEL]. 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). + kcn + Surface is located in coordinate system KCN. KCN may be 0,1,2 or + any previously defined local coordinate system number. - rx, ry, rz - Scale factor ratios. Scaling is relative to the origin of the - active coordinate system (RR, Rθ, RZ for cylindrical, RR, Rθ, RΦ - for spherical or toroidal). If absolute value of ratio > 1.0, - pattern is enlarged. If < 1.0, pattern is reduced. Ratios default - to 1.0 (each). + xsurf, ysurf, zsurf + Input one value to define the surface constant. Input 999 in the + other two fields. Interpret fields as R, θ, Z for cylindrical or + R, θ, Φ for spherical or toroidal coordinate systems. XSURF and + YSURF default to 999 if KCN = 0. Notes ----- - Generates a scaled pattern of nodes from a given node pattern. Scaling - is done in the active coordinate system. Nodes in the pattern may have - been generated in any coordinate system. - - This command is also valid in the /MAP processor. + Defines the surface upon which the nodes to be digitized (with the DIG + command) actually lie. Surfaces are defined by a coordinate system + number and a coordinate constant [MOVE]. Two coordinates are + determined from the drawing and converted to surface coordinates. The + third coordinate is defined from the input surface constant. If nodes + lie on warped or undefined surfaces, use the DMOVE command. """ - command = "NSCALE, %s, %s, %s, %s, %s, %s, %s" % (str(inc), str(node1), str(node2), str(ninc), str(rx), str(ry), str(rz)) + command = "DSURF,%s,%s,%s,%s" % (str(kcn), str(xsurf), str(ysurf), str(zsurf)) self.RunCommand(command, **kwargs) - def Sesymm(self, sename="", ncomp="", inc="", file="", ext="", **kwargs): + def Undelete(self, option="", nstart="", nend="", **kwargs): """ - APDL Command: SESYMM + APDL Command: UNDELETE - Performs a symmetry operation on a superelement within the use pass. + Removes results sets from the group of sets selected for editing. Parameters ---------- - sename - The name (case-sensitive) of the superelement matrix file created - by the substructure generation pass (Sename.SUB). Defaults to the - current Jobname. If a number, it is the element number of a - previously defined superelement in the current use pass. - - ncomp - Symmetry key: - - X - X symmetry (default). - - Y - Y symmetry. - - Z - Z symmetry. + option + Specifies which sets are to be removed from the selected sets. - inc - Increment all nodes in the superelement by INC. + SET - Specifies one or more particular sets in the results file that are to be + removed from the group of sets selected for deletion. - file - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + ALL - Removes all selected sets that are currently selected for deletion. - ext - Filename extension (eight-character maximum). + nstart + The first set to be removed from the set selected for deletion. - -- - Unused field. + nend + The final set to be removed from the set selected for deletion. + This field is used only if operating on more than one sequential + set. Notes ----- - Performs a symmetry operation on a superelement within the substructure - use pass by reversing the sign of component Ncomp in the global - Cartesian coordinate system. The node numbers are incremented by INC. - The new superelement is written to File.SUB in the current directory - (by default). All master node nodal coordinate systems must be global - Cartesian (no rotated nodes allowed). - - The maximum number of transformations for a given superelement is five - (including SETRAN, SESYMM, and the large rotation transformation if - NLGEOM is ON in the use pass). - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Use this command if you have previously marked a set for deletion (with + the DELETE command) and now wish to keep that set instead of deleting + it. """ - command = "SESYMM, %s, %s, %s, %s, %s" % (str(sename), str(ncomp), str(inc), str(file), str(ext)) + command = "UNDELETE,%s,%s,%s" % (str(option), str(nstart), str(nend)) self.RunCommand(command, **kwargs) - def Asel(self, type="", item="", comp="", vmin="", vmax="", vinc="", - kswp="", **kwargs): + def Cformat(self, nfirst="", nl_ast="", **kwargs): """ - APDL Command: ASEL - - Selects a subset of areas. - - Parameters - ---------- - type - Label identifying the type of select: - - S - Select a new set (default) - - R - Reselect a set from the current set. - - A - Additionally select a set and extend the current set. - - U - Unselect a set from the current set. - - ALL - Restore the full set. + APDL Command: /CFORMAT - NONE - Unselect the full set. + Controls the graphical display of alphanumeric character strings for + parameters, components, assemblies, and tables. - INVE - Invert the current set (selected becomes unselected and vice versa). + Parameters + ---------- + nfirst + Display the first n characters of the parameter, component, + assembly, or table name, up to 32. Defaults to 32. - STAT - Display the current select status. + nlast + Display the last n characters of the parameter, component, + assembly, or table name, up to 32. Defaults to 0. Notes ----- - Selects a subset of areas. For example, to select those areas with area - numbers 1 through 7, use ASEL,S,AREA,,1,7. The selected subset is then - used when the ALL label is entered (or implied) on other commands, such - as ALIST,ALL. Only data identified by area number are selected. Data - are flagged as selected and unselected; no data are actually deleted - from the database. - - In a cyclic symmetry analysis, area hot spots can be modified. - Consequently, the result of an area selection may be different before - and after the CYCLIC command. - - If Item = ACCA, the command selects only those areas that were created - by concatenation. The KSWP field is processed, but the Comp, VMIN, - VMAX, and VINC fields are ignored. + Use this command to control the length of the character string that is + shown in the graphics window for a parameter, component, assembly, or + table name. - This command is valid in any processor. + The total number of characters (NFIRST + NLAST +3) cannot exceed 32. - For Selects based on non-integer numbers (coordinates, results, etc.), - items that are within the range VMIN-Toler and VMAX+Toler are selected. - The default tolerance Toler is based on the relative values of VMIN and - VMAX as follows: + If NFIRST is greater than zero and NLAST = 0, only the NFIRST + characters are displayed, followed by an ellipsis. - If VMIN = VMAX, Toler = 0.005 x VMIN. + If NFIRST = 0 and NLAST is greater than zero, only the NLAST characters + are displayed, preceded by an ellipsis (...). - If VMIN = VMAX = 0.0, Toler = 1.0E-6. + If both NFIRST and NLAST are greater than zero, the name will be shown + as NFIRST, followed by an ellipsis (...), followed by NLAST, up to a + maximum of 32 characters. - If VMAX ≠ VMIN, Toler = 1.0E-8 x (VMAX-VMIN). + For example, if NFIRST = 6 and NLAST = 3, and the character string is + LENGTHOFSIDEONE, then it will appear in the graphics window as + LENGTH...ONE. - Use the SELTOL command to override this default and specify Toler - explicitly. + If the actual length of the character string is less than the specified + combination of NFIRST + NLAST +3, then the actual string will be used. - Table: 127:: : ASEL - Valid Item and Component Labels + This command is valid in any processor. """ - command = "ASEL, %s, %s, %s, %s, %s, %s, %s" % (str(type), str(item), str(comp), str(vmin), str(vmax), str(vinc), str(kswp)) + command = "/CFORMAT,%s,%s" % (str(nfirst), str(nl_ast)) self.RunCommand(command, **kwargs) - def Fill(self, node1="", node2="", nfill="", nstrt="", ninc="", itime="", - inc="", space="", **kwargs): + def Sumap(self, rsetname="", item="", comp="", **kwargs): """ - APDL Command: FILL + APDL Command: SUMAP - Generates a line of nodes between two existing nodes. + Map results onto selected surface(s). Parameters ---------- - node1, node2 - Beginning and ending nodes for fill-in. NODE1 defaults to next to - last node specified, NODE2 defaults to last node specified. If - NODE1 = P, graphical picking is enabled and all remaining command - fields are ignored (valid only in the GUI). - - nfill - Fill NFILL nodes between NODE1 and NODE2 (defaults to - |NODE2-NODE1|-1). NFILL must be positive. - - nstrt - Node number assigned to first filled-in node (defaults to NODE1 + - NINC). - - ninc - Add this increment to each of the remaining filled-in node numbers - (may be positive or negative). Defaults to the integer result of - (NODE2-NODE1)/(NFILL + 1), i.e., linear interpolation. If the - default evaluates to zero, or if zero is input, NINC is set to 1. + rsetname + Eight-character name for the result being mapped. - itime, inc - Do fill-in operation a total of ITIMEs, incrementing NODE1, NODE2 - and NSTRT by INC each time after the first. ITIME and INC both - default to 1. + item + Label identifying the item. - space - Spacing ratio. Ratio of last division size to first division size. - If > 1.0, divisions increase. If < 1.0, divisions decrease. Ratio - defaults to 1.0 (uniform spacing). + comp + Component label of item (if required). Notes ----- - Generates a line of nodes (in the active coordinate system) between two - existing nodes. The two nodes may have been defined in any coordinate - system. Nodal locations and rotation angles are determined by - interpolation. Any number of nodes may be filled-in and any node - number sequence may be assigned. See the CSCIR command when filling - across the 180° singularity line in a non-Cartesian system. + The SUMAP command maps results in the current coordinate system (RSYS) + using the selected set of elements. + + The command interpolates and stores the results data on to each of the + selected surfaces. + + SUMAP,ALL,CLEAR deletes all results sets from all selected surfaces. """ - command = "FILL, %s, %s, %s, %s, %s, %s, %s, %s" % (str(node1), str(node2), str(nfill), str(nstrt), str(ninc), str(itime), str(inc), str(space)) + command = "SUMAP,%s,%s,%s" % (str(rsetname), str(item), str(comp)) self.RunCommand(command, **kwargs) - def Mxpand(self, nmode="", freqb="", freqe="", elcalc="", signif="", - msupkey="", modeselmethod="", **kwargs): + def Starstatus(self, par="", imin="", imax="", jmin="", jmax="", kmin="", + kmax="", lmin="", lmax="", mmin="", mmax="", kpri="", + **kwargs): """ - APDL Command: MXPAND + APDL Command: *STATUS - Specifies the number of modes to expand and write for a modal or - buckling analysis. + Lists the current parameters and abbreviations. Parameters ---------- - nmode - Number of modes or array name (enclosed in percent signs) to expand - and write. If blank or ALL, expand and write all modes within the - frequency range specified. If -1, do not expand and do not write - modes to the results file during the analysis. If an array name is - input, the array must contain 1 for the expanded modes and zero - otherwise, where the array index corresponds to the mode number. To - specify an array containing the individual modes to expand, enclose - the array name in percent (%) signs (for example, - MXPAND,%arrname%). Use the *DIM command to define the array. + par + Specifies the parameter or sets of parameters listed. For array + parameters, use IMIN, IMAX, etc. to specify ranges. Use *DIM to + define array parameters. Use *VEDIT to review array parameters + interactively. Use *VWRITE to print array values in a formatted + output. If Par is blank, list all scalar parameter values, array + parameter dimensions, and abbreviations. If ARGX, list the active + set of local macro parameters (ARG1 to ARG9 and AR10 to AR99) + [*USE]. - freqb - Beginning, or lower end, of frequency range of interest. If FREQB - and FREQE are both blank, expand and write the number of modes - specified without regard to the frequency range. Defaults to the - entire range. + Lists all parameters (except local macro parameters and those with names beginning or ending with an underbar) and toolbar abbreviations. - Lists only parameters with names beginning with an underbar (_). These are + ANSYS internal parameters. - freqe - Ending, or upper end, of frequency range of interest. + Lists only parameters with names ending with an underbar (_). A good APDL programming convention is to ensure that all parameters created by your system programmer are named with a trailing underbar. - Lists all toolbar abbreviations. - elcalc - Element calculation key: + Lists all parameters (except local macro parameters and those with names beginning or ending with an underbar). - Lists all APDL Math parameters, including vectors, matrices, and linear + solvers. - NO - Do not calculate element results, reaction forces, and energies (default). + Lists only the parameter specified. PARNAME cannot be a local macro parameter name. - Lists all local macro parameter values (ARG1- AR99) that are non-zero or non- + blank. - YES - Calculate element results, reaction forces, energies, and the nodal degree of - freedom solution. + imin, imax, jmin, jmax, kmin, kmax, lmin, lmax, mmin, mmax + Range of array elements to display (in terms of the dimensions + (row, column, plane, book, and shelf). Minimum values default to + 1. Maximum values default to the maximum dimension values. Zero + may be input for IMIN, JMIN, and KMIN to display the index numbers. + See *TAXIS command to list index numbers of 4- and 5-D tables. - signif - Expand only those modes whose significance level exceeds the SIGNIF - threshold (only applicable when ModeSelMethod is defined). + kpri + Use this field to list your primary variable labels (X, Y, Z, TIME, + etc.). - msupkey - Element result superposition key: + List the labels (default). YES, Y, or ON are also valid entries. - Do not list the labels. NO, N, or OFF are also valid entries. - NO - Do not write element results to the mode file Jobname.MODE. + Notes + ----- + You cannot obtain the value for a single local parameter (e.g., + *STATUS,ARG2). You can only request all local parameters simultaneously + using *STATUS,ARGX. - YES - Write element result to the mode file for use in the expansion pass of a - subsequent mode-superposition PSD, transient, or harmonic - analysis (default if Elcalc = YES and the mode shapes are - normalized to the mass matrix). + This command is valid in any processor. - modeselmethod - Methods for mode selection (not supported for complex - eigensolvers): + """ + command = "*STATUS,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(par), str(imin), str(imax), str(jmin), str(jmax), str(kmin), str(kmax), str(lmin), str(lmax), str(mmin), str(mmax), str(kpri)) + self.RunCommand(command, **kwargs) - blank - No mode selection is performed (default). + def Lwplan(self, wn="", nl1="", ratio="", **kwargs): + """ + APDL Command: LWPLAN - MODM - The mode selection is based on the modal effective masses. + Defines the working plane normal to a location on a line. - MODC - The mode selection is based on the mode coefficients. + Parameters + ---------- + wn + Window number whose viewing direction will be modified to be normal + to the working plane (defaults to 1). If WN is a negative value, + the viewing direction will not be modified. - DDAM - The mode selection is based on DDAM procedure (see Mode Selection Based on DDAM - Procedure in the Mechanical APDL Structural Analysis Guide - for more information). This option is applicable only to - DDAM spectrum analysis. + nl1 + Number of line to be used. If NL1 = P, graphical picking is + enabled and all remaining command fields are ignored (valid only in + the GUI). + + ratio + Location on NL1, specified as a ratio of the line length. Must be + between 0.0 and 1.0. If RATIO = P, use graphical picking to + specify location on the line. Notes ----- - Specifies the number of modes to expand and write over a frequency - range for a modal (ANTYPE,MODAL) or buckling (ANTYPE,BUCKLE) analysis. - If used in SOLUTION, this command is valid only within the first load - step. + Defines a working plane (to assist in picking operations) normal to a + location on a line. See WPSTYL command to set the style of working + plane display. - There is no limit on the number of expanded modes (NMODE). However, - there is a limit on the maximum number of modes used via the *GET,,MODE - command, mode combinations, and the MDAMP command. + This command is valid in any processor. - With MSUPkey = YES, the computed element results (Elcalc = YES) are - written to Jobname.MODE for use in subsequent downstream mode- - superposition analyses, including harmonic, transient, and PSD - analyses. This significantly reduces computation time for the - combination or expansion passes. For limitations, see Option: Number of - Modes to Expand (MXPAND) in the Mechanical APDL Structural Analysis - Guide. + """ + command = "LWPLAN,%s,%s,%s" % (str(wn), str(nl1), str(ratio)) + self.RunCommand(command, **kwargs) - If a mode selection method (ModeSelMethod) is defined, only the - selected modes will be expanded. See Using Mode Selection in the - Mechanical APDL Structural Analysis Guide for more details about the - procedure. + def Fileaux3(self, fname="", ext="", **kwargs): + """ + APDL Command: FILEAUX3 - For array input (NMODE), the array must be dimensioned to be the size - of the number of modes extracted (NMODE on the MODOPT command). A value - of 1 in the array indicates the mode is to be expanded, and a value of - 0 indicates not to expand the mode. For the DAMP modal solution, the - modes are in pairs, so be sure to verify that both modes of a pair have - the same value. (For example, if modes #3 and #4 are a pair, indices 3 - and 4 in the array should have the same value, 0 or 1.) + Specifies the results file to be edited. - For linear perturbation modal analyses, you must set both Elcalc and - MSUPkey to YES so that the downstream stress expansion pass can produce - a solution consistent with the linear or nonlinear base (static or full - transient) analysis. The prestressed nonlinear element history (saved - variables) is accessible only in the first and second phases of the - linear perturbation. The downstream MSUP or PSD analysis can only reuse - the nonlinear information contained in the Jobname.MODE file that is - generated in the linear perturbation. + Parameters + ---------- + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - In a Distributed ANSYS analysis, you must issue MXPAND to specify the - number of modes to expand when computing the modes and mode shapes. In - a Distributed ANSYS run, MXPAND cannot be issued in an expansion pass - (EXPASS). + ext + Filename extension (eight-character maximum). - This command is also valid in PREP7. + -- + Unused field. + + Notes + ----- + Specifies the results file to be edited. """ - command = "MXPAND, %s, %s, %s, %s, %s, %s, %s" % (str(nmode), str(freqb), str(freqe), str(elcalc), str(signif), str(msupkey), str(modeselmethod)) + command = "FILEAUX3,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Lsel(self, type="", item="", comp="", vmin="", vmax="", vinc="", - kswp="", **kwargs): + def Rbe3(self, m_aster="", dof="", slaves="", wtfact="", **kwargs): """ - APDL Command: LSEL + APDL Command: RBE3 - Selects a subset of lines. + Distributes the force/moment applied at the master node to a set of + slave nodes, taking into account the geometry of the slave nodes as + well as weighting factors. Parameters ---------- - type - Label identifying the type of select: - - S - Select a new set (default). - - R - Reselect a set from the current set. - - A - Additionally select a set and extend the current set. - - U - Unselect a set from the current set. - - ALL - Restore the full set. + master + Node at which the force/moment to be distributed will be applied. + This node must be associated with an element for the master node to + be included in the DOF solution. - NONE - Unselect the full set. + dof + Refers to the master node degrees of freedom to be used in + constraint equations. Valid labels are: UX, UY, UZ, ROTX, ROTY, + ROTZ, UXYZ, RXYZ, ALL - INVE - Invert the current set (selected becomes unselected and vice versa). + slaves + The name of an array parameter that contains a list of slave nodes. + Must specify the starting index number. ALL can be used for + currently selected set of nodes. The slave nodes may not be + colinear, that is, not be all located on the same straight line + (see Notes below). - STAT - Display the current select status. + wtfact + The name of an array parameter that contains a list of weighting + factors corresponding to each slave node above. Must have the + starting index number. If not specified, the weighting factor for + each slave node defaults to 1. Notes ----- - Selects lines based on values of a labeled item and component. For - example, to select a new set of lines based on line numbers 1 through - 7, use LSEL,S,LINE,,1,7. The subset is used when the ALL label is - entered (or implied) on other commands, such as LLIST,ALL. Only data - identified by line number are selected. Data are flagged as selected - and unselected; no data are actually deleted from the database. - - If Item = LCCA, the command selects only those lines that were created - by concatenation. The KSWP field is processed, but the Comp, VMIN, - VMAX, and VINC fields are ignored. - - If Item = HPT, the command selects only those lines that contain hard - points. - - Item = RADIUS is only valid for lines that are circular arcs. - - LSEL is valid in any processor. - - For selections based on non-integer numbers (coordinates, results, - etc.), items that are within the range VMIN -Toler and VMAX +Toler are - selected. The default tolerance Toler is based on the relative values - of VMIN and VMAX as follows: - - If VMIN = VMAX, Toler = 0.005 x VMIN. + The force is distributed to the slave nodes proportional to the + weighting factors. The moment is distributed as forces to the slaves; + these forces are proportional to the distance from the center of + gravity of the slave nodes times the weighting factors. Only the + translational degrees of freedom of the slave nodes are used for + constructing the constraint equations. Constraint equations are + converted to distributed forces/moments on the slave nodes during + solution. - If VMIN = VMAX = 0.0, Toler = 1.0E-6. + RBE3 creates constraint equations such that the motion of the master is + the average of the slaves. For the rotations, a least-squares approach + is used to define the "average rotation" at the master from the + translations of the slaves. If the slave nodes are colinear, then one + of the master rotations that is parallel to the colinear direction can + not be determined in terms of the translations of the slave nodes. + Therefore, the associated moment component on the master node in that + direction can not be transmitted. When this case occurs, a warning + message is issued and the constraint equations created by RBE3 are + ignored. - If VMAX ≠ VMIN, Toler = 1.0E-8 x (VMAX - VMIN). + Applying this command to a large number of slave nodes may result in + constraint equations with a large number of coefficients. This may + significantly increase the peak memory required during the process of + element assembly. If real memory or virtual memory is not available, + consider reducing the number of slave nodes. - Use the SELTOL command to override this default and specify Toler - explicitly. + As an alternative to the RBE3 command, you can apply a similar type of + constraint using contact elements and the internal multipoint + constraint (MPC) algorithm. See Surface-based Constraints for more + information. - Table: 204:: : LSEL - Valid Item and Component Labels + This command is also valid in SOLUTION. """ - command = "LSEL, %s, %s, %s, %s, %s, %s, %s" % (str(type), str(item), str(comp), str(vmin), str(vmax), str(vinc), str(kswp)) + command = "RBE3,%s,%s,%s,%s" % (str(m_aster), str(dof), str(slaves), str(wtfact)) self.RunCommand(command, **kwargs) - def Lrefine(self, nl1="", nl2="", ninc="", level="", depth="", post="", - retain="", **kwargs): + def Prcplx(self, key="", **kwargs): """ - APDL Command: LREFINE + APDL Command: PRCPLX - Refines the mesh around specified lines. + Defines the output form for complex variables. Parameters ---------- - nl1, nl2, ninc - Lines (NL1 to NL2 in increments of NINC) around which the mesh is - to be refined. NL2 defaults to NL1, and NINC defaults to 1. If - NL1 = ALL, NL2 and NINC are ignored and all selected lines are used - for refinement. If NL1 = 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 NL1 (NL2 and NINC are - ignored). - - level - Amount of refinement to be done. Specify the value of LEVEL as an - integer from 1 to 5, where a value of 1 provides minimal - refinement, and a value of 5 provides maximum refinement (defaults - to 1). - - depth - Depth of mesh refinement in terms of the number of elements outward - from the indicated lines (defaults to 1). + key + Output form key: - post - Type of postprocessing to be done after element splitting, in order - to improve element quality: + 0 - Real and imaginary parts. - OFF - No postprocessing will be done. + 1 - Amplitude and phase angle. Stored real and imaginary data are converted to + amplitude and phase angle upon output. Data remain stored as + real and imaginary parts. - SMOOTH - Smoothing will be done. Node locations may change. + Notes + ----- + Defines the output form for complex variables. Used only with harmonic + analyses (ANTYPE,HARMIC). - CLEAN - Smoothing and cleanup will be done. Existing elements may be deleted, and node - locations may change (default). + All results data are stored in the form of real and imaginary + components and converted to amplitude and/or phase angle as specified + via the PRCPLX command. The conversion is not valid for derived + results (such as principal stress/strain, equivalent stress/strain and + USUM). - retain - Flag indicating whether quadrilateral elements must be retained in - the refinement of an all-quadrilateral mesh. (The ANSYS program - ignores the RETAIN argument when you are refining anything other - than a quadrilateral mesh.) + """ + command = "PRCPLX,%s" % (str(key)) + self.RunCommand(command, **kwargs) - ON - The final mesh will be composed entirely of quadrilateral elements, regardless - of the element quality (default). + def Bftran(self, **kwargs): + """ + APDL Command: BFTRAN - OFF - The final mesh may include some triangular elements in order to maintain - element quality and provide transitioning. + Transfers solid model body force loads to the finite element model. Notes ----- - LREFINE performs local mesh refinement around the specified lines. By - default, the indicated elements are split to create new elements with - 1/2 the edge length of the original elements (LEVEL = 1). - - LREFINE refines all area elements and tetrahedral volume elements that - are adjacent to the specified lines. Any volume elements that are - adjacent to the specified lines, but are not tetrahedra (for example, - hexahedra, wedges, and pyramids), are not refined. - - You cannot use mesh refinement on a solid model that contains initial - conditions at nodes [IC], coupled nodes [CP family of commands], - constraint equations [CE family of commands], or boundary conditions or - loads applied directly to any of its nodes or elements. This applies to - nodes and elements anywhere in the model, not just in the region where - you want to request mesh refinement. For additional restrictions on - mesh refinement, see Revising Your Model in the Modeling and Meshing - Guide. + Body loads are transferred from selected keypoints and lines to + selected nodes and from selected areas and volumes to selected + elements. The BFTRAN operation is also done if the SBCTRAN command is + either explicitly issued or automatically issued upon initiation of the + solution calculations [SOLVE]. - This command is also valid for rezoning. + This command is also valid in PREP7. """ - command = "LREFINE, %s, %s, %s, %s, %s, %s, %s" % (str(nl1), str(nl2), str(ninc), str(level), str(depth), str(post), str(retain)) + command = "BFTRAN," % () self.RunCommand(command, **kwargs) - def Plmc(self, lstep="", sbstep="", timfrq="", kimg="", hibeg="", hiend="", - **kwargs): + def Rexport(self, target="", lstep="", sbstep="", fname="", ext="", + **kwargs): """ - APDL Command: PLMC + APDL Command: REXPORT - Plots the modal coordinates from a mode-superposition solution. + Exports displacements from an implicit run to ANSYS LS-DYNA. Parameters ---------- - lstep, sbstep - Plot the solution identified as load step LSTEP and substep SBSTEP + target + The type of analysis run to which displacements are exported. - timfrq - As an alternative to LSTEP and SBSTEP, plot the solution at the - time value TIMFRQ (for ANTYPE,TRANS) or frequency value TIMFRQ (for - ANTYPE,HARMIC). LSTEP and SBSTEP should be left blank. + OFF - Ignore initial displacements. - kimg - If 0 (or blank), plot the real solution. If 1, plot the imaginary - solution. Only valid for ANTYPE,HARMIC. + DYNA - Get initial displacements from an earlier implicit (ANSYS) run and export to an + explicit ANSYS LS-DYNA run (Default). - hibeg, hiend - For cyclic symmetry solutions, plot the solutions in the harmonic - index solution range HIbeg to HIend. Defaults to all harmonic - indices (all modes). + --, -- + Unused fields. - Notes - ----- - PLMC plots a histogram of the modal coordinates (the response - amplitudes applied to each mode shape) at a certain time point - (transient analyses) or frequency point (harmonic analyses). The - absolute values of the modal coordinates are plotted. Use /XRANGE to - plot only modes in a certain range, if desired. + lstep + Load step number of data to be exported. Defaults to the last load + step. - For transient analyses, the Jobname.RDSP file must be available. For - harmonic analyses, the Jobname.RFRQ must be available. No SET command - is required and no expansion pass is required. + sbstep + Substep number of data to be exported. Defaults to the last + substep. + + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. + + ext + Filename extension (eight-character maximum). - For a cyclic harmonic mode-superposition analysis, use the CYCFILES - command to identify the Jobname.RFRQ and modal Jobname.RST file. You - may limit the plot to display only those modes in a certain harmonic - index range. The modes having the same harmonic index are each plotted - in a unique color. If there are less than 10 harmonic indices, they are - identified in the graphics legend. + -- + Unused field. - This is a graphical representation of the optional Jobname.MCF text - file. (see the TRNOPT and HROPT commands). For more information on - modal coordinates, see Mode-Superposition Method in the Mechanical APDL - Theory Reference. + Notes + ----- + This command exports the displacements, rotations, and temperatures + calculated in an ANSYS implicit analysis into the `drelax' file, which + is subsequently read in by ANSYS LS-DYNA when a dynamic relaxation or + stress initialization is conducted [EDDRELAX]. + + This command is not written to the Jobname.CDB file when the CDWRITE + command is issued. """ - command = "PLMC, %s, %s, %s, %s, %s, %s" % (str(lstep), str(sbstep), str(timfrq), str(kimg), str(hibeg), str(hiend)) + command = "REXPORT,%s,%s,%s,%s,%s" % (str(target), str(lstep), str(sbstep), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Nprint(self, n="", **kwargs): + def Seg(self, label="", aviname="", delay="", **kwargs): """ - APDL Command: NPRINT + APDL Command: /SEG - Defines which time points stored are to be listed. + Allows graphics data to be stored in the local terminal memory. Parameters ---------- - n - List data associated with every N time (or frequency) point(s), - beginning with the first point stored (defaults to 1). + label + Storage key: - Notes - ----- - Defines which time (or frequency) points within the range stored are to - be listed. + SINGL - Store subsequent display in a single segment (overwrites last storage). - """ - command = "NPRINT, %s" % (str(n)) - self.RunCommand(command, **kwargs) + MULTI - Store subsequent displays in unique segments [ANIM]. - def Nolist(self, **kwargs): - """ - APDL Command: /NOLIST + DELET - Delete all currently stored segments. - Suppresses the data input listing. + OFF - Stop storing display data in segments. + + STAT - Display segment status. + + PC - This option only applies to PC versions of ANSYS and only when animating via + the AVI movie player (i.e., /DEVICE,ANIM,2). This command + appends frames to the File.AVI, so that the animation goes in + both directions (i.e., forward--backward--forward). You must + have a current animation file to use this option. + + aviname + Name of the animation file that will be created when each frame is + saved. The .AVI extension is applied automatically. Defaults to + Jobname.AVI if no filename is specified. + + delay + Delay factor between each frame, in seconds. Defaults to 0.015 + seconds if no value is specified. Notes ----- - Printout is suppressed until a /GOLIST command is read or the end of - the listing is encountered. + Allows graphics data to be stored in the terminal local memory (device- + dependent). Storage occurs concurrently with the display. - This command is valid in any processor, but only within a batch run - [/BATCH]. + Although the information from your graphics window is stored as an + individual segment, you cannot plot directly (GPLOT) from the segment + memory. + + For the DISPLAY program, the Aviname and DELAY fields are ignored. + + This command is valid in any processor. """ - command = "/NOLIST, " % () + command = "/SEG,%s,%s,%s" % (str(label), str(aviname), str(delay)) self.RunCommand(command, **kwargs) - def Bsmd(self, dens="", **kwargs): + def Edrd(self, option="", part="", mrb="", **kwargs): """ - APDL Command: BSMD + APDL Command: EDRD - Specifies mass per unit length for a nonlinear general beam section. + Switches a part from deformable to rigid or from rigid to deformable in + an explicit dynamic analysis. Parameters ---------- - dens - Mass density. + option + Label identifying the option to be performed. + + D2R - Change specified part from deformable to rigid (default). + + R2D - Change specified part from rigid to deformable. Use this option to switch a + part back to a deformable state after it has been changed to + rigid using EDRD,D2R. + + LIST - List parts that are flagged to change from deformable to rigid or rigid to + deformable. + + part + Part number for part to be changed (no default). + + mrb + Part number of the master rigid body to which the part is merged. + MRB is used only if Option = D2R. If MRB = 0 (which is the + default), the part becomes an independent rigid body. Notes ----- - The BSMD command, one of several nonlinear general beam section - commands, specifies the mass density (assuming a unit area) for a beam - section. The value specified is associated with the section most - recently defined (via the SECTYPE command). + This command is valid in a new explicit dynamic analysis or in a + restart. It is only possible to switch parts (D2R or R2D) in a restart + if part switching is first activated in the original analysis. If part + switching is not required in the original analysis but will be used in + the restart, you must issue EDRD,D2R with no further arguments in the + original analysis. You can use the EDRI command to define inertia + properties for newly created rigid bodies (D2R). - Related commands are BSAX, BSM1, BSM2, BSTQ, BSS1, BSS2, and BSTE. + Parts that are defined as rigid using EDMP,RIGID are permanently rigid + and cannot be changed to deformable. - For complete information, see Using Nonlinear General Beam Sections. + This command is also valid in PREP7. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "BSMD, %s" % (str(dens)) + command = "EDRD,%s,%s,%s" % (str(option), str(part), str(mrb)) self.RunCommand(command, **kwargs) - def Biot(self, label="", **kwargs): + def Normal(self, wn="", key="", **kwargs): """ - APDL Command: BIOT + APDL Command: /NORMAL - Calculates the Biot-Savart source magnetic field intensity. + Allows displaying area elements by top or bottom faces. Parameters ---------- - label - Controls the Biot-Savart calculation: + wn + Window number (or ALL) to which command applies (defaults to 1). - NEW - Calculate the magnetic source field intensity (Hs) from the selected set of - source elements to the selected set of nodes. Overwrite any - existing Hs field values. + key + Display key: - SUM - Calculate the Hs field from the selected set of source elements to the selected - set of nodes. Accumulate with any existing Hs field values. + 0 - No face distinction. - Notes - ----- - Calculates the Biot-Savart source magnetic field intensity (Hs) at the - selected nodes from the selected source elements. The calculation is - done at the time the BIOT command is issued. + 1 - Show only area elements having their positive normals directed toward the + viewing point. - Source elements include primitives described by element SOURC36, and - coupled-field elements SOLID5, LINK68, and SOLID98. Current conduction - elements do not have a solved-for current distribution from which to - calculate a source field until after the first substep. Inclusion of a - current conduction element Hs field will require a subsequent BIOT,SUM - command (with SOURC36 elements unselected) and a SOLVE command. + -1 - Show only area elements having their positive normals directed away from the + viewing point. - The units of Hs are as specified by the current EMUNIT command setting. + Notes + ----- + /NORMAL allows you to select area elements and area plots by the top or + bottom faces. It is useful for checking the normal directions on shell + elements. The positive normal (element Z direction) is defined by the + right-hand rule following the node I, J, K, L input direction. This + command is available only with raster or hidden-line displays, for + WIN32 or X11 2-D displays only. - This command is also valid in PREP7. + This command is valid in any processor. """ - command = "BIOT, %s" % (str(label)) + command = "/NORMAL,%s,%s" % (str(wn), str(key)) self.RunCommand(command, **kwargs) - def Prtime(self, tmin="", tmax="", **kwargs): + def Ssln(self, fact="", size="", **kwargs): """ - APDL Command: PRTIME + APDL Command: SSLN - Defines the time range for which data are to be listed. + Selects and displays small lines in the model. Parameters ---------- - tmin - Minimum time (defaults to the first point stored). + fact + Factor used to determine small lines. FACT times the average line + length in the model is used as the line length limit below which + lines will be selected. - tmax - Maximum time (defaults to the last point stored). + size + Line length limit for line selection. Lines that have a length + less than or equal to SIZE will be selected. Used only if FACT is + blank. Notes ----- - Defines the time (or frequency) range (within the range stored) for - which data are to be listed. + SSLN invokes a predefined ANSYS macro for selecting small lines in a + model. Lines that are smaller than or equal to the specified limit + (FACT or SIZE) are selected and line numbers are displayed. This + command macro is useful for detecting very small lines in a model that + may cause problems (i.e., poorly shaped elements or a meshing failure) + during meshing. All lines that are not "small" will be unselected and + can be reselected with the LSEL command. """ - command = "PRTIME, %s, %s" % (str(tmin), str(tmax)) + command = "SSLN,%s,%s" % (str(fact), str(size)) self.RunCommand(command, **kwargs) - def Hfang(self, lab="", phi1="", phi2="", theta1="", theta2="", **kwargs): + def Errang(self, emin="", emax="", einc="", **kwargs): """ - APDL Command: HFANG + APDL Command: ERRANG - Defines or displays spatial angles of a spherical radiation surface for - sound radiation parameter calculations. + Specifies the element range to be read from a file. Parameters ---------- - lab - Spatial angle label. - - ANGLE - Define spatial angles (default). - - STATE - Display spatial angles. PHI1, PHI2, THETA1, and THETA2 are ignored. - - phi1, phi2 - Starting and ending ϕ angles (degrees) in the spherical coordinate - system. Defaults to 0. - - theta1, theta2 - Starting and ending θ angles (degrees) in the spherical coordinate - system. Defaults to 0. + emin, emax, einc + Elements with numbers from EMIN (defaults to 1) to EMAX (defaults + to 99999999) in steps of EINC (defaults to 1) will be read. Notes ----- - Defines or displays spatial angles of a spherical radiation surface. - - Use this command only with PLFAR,Lab = PRES, or PRFAR,Lab = PRES. + Defines the element number range to be read [EREAD] from the element + file. If a range is also implied from the NRRANG command, only those + elements satisfying both ranges will be read. """ - command = "HFANG, %s, %s, %s, %s, %s" % (str(lab), str(phi1), str(phi2), str(theta1), str(theta2)) + command = "ERRANG,%s,%s,%s" % (str(emin), str(emax), str(einc)) self.RunCommand(command, **kwargs) - def V2dopt(self, geom="", ndiv="", hidopt="", nzone="", **kwargs): + def Einfin(self, compname="", pnode="", **kwargs): """ - APDL Command: V2DOPT + APDL Command: EINFIN - Specifies 2-D/axisymmetric view factor calculation options. + Generates structural infinite elements from selected nodes. Parameters ---------- - geom - Choice of geometry: + compname + Component name containing one node to be used as the pole node for + generating INFIN257 structural infinite elements. The pole node is + generally located at or near the geometric center of the finite + element domain. - 0 - Planar (default). + pnode + Node number for the direct input of the pole node. A parameter or + parametric expression is also valid. Specify this value when no + CompName has been specified. If CompName is specified, this value + is ignored. - 1 - Axisymmetric + Notes + ----- + The EINFIN command generates structural infinite elements (INFIN257) + directly from the selected face of valid base elements (existing + standard elements in your model). The command scans all base elements + for the selected nodes and generates a compatible infinite element type + for each base element. A combination of different base element types is + allowed if the types are all compatible with the infinite elements. - ndiv - Number of divisions for axisymmetric geometry (that is, the number - of circumferential segments). Default is 20. Maximum is 90. + The infinite element type requires no predefinition (ET). - hidopt - Viewing option: + The faces of base elements are determined from the selected node set + (NSEL), and the geometry of the infinite element is determined based on + the shape of the face. Element characteristics and options are + determined according to the base element. For the face to be used, all + nodes on the face of a base element must be selected - 0 - Hidden (default). + Use base elements to model the near-field domain that interacts with + the solid structures or applied loads. To apply the truncated far-field + effect, a single layer of infinite elements must be attached to the + near-field domain. The outer surface of the near-field domain must be + convex. - 1 - Non-hidden + After the EINFIN command executes, you can verify the newly created + infinite element types and elements (ETLIST, ELIST, EPLOT). - nzone - Number of zones (that is, the number of rays emanating from a - surface) for view factor calculation. Default is 200. Maximum is - 1000. + Infinite elements do not account for any subsequent modifications made + to the base elements. It is good practice to issue the EINFIN command + only after the base elements are finalized. If you delete or modify + base elements, remove all affected infinite elements and reissue the + EINFIN command; doing so prevents inconsistencies. """ - command = "V2DOPT, %s, %s, %s, %s" % (str(geom), str(ndiv), str(hidopt), str(nzone)) + command = "EINFIN,%s,%s" % (str(compname), str(pnode)) self.RunCommand(command, **kwargs) - def Edcnstr(self, option="", ctype="", comp1="", comp2="", val1="", - **kwargs): + def Swdel(self, ecomp="", **kwargs): """ - APDL Command: EDCNSTR + APDL Command: SWDEL - Defines various types of constraints for an explicit dynamic analysis. + Deletes spot weld sets. Parameters ---------- - option - Label identifying the option to be performed. - - ADD - Define a constraint (default). - - DELE - Delete the constraint specified by Ctype, Comp1, and Comp2. If Ctype = ALL, all - constraints are deleted. - - LIST - List all of the constraints previously defined by the EDCNSTR command. - - ctype - Constraint type. The command format will vary, depending on the - Ctype value. - - ENS - Extra node set added to an existing rigid body. - - NRB - Nodal rigid body. - - STS - Tie between a shell edge and solid elements. - - RIVET - Massless rivet between two noncoincident nodes. + ecomp + Name of an existing spot weld set that was previously defined using + SWGEN. If Ecomp = ALL (default) all spot welds are deleted. Notes ----- - The EDCNSTR command allows you to define several types of constraints - in an explicit dynamic analysis. A brief description of each constraint - type is given below. See Constraints and Initial Conditions in the - ANSYS LS-DYNA User's Guide for more information. - - Extra Node Set Added to a Rigid Body (Ctype = ENS) - - The ability to add extra nodes to an existing rigid body has many - potential applications, including placing nodes where joints will be - attached between rigid bodies, defining nodes where point loads will be - applied, and defining a lumped mass at a specific location. The extra - nodes specified by Comp2 may be located anywhere in the model and may - have coordinates outside those of the original rigid body specified by - Comp1. + This command deletes spot weld sets previously defined by the SWGEN + command. - Nodal Rigid Body (Ctype = NRB) + """ + command = "SWDEL,%s" % (str(ecomp)) + self.RunCommand(command, **kwargs) - Unlike typical rigid bodies that are defined with the EDMP command, - nodal rigid bodies defined with the EDCNSTR command are not associated - with a part number. This can be advantageous for modeling rigid - (welded) joints in a model. For a rigid joint, portions of different - flexible components (having different MAT IDs) act together as a rigid - body. It is difficult to define this type of rigid body with a unique - MAT ID (and corresponding part number). However, the rigid joint can be - easily defined using a nodal rigid body. + def Blc4(self, xcorner="", ycorner="", width="", height="", depth="", + **kwargs): + """ + APDL Command: BLC4 - Shell Edge to Solid Tie (Ctype = STS) + Creates a rectangular area or block volume by corner points. - The STS option ties regions of solid elements to regions of shell - elements. A single shell node may be tied to up to nine brick element - nodes that define a “fiber” vector. Solid element nodes constrained in - this way remain linear throughout the analysis but can move relative to - each other in the fiber direction. + Parameters + ---------- + xcorner, ycorner + Working plane X and Y coordinates of one corner of the rectangle or + block face. - Rivet between Two Nodes (Ctype = RIVET) + width + The distance from XCORNER on or parallel to the working plane + X-axis that, together with YCORNER, defines a second corner of the + rectangle or block face. - The RIVET option defines a massless rigid constraint between two nodes, - similar to spotwelds defined with the EDWELD command. Unlike a - spotweld, however, rivets contain nodes that are noncoincident, and - failure cannot be specified. When a rivet is defined, the distance - between the nodes is kept constant throughout any motion that occurs - during a simulation. Nodes connected by a rivet cannot be part of any - other constraints specified in the model. + height + The distance from YCORNER on or parallel to the working plane + Y-axis that, together with XCORNER, defines a third corner of the + rectangle or block face. - The EDCNSTR command is also valid in SOLUTION. + depth + The perpendicular distance (either positive or negative based on + the working plane Z direction) from the working plane representing + the depth of the block. If DEPTH = 0 (default), a rectangular area + is created on the working plane. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Notes + ----- + Defines a rectangular area anywhere on the working plane or a + hexahedral volume with one face anywhere on the working plane. A + rectangle will be defined with four keypoints and four lines. A volume + will be defined with eight keypoints, twelve lines, and six areas, with + the top and bottom faces parallel to the working plane. See the BLC5, + RECTNG, and BLOCK commands for alternate ways to create rectangles and + blocks. """ - command = "EDCNSTR, %s, %s, %s, %s, %s" % (str(option), str(ctype), str(comp1), str(comp2), str(val1)) + command = "BLC4,%s,%s,%s,%s,%s" % (str(xcorner), str(ycorner), str(width), str(height), str(depth)) self.RunCommand(command, **kwargs) - def Nsort(self, item="", comp="", order="", kabs="", numb="", sel="", - **kwargs): + def Agen(self, itime="", na1="", na2="", ninc="", dx="", dy="", dz="", + kinc="", noelem="", imove="", **kwargs): """ - APDL Command: NSORT + APDL Command: AGEN - Sorts nodal data. + Generates additional areas from a pattern of areas. Parameters ---------- - item - Label identifying the item to be sorted on. Valid item labels are - shown in the table below. Some items also require a component - label. - - comp - Component of the item (if required). Valid component labels are - shown in the table below. - - order - Order of sort operation: + itime + Do this generation operation a total of ITIMEs, incrementing all + keypoints in the given pattern automatically (or by KINC) each time + after the first. ITIME must be more than 1 for generation to + occur. - 0 - Sort into descending order. + na1, na2, ninc + Generate areas from the pattern of areas NA1 to NA2 (defaults to + NA1) in steps of NINC (defaults to 1). If NA1 = ALL, NA2 and NINC + are ignored and the pattern is all selected areas [ASEL]. If NA1 = + P, graphical picking is enabled and all remaining arguments are + ignored (valid only in the GUI). A component name may also be + substituted for NA1 (NA2 and NINC are ignored). - 1 - Sort into ascending order. + dx, dy, dz + Keypoint location increments in the active coordinate system (--, D + θ, DZ for cylindrical; --, D θ, -- for spherical). - kabs - Absolute value key: + kinc + Keypoint number increment between generated sets. If zero, the + lowest available keypoint numbers are assigned [NUMSTR]. - 0 - Sort according to real value. + noelem + Specifies if elements and nodes are also to be generated: - 1 - Sort according to absolute value. + 0 - Generate nodes and elements associated with the original areas, if they exist. - numb - Number of nodal data records to be sorted in ascending or - descending order (ORDER) before sort is stopped (remainder will be - in unsorted sequence) (defaults to all nodes). + 1 - Do not generate nodes and elements. - sel - Allows selection of nodes in the sorted field. + imove + Specifies whether to redefine the existing areas: - (blank) - No selection (default). + 0 - Generate new areas as requested with the ITIME argument. - SELECT - Select the nodes in the sorted list. + 1 - Move original areas to new position, retaining the same keypoint numbers + (ITIME, KINC, and NOELEM are ignored). If the original areas + are needed in the original position (e.g., they may be + attached to a volume), they are not moved, and new areas are + generated instead. Meshed items corresponding to moved areas + are also moved if not needed at their original position. Notes ----- - Values are in the active coordinate system [CSYS for input data or RSYS - for results data]. Various element results also depend upon the - recalculation method and the selected results location [AVPRIN, RSYS, - SHELL, ESEL, and NSEL]. If simultaneous load cases are stored, the - last sorted sequence formed from any load case applies to all load - cases. Use NUSORT to restore the original order. This command is not - valid with PowerGraphics. - - Table: 213:: : NSORT - Valid Item and Component Labels - - Table: 214:: : NSORT - Valid Item and Component Labels for Nodal DOF - Result Values - - Table: 215:: : NSORT - Valid Item and Component Labels for Element - Result Values - - Works only if failure criteria information is provided. (For more - information, see the documentation for the FC and TB commands.) - - Must be added via the FCTYP command first. - - Works only if user failure criteria routine is provided. - - For more information about contact status and its possible values, see - Reviewing Results in POST1 in the Contact Technology Guide. + Generates additional areas (and their corresponding keypoints, lines + and mesh) from a given area pattern. The MAT, TYPE, REAL, ESYS, and + SECNUM attributes of the new areas are based upon the areas in the + pattern and not upon the current settings of the pointers. End slopes + of the generated lines remain the same (in the active coordinate + system) as those of the given pattern. For example, radial slopes + remain radial. Generations which produce areas of a size or shape + different from the pattern (i.e., radial generations in cylindrical + systems, radial and phi generations in spherical systems, and theta + generations in elliptical systems) are not allowed. Solid modeling in + a toroidal coordinate system is not recommended. Area and line numbers + are automatically assigned, beginning with the lowest available values + [NUMSTR]. """ - command = "NSORT, %s, %s, %s, %s, %s, %s" % (str(item), str(comp), str(order), str(kabs), str(numb), str(sel)) + command = "AGEN,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(itime), str(na1), str(na2), str(ninc), str(dx), str(dy), str(dz), str(kinc), str(noelem), str(imove)) self.RunCommand(command, **kwargs) - def Kwpave(self, p1="", p2="", p3="", p4="", p5="", p6="", p7="", p8="", - p9="", **kwargs): + def Mfanalysis(self, key="", **kwargs): """ - APDL Command: KWPAVE + APDL Command: MFANALYSIS - Moves the working plane origin to the average location of keypoints. + Activates or deactivates an ANSYS Multi-field solver analysis. Parameters ---------- - p1, p2, p3, . . . , p9 - Keypoints used in calculation of the average. At least one must be - defined. If P1 = P, graphical picking is enabled and all remaining - command fields are ignored (valid only in the GUI). + key + Multifield analysis key: + + ON - Activates an ANSYS Multi-field solver analysis. + + OFF - Deactivates an ANSYS Multi-field solver analysis (default). Notes ----- - Moves the origin of the working plane to the average of the specified - keypoints. Averaging is based on the active coordinate system. + This command is also valid in PREP7. + + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. - This command is valid in any processor. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "KWPAVE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(p1), str(p2), str(p3), str(p4), str(p5), str(p6), str(p7), str(p8), str(p9)) + command = "MFANALYSIS,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Wtbcreate(self, iel="", node="", damp="", **kwargs): + def Cerig(self, m_aste="", slave="", ldof="", ldof2="", ldof3="", ldof4="", + ldof5="", **kwargs): """ - APDL Command: WTBCREATE + APDL Command: CERIG - Creates a USER300 element to model the turbine for full aeroelastic - coupling analysis and specifies relevant settings for the analysis. + Defines a rigid region. Parameters ---------- - iel - Element number (next available number by default). + maste + Retained (or master) node for this rigid region. If MASTE = P, + then graphical picking of the master and slave nodes is enabled + (first node picked will be the master node, and subsequent nodes + picked will be slave nodes), and subsequent fields are ignored + (valid only in GUI). - node - Node number connecting support structure and turbine. + slave + Removed (or slave) node for this rigid region. If ALL, slave nodes + are all selected nodes. - damp - Damping option for the turbine: + ldof + Degrees of freedom associated with equations: - 0 - Damping matrix obtained from the aeroelastic code plus Rayleigh damping - (default). + ALL - All applicable degrees of freedom (default). If 3-D, generate 6 equations + based on UX, UY, UZ, ROTX, ROTY, ROTZ; if 2-D, generate 3 + equations based on UX, UY, ROTZ. - 1 - Rayleigh damping only. + UXYZ - Translational degrees of freedom. If 3-D, generate 3 equations based on the + slave nodes' UX, UY, and UZ DOFs and the master node's UX, + UY, UZ, ROTX, ROTY, and ROTZ DOFs; if 2-D, generate 2 + equations based on the slave nodes UX and UY DOFs and the + master nodes UX, UY, and ROTZ DOFs. No equations are + generated for the rotational coupling. - 2 - Damping from the aeroelastic code only. + RXYZ - Rotational degrees of freedom. If 3-D, generate 3 equations based on ROTX, + ROTY, ROTZ; if 2-D, generate 1 equation based on ROTZ. No + equations are generated for the translational coupling. + + UX - Slave translational UX degree of freedom only. + + UY - Slave translational UY degree of freedom only. + + UZ - Slave translational UZ degree of freedom only. + + ROTX - Slave rotational ROTX degree of freedom only. + + ROTY - Slave rotational ROTY degree of freedom only. + + ROTZ - Slave rotational ROTZ degree of freedom only. + + ldof2, ldof3, ldof4, ldof5 + Additional degrees of freedom. Used only if more than one degree + of freedom required and Ldof is not ALL, UXYZ, or RXYZ. Notes ----- - WTBCREATE invokes a predefined ANSYS macro that will automatically - generate a turbine element and issue relevant data commands that are - necessary to run a full aeroelastic coupling analysis. For detailed - information on how to perform a fully coupled aeroelastic analysis, see - Fully Coupled Wind Turbine Example in Mechanical APDL in the Mechanical - APDL Programmer's Reference. + Defines a rigid region (link, area or volume) by automatically + generating constraint equations to relate nodes in the region. Nodes + in the rigid region must be assigned a geometric location before this + command is used. Also, nodes must be connected to elements having the + required degree of freedom set (see Ldof above). Generated constraint + equations are based on small deflection theory. Generated constraint + equations are numbered beginning from the highest previously defined + equation number (NEQN) plus 1. Equations, once generated, may be + listed [CELIST] or modified [CE] as desired. Repeat CERIG command for + additional rigid region equations. - The generated USER300 turbine element will have 9 nodes with node - numbers NODE, NMAX+1, NMAX+2, ..., NMAX+8, where NMAX is the maximum - node number currently in the model. + This command will generate the constraint equations needed for defining + rigid lines in 2-D or 3-D space. Multiple rigid lines relative to a + common point are used to define a rigid area or a rigid volume. In 2-D + space, with Ldof = ALL, three equations are generated for each pair of + constrained nodes. These equations define the three rigid body motions + in global Cartesian space, i.e., two in-plane translations and one in- + plane rotation. These equations assume the X-Y plane to be the active + plane with UX, UY, and ROTZ degrees of freedom available at each node. + Other types of equations can be generated with the appropriate Ldof + labels. - There are 6 freedoms on the first node of the element: UX, UY, UZ, - ROTX, ROTY, ROTZ, and these are true structural freedoms. For all the - other nodes (i.e., nodes 2 to 9), only the translational freedoms (UX, - UY, UZ) are used. These are generalized freedoms that are internal to - the turbine element and are used by the aeroelastic code only. + Six equations are generated for each pair of constrained nodes in 3-D + space (with Ldof = ALL). These equations define the six rigid body + motions in global Cartesian space. These equations assume that UX, UY, + UZ, ROTX, ROTY, and ROTZ degrees of freedom are available at each node. - The element type integer of the USER300 element is the current maximum - element type integer plus one. + The UXYZ label allows generating a partial set of rigid region + equations. This option is useful for transmitting the bending moment + between elements having different degrees of freedom at a node. With + this option only two of the three equations are generated for each pair + of constrained nodes in 2-D space. In 3-D space, only three of the six + equations are generated. In each case the rotational coupling + equations are not generated. Similarly, the RXYZ label allows + generating a partial set of equations with the translational coupling + equations omitted. - The command will also set up the analysis settings appropriate for a - full aeroelastic coupling analysis. These include full Newton-Raphson - solution (NROPT,FULL) and a USRCAL command to activate the relevant - user routines. + Applying this command to a large number of slave nodes may result in + constraint equations with a large number of coefficients. This may + significantly increase the peak memory required during the process of + element assembly. If real memory or virtual memory is not available, + consider reducing the number of slave nodes. + + Note that under certain circumstances the constraint equations + generated by CERIG may be modified during the solution. See Program + Modification of Constraint Equations for more information. + + As an alternative to the CERIG command, you can define a similar type + of rigid region using contact elements and the internal multipoint + constraint (MPC) algorithm. See Surface-Based Constraints for more + information. + + CERIG cannot be deleted using CEDELE,ALL and then regenerated in the + second or higher load steps if the LSWRITE and LSSOLVE procedure is + used. CERIG writes constraint equations directly into load step files. + Deleting constraint equations (CEDELE,ALL) cannot always maintain the + consistency among load steps. """ - command = "WTBCREATE, %s, %s, %s" % (str(iel), str(node), str(damp)) + command = "CERIG,%s,%s,%s,%s,%s,%s,%s" % (str(m_aste), str(slave), str(ldof), str(ldof2), str(ldof3), str(ldof4), str(ldof5)) self.RunCommand(command, **kwargs) - def Veorient(self, vnum="", option="", value1="", value2="", **kwargs): + def Anpres(self, nfram="", delay="", ncycl="", refframe="", **kwargs): """ - APDL Command: VEORIENT + APDL Command: ANPRES - Specifies brick element orientation for volume mapped (hexahedron) - meshing. + Produces an animated sequence of the time-harmonic pressure variation + of an engine-order excitation in a cyclic harmonic analysis. Parameters ---------- - vnum - Number identifying volume for which elements are to be oriented (no - default). - - option - Option for defining element orientation: - - KP - Orientation is determined by two keypoints on the volume. Input the keypoint - numbers (KZ1 and KZ2) in fields VALUE1 and VALUE2, - respectively. The element z-axis points from KZ1 toward KZ2. - Element x and y directions point away from KZ1 along edges of - the volume to make a right-hand triad. (The element x- and - y-axes are uniquely determined by this specification.) + nfram + Number of frame captures per cycle. Defaults to 3 times the number + of sectors. - LINE - Orientation is determined by one of the lines defining the volume. Input the - line number in field VALUE1. The element z direction follows - the direction of the line. Input a negative value if the - desired z direction is opposite to the direction of the - specified line. (The element x- and y-axes are uniquely - determined by this specification.) (VALUE2 is not used.) + delay + Time delay (seconds) during animation. Defaults to 0.1 seconds. - AREA - Orientation is determined by one of the areas defining the volume. The area - represents the desired element top surface. Input the area - number as VALUE1. The shortest line in the volume connected - to the area will be used to specify the element z direction. - (If more than one shortest line exists, the lowest numbered - of those is used.) Element x and y directions are not - uniquely specified by this option. (VALUE2 is not used.) + ncycl + Number of animation cycles. Defaults to 5. - THIN - Align the element z normal to the thinnest dimension of the volume. The - shortest line in the volume is used to specify the element z - direction. (If more than one shortest line exists, the - lowest numbered of those is used.) Element x and y - directions are not uniquely specified by this option. - (VALUE1 and VALUE2 are not used.) + refframe + Reference frame for the model rotation. - DELE - Delete the previously defined volume orientation for the specified volume - (VNUM). (VALUE1 and VALUE2 are not used.) + 0 - Rotating reference frame (default). The model remains fixed in space and the + pressure revolve around the model. - value1, value2 - Parameters required for the element z-axis direction specification. - The meaning of VALUE1 and VALUE2 will depend on the chosen Option. - See the description of Option above for details. + 1 - Stationary reference frame. The model rotates and the pressure locations remain + fixed in space. Notes ----- - Use VEORIENT before the VMESH command to specify the desired - orientation of brick elements in a mapped mesh. VEORIENT has no effect - on tetrahedron meshes, extruded meshes (VROTAT, VDRAG, VEXT, etc.), or - swept meshes (VSWEEP). + ANPRES invokes a macro which produces an animated sequence of the time- + harmonic applied pressure in the case of a mode-superposition harmonic + analysis (ANTYPE,HARMIC with CYCOPT,MSUP,ON). The engine-order + excitation must also have been specified (CYCFREQ,EO). While pressure + loads are not accepted as valid loading in a mode-superposition + analysis (they must be applied in the modal analysis and the modal load + vector applied in the mode-superposition analysis) you can apply them + for the purposes of this animation. - Proper brick orientation is essential for certain element types such as - SOLID185 Layered Solid, SOLID186 Layered Solid, and SOLSH190. In such - cases, use VEORIENT or EORIENT to achieve the desired orientation. For - other brick element types, you may need to specify element orientation - to control orthotropic material property directions without concern for - the element connectivity. For those cases, the ESYS command is the - preferred method of specifying the material property directions. + For RefFrame = 1 (stationary reference frame), the rotational velocity + from the Linear Perturbation step, or the current OMEGA or CGOMGA + value, is used to determine the rotation direction about the cyclic + cylindrical axis, otherwise a positive rotation is assumed. - For Option = LINE, AREA, and THIN, the orientation will be internally - converted to an equivalent Option = KP specification (KP,KZ1,KZ2). Use - the VLIST command to view the element orientations (in terms of KZ1 and - KZ2) associated with each volume. + You may use /HBC,,ON to hide overlapping pressure faces, and use + /GLINE,,-1 to suppress the element outlines if desired. """ - command = "VEORIENT, %s, %s, %s, %s" % (str(vnum), str(option), str(value1), str(value2)) + command = "ANPRES,%s,%s,%s,%s" % (str(nfram), str(delay), str(ncycl), str(refframe)) self.RunCommand(command, **kwargs) - def Anisos(self, nfram="", delay="", ncycl="", **kwargs): + def Kl(self, nl1="", ratio="", nk1="", **kwargs): """ - APDL Command: ANISOS + APDL Command: KL - Produces an animated sequence of an isosurface. + Generates a keypoint at a specified location on an existing line. Parameters ---------- - nfram - Number of frames captures (defaults to 9). - - delay - Time delay during animation (defaults to 0.1 seconds). - - ncycl - Number of animation cycles (defaults to 5). Available in non-UI - mode only. + nl1 + Number of the line. If negative, the direction of line (as + interpreted for RATIO) is reversed. If NL1 = P, graphical picking + is enabled and all remaining command fields are ignored (valid only + in the GUI). - Notes - ----- - ANISOS involves an ANSYS macro which produces an animation of an - isosurface of the last plot action command (for example, - PLNSOL,S,EQV). The ANISOS command operates only on graphic display - platforms supporting the /SEG command. After executing ANISOS, you can - replay the animated sequence by issuing the ANIM command. + ratio + Ratio of line length to locate keypoint. Must be between 0.0 and + 1.0. Defaults to 0.5 (divide the line in half). - This command functions only in the postprocessor. + nk1 + Number to be assigned to keypoint generated at division location + (defaults to lowest available keypoint number [NUMSTR]). """ - command = "ANISOS, %s, %s, %s" % (str(nfram), str(delay), str(ncycl)) + command = "KL,%s,%s,%s" % (str(nl1), str(ratio), str(nk1)) self.RunCommand(command, **kwargs) - def Enorm(self, enum="", **kwargs): + def Kgen(self, itime="", np1="", np2="", ninc="", dx="", dy="", dz="", + kinc="", noelem="", imove="", **kwargs): """ - APDL Command: ENORM + APDL Command: KGEN - Reorients shell element normals or line element node connectivity. + Generates additional keypoints from a pattern of keypoints. Parameters ---------- - enum - Element number having the normal direction that the reoriented - elements are to match. If ENUM = P, graphical picking is enabled - and all remaining command fields are ignored (valid only in the - GUI). + itime + Do this generation operation a total of ITIME times, incrementing + all keypoints in the given pattern automatically (or by KINC) each + time after the first. ITIME must be more than 1 for generation to + occur. - Notes - ----- - Reorients shell elements so that their outward normals are consistent - with that of a specified element. ENORM can also be used to reorder - nodal connectivity of line elements so that their nodal ordering is - consistent with that of a specified element. + np1, np2, ninc + Generate keypoints from the pattern of keypoints beginning with NP1 + to NP2 (defaults to NP1) in steps of NINC (defaults to 1). If NP1 + = ALL, NP2 and NINC are ignored and the pattern is all selected + keypoints [KSEL]. If NP1 is negative, NP2 and NINC are ignored and + the last |NP1| keypoints (in sequence from the highest keypoint + number) are used as the pattern to be repeated. If NP1 = 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 NP1 (NP2 and NINC are ignored). - For shell elements, the operation reorients the element by reversing - and shifting the node connectivity pattern. For example, for a 4-node - shell element, the nodes in positions I, J, K and L of the original - element are placed in positions J, I, L and K of the reoriented - element. All 3-D shell elements in the selected set are considered for - reorientation, and no element is reoriented more than once during the - operation. Only shell elements adjacent to the lateral (side) faces are - considered. + dx, dy, dz + Keypoint location increments in the active coordinate system (DR, + Dθ, DZ for cylindrical, DR, Dθ, DΦ for spherical). - The command reorients the shell element normals on the same panel as - the specified shell element. A panel is the geometry defined by a - subset of shell elements bounded by free edges or T-junctions (anywhere - three or more shell edges share common nodes). + kinc + Keypoint increment between generated sets. If zero, the lowest + available keypoint numbers are assigned [NUMSTR]. - Reorientation progresses within the selected set until either of the - following conditions is true: + noelem + Specifies if elements and nodes are also to be generated: - The edge of the model is reached. + 0 - Generate nodes and point elements associated with the original keypoints, if + they exist. - More than two elements (whether selected or unselected) are adjacent to - a lateral face. + 1 - Do not generate nodes and elements. - In situations where unselected elements might undesirably cause case b - to control, consider using ENSYM,0,,0,ALL instead of ENORM. It is - recommended that reoriented elements be displayed and graphically - reviewed. + imove + Specifies whether keypoints will be moved or newly defined: - You cannot use the ENORM command to change the normal direction of any - element that has a body or surface load. We recommend that you apply - all of your loads only after ensuring that the element normal - directions are acceptable. + 0 - Generate additional keypoints as requested with the ITIME argument. - Real constant values are not reoriented and may be invalidated by an - element reversal. + 1 - Move original keypoints to new position retaining the same keypoint numbers + (ITIME, KINC, and NOELEM are ignored). Valid only if the old + keypoints are no longer needed at their original positions. + Corresponding meshed items are also moved if not needed at + their original position. + + Notes + ----- + Generates additional keypoints (and corresponding mesh) from a given + keypoint pattern. The MAT, TYPE, REAL, and ESYS attributes are based + upon the keypoints in the pattern and not upon the current settings. + Generation is done in the active coordinate system. Keypoints in the + pattern may have been defined in any coordinate system. However, solid + modeling in a toroidal coordinate system is not recommended. """ - command = "ENORM, %s" % (str(enum)) + command = "KGEN,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(itime), str(np1), str(np2), str(ninc), str(dx), str(dy), str(dz), str(kinc), str(noelem), str(imove)) self.RunCommand(command, **kwargs) - def Gcmd(self, wn="", lab1="", lab2="", lab3="", lab4="", lab5="", lab6="", - lab7="", lab8="", lab9="", lab10="", lab11="", lab12="", - **kwargs): + def Lfillt(self, nl1="", nl2="", rad="", pcent="", **kwargs): """ - APDL Command: /GCMD + APDL Command: LFILLT - Controls the type of element or graph display used for the GPLOT - command. + Generates a fillet line between two intersecting lines. Parameters ---------- - wn - Window number (or ALL) to which this command applies (defaults to - 1) + nl1 + Number of the first intersecting line. If NL1 = P, graphical + picking is enabled and all remaining command fields are ignored + (valid only in the GUI). - lab1, lab2, lab3, . . . , lab12 - Command labels (for example, PLNSOL,S,X) + nl2 + Number of the second intersecting line. - Notes - ----- - This command controls the type of element or graph display that appears - when you issue the GPLOT command when the /GTYPE,,(ELEM or GRPH) entity - type is active. If you have multiple plotting windows enabled, you can - also use /GCMD to select one window when you wish to edit its contents. + rad + Radius of fillet to be generated. Radius should be less than the + lengths of the two lines specified with NL1 and NL2. - For related information, see the descriptions of the GPLOT and /GTYPE - commands in this manual. + pcent + Number to be assigned to generated keypoint at fillet arc center. + If zero (or blank), no keypoint is generated. - This command is valid in any processor. + Notes + ----- + Generates a fillet line between two intersecting lines NL1 (P1-PINT) + and NL2 (P2-PINT). Three keypoints may be generated, two at the fillet + tangent points (PTAN1 and PTAN2) and one (optional) at the fillet arc + center (PCENT). Line P1-PINT becomes P1-PTAN1, P2-PINT becomes + P2-PTAN2, and new arc line PTAN1-PTAN2 is generated. Generated + keypoint and line numbers are automatically assigned (beginning with + the lowest available values [NUMSTR]). Line divisions are set to zero + (use LESIZE, etc. to modify). """ - command = "/GCMD, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(wn), str(lab1), str(lab2), str(lab3), str(lab4), str(lab5), str(lab6), str(lab7), str(lab8), str(lab9), str(lab10), str(lab11), str(lab12)) + command = "LFILLT,%s,%s,%s,%s" % (str(nl1), str(nl2), str(rad), str(pcent)) self.RunCommand(command, **kwargs) - def Plcrack(self, loc="", num="", **kwargs): + def Vscfun(self, parr="", func="", par1="", **kwargs): """ - APDL Command: PLCRACK + APDL Command: *VSCFUN - Displays cracking and crushing locations in SOLID65 elements. + Determines properties of an array parameter. Parameters ---------- - loc - Location at which symbols are to be displayed: + parr + The name of the resulting scalar parameter. See *SET for name + restrictions. - 0 - Plot symbols at integration points (default). + func + Functions: - 1 - Plot symbol at element centroids (averaged). + Maximum: the maximum Par1 array element value. - Minimum: the minimum Par1 array element value. - num - Crack to be displayed: + Index location of the maximum Par1 array element value. Array Par1 is searched starting from its specified index. - Index location of the minimum Par1 array element value. Array Par1 is searched + starting from its specified index. - 0 - Plot all cracks (default). + Index location of the first nonzero value in array Par1. Array Par1 is searched starting from its specified index. - Index location of the last nonzero value in array Par1. Array Par1 is searched + starting from its specified index. - 1 - Plot only the first crack. + Sum: Par1 (the summation of the Par1 array element values). - Median: value of Par1 at which there are an equal number of values above and + below. - 2 - Plot only the second crack. + Mean: (σ Par1)/NUM, where NUM is the number of summed values. - Variance: (σ ((Par1-MEAN)**2))/NUM. - 3 - Plot only the third crack. + Standard deviation: square root of VARI. - Root-mean-square: square root of (σ (Par1**2))/NUM. + + par1 + Array parameter vector in the operation. Notes ----- - PLCRACK displays circles at locations of cracking or crushing in - concrete elements. Cracking is shown with a circle outline in the - plane of the crack, and crushing is shown with an octahedron outline. - If the crack has opened and then closed, the circle outline will have - an X through it. Each integration point can crack in up to three - different planes. The first crack at an integration point is shown - with a red circle outline, the second crack with a green outline, and - the third crack with a blue outline. + Operates on one input array parameter vector and produces one output + scalar parameter according to: - Symbols shown at the element centroid (LOC = 1) are based on the status - of all of the element's integration points. If any integration point - in the element has crushed, the crushed (octahedron) symbol is shown at - the centroid. If any integration point has cracked or cracked and - closed, the cracked symbol is shown at the element centroid. If at - least five integration points have cracked and closed, the cracked and - closed symbol is shown at the element centroid. Finally, if more than - one integration point has cracked, the circle outline at the element - centroid shows the average orientation of all cracked planes for that - element. + ParR = f(Par1) - Portions of this command are not supported by PowerGraphics - [/GRAPHICS,POWER]. + where the functions (f) are described below. The starting array element + number must be defined for the array parameter vector. For example, + *VSCFUN,MU,MEAN,A(1) finds the mean of the A vector values, starting + from the first value and stores the result as parameter MU. Operations + use successive array elements [*VLEN, *VMASK] with the default being + all successive array elements. Absolute values and scale factors may + be applied to all parameters [*VABS, *VFACT]. Results may be + cumulative [*VCUM]. See the *VOPER command for details. + + This command is valid in any processor. """ - command = "PLCRACK, %s, %s" % (str(loc), str(num)) + command = "*VSCFUN,%s,%s,%s" % (str(parr), str(func), str(par1)) self.RunCommand(command, **kwargs) - def Print(self, **kwargs): + def Rssims(self, rslab="", nsim="", seed="", **kwargs): """ - APDL Command: PRINT + APDL Command: RSSIMS - Specifies "Print settings" as the subsequent status topic. + Performs Monte Carlo simulations on response surface(s). - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Parameters + ---------- + rslab + Response Surface set label. Identifies the response surfaces + generated by the RSFIT command. - If entered directly into the program, the STAT command should - immediately follow this command. + nsim + Number of simulation loops on the response surfaces that will be + generated for all random output parameters. If the RSSIMS command + is issued multiple times using the same response surface set label + the NSIM Monte Carlo simulations is appended to previous ones. The + default value for NSIM is 10,000. - """ - command = "PRINT, " % () - self.RunCommand(command, **kwargs) + seed + Seed value label. Random number generators require a seed value + that is used to calculate the next random number. After each random + number generation finishes, the seed value is updated and is used + again to calculate the next random number. By default ANSYS + initializes the seed value with the system time (one time only) + when the ANSYS session started. - def Gopr(self, **kwargs): - """ - APDL Command: /GOPR + CONT - Continues updating using the derived seed value (default). + + TIME - Initializes the seed value with the system time. You can use this if you want + the seed value set to a specific value for one analysis and + then you want to continue with a "random" seed in the next + analysis. It is not recommended to "randomize" the seed + value with the Seed = TIME option for multiple analyses. If + the Monte Carlo simulations requested with this command will + be appended to previously existing simulations, then the + Seed option is ignored and Seed = CONT is used. + + INIT - Initializes the seed value using 123457. This value is a typical recommendation + used very often in literature. This option leads to + identical random numbers for all random input variables when + the exact analysis will be repeated, making it useful for + benchmarking and validation purposes (where identical random + numbers are desired). If the Monte Carlo simulations + requested with this command will be appended to previously + existing simulations, then the Seed option is ignored and + Seed = CONT is used. - Reactivates suppressed printout. + Value - Uses the specified (positive) value for the initialization of the seed value. + This option has the same effect as Seed = INIT, except you + can chose an arbitrary (positive) number for the + initialization. If the Monte Carlo simulations requested + with this command will be appended to previously existing + simulations, then the Seed option is ignored and Seed = + CONT is used. Notes ----- - Reactivates printout suppressed with the /NOPR command. The /GO - command has the same function except that it does not produce a command - response from the program. + Generate the Monte Carlo simulations on the response surfaces that are + included in a response surface set. Simulations are evaluated only for + the output parameters that have been fitted in a response surface set + using the RSFIT command. - This command is valid in any processor. + If the RSSIMS command is issued multiple times using the same response + surface label the probabilistic design system appends the samples + generated here to the previous ones. This way you can start with a + moderate NSIM number and add more samples if the probabilistic results + are not accurate enough. """ - command = "/GOPR, " % () + command = "RSSIMS,%s,%s,%s" % (str(rslab), str(nsim), str(seed)) self.RunCommand(command, **kwargs) - def Dmpext(self, smode="", tmode="", dmpname="", freqb="", freqe="", - nsteps="", **kwargs): + def Vsba(self, nv="", na="", sepo="", keepv="", keepa="", **kwargs): """ - APDL Command: DMPEXT + APDL Command: VSBA - Extracts modal damping coefficients in a specified frequency range. + Subtracts areas from volumes. Parameters ---------- - smode - Source mode number. There is no default for this field; you must - enter an integer greater than zero. - - tmode - Target mode. Defaults to SMODE. - - dmpname - Array parameter name containing the damping results. Defaults to - d_damp. + nv + Volume (or volumes, if picking is used) to be subtracted from. If + ALL, use all selected volumes. If P, graphical picking is enabled + (valid only in the GUI) and remaining fields are ignored. A + component name may also be substituted for NV. - freqb - Beginning frequency range (real number greater than zero) or 'EIG' - at eigenfrequency of source mode. 'EIG' is valid only if SMODE = - TMODE. Note that EIG must be enclosed in single quotes when this - command is used on the command line or in an input file. There is - no default for this field; you must enter a value. + na + Area (or areas, if picking is used) to subtract. If ALL, use all + selected areas. A component name may also be substituted for NA. - freqe - End of frequency range. Must be blank for Freqb = EIG. Default is - Freqb. + sepo + Behavior of the touching boundary: - nsteps - Number of substeps. Defaults to 1. + (blank) - The resulting volumes will share area(s) where they touch. - Notes - ----- - DMPEXT invokes an ANSYS macro that uses modal projection techniques to - compute the damping force by the modal velocity of the source mode onto - the target mode. From the damping force, damping parameters are - extracted. DMPEXT creates an array parameter Dmpname, with the - following entries in each row: + SEPO - The resulting volumes will have separate, but coincident area(s) where they + touch. - response frequency + keepv + Specifies whether NV volumes are to be deleted: - modal damping coefficient + (blank) - Use the setting of KEEP on the BOPTN command. - modal squeeze stiffness coefficient + DELETE - Delete NV volumes after VSBA operation (override BOPTN command settings). - damping ratio + KEEP - Keep NV volumes after VSBA operation (override BOPTN command settings). - squeeze-to-structural stiffness ratio + keepa + Specifies whether NA areas are to be deleted: - The macro requires the modal displacements from the file Jobname.EFL - obtained from the RMFLVEC command. In addition, a node component FLUN - must exist from all FLUID136 nodes. The computed damping ratio may be - used to specify constant or modal damping by means of the DMPRAT or - MDAMP commands. For Rayleigh damping, use the ABEXTRACT command to - compute ALPHAD and BETAD damping parameters. See Thin Film Analysis for - more information on thin film analyses. + (blank) - Use the setting of KEEP on the BOPTN command. - The macro uses the LSSOLVE command to perform two load steps for each - frequency. The first load case contains the solution of the source - mode excitation and can be used for further postprocessing. Solid model - boundary conditions are deleted from the model. In addition, - prescribed nodal boundary conditions are applied to the model. You - should carefully check the boundary conditions of your model prior to - executing a subsequent analysis. + DELETE - Delete NA areas after VSBA operation (override BOPTN command settings). - This command is also valid in PREP7. + KEEP - Keep NA areas after VSBA operation (override BOPTN command settings). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Notes + ----- + Generates new volumes by subtracting the regions common to both the + volumes and areas (the intersection) from the NV volumes. The + intersection will be an area(s). If SEPO is blank, the volume is + divided at the area and the resulting volumes will be connected, + sharing a common area where they touch. If SEPO is set to SEPO, the + volume is divided into two unconnected volumes with separate areas + where they touch. See the Modeling and Meshing Guide for an + illustration. See the BOPTN command for an explanation of the options + available to Boolean operations. Element attributes and solid model + boundary conditions assigned to the original entities will not be + transferred to the new entities generated. """ - command = "DMPEXT, %s, %s, %s, %s, %s, %s" % (str(smode), str(tmode), str(dmpname), str(freqb), str(freqe), str(nsteps)) + command = "VSBA,%s,%s,%s,%s,%s" % (str(nv), str(na), str(sepo), str(keepv), str(keepa)) self.RunCommand(command, **kwargs) - def Ndele(self, node1="", node2="", ninc="", **kwargs): + def Torus(self, rad1="", rad2="", rad3="", theta1="", theta2="", **kwargs): """ - APDL Command: NDELE + APDL Command: TORUS - Deletes nodes. + Creates a toroidal volume. Parameters ---------- - node1, node2, ninc - Delete nodes from NODE1 to NODE2 (defaults to NODE1) in steps of - NINC (defaults to 1). If NODE1 = ALL, NODE2 and NINC are ignored - and all selected nodes [NSEL] are deleted. 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. + rad1, rad2, rad3 + Three values that define the radii of the torus. You can specify + the radii in any order. The smallest of the values is the inner + minor radius, the intermediate value is the outer minor radius, and + the largest value is the major radius. (There is one exception + regarding the order of the radii values--if you want to create a + solid torus, specify zero or blank for the inner minor radius, in + which case the zero or blank must occupy either the RAD1 or RAD2 + position.) At least two of the values that you specify must be + positive values; they will be used to define the outer minor radius + and the major radius. See the diagram in the Notes section for a + view of a toroidal sector showing all radii. + + theta1, theta2 + Starting and ending angles (either order) of the torus. Used for + creating a toroidal sector. The sector begins at the algebraically + smaller angle, extends in a positive angular direction, and ends at + the larger angle. The starting angle defaults to 0° and the ending + angle defaults to 360°. Notes ----- - Deletes selected nodes that are not connected to elements. Nodes may - also be redefined instead of deleted, if desired. Boundary conditions - (displacements, forces, etc.) as well as any coupling or constraint - equations containing the deleted nodes are also deleted. + Defines a toroidal volume centered about the working plane origin. A + solid torus of 360° will be defined with four areas, each area spanning + 180° around the major and minor circumference. - This command is also valid in the /MAP processor. + To create the toroidal sector shown below, the command + TORUS,5,1,2,0,180 was issued. Since "1" was the smallest radii value + specified, it defined the inner minor radius; since "2" was the + intermediate radii value specified, it defined the outer minor radius; + and since "5" was the largest radii value specified, it defined the + major radius. The values "0" and "180" defined the starting and ending + angles of the torus. """ - command = "NDELE, %s, %s, %s" % (str(node1), str(node2), str(ninc)) + command = "TORUS,%s,%s,%s,%s,%s" % (str(rad1), str(rad2), str(rad3), str(theta1), str(theta2)) self.RunCommand(command, **kwargs) - def Bste(self, alpha="", **kwargs): + def Uimp(self, mat="", lab1="", lab2="", lab3="", val1="", val2="", + val3="", **kwargs): """ - APDL Command: BSTE + APDL Command: UIMP - Specifies a thermal expansion coefficient for a nonlinear general beam - section. + Defines constant material properties (GUI). Parameters ---------- - alpha - Coefficient of thermal expansion for the cross section. + mat + Material number. - Notes - ----- - The BSTE command, one of several nonlinear general beam section - commands, specifies a thermal expansion coefficient for a beam section. - The value specified is associated with the section most recently - defined (via the SECTYPE command). + lab1, lab2, lab3 + Material property labels (see the MP command for valid labels). - Related commands are BSAX, BSM1, BSM2, BSTQ, BSS1, BSS2, and BSMD. + val1, val2, val3 + Values corresponding to three labels. - For complete information, see Using Nonlinear General Beam Sections. + Notes + ----- + Defines constant material properties. This is a command generated by + the Graphical User Interface (GUI) and will appear in the log file + (Jobname.LOG) if material properties are specified using the Material + Properties dialog box. This command is not intended to be typed in + directly in an ANSYS session (although it can be included in an input + file for batch input or for use with the /INPUT command). """ - command = "BSTE, %s" % (str(alpha)) + command = "UIMP,%s,%s,%s,%s,%s,%s,%s" % (str(mat), str(lab1), str(lab2), str(lab3), str(val1), str(val2), str(val3)) self.RunCommand(command, **kwargs) - def Ekill(self, elem="", **kwargs): + def Swgen(self, ecomp="", swrd="", ncm1="", ncm2="", snd1="", snd2="", + shrd="", dirx="", diry="", dirz="", itty="", icty="", **kwargs): """ - APDL Command: EKILL + APDL Command: SWGEN - Deactivates an element (for the birth and death capability). + Creates a new spot weld set. Parameters ---------- - elem - Element to be deactivated. If ALL, deactivate all selected elements - [ESEL]. If ELEM = 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 ELEM. - - Notes - ----- - Deactivates the specified element when the birth and death capability - is being used. A deactivated element remains in the model but - contributes a near-zero stiffness (or conductivity, etc.) value (ESTIF) - to the overall matrix. Any solution-dependent state variables (such as - stress, plastic strain, creep strain, etc.) are set to zero. - Deactivated elements contribute nothing to the overall mass (or - capacitance, etc.) matrix. + ecomp + Name to identify the new spot weld. This name will be used for the + element component containing the new contact, target, and beam + elements generated for the spot weld set. - The element can be reactivated with the EALIVE command. + swrd + Spot weld radius. - ANSYS, Inc. recommends using element deactivation/reactivation - (EKILL/EALIVE) for linear elastic materials only. For all other - materials, validate the results carefully before using them. + ncm1 + Name of a component containing nodes on the first spot weld + surface, or a meshed area number for the surface. - This command is also valid in PREP7. + ncm2 + Name of a component containing nodes on the second spot weld + surface, or a meshed area number for the surface. - """ - command = "EKILL, %s" % (str(elem)) - self.RunCommand(command, **kwargs) + snd1 + Node number of the first spot weld node corresponding to the first + surface (NCM1). This node can be on or close to the first surface. - def Larea(self, p1="", p2="", narea="", **kwargs): - """ - APDL Command: LAREA + snd2 + Node number of the second spot weld node corresponding to the + second surface (NCM2). This node can be on or close to the second + surface. ANSYS will create the node if it is not specified. - Generates the shortest line between two keypoints on an area. + shrd + Search radius. Defaults to 4 times the spot weld radius SWRD. - Parameters - ---------- - p1 - First keypoint of line to be generated. If P1 = P, graphical - picking is enabled and all remaining command fields are ignored - (valid only in the GUI). + dirx, diry, dirz + Spot weld projection direction in terms of normal X, Y, and Z + components. - p2 - Second keypoint of line to be generated. + itty + Target element type ID. - narea - Area containing P1 and P2, or area to which generated line is to be - parallel. + icty + Contact element type ID. Notes ----- - Generates the shortest line between two keypoints, P1 and P2, both of - which lie on an area. The generated line will also lie on the area. - P1 and P2 may also be equidistant (in global Cartesian space) from the - area (and on the same side of the area), in which case a line parallel - to the area is generated. - - """ - command = "LAREA, %s, %s, %s" % (str(p1), str(p2), str(narea)) - self.RunCommand(command, **kwargs) - - def Cycle(self, **kwargs): - """ - APDL Command: *CYCLE + This command creates a new spot weld set. You can add more surfaces to + the set using SWADD after the initial SWGEN command. However, the + maximum number of allowable surfaces (including the 2 surfaces used for + the original set) for each spot weld set is 11. - Bypasses commands within a do-loop. + Ecomp, SWRD, NCM1, NCM2, and SND1 must be specified. SND2, SHRD, DIRX, + DIRY, DIRZ, ITTY, ICTY are optional inputs. If the second spot weld + node (SND2) is specified, that node is used to determine the spot weld + projection direction, andDIRX, DIRY and DIRZ are ignored. - Notes - ----- - Bypasses all commands between this command and the *ENDDO command - within a do-loop. The next loop (if applicable) is initiated. The - cycle option may also be conditionally executed [Use the *IF]. The - *CYCLE command must appear on the same file as the *DO command. + If ITTY is specified, the following corresponding target element key + option must be set: KEYOPT(5) = 4. If ICTY is specified, the following + corresponding contact element key options must be set: KEYOPT(2) = 2, + KEYOPT(12) = 5. - This command is valid in any processor. + Use the SWLIST and SWDEL commands to list or delete spot welds. See + Creating a Basic Spot Weld Set with SWGEN for detailed information on + defining spot welds. """ - command = "*CYCLE, " % () + command = "SWGEN,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(ecomp), str(swrd), str(ncm1), str(ncm2), str(snd1), str(snd2), str(shrd), str(dirx), str(diry), str(dirz), str(itty), str(icty)) self.RunCommand(command, **kwargs) - def Define(self, **kwargs): + def Fefor(self, **kwargs): """ - APDL Command: DEFINE + APDL Command: FEFOR - Specifies "Data definition settings" as the subsequent status topic. + Specifies "Forces on nodes" as the subsequent status topic. Notes ----- @@ -68937,1578 +68513,1599 @@ def Define(self, **kwargs): immediately follow this command. """ - command = "DEFINE, " % () + command = "FEFOR," % () self.RunCommand(command, **kwargs) - def Freq(self, freq1="", freq2="", freq3="", freq4="", freq5="", freq6="", - freq7="", freq8="", freq9="", **kwargs): + def Pdcdf(self, rlab="", name="", type="", conf="", nmax="", **kwargs): """ - APDL Command: FREQ + APDL Command: PDCDF - Defines the frequency points for the SV vs. FREQ tables. + Plots the cumulative distribution function. Parameters ---------- - freq1, freq2, freq3, . . . , freq9 - Frequency points for SV vs. FREQ tables. Values must be in - ascending order. FREQ1 should be greater than zero. Units are - cycles/time. + rlab + Result set label. Identifies the result set to be used for + postprocessing. A result set label can be the solution set label + you defined in a PDEXE command (if you are directly postprocessing + Monte Carlo Simulation results), or the response surface set label + defined in an RSFIT command (for Response Surface Analyses). + + name + Parameter name. The parameter must have been previously defined as + a random input variable or a random output parameter with the PDVAR + command. + + type + Type of cumulative distribution curve to be displayed. + + EMP - Show an empirical cumulative distribution curve. + + GAUS - Show a cumulative distribution curve in a normal distribution plot. A random + variable based on a normal or Gaussian distribution appears + as a straight line in this type of plot. + + LOGN - Show a cumulative distribution curve in a log-normal plot. A random variable + based on a log-normal distribution appears as a straight + line in this type of plot. + + WEIB - Show a cumulative distribution curve in a Weibull distribution plot. A random + variable based on a Weibull distribution appears as a + straight line in this type of plot. + + conf + Confidence level. The confidence level is used to plot confidence + bounds around the cumulative distribution function. The value for + the confidence level must be between 0.0 and 1.0 and it defaults to + 0.95 (95%). Plotting of the confidence bound is suppressed for CONF + 0.5. This parameter is ignored for the postprocessing of response + surface methods results. + + nmax + Maximum number of points to be plotted for the distribution curve. + This must be a positive number and it defaults to 100. If the + sample size is less than NMAX, all sample data is represented in + the plot. If the sample size is larger than NMAX, the probabilistic + design system classifies the sample into NMAX classes of + appropriate size. Notes ----- - Repeat the FREQ command for additional frequency points (100 maximum). - Values are added after the last nonzero frequency. If all fields - (FREQ1 -- FREQ9) are blank, erase SV vs. FREQ tables. + Plots the cumulative distribution function. - Frequencies must be in ascending order. + The PDCDF command cannot be used to postprocess the results in a + solution set that is based on Response Surface Methods, only Monte + Carlo Simulations. - Spectral values are input with the SV command and interpreted according - to the SVTYP command. Applies only to the SPRS (single-point) option - of the SPOPT command. See the SPFREQ command for frequency input in - MPRS (multi-point) analysis. + If Rlab is left blank, then the result set label is inherited from the + last PDEXE command (Slab), RSFIT command (RSlab), or the most recently + used PDS postprocessing command where a result set label was explicitly + specified. - Use the STAT command to list current frequency points. + """ + command = "PDCDF,%s,%s,%s,%s,%s" % (str(rlab), str(name), str(type), str(conf), str(nmax)) + self.RunCommand(command, **kwargs) - This command is also valid in PREP7. + def Lgen(self, itime="", nl1="", nl2="", ninc="", dx="", dy="", dz="", + kinc="", noelem="", imove="", **kwargs): + """ + APDL Command: LGEN + + Generates additional lines from a pattern of lines. + + Parameters + ---------- + itime + Do this generation operation a total of ITIMEs, incrementing all + keypoints in the given pattern automatically (or by KINC) each time + after the first. ITIME must be > 1 for generation to occur. + + nl1, nl2, ninc + Generate lines from pattern beginning with NL1 to NL2 (defaults to + NL1) in steps of NINC (defaults to 1). If NL1 = ALL, NL2 and NINC + are ignored and pattern is all selected lines [LSEL]. If NL1 = 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 NL1 (NL2 and NINC are ignored). + + dx, dy, dz + Keypoint location increments in the active coordinate system (--, + Dθ, DZ for cylindrical, --, Dθ, -- for spherical). + + kinc + Keypoint increment between generated sets. If zero, the lowest + available keypoint numbers are assigned [NUMSTR]. + + noelem + Specifies if elements and nodes are also to be generated: + + 0 - Generate nodes and elements associated with the original lines, if they exist. + + 1 - Do not generate nodes and elements. + + imove + Specifies whether to redefine the existing lines: + + 0 - Generate additional lines as requested with the ITIME argument. + + 1 - Move original lines to new position retaining the same keypoint numbers (ITIME, + KINC, and NOELM are ignored). Valid only if the old lines are + no longer needed at their original positions. Corresponding + meshed items are also moved if not needed at their original + position. + + Notes + ----- + Generates additional lines (and their corresponding keypoints and mesh) + from a given line pattern. The MAT, TYPE, REAL, and ESYS attributes + are based upon the lines in the pattern and not upon the current + settings. End slopes of the generated lines remain the same (in the + active coordinate system) as those of the given pattern. For example, + radial slopes remain radial, etc. Generations which produce lines of a + size or shape different from the pattern (i.e., radial generations in + cylindrical systems, radial and phi generations in spherical systems, + and theta generations in elliptical systems) are not allowed. Note + that solid modeling in a toroidal coordinate system is not recommended. + New line numbers are automatically assigned (beginning with the lowest + available values [NUMSTR]). """ - command = "FREQ, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(freq1), str(freq2), str(freq3), str(freq4), str(freq5), str(freq6), str(freq7), str(freq8), str(freq9)) + command = "LGEN,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(itime), str(nl1), str(nl2), str(ninc), str(dx), str(dy), str(dz), str(kinc), str(noelem), str(imove)) self.RunCommand(command, **kwargs) - def Read(self, fname="", nskip="", format="", xfield="", yfield="", - zfield="", prfield="", pifield="", **kwargs): + def Plsect(self, item="", comp="", rho="", kbr="", **kwargs): """ - APDL Command: READ + APDL Command: PLSECT - Reads coordinate and pressure data from a file. + Displays membrane and membrane-plus-bending linearized stresses. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + item + Label identifying the item to be processed. Valid item labels are + shown in Table 221: PLSECT - Valid Item and Component Labels below. + Items also require a component label. - nskip - Number of lines at the beginning of the file that will be skipped - while it is read. Default = 0. NSKIP is ignored for FileType = - CFXTBR or CFDPOST on the FTYPE command. + comp + Component of the item. Valid component labels are shown in Table + 221: PLSECT - Valid Item and Component Labels below. - format - For FileType = FORMATTED on the FTYPE command, Format is the read - format in the FORTRAN FORMAT convention enclosed in parentheses; - for example: (3e10.0,10x,e10.0,70x,e10.0) + rho + In-plane (X-Y) average radius of curvature of the inside and + outside surfaces of an axisymmetric section. If zero (or blank), a + plane or 3-D structure is assumed. If nonzero, an axisymmetric + structure is assumed. Use a very large number (or -1) for an + axisymmetric straight section. - xfield, yfield, zfield, prfield, pifield - For FileType = CSV on the FTYPE command, these are field numbers - locating the coordinates and real and imaginary (if present) - pressures. The field value may not exceed 20. + kbr + Through-thickness bending stresses key for an axisymmetric analysis + (RHO ≠ 0): + + 0 - Include the thickness-direction bending stresses. + + 1 - Ignore the thickness-direction bending stresses. + + 2 - Include the thickness-direction bending stress using the same formula as the Y + (axial direction ) bending stress. Also use the same formula + for the shear stress. Notes ----- - Reads coordinate and pressure data from the specified file. The file - type must have been previously specified on the FTYPE command. + Calculates and displays the membrane and membrane-plus-bending + linearized stresses (as described for the PRSECT command) along a path + section [PATH] as a graph. The path section is defined by two points + specified with the PPATH command. For linearized stress calculations, + the path must be defined with nodes. The path must be entirely within + the selected elements (that is, there must not be any element gaps + along the path). The total stress (equivalent to the PLPATH display) is + also displayed. This command always uses 48 divisions along the path, + regardless of the number of divisions defined by PATH. - Upon reading the file, nodes are created for the source points. For - FileType = CFXTBR or CFDPOST on the FTYPE command, if face data is - available, SURF154 elements are also created. A nodal component named - SOURCENODES and an element component named SOURCEELEMS are created - automatically. + Portions of this command are not supported by PowerGraphics + [/GRAPHICS,POWER]. + + Table: 221:: : PLSECT - Valid Item and Component Labels """ - command = "READ, %s, %s, %s, %s, %s, %s, %s, %s" % (str(fname), str(nskip), str(format), str(xfield), str(yfield), str(zfield), str(prfield), str(pifield)) + command = "PLSECT,%s,%s,%s,%s" % (str(item), str(comp), str(rho), str(kbr)) self.RunCommand(command, **kwargs) - def Magsolv(self, opt="", nramp="", cnvcsg="", cnvflux="", neqit="", - biot="", cnvtol="", **kwargs): + def Pdef(self, lab="", item="", comp="", avglab="", **kwargs): """ - APDL Command: MAGSOLV + APDL Command: PDEF - Specifies magnetic solution options and initiates the solution. + Interpolates an item onto a path. Parameters ---------- - opt - Static magnetic solution option: - - 0 - Vector potential (MVP) or edge formulation (default). - - 1 - Combined vector potential and reduced scalar potential (MVP-RSP). - - 2 - Reduced scalar potential (RSP). - - 3 - Difference scalar potential (DSP). - - 4 - General scalar potential (GSP). - - nramp - Number of ramped substeps for the first load step of a nonlinear - MVP or MVP-RSP solution. Defaults to 3. If NRAMP = -1, ignore the - ramped load step entirely.NRAMP is ignored for linear - magnetostatics. - - cnvcsg - Tolerance value on the program-calculated reference value for the - magnetic current-segment convergence. Used for the MVP, the MVP- - RSP, and the edge formulation solution options (OPT = 0 and 1). - Defaults to 0.001. - - cnvflux - Tolerance value on the program-calculated reference value for the - magnetic flux convergence. Used for all scalar potential solution - options (OPT = 2, 3, 4). Defaults to 0.001. + lab + Label assigned to the resulting path item (8 characters maximum). + This item may be used as input for other path operations. - neqit - Maximum number of equilibrium iterations per load step. Defaults - to 25. + item + Label identifying the item for interpolation. Valid item labels + are shown in Table 216: PDEF - Valid Item and Component Labels + below. Some items also require a component label. - biot - Option to force execution of a Biot-Savart integral solution - [BIOT,NEW] for the scalar potential options. Required if multiple - load steps are being performed with different current source - primitives (SOURC36 elements). + comp + Component of the item (if required). Valid component labels are + shown in Table 216: PDEF - Valid Item and Component Labels below. - 0 - Do not force execution of Biot-Savart calculation (default); Biot-Savart is - automatically calculated only for the first solution. + avglab + Option to average across element boundaries: - 1 - Force execution of Biot-Savart calculation. + AVG - Average element results across elements (default). - cnvtol - Sets the convergence tolerance for AMPS reaction. Defaults to 1e-3. + NOAV - Do not average element results across elements. If the parameter DISCON = MAT + on the PMAP command, this option is automatically invoked. Notes ----- - MAGSOLV invokes an ANSYS macro which specifies magnetic solution - options and initiates the solution. The macro is applicable to any - ANSYS magnetostatic analysis using the magnetic vector potential (MVP), - reduced scalar potential (RSP), difference scalar potential (DSP), - general scalar potential (GSP), or combined MVP-RSP formulation - options. Results are only stored for the final converged solution. - (In POST1, issue *SET,LIST to identify the load step of solution - results.) The macro internally determines if a nonlinear analysis is - required based on magnetic material properties. + Defines and interpolates a labeled path item along a predefined path + (PATH). Path item results are in the global Cartesian coordinate + directions unless transformed (RSYS). A path item must be defined + before it can be used with other path operations. Additional path + items may be defined from the PVECT, PCALC, PDOT, and PCROSS commands. + Path items may be listed (PRPATH) or displayed (PLPATH, PLPAGM). A + maximum number of path items permitted is established by the nSets + argument specified with the PATH command. - If you use the BIOT option and issue SAVE after solution or - postprocessing, the Biot-Savart calculations are saved to the database, - but will be overwritten upon normal exit from the program. To save - this data after issuing SAVE, use the /EXIT,NOSAVE command. You can - also issue the /EXIT,SOLU command to exit ANSYS and save all solution - data, including the Biot-Savart calculations, in the database. - Otherwise, when you issue RESUME, the Biot-Savart calculation will be - lost (resulting in a zero solution). + When you create the first path item (PDEF or PVECT), the program + automatically interpolates four path items which are used to describe + the geometry of the path. These predefined items are the position of + the interpolated path points (labels XG, YG, and ZG) in global + Cartesian coordinates, and the path length (label S). For alternate + methods of mapping the path geometry (to include, for example, material + discontinuity) see the PMAP command. These items may also be listed or + displayed with the PRPATH, PLPATH, and PLPAGM commands. - The MVP, MVP-RSP, and edge formulation options perform a two-load-step - solution sequence. The first load step ramps the applied loads over a - prescribed number of substeps (NRAMP), and the second load step - calculates the converged solution. For linear problems, only a single - load step solution is performed. The ramped load step can be bypassed - by setting NRAMP to -1. + If specifying that load case operations act on principal/equivalent + stresses (SUMTYPE,PRIN), derived quantities (principal and equivalent + stresses/strains) will be zero for path plots. A typical use for such a + case involves mode combinations in a response spectrum analysis. - The RSP option solves in a single load step using the adaptive descent - procedure. The DSP option uses two load steps, and the GSP solution - uses three load steps. + The number of interpolation points on the path is defined by the nDiv + argument on the PATH command. See Mapping Nodal and Element Data onto + the Path in the Mechanical APDL Theory Reference for details. Use + PDEF,STAT to list the path item labels. Use PDEF,CLEAR to erase all + labeled path items, except the path geometry items (XG, YG, ZG, S). - The following analysis options and nonlinear options are controlled by - this macro: KBC, NEQIT, NSUBST, CNVTOL, NROPT, MAGOPT, and OUTRES. + Table: 216:: : PDEF - Valid Item and Component Labels - You cannot use constraint equations with OPT = 4. + For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the + labels TBOT, TE2, TE3, ..., TTOP instead of TEMP. + + For more information on the meaning of contact status and its possible + values, see Reviewing Results in POST1 in the Contact Technology Guide. """ - command = "MAGSOLV, %s, %s, %s, %s, %s, %s, %s" % (str(opt), str(nramp), str(cnvcsg), str(cnvflux), str(neqit), str(biot), str(cnvtol)) + command = "PDEF,%s,%s,%s,%s" % (str(lab), str(item), str(comp), str(avglab)) self.RunCommand(command, **kwargs) - def Vscale(self, wn="", vratio="", key="", **kwargs): + def Sfdele(self, nlist="", lab="", **kwargs): """ - APDL Command: /VSCALE + APDL Command: SFDELE - Scales the length of displayed vectors. + Deletes surface loads. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). - - vratio - Ratio value applied to the automatically calculated scale factor - (defaults to 1.0, i.e., use scale factor as automatically - calculated). - - key - Relative scaling key: + nlist + Label defining where to find the list of nodes: - 0 - Use relative length scaling among vectors based on magnitudes. + ALL - Use all selected nodes [NSEL]. If P, use graphical picking in GUI. A + component label may be substituted for Nlist. - 1 - Use uniform length scaling for all vector lengths. + lab + Valid surface load label. If ALL, use all appropriate labels. See + the SF command for labels. Notes ----- - Allows scaling of the vector length displayed with the PLVECT command - of POST1 and the /PBC and /PSF commands. Also allows the scaling of - the element (i.e., /PSYMB,ESYS) and the nodal (i.e., /PSYMB,NDIR) - coordinate system symbols. + Deletes surface loads as applied with the SF command. Loads are + deleted only for the specified nodes on external faces of selected area + and volume elements. For shell elements, if the specified nodes + include face one (which is usually the bottom face) along with other + faces (such as edges), only the loads on face one will be deleted. The + element faces are determined from the list of selected nodes as + described for the SF command. See the SFEDELE command for deleting + loads explicitly by element faces. - This command is valid in any processor. + This command is also valid in PREP7. """ - command = "/VSCALE, %s, %s, %s" % (str(wn), str(vratio), str(key)) + command = "SFDELE,%s,%s" % (str(nlist), str(lab)) self.RunCommand(command, **kwargs) - def Eddbl(self, key="", **kwargs): + def Dmpext(self, smode="", tmode="", dmpname="", freqb="", freqe="", + nsteps="", **kwargs): """ - APDL Command: EDDBL + APDL Command: DMPEXT - Selects a numerical precision type of the explicit dynamics analysis. + Extracts modal damping coefficients in a specified frequency range. Parameters ---------- - key - Number or name identifying numerical precision to be used. + smode + Source mode number. There is no default for this field; you must + enter an integer greater than zero. - 0 or SINGLE - Select single precision version of LS-DYNA (default). + tmode + Target mode. Defaults to SMODE. - 1 or DOUBLE - Select double precision version of LS-DYNA. + dmpname + Array parameter name containing the damping results. Defaults to + d_damp. - STAT - Check the status of the numerical precision in effect. + freqb + Beginning frequency range (real number greater than zero) or 'EIG' + at eigenfrequency of source mode. 'EIG' is valid only if SMODE = + TMODE. Note that EIG must be enclosed in single quotes when this + command is used on the command line or in an input file. There is + no default for this field; you must enter a value. + + freqe + End of frequency range. Must be blank for Freqb = EIG. Default is + Freqb. + + nsteps + Number of substeps. Defaults to 1. Notes ----- - Sets the single or double precision version of LS-DYNA into effect. - Please check the availability of the double precision version of LS- - DYNA on your system before using the command. If it is not available, - use the command default. + DMPEXT invokes an ANSYS macro that uses modal projection techniques to + compute the damping force by the modal velocity of the source mode onto + the target mode. From the damping force, damping parameters are + extracted. DMPEXT creates an array parameter Dmpname, with the + following entries in each row: - The double precision version may be up to 20% slower than the single - precision version. The results may also vary based on problem - specifications. + response frequency - In addition to EDDBL,STAT, you can use the GUI dialog box to verify - which precision version is currently chosen. The GUI is based on the - database and is updated to reflect changes. + modal damping coefficient - See Double Precision LS-DYNA for more information. + modal squeeze stiffness coefficient - This command is also valid in SOLUTION. + damping ratio + + squeeze-to-structural stiffness ratio + + The macro requires the modal displacements from the file Jobname.EFL + obtained from the RMFLVEC command. In addition, a node component FLUN + must exist from all FLUID136 nodes. The computed damping ratio may be + used to specify constant or modal damping by means of the DMPRAT or + MDAMP commands. For Rayleigh damping, use the ABEXTRACT command to + compute ALPHAD and BETAD damping parameters. See Thin Film Analysis for + more information on thin film analyses. + + The macro uses the LSSOLVE command to perform two load steps for each + frequency. The first load case contains the solution of the source + mode excitation and can be used for further postprocessing. Solid model + boundary conditions are deleted from the model. In addition, + prescribed nodal boundary conditions are applied to the model. You + should carefully check the boundary conditions of your model prior to + executing a subsequent analysis. + + This command is also valid in PREP7. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "EDDBL, %s" % (str(key)) + command = "DMPEXT,%s,%s,%s,%s,%s,%s" % (str(smode), str(tmode), str(dmpname), str(freqb), str(freqe), str(nsteps)) self.RunCommand(command, **kwargs) - def Aina(self, na1="", na2="", na3="", na4="", na5="", na6="", na7="", - na8="", na9="", **kwargs): + def Clrmshln(self, **kwargs): """ - APDL Command: AINA - - Finds the intersection of areas. + APDL Command: CLRMSHLN - Parameters - ---------- - na1, na2, na3, . . . , na9 - Numbers of areas to be intersected. If NA1 = ALL, NA2 to NA9 are - ignored and the intersection of all selected areas is found. If - NA1 = P, graphical picking is enabled and all remaining arguments - are ignored (valid only in the GUI). A component name may also be - substituted for NA1. + Clears meshed entities. Notes ----- - Finds the common (not pairwise) intersection of areas. The common - intersection is defined as the regions shared (in common) by all areas - listed on this command. New areas will be generated where the original - areas intersect. If the regions of intersection are only lines, new - lines will be generated instead. See the Modeling and Meshing Guide - for an illustration. See the BOPTN command for the options available - to Boolean operations. Element attributes and solid model boundary - conditions assigned to the original entities will not be transferred to - the new entities generated. + When you use the GUI method to set the number of elements on specified + lines, and any of those lines is connected to one or more meshed lines, + areas, or volumes, ANSYS gives you the option to clear the meshed + entities. (This occurs only when you perform this operation via the + GUI; ANSYS does not provide such an option when you use the command + method [LESIZE].) + + If you activate the mesh clearing option, the program invokes an ANSYS + macro, CLRMSHLN, that clears the meshed entities. This macro name will + appear in the log file (Jobname.LOG). This macro is for the ANSYS + program's internal use only. This command is not intended to be typed + in directly in an ANSYS session, although it can be included in an + input file for batch input or for use with the /INPUT command. """ - command = "AINA, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(na7), str(na8), str(na9)) + command = "CLRMSHLN," % () self.RunCommand(command, **kwargs) - def Mfimport(self, fnumb="", option="", fname="", ext="", **kwargs): + def Frqscl(self, scaling ="", **kwargs): """ - APDL Command: MFIMPORT + APDL Command: FRQSCL - Imports a new field into a current ANSYS Multi-field solver analysis. + Turns on automatic scaling of the entire mass matrix and frequency + range for modal analyses using the Block Lanczos, PCG Lanczos, or + Supernode mode extraction method. Parameters ---------- - fnumb - Field number specified by the MFELEM command. - - option - Selects data to read. + scaling - DB - Reads a CDB file. The CDB file name and extension are specified by Fname and - Ext. - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + Off - Do not use automatic scaling of the mass matrix and frequency range. - ext - Filename extension (eight-character maximum). + On - Use automatic scaling of the mass matrix and frequency range. Notes ----- - The field to be imported should be written to a CDB file (CDWRITE - command). This file is read into the database, offsetting all existing - element type numbers, node numbers, etc. in order to accommodate the - imported field. (See the NUMOFF command for information on offset - capabilities.) It then updates all of the previously issued MFxx - commands to the new element type numbers. A new field is created using - the specified field number, which must not currently exist. If there - are no ANSYS Multi-field solver command files written for the existing - fields in the database, one will be written for each field with the - default name (see the MFCMMAND command). A MFCMMAND will be issued for - the imported field as well. + Use this command to deactivate or force activation of automatic scaling + of the entire mass matrix and frequency range for modal analyses where + the entire mass matrix is significantly different (i.e., orders of + magnitude difference) than the entire stiffness matrix (for example, + due to the particular unit system being used). Where the mass matrix + is significantly smaller compared to the stiffness matrix, the + eigenvalues will tend to approach very large numbers (>10e12), making + the Block Lanczos, PCG Lanczos, or Supernode mode extraction method + less efficient and more likely to miss modes. - Repeat the MFIMPORT command to import additional fields. + ANSYS uses scaling (if appropriate) by default. However, you can issue + FRQSCL,ON to force the entire mass matrix and frequency range to be + scaled to bring the stiffness and mass matrices closer together in + terms of orders of magnitude, improving efficiency and reducing the + likelihood of missed modes. The resulting eigenvalues are then + automatically scaled back to the original system. If you are using + micro MKS units, where the density is typically very small compared to + the stiffness, you may want to issue FRQSCL,ON to force scaling on. - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + If the stiffness and mass are on the same scale, FRQSCL,ON has no + effect. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is available only for modal analyses using the Block + Lanczos, PCG Lanczos, or Supernode mode extraction method (MODOPT,LANB, + LANPCG, or SNODE). + + This command is not valid and has no effect when used in conjunction + with the MSAVE,ON command in a modal analysis with the PCG Lanczos mode + extraction method. """ - command = "MFIMPORT, %s, %s, %s, %s" % (str(fnumb), str(option), str(fname), str(ext)) + command = "FRQSCL,%s" % (str(scaling )) self.RunCommand(command, **kwargs) - def Vlen(self, nrow="", ninc="", **kwargs): + def Large(self, ir="", ia="", ib="", ic="", name="", facta="", factb="", + factc="", **kwargs): """ - APDL Command: *VLEN + APDL Command: LARGE - Specifies the number of rows to be used in array parameter operations. + Finds the largest (the envelope) of three variables. Parameters ---------- - nrow - Number of rows to be used with the *VXX or *MXX operations. - Defaults to the number of rows needed to fill the result array. + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. - ninc - Perform the operation on every NINC row (defaults to 1). + ia, ib, ic + Reference numbers of the three variables to be operated on. If + only two, leave IC blank. If only one, leave IB blank also. + + name + Thirty-two character name for identifying the variable on the + printout and displays. Embedded blanks are compressed upon output. + + --, -- + Unused fields. + + facta, factb, factc + Scaling factors (positive or negative) applied to the corresponding + variables (default to 1.0). Notes ----- - Specifies the number of rows to be used in array parameter operations. - The size of the submatrix used is determined from the upper left - starting array element (defined on the operation command) to the lower - right array element (defined by the number of rows on this command and - the number of columns on the *VCOL command). NINC allows skipping row - operations for some operation commands. Skipped rows are included in - the row count. The starting row number must be defined on the - operation command for each parameter read and for the result written. - - The default NROW is calculated from the maximum number of rows of the - result array (the *DIM row dimension) minus the starting location + 1. - For example, *DIM,R,,10 and a starting location of R(7) gives a default - of 4 loops (filling R(7), R(8), R(9), and R(10)). Repeat operations - automatically terminate at the last row of the result array. Existing - values in the rows and columns of the results matrix remain unchanged - where not overwritten by the requested input or operation values. + Creates a new variable by finding the largest of up to three variables + according to the operation: - The stride (NINC) allows operations to be performed at regular - intervals. It has no effect on the total number of row operations. - Skipped operations retain the previous result. For example, *DIM,R,,6, - with a starting location of R(1), NROW = 10, and NINC = 2 calculates - values for locations R(1), R(3), and R(5) and retains values for - locations R(2), R(4), and R(6). A more general skip control may be - done by masking [*VMASK]. The row control settings are reset to the - defaults after each *VXX or *MXX operation. Use *VSTAT to list - settings. + IR = Largest of (FACTA x IA, FACTB x IB, FACTC x IC) - This command is valid in any processor. + The comparison is done at each time location, so that the new variable + is the "envelope" of the three existing variables. """ - command = "*VLEN, %s, %s" % (str(nrow), str(ninc)) + command = "LARGE,%s,%s,%s,%s,%s,%s,%s,%s" % (str(ir), str(ia), str(ib), str(ic), str(name), str(facta), str(factb), str(factc)) self.RunCommand(command, **kwargs) - def Perturb(self, type="", matkey="", contkey="", loadcontrol="", - **kwargs): + def Mult(self, m1="", t1="", m2="", t2="", m3="", **kwargs): """ - APDL Command: PERTURB + APDL Command: *MULT - Sets linear perturbation analysis options. + Performs the matrix multiplication M3 = M1(T1)*M2(T2). Parameters ---------- - type - Type of linear perturbation analysis to be performed: + m1 + Name of matrix M1. Must have been previously specified by a *DMAT + or *SMAT command. - STATIC - Perform a linear perturbation static analysis. + t1 + Transpose key. Set T1 = TRANS to use the transpose of M1. If blank, + transpose will not be used. - MODAL - Perform a linear perturbation modal analysis. + m2 + Name of matrix M2. Must have been previously specified by a *DMAT + command. - BUCKLE - Perform a linear perturbation eigenvalue buckling analysis. + t2 + Transpose key. Set T2 = TRANS to use the transpose of M2. If blank, + transpose will not be used. - HARMONIC - Perform a linear perturbation full harmonic analysis. + m3 + Name of resulting matrix, M3. Must be specified. - SUBSTR - Perform a linear perturbation substructure generation pass. + Notes + ----- + The matrices must be dimensionally consistent such that the number of + columns of M1 (or the transposed matrix, if requested) is equal to the + number of rows of M2 (or the transposed matrix, if requested). - OFF - Do not perform a linear perturbation analysis (default). + You cannot multiply two sparse matrices with this command (that is, M1 + and M2 cannot both be sparse). The resulting matrix, M3, will always be + a dense matrix, no matter what combination of input matrices is used + (dense*sparse, sparse*dense, or dense*dense). - matkey - Key for specifying how the linear perturbation analysis uses - material properties, valid for all structural elements except - contact elements. For more information, see Linear Perturbation - Analysis in the Mechanical APDL Theory Reference. + """ + command = "*MULT,%s,%s,%s,%s,%s" % (str(m1), str(t1), str(m2), str(t2), str(m3)) + self.RunCommand(command, **kwargs) - AUTO - The program selects the material properties for the linear perturbation - analysis automatically (default). The materials are handled - in the following way: + def Int1(self, ir="", iy="", ix="", name="", facta="", factb="", const="", + **kwargs): + """ + APDL Command: INT1 - For pure linear elastic materials used in the base analysis, the same properties are used in the linear perturbation analysis. - For hyperelastic materials used in the base analysis, the material properties - are assumed to be linear elastic in the linear - perturbation analysis. The material property data - (or material Jacobian) is obtained based on the - tangent of the hyperelastic material's - constitutive law at the point where restart - occurs. + Integrates a variable. - For any nonlinear materials other than hyperelastic materials used in the base analysis, the material properties are assumed to be linear elastic in the linear perturbation analysis. The material data is the same as the linear portion of the nonlinear materials (that is, the parts defined by MP commands). - For COMBIN39, the stiffness is that of the first segment of the force- - deflection curve. + Parameters + ---------- + ir + Arbitrary reference number assigned to the resulting variable (2 to + NV [NUMVAR]). If this number is the same as for a previously + defined variable, the previously defined variable will be + overwritten with this result. Table values represent integrated + sum of IY to current table position of IX. - TANGENT - Use the tangent (material Jacobian) on the material constitutive curve as the - material property. The material property remains linear - in the linear perturbation analysis and is obtained at - the point of the base analysis where restart occurs. The - materials are handled in the following way: + iy, ix + Integrate variable IY with respect to IX. - For pure linear elastic materials used in the base analysis, the same properties are used in the linear perturbation analysis. Because the material constitutive curve is linear, the tangent is the same as the base analysis. - For hyperelastic materials used in the base analysis, the program uses the same - tangent as that used for MatKey = AUTO, and the - results are therefore identical. + -- + Unused field. - For any nonlinear materials other than hyperelastic materials used in the base analysis, the material properties are obtained via the material tangent on the material constitutive curve at the restart point of the base analysis. - The materials and properties typically differ from Matkey = AUTO, but it is - possible the results could be identical or very - similar if a.) the material is elasto-plastic - rate-independent and is unloading (or has neutral - loading) at the restart point, or b.) the - material is rate-dependent, depending on the - material properties and loading conditions. + name + Thirty-two character name for identifying the variable on the + printout and displays. Embedded blanks are compressed upon output. + + --, -- + Unused fields. + + facta, factb + Scaling factors (positive or negative) applied to the corresponding + variables (default to 1.0). + + const + Initial value. + + Notes + ----- + Integrates variables according to the operation: - For COMBIN39, the stiffness is equal to the tangent of the current segment of the force-deflection curve. - In a modal restart solution that follows a linear perturbation modal analysis, - the TANGENT option is overridden by the AUTO - option and linear material properties are used - for stress calculations in the modal restart. See - the discussion in the Notes for more information. + IR = ∫ (FACTA x IY) d(FACTB x IX) + CONST - contkey - Key that controls contact status for the linear perturbation - analysis. This key controls all contact elements (TARGE169, - TARGE170, and CONTA171 through CONTA178) globally for all contact - pairs. Alternatively, contact status can be controlled locally per - contact pair by using the CNKMOD command. Note that the contact - status from the base analysis solution is always adjusted by the - local contact controls specified by CNKMOD first and then modified - by the global sticking or bonded control (ContKey = STICKING or - BONDED). The tables in the Notes section show how the contact - status is adjusted by CNKMOD and/or the ContKey setting. + """ + command = "INT1,%s,%s,%s,%s,%s,%s,%s" % (str(ir), str(iy), str(ix), str(name), str(facta), str(factb), str(const)) + self.RunCommand(command, **kwargs) - CURRENT - Use the current contact status from the restart snapshot (default). If the - previous run is nonlinear, then the nonlinear contact - status at the point of restart is frozen and used - throughout the linear perturbation analysis. + def Edcurve(self, option="", lcid="", par1="", par2="", **kwargs): + """ + APDL Command: EDCURVE - STICKING - For frictional contact pairs (MU > 0), use sticking contact (e.g., MU*KN for - tangential contact stiffness) everywhere the contact - state is closed (i.e., status is sticking or sliding). - This option only applies to contact pairs that are in - contact and have a frictional coefficient MU greater - than zero. Contact pairs without friction (MU = 0) and - in a sliding state remain free to slide in the linear - perturbation analysis. + Specifies data curves for an explicit dynamic analysis. - BONDED - Any contact pairs that are in the closed (sticking or sliding) state are moved - to bonded (for example, KN for both normal and tangential - contact stiffness). Contact pairs that have a status of - far-field or near-field remain open. + Parameters + ---------- + option + Label identifying the option to be performed. - loadcontrol - Key that controls how the load vector of {Fperturbed} is - calculated. This control is provided for convenience of load - generation for linear perturbation analysis. In general, a new set - of loads is required for a linear perturbation analysis. This key - controls all mechanical loads; it does not affect non-mechanical - loads. Non-mechanical loads (including thermal loads) are always - kept (i.e., not deleted). + ADD - Define a data curve (default). If Option = ADD, Par1 and Par2 must be + previously defined array parameters. - ALLKEEP - Keep all the boundary conditions (loads and constraints) from the end of the - load step of the current restart point. This option is - convenient for further load application and is useful for - a linear perturbation analysis restarted from a previous - linear analysis. For this option, {Fend} is the total - load vector at the end of the load step at the restart - point. + DELE - Delete the specified data curve (LCID). If LCID is blank, all data curves are + deleted. Par1 and Par2 are ignored for this option. - INERKEEP - Delete all loads and constraints from the restart step, except for displacement - constraints and inertia loads (default). All - displacement constraints and inertia loads are kept for - convenience when performing the linear perturbation - analysis. Note that nonzero and tabular displacement - constraints can be considered as external loads; - however, they are not deleted when using this option. + LIST - List defined data curve (LCID). If LCID is blank, all data curves are listed. + Par1 and Par2 are ignored for this option. - PARKEEP - Delete all loads and constraints from the restart step, except for displacement - constraints. All displacement constraints are kept for - convenience when performing the linear perturbation - analysis. Note that nonzero and tabular displacement - constraints can be considered as external loads; however, - they are not deleted when using this option. + PLOT - Plot defined data curve (LCID). If Option = PLOT, LCID must be previously + defined with an EDCURVE command. Otherwise a warning message + will report that LCID has not been defined. Par1 and Par2 + are ignored for this option. - DZEROKEEP - Behaves the same as the PARKEEP option, except that all nonzero displacement - constraints are set to zero upon the onset of linear - perturbation. + lcid + Data curve ID number (no default). Must be a positive integer. - NOKEEP - Delete all the loads and constraints, including all displacement constraints. - For this option, {Fend} is zero unless non-mechanical - loads (e.g., thermal loads) are present. + par1 + Name of user-defined array parameter that contains the abscissa + values of the curve data (e.g., time, effective plastic strain, + effective strain rate, displacement, etc.). + + par2 + Name of user-defined array parameter that contains the ordinate + values of the curve data (e.g., damping coefficients, initial yield + stress, elastic modulus, force, etc.) corresponding to the abscissa + values in Par1. Notes ----- - This command controls options relating to linear perturbation analyses. - It must be issued in the first phase of a linear perturbation analysis. + EDCURVE can be used to define material data curves (e.g., stress- + strain) and load data curves (force-deflection) associated with + material models in an explicit dynamics analysis. Material data + specified by this command is typically required to define a particular + material behavior (e.g., TB,HONEY), and the LCID number is used as + input on the TBDATA command. - This command is also valid in PREP7. + EDCURVE can also be used to define load curves that represent time + dependent loads (force, displacement, velocity, etc.). Par1 must + contain the time values, and Par2 must contain the corresponding load + values. The LCID number assigned to the load curve can be used as input + on the EDLOAD command. - A linear perturbation analysis consists of two phases (two SOLVE - commands). The first phase is a restart from a base analysis. This base - analysis must be a linear or nonlinear static analysis or full - transient analysis. The first phase starts with the - ANTYPE,,RESTART,,,PERTURB command and ends with the SOLVE,ELFORM - command. The purpose of the first phase is to re-establish a snapshot - of the stiffness matrices at the specified restart point. The second - phase, ending with the second SOLVE command, is for the actual linear - perturbation analysis. + Note:: : You cannot update a previously defined data curve by changing + the array parameters that were input as Par1 and Par2. The data curve + definition is written to the database at the time EDCURVE is issued. + Therefore, subsequent changes to the array parameters that were used as + input on EDCURVE will not affect the load curve definition. If you need + to change the load curve definition, you must delete the load curve + (EDCURVE,DELE,LCID) and define it again. - The total perturbed loads are calculated as follows: + LCID identifies the data curve. If the value input for LCID is the same + as the ID number for a data curve previously defined by EDCURVE, the + previous data will be overwritten. Use EDCURVE,LIST and EDCURVE,PLOT to + check existing data curves. - {Fperturbed} = {Fend} + {Fadd} + A starting array element number must be specified for Par1 and Par2. + The input for these fields must be a single column array parameter, or + a specific column from a multi-column array parameter. When using the + GUI with multi-column parameters, you must specify the parameter name + and starting position for Par1 and Par2 by typing the EDCURVE command + in the Input Window. This is because only the parameter name is + available through the dialog box, which pulls in the first position of + a single-column array parameter. - where: + If you need to change a curve definition in an explicit dynamic small + restart analysis, issue EDSTART,2 first (to specify the restart), then + issue the EDCURVE command. The revised curve must contain the same + number of points as the curve it replaces. This limitation does not + apply to a full restart analysis (EDSTART,3). - In the first phase of a linear perturbation analysis, the - ANTYPE,,RESTART command resumes the Jobname.RDB database and reads in - the .LDHI file to establish the {Fend} load. New load application - (adding to {Fadd}) or load removal (changing {Fend}) can be done only - in the second phase of the linear perturbation analysis (after the - first SOLVE command), allowing flexibility in controlling the final - {Fperturbed} to be used. + This command is also valid in SOLUTION. - For Type = STATIC, {Fperturbed} is the actual external load for the - static analysis. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - For Type = MODAL, {Fperturbed} is calculated and stored in the .FULL - and .MODE files for a subsequent mode-superposition, PSD, or other type - of modal-based linear dynamic analysis. Linear dynamic options such as - multiple load generations (MODCONT,ON), enforced motion (MODCONT, ,ON), - and residual vector methods (RESVEC,ON) can be used in a linear - perturbation analysis. For these methods, the MODCONT or RESVEC command - must be invoked in the second phase (after the first SOLVE) of the - linear perturbation procedure. For the enforced motion method, the base - identification number should be specified (D command) in the second - phase of the linear perturbation analysis. This base identification - number is used later in the downstream mode-superposition or other - mode-superposition based analysis. + """ + command = "EDCURVE,%s,%s,%s,%s" % (str(option), str(lcid), str(par1), str(par2)) + self.RunCommand(command, **kwargs) - For Type = BUCKLE, {Fperturbed} is the actual linear buckling load - which is used to generate the linear stress stiffening matrix for the - buckling analysis. + def Cmacel(self, cm_name="", cmacel_x="", cmacel_y="", cmacel_z="", + **kwargs): + """ + APDL Command: CMACEL - For Type = HARMONIC, {Fperturbed} is the actual external load for the - full harmonic analysis. In this case, {Fperturbed} can be frequency - dependent and can use complex input. + Specifies the translational acceleration of an element component - For Type = SUBSTR, {Fperturbed} is used to generate the first reduced - external load vector of the substructure. + Parameters + ---------- + cm_name + The name of the element component. - In most cases involving linear perturbation analysis, Matkey = AUTO is - the best option for controlling material behavior. Matkey = TANGENT is - often the better option, however, in special cases such as the - following: + cmacel_x, cmacel_y, cmacel_z + Acceleration of the element component CM_NAME in the global + Cartesian X, Y, and Z axis directions, respectively. - A linear perturbation buckling analysis, to introduce preferred - buckling modes into a subsequent post-buckling nonlinear analysis. + Notes + ----- + The CMACEL command specifies the translational acceleration of the + element component in each of the global Cartesian (X, Y, and Z) axis + directions. - A linear perturbation modal analysis, to introduce preferred modes into - a subsequent bifurcation analysis. + Components for which you want to specify acceleration loading must + consist of elements only. The elements you use cannot be part of more + than one component, and elements that share nodes cannot exist in + different element components. You cannot apply the loading to an + assembly of element components. - If the TANGENT option is used in conjunction with a modal restart - solution that follows a linear perturbation modal analysis, then the - AUTO option is assumed and linear material properties are used for - stress calculations in the modal restart solution. This occurs because - the TANGENT material properties are not available during the modal - restart phase due to a data architecture limitation. Furthermore, - linear material properties are used for the stress calculation in any - downstream analysis that uses the modal restart solution. + To simulate gravity (by using inertial effects), accelerate the + structure in the direction opposite to gravity. For example, apply a + positive CMACELY to simulate gravity acting in the negative Y + direction. Units are length/time2. - For more information about the automatic and tangent options, see - Specifying Material Behavior in Linear Perturbation in the Element - Reference. + You can define the acceleration for the following analyses types: - You can control the contact status for the linear perturbation analysis - by using the ContKey field on this command and/or the CNKMOD command. - The first table shows the effects of using only the ContKey setting on - the PERTURB command. The second table shows the effects of using both - the CNKMOD command and the ContKey setting on PERTURB. + Static (ANTYPE,STATIC) - Table: 217:: : Adjusted Contact Status when PERTURB Command Is Issued + Harmonic (ANTYPE,HARMIC), full or mode-superposition method - Table: 218:: : Adjusted Contact Status when Both CNKMOD and PERTURB Are - Issued + Transient (ANTYPE,TRANS), full or mode-superposition method - (if outside of the adjusted pinball region) + Substructure (ANTYPE,SUBSTR) - (if inside of the adjusted pinball region) + Accelerations are combined with the element mass matrices to form a + body force load vector term. Units of acceleration and mass must be + consistent to give a product of force units. - (if outside of the adjusted pinball region) + In a modal harmonic or transient analysis, you must apply the load in + the modal portion of the analysis. Mechanical APDL calculates a load + vector and writes it to the mode shape file, which you can apply via + the LVSCALE command. - (if inside of the adjusted pinball region) + The CMACEL command supports tabular boundary conditions (%TABNAME_X%, + %TABNAME_Y%, and %TABNAME_Z%) for CMACEL_X, CMACEL_Y, and CMACEL_Z + input values (*DIM) as a function of both time and frequency for full + transient and harmonic analyses. - When ContKey is set to CURRENT, all contact related parameters (such as - normal stiffness and tangential stiffness) will remain unchanged - throughout the linear perturbation analysis. However when ContKey is - set to STICKING or BONDED, the program will re-evaluate the contact - normal and tangential stiffness in order to perform the linear - perturbation analysis based on the actual sticking behavior regardless - of the friction coefficient value. + Related commands for inertia loads are ACEL, CGLOC, CGOMGA, DCGOMG, + DOMEGA, OMEGA, CMOMEGA, and CMDOMEGA. - Note that the CNKMOD command allows you to take points in the base - analysis that are near contact (within the pinball region) and modify - them to be treated as "in contact" in the linear perturbation analysis; - see the "1 - near-field" row in the above table with KEYOPT(12) values - set to 4 or 5. CNKMOD also allows you to take points that are sliding - in the base analysis and treat them as sticking in the linear - perturbation analysis, irrespective of the MU value; see the "2 - - sliding" row in the above table with KEYOPT(12) values set to 1,5, or - 6. + See Analysis Tools in the Mechanical APDL Theory Reference for more + information. - If an open gap exists at the restart point of the base static/transient - solution and the contact status is adjusted as sliding or sticking due - to a “bonded” or “no separation” contact behavior definition, then the - program will treat it as near-field contact when executing the CNKMOD - command in a downstream linear perturbation analysis. + This command is also valid in /PREP7. """ - command = "PERTURB, %s, %s, %s, %s" % (str(type), str(matkey), str(contkey), str(loadcontrol)) + command = "CMACEL,%s,%s,%s,%s" % (str(cm_name), str(cmacel_x), str(cmacel_y), str(cmacel_z)) self.RunCommand(command, **kwargs) - def Compress(self, **kwargs): + def Plvect(self, item="", lab2="", lab3="", labp="", mode="", loc="", + edge="", kund="", **kwargs): """ - APDL Command: COMPRESS + APDL Command: PLVECT - Deletes all specified sets. + Displays results as vectors. - Notes - ----- - Issue this command to delete all sets specified with the DELETE - command. + Parameters + ---------- + item + Predefined vector item (from Table 223: PLVECT - Valid Item Labels + below) or a label identifying the i-component of a user-defined + vector. - """ - command = "COMPRESS, " % () - self.RunCommand(command, **kwargs) + lab2 + Label identifying the j-component of a user-defined vector. In most + cases, this value must be blank if Item is selected from Table 223: + PLVECT - Valid Item Labels. Individual principal stresses (Item = + S) or principal strains (Item = EPxx) may be plotted by specifying + the value as 1, 2, or 3. - def Center(self, node="", node1="", node2="", node3="", radius="", - **kwargs): - """ - APDL Command: CENTER + lab3 + Label identifying the k-component of a user-defined vector. Must + be blank if Item is selected from list below or for 2-D user + defined vector. - Defines a node at the center of curvature of 2 or 3 nodes. + labp + Label assigned to resultant vector for display labeling (defaults + to Item). - Parameters - ---------- - node - Number to be assigned to the node generated at the center of - curvature. + mode + Vector or raster mode override key: - node1, node2, node3 - Three nodes used to calculated the center of curvature, as - described under RADIUS. + (blank) - Use the setting of KEY on the /DEVICE command. - radius - Used to control the interpretation of NODE1, NODE2 and NODE3: + RAST - Use raster mode for PLVECT displays. - 0 - NODE1, NODE2 and NODE3 lie on a circular arc. The program will calculate the - center of curvature (and radius) (default). + VECT - Use vector mode for PLVECT displays. - ≠0 - NODE1 and NODE2 are the endpoints of an arc, and RADIUS is the radius of - curvature. The program will locate the center of curvature on - the NODE3 side of the NODE1-NODE2 line if RADIUS > 0, and - opposite to NODE3 if RADIUS < 0. + loc + Vector location for display of field element results: - """ - command = "CENTER, %s, %s, %s, %s, %s" % (str(node), str(node1), str(node2), str(node3), str(radius)) - self.RunCommand(command, **kwargs) + ELEM - Display at element centroid (default). - def Lglue(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nl7="", - nl8="", nl9="", **kwargs): - """ - APDL Command: LGLUE + NODE - Display at element nodes. - Generates new lines by "gluing" lines. + edge + Edge display override key: - Parameters - ---------- - nl1, nl2, nl3, . . . , nl9 - Numbers of the lines to be glued. If NL1 = ALL, all selected lines - will be glued (NL2 to NL9 will be ignored). If NL1 = 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 NL1. + (blank) - Use the setting of Key on the /EDGE command. + + OFF - Deactivate the edge display. + + ON - Activate the edge display. + + kund + Undisplaced shape key: + + 0 - Display vectors on undeformed mesh or geometry. + + 1 - Display vectors on deformed mesh or geometry. Notes ----- - Use of the LGLUE command generates new lines by "gluing" input lines. - The glue operation redefines the input lines so that they share - keypoints at their common ends. The new lines encompass the same - geometry as the original lines. This operation is only valid if the - intersections of the input lines are keypoints at the ends of those - lines. See the Modeling and Meshing Guide for an illustration. See - the BOPTN command for an explanation of the options available to - Boolean operations. Element attributes and solid model boundary - conditions assigned to the original entities will not be transferred to - the new entities generated. - - The LGLUE command results in the merging of keypoints at the common end - of the lines. The keypoints of the lower numbered line will be kept. - This means one must be aware of line numbering when multiple LGLUE - commands are applied to avoid any “ungluing” of geometry. + Displays various solution results as vectors (arrows) for the selected + nodes and/or elements (elements must contain at least three nodes that + are not colinear). For example, PLVECT,U displays the displacement + vector for all selected nodes. For section displays [/TYPE], the + vectors are shown only on the section face (i.e., cutting plane). The + PLVECT display of principal strains and stresses (Item = S, EPTO, + EPEL, EPPL, EPCR, or EPTH) on a "cut" of the model (/TYPE,,1 ,5,7,8, or + 9) is not supported. The resulting plot displays the vectors on all + selected elements, not on just the sliced surface. See the /VSCALE + command to scale vector lengths. Vector magnitudes may be shown as a + contour display with the PLNSOL command. Various results also depend + upon the recalculation method and the selected results location [LAYER, + SHELL, and NSEL]. - """ - command = "LGLUE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nl7), str(nl8), str(nl9)) - self.RunCommand(command, **kwargs) + Items may be selected from a set of recognized vector labels (Item) or + a vector may be defined from up to three scalar labels + (Item,Lab2,Lab3). Scalar labels may be user-defined with the ETABLE + command. The vectors appear on an element display as arrows showing + the relative magnitude of the vector and its direction. The predefined + items will be shown either at the node or at the element centroid, + depending on what item is being displayed and depending on the Loc + setting. User defined ETABLE items will be shown at the element + centroid, regardless of the Loc setting. Stress vectors appear as + arrows at the element centroid, with the arrowheads pointing away from + each other for tension and toward each other for compression. - def Starvput(self, parr="", entity="", entnum="", item1="", it1num="", - item2="", it2num="", kloop="", **kwargs): - """ - APDL Command: *VPUT + For PowerGraphics, vector arrow displays are generated in Global + Cartesian (RSYS = 0). All subsequent displays will revert to your + original coordinate system. - Restores array parameter values into the ANSYS database. + When vector mode is active (Mode = VECT), use the Z-buffered display + type [/TYPE,,6] to maximize speed of PLVECT plots (other hidden + display types may make plotting slow). For PowerGraphics + [/GRAPHICS,POWER], the items marked with [1] are not supported by + PowerGraphics. - Parameters - ---------- - parr - The name of the input vector array parameter. See *SET for name - restrictions. The parameter must exist as a dimensioned array - [*DIM] with data input. + It is possible to plot principal stresses (Item = S) or principal + strains (Item = EPxx) individually. To do so, specify a Lab2 value of + 1, 2, or 3. For example, the following are valid commands: - entity - Entity keyword. Valid keywords are shown for Entity = in the table - below. + Table: 223:: : PLVECT - Valid Item Labels - entnum - The number of the entity (as shown for ENTNUM= in the table below). + Not supported by PowerGraphics - item1 - The name of a particular item for the given entity. Valid items - are as shown in the Item1 columns of the table below. + """ + command = "PLVECT,%s,%s,%s,%s,%s,%s,%s,%s" % (str(item), str(lab2), str(lab3), str(labp), str(mode), str(loc), str(edge), str(kund)) + self.RunCommand(command, **kwargs) - it1num - The number (or label) for the specified Item1 (if any). Valid - IT1NUM values are as shown in the IT1NUM columns of the table - below. Some Item1 labels do not require an IT1NUM value. + def Ematwrite(self, key="", **kwargs): + """ + APDL Command: EMATWRITE - item2, it2num - A second set of item labels and numbers to further qualify the item - for which data is to be stored. Most items do not require this - level of information. + Forces the writing of all the element matrices to File.EMAT. - kloop - Field to be looped on: + Parameters + ---------- + key + Write key: - Loop on the ENTNUM field (default). - Loop on the Item1 field. + YES - Forces the writing of the element matrices to File.EMAT even if not normally + done. - Loop on the IT1NUM field. Successive items are as shown with IT1NUM. - Loop on the Item2 field. + NO - Element matrices are written only if required. This value is the default. Notes ----- - The *VPUT command is not supported for PowerGraphics displays. - Inconsistent results may be obtained if this command is not used in - /GRAPHICS, FULL. + The EMATWRITE command forces ANSYS to write the File.EMAT file. The + file is necessary if you intend to follow the initial load step with a + subsequent inertia relief calculation (IRLF). If used in the solution + processor (/SOLU), this command is only valid within the first load + step. - Plot and print operations entered via the GUI (Utility Menu> Pltcrtls, - Utility Menu> Plot) incorporate the AVPRIN command. This means that the - principal and equivalent values are recalculated. If you use *VPUT to - put data back into the database, issue the plot commands from the - command line to preserve your data. + This command is also valid in PREP7. - This operation is basically the inverse of the *VGET operation. Vector - items are put directly (without any coordinate system transformation) - into the ANSYS database. Items can only replace existing items of the - database and not create new items. Degree of freedom results that are - replaced in the database are available for all subsequent - postprocessing operations. Other results are changed temporarily and - are available mainly for the immediately following print and display - operations. The vector specification *VCUM does not apply to this - command. The valid labels for the location fields (Entity, ENTNUM, - Item1, and IT1NUM) are listed below. Item2 and IT2NUM are not - currently used. Not all items from the *VGET list are allowed on *VPUT - since putting values into some locations could cause the database to be - inconsistent. + """ + command = "EMATWRITE,%s" % (str(key)) + self.RunCommand(command, **kwargs) - This command is valid in any processor. + def Gap(self, **kwargs): + """ + APDL Command: GAP - Table: 250:: : *VPUT - POST1 Items + Specifies "mode-superposition transient gap conditions" as the + subsequent status topic. - X, Y, or Z fluid velocity. X, Y, or Z nodal velocity in a transient - structural analysis (LS-DYNA analysis or analysis with ANTYPE,TRANS). + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - X, Y, or Z magnetic vector potential. X, Y, or Z nodal acceleration in - a transient structural analysis (LS-DYNA analysis or analysis with - ANTYPE,TRANS). + If entered directly into the program, the STAT command should + immediately follow this command. """ - command = "*VPUT, %s, %s, %s, %s, %s, %s, %s, %s" % (str(parr), str(entity), str(entnum), str(item1), str(it1num), str(item2), str(it2num), str(kloop)) + command = "GAP," % () self.RunCommand(command, **kwargs) - def Prfar(self, lab="", option="", phi1="", phi2="", nph1="", theta1="", - theta2="", ntheta="", val1="", val2="", val3="", **kwargs): + def Asll(self, type="", arkey="", **kwargs): """ - APDL Command: PRFAR + APDL Command: ASLL - Prints pressure far fields and far field parameters. + Selects those areas containing the selected lines. Parameters ---------- - lab - Parameters to print: - - PRES - Acoustic parameters - - PROT - Acoustic parameters with the y-axis rotated extrusion - - option - Print option, based on the specified print parameter type: + type + Label identifying the type of area select: - phi1, phi2 - Starting and ending φ angles (degrees) in the spherical coordinate - system. Defaults to 0. + S - Select a new set (default). - nphi - Number of divisions between the starting and ending φ angles for - data computations. Defaults to 0. + R - Reselect a set from the current set. - theta1, theta2 - Starting and ending θ angles (degrees) in the spherical coordinate - system. Defaults to 0 in 3-D and 90 in 2-D. + A - Additionally select a set and extend the current set. - ntheta - Number of divisions between the starting and ending θ angles for - data computations. Defaults to 0. + U - Unselect a set from the current set. - val1 - Radius of the sphere surface. Used only when Option = SUMC, PHSC, - SPLC, SPAC, PSCT, or TSCT. + arkey + Specifies whether all contained area lines must be selected [LSEL]: - val2 - When Option = SPLC or SPAC: Reference rms sound pressure. Defaults - to 2x10-5 Pa. + 0 - Select area if any of its lines are in the selected line set. - val3 - When Lab = PRES: Thickness of 2-D model extrusion in the z - direction (no default). + 1 - Select area only if all of its lines are in the selected line set. Notes ----- - The PRFAR command prints pressure far fields and far field parameters - as determined by the equivalent source principle. Use this command - to print pressure and acoustic parameters. See the HFSYM command for - the model symmetry and the HFANG command for spatial radiation - angles. - - To retrieve saved equivalent source data, issue the - SET,Lstep,Sbstep,,REAL command. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + This command is valid in any processor. """ - command = "PRFAR, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(lab), str(option), str(phi1), str(phi2), str(nph1), str(theta1), str(theta2), str(ntheta), str(val1), str(val2), str(val3)) + command = "ASLL,%s,%s" % (str(type), str(arkey)) self.RunCommand(command, **kwargs) - def Pscr(self, kywrd="", key="", **kwargs): + def Vdgl(self, nv1="", nv2="", ninc="", **kwargs): """ - APDL Command: PSCR + APDL Command: VDGL - Specifies various PostScript options. + Lists keypoints of a volume that lie on a parametric degeneracy. Parameters ---------- - index - Color map index (0 to 15, 128 to 255). - - ired - Red intensity (0 to 100). - - igrn - Green intensity (0 to 100). - - iblu - Blue intensity (0 to 100). + nv1, nv2, ninc + List keypoints that lie on a parametric degeneracy on volumes from + NV1 to NV2 (defaults to NV1) in steps of NINC (defaults to 1). If + NV1 = ALL (default), NV2 and NINC will be ignored and keypoints on + all selected volumes [VSEL] will be listed. If NV1 = P, graphical + picking is enabled and all remaining command fields are ignored + (valid only in the GUI). You may also substitute a component name + for NV1 (ignore NV2 and NINC). Notes ----- - This command is available in both the ANSYS and DISPLAY programs. It - is valid for postscript format files chosen in ANSYS with the - /SHOW,PSCR command, or in DISPLAY with /SHOWDISP,POSTSCRIPT. - - An output file is generated for each plot. The ANSYS file is named - JobnameNN.pscr. In the DISPLAY program, this file is named PSCRnn. - This file remains open for a subsequent /NOERASE plot, and will be - incomplete until the program is closed (/EXIT), or until the next file - is opened by the next /ERASE plot request. + See the Modeling and Meshing Guide for details about parametric + degeneracies. - Issuing PSCR,STAT will list paper size, orientation and resolution - modes. + This command is valid in any processor. """ - command = "PSCR, %s, %s" % (str(kywrd), str(key)) + command = "VDGL,%s,%s,%s" % (str(nv1), str(nv2), str(ninc)) self.RunCommand(command, **kwargs) - def Annot(self, lab="", val1="", val2="", **kwargs): + def Lvscale(self, fact="", ldstep="", **kwargs): """ - APDL Command: /ANNOT + APDL Command: LVSCALE - Activates graphics for annotating displays (GUI). + Scales the load vector for mode-superposition analyses. Parameters ---------- - lab - Annotation control key: + fact + Scale factor applied to both the real and imaginary (if they exist) + components of the load vector. Defaults to 0.0. - OFF - Turns off annotation for each subsequent display (default). + ldstep + Specifies the load step number from the modal analysis + (MODCONT,ON). It corresponds to the load vector number. Defaults to + 1. The maximum value is 240. - ON - Turns on annotation for each subsequent display. + Notes + ----- + Specifies the scale factor for the load vector that was created in a + modal (ANTYPE,MODAL) analysis. Applies only to the mode-superposition + transient analysis (ANTYPE,TRANS), mode-superposition harmonic analysis + (ANTYPE,HARMIC), random vibration analysis (ANTYPE,SPECTR with + SPOPT,PSD), and multiple point response spectrum analysis + (ANTYPE,SPECTR with SPOPT,MPRS). For PSD and MPRS analyses, LVSCALE is + only applicable for pressure loading. - DELE - Deletes all annotation. + The LVSCALE command supports tabular boundary conditions (%TABNAME_X%) + for FACT input values only as a function of time in the mode- + superposition transient (ANTYPE,TRANS) or as a function of frequency in + mode-superposition harmonic (ANTYPE,HARMIC). - SAVE - Saves annotation on a file. Use VAL1 for file name (defaults to Jobname) and - VAL2 for the extension (defaults to ANO). + MPC contact generates constraint equations that can include constant + terms (included on the right-hand side of the system equation). The + LVSCALE command scales the constant terms. - SCALE - Sets annotation scale factor (direct input only). Use VAL1 for value (0.1 to - 10.0) (defaults to 1.0). + In mode-superposition transient and harmonic analyses, all of the load + vectors need to be scaled in the first load step. Use a zero scale + factor if they are not actually used in this first load step. : + Similarly, in random vibration and multipoint response spectrum + analyses, all of the load vectors need to be scaled in the first + participation factor calculation (PFACT). : Use a zero scale factor if + they are not actually used for the first input table. - XORIG - Sets the annotation x origin (direct input only). Use VAL1 for value (-3.0 to - 3.0). + This command is also valid in PREP7. - YORIG - Sets annotation y origin (direct input only). Use VAL1 for value (-3.0 to - 3.0). + """ + command = "LVSCALE,%s,%s" % (str(fact), str(ldstep)) + self.RunCommand(command, **kwargs) - SNAP - Sets annotation snap (menu button input only). Use VAL1 for value (0.002 to - 0.2) (defaults to 0.002). + def Modcont(self, mlskey="", enforcedkey="", **kwargs): + """ + APDL Command: MODCONT - STAT - Displays current annotation status. + Specify additional modal analysis options. - DEFA - Sets annotation specifications to the default values. + Parameters + ---------- + mlskey + Multiple load step key: - REFR - Redisplays annotation graphics. + OFF - Perform the modal analysis (compute the eigenvalues and the load vector) for + each load step. (default) - TMOD - Sets the annotation text mode. If VAL1 = 1, annotation text will be drawn in - scalable bitmap fonts (default). If VAL1 = 0, annotation - text will be drawn with stroke text. + ON - Perform the modal analysis (compute the eigenvalues and the load vector) only + for the first load step; form the load vector for each + subsequent load step (without repeating the eigenvalue + calculations) and write all load vectors to the Jobname.MODE + file for downstream mode-superposition analyses. - val1 - Value (or file name) as noted with label above. + enforcedkey + Enforced motion key: - val2 - Value (or file name extension) as noted with label above. + OFF - Do not calculate enforced static modes. (default) + + ON - Calculate enforced static modes and write them to the Jobname.MODE file. Notes ----- - This is a command generated by the GUI and will appear in the log file - (Jobname.LOG) if annotation is used. This command is not intended to - be typed in directly in an ANSYS session (although it can be included - in an input file for batch input or for use with the /INPUT command). + Specifies additional modal analysis (ANTYPE,MODAL) options. - You cannot use the “!” and “$” characters in ANSYS text annotation. + Use the LVSCALE command to apply the desired load in a mode- + superposition transient or harmonic analysis. - /ANNOT activates annotation graphics for adding annotation to displays. - Commands representing the annotation instructions are automatically - created by the annotation functions in the GUI and written to - Jobname.LOG. The annotation commands are /ANNOT, /ANUM, /TLABEL, - /LINE, /LARC, /LSYMBOL, /POLYGON, /PMORE, /PCIRCLE, /PWEDGE, /TSPEC, - /LSPEC, and /PSPEC. Annotation graphics are relative to the full - Graphics Window and are not affected by ANSYS window-specific commands - (/WINDOW, /VIEW, etc.). + The maximum number of load vectors that can be used in the downstream + mode-superposition transient or harmonic analysis is: 240. - This command is valid in any processor. + Generation of multiple loads (MLSkey = ON) is supported by the Block + Lanczos, PCG Lanczos, Supernode, Subspace, Unsymmetric, and QR damped + modal methods. + + The enforced motion calculation (EnforcedKey = ON) is supported by the + Block Lanczos and Supernode mode extraction methods. """ - command = "/ANNOT, %s, %s, %s" % (str(lab), str(val1), str(val2)) + command = "MODCONT,%s,%s" % (str(mlskey), str(enforcedkey)) self.RunCommand(command, **kwargs) - def Afun(self, lab="", **kwargs): + def Priter(self, **kwargs): """ - APDL Command: *AFUN - - Specifies units for angular functions in parameter expressions. - - Parameters - ---------- - lab - Specifies the units to be used: + APDL Command: PRITER - Use radians for input and output of parameter angular functions (default). - Use degrees for input and output of parameter angular functions. + Prints solution summary data. Notes ----- - Only the SIN, COS, TAN, ASIN, ACOS, ATAN, ATAN2, ANGLEK, and ANGLEN - functions [*SET, *VFUN] are affected by this command. + Prints solution summary data (such as time step size, number of + equilibrium iterations, convergence values, etc.) from a static or full + transient analysis. All other analyses print zeros for the data. """ - command = "*AFUN, %s" % (str(lab)) + command = "PRITER," % () self.RunCommand(command, **kwargs) - def Bsax(self, val1="", val2="", t="", **kwargs): + def Mftol(self, key="", value="", toler="", **kwargs): """ - APDL Command: BSAX + APDL Command: MFTOL - Specifies the axial strain and axial force relationship for beam - sections. + Activates or deactivates normal distance checking for surface mapping + in an ANSYS Multi-field solver analysis. Parameters ---------- - val1 - Axial strain component (ε). + key + Normal distance key - val2 - Axial force component (N). + ON - Activates normal distance checking. - t - Temperature. + OFF - Deactivates normal distance checking (default). + + value + The normal distance tolerance for surface mapping. Defaults to + 1.0e-6. If Toler = REL, Value is dimensionless. If Toler = ABS, + Value has the dimensions of length. + + toler + Tolerance definition key + + REL - Activates relative gap tolerance, which is independent of units (default). + + ABS - Activates absolute gap tolerance. Notes ----- - The behavior of beam elements is governed by the generalized- - stress/generalized-strain relationship of the form: + For a dissimilar mesh interface, the nodes of one mesh are mapped to + the local coordinates of an element in the other mesh. When normal + distance checking is activated, the mapping tool checks the normal + distance from the node to the nearest element. The node is considered + improperly mapped if the normal distance exceeds the tolerance value. + The mapping tool creates a component to graphically display the + improperly mapped nodes. See Mapping Diagnostics in the Coupled-Field + Analysis Guide for more information. - The BSAX command, one of several nonlinear general beam section - commands, specifies the relationship of axial strain and axial force - for a beam section. The section data defined is associated with the - section most recently defined (via the SECTYPE command). + When using relative gap tolerance (Toler = REL), the normal distance + tolerance is derived from the product of the relative tolerance Value + and the largest dimension of the Cartesian bounding box for a specific + interface. Therefore, each interface will have a different normal + distance tolerance , even though MFTOL is a global command. - Unspecified values default to zero. + This command is also valid in PREP7. - Related commands are BSM1, BSM2, BSTQ, BSS1, BSS2, BSMD, and BSTE. + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. - For complete information, see Using Nonlinear General Beam Sections. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "BSAX, %s, %s, %s" % (str(val1), str(val2), str(t)) + command = "MFTOL,%s,%s,%s" % (str(key), str(value), str(toler)) self.RunCommand(command, **kwargs) - def Keep(self, key="", **kwargs): + def Parsav(self, lab="", fname="", ext="", **kwargs): """ - APDL Command: KEEP + APDL Command: PARSAV - Stores POST26 definitions and data during active session. + Writes parameters to a file. Parameters ---------- - key - State or value + lab + Write operation: - On or 1  - Allows you to exit and reenter /POST26 without losing your current time history - variable information. Keeps a cache of the /POST26 - variable information including the active file name - (FILE), variable definitions (NSOL, ESOL, GAPF, RFORCE, - SOLU, and EDREAD) and stored variable data in memory for - the current ANSYS session. + Write only scalar parameters (default). - Write scalar and array parameters. Parameters may be numeric or alphanumeric. - Off or 0  - /POST26 variable information is deleted when you exit /POST26. + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified + directory path defaults to the working directory; in this case, you + can use all 248 characters for the file name. + + ext + Filename extension (eight-character maximum). + + -- + Unused field. Notes ----- - Your variable information is saved in memory only for the current - active ANSYS session. It is deleted when you exit ANSYS. This - information is also deleted when you issue /CLEAR, RESUME, SOLVE, or - RESET. + Writes the current parameters to a coded file. Previous parameters on + this file, if any, will be overwritten. The parameter file may be read + with the PARRES command. - When you reenter /POST26 all time history variable data is available - for use. When you issue STORE,NEW, variable definitions created by math - operations such as ADD or PROD will not be restored. However, variables - defined with NSOL, ESOL, GAPF, RFORCE, SOLU, and EDREAD will be - restored. Only the last active results file name is kept in memory - (FILE). + PARSAV/PARRES operations truncate some long decimal strings, and can + cause differing values in your solution data when other operations are + performed. A good practice is to limit the number of decimal places you + will use before and after these operations. - Commands such as LAYERP26, SHELL, and FORCE that specify the location - or a component of data to be stored will retain the setting at the time - of exiting /POST26 . + This command is valid in any processor. """ - command = "KEEP, %s" % (str(key)) + command = "PARSAV,%s,%s,%s" % (str(lab), str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Secplot(self, secid="", val1="", val2="", val3="", **kwargs): + def Spfreq(self, tblno="", freq1="", freq2="", freq3="", freq4="", + freq5="", freq6="", freq7="", **kwargs): """ - APDL Command: SECPLOT + APDL Command: SPFREQ - Plots the geometry of a beam, pipe, shell, or reinforcing section to - scale. + Defines the frequency points for the input spectrum tables SPVAL vs. + SPFREQ for multi-point spectrum analysis. Parameters ---------- - secid - The section ID number (as defined via the SECTYPE command). + tblno + Input table number. Up to 200 tables may be defined. - val1, val2, val3 - Values that control the information to be plotted. See the "Notes" - section of this command description for more information. For - clarity, the labels VAL1, VAL2, and VAL3 are renamed according to - the section type. + freq1, freq2, freq3,..., freq7 + Frequency points (Hz) for spectrum vs. frequency tables. FREQ1 + should be greater than zero, and values must be in ascending order. Notes ----- - The SECPLOT command is valid only for "Beams and Pipes", "Shells", and - "Reinforcings". - - SECPLOT cannot display the plot of an ASEC (arbitrary section) subtype. - - Plots the geometry of the beam or pipe section to scale depicting the - centroid, shear center, and origin. SECPLOT also lists various section - properties such as Iyy, Iyz, and Izz. - - Data to be supplied in the value fields: - - Beam or pipe section mesh display options: - - Display section outline only. - - Display beam or pipe section mesh. - - Display the section mesh with node numbers. - - Display the section mesh with cell numbers. - - Display the section mesh with material numbers and colors. - - Display the section mesh with material colors only. - - Display the section mesh with the RST node numbers. RST nodes are - section corner nodes where results are available. This is applicable - when the averaged results format (KEYOPT(15) = 0 for BEAM188, BEAM189, - PIPE288, and PIPE289) is used. - - Display the section mesh with the RST cell numbers. RST cells are - section cells where results are available. This is applicable when the - non-averaged results format (KEYOPT(15) = 1 for BEAM188, BEAM189, - PIPE288, and PIPE289) is used. - - Options 2 through 6 do not depict centroid and shear center, nor do - they list section properties. + The spectrum values are input with the SPVAL command. A separate SPFREQ + command must be used for each table defined. Frequencies must be in + ascending order. - Following is a sample section plot for the beam section type: + Repeat SPFREQ command for additional frequency points. Values are added + after the last nonzero frequency. - Plots the layer arrangement of the shell section showing the layer - material and orientation. + If all fields after SPFREQ are blank, all input vs. frequency tables + are erased. If TBLNO is the only non-blank field, all corresponding + SPVAL curves are erased. - Data to be supplied in the value fields: + Use the SPTOPT and STAT commands to list current frequency points. - The range of layer numbers to be displayed. If LAYR1 is greater than - LAYR2, a reversed order display is produced. Up to 20 layers may be - displayed at the same time. LAYR1 defaults to 1. LAYR2 defaults to - LAYR1 if LAYR1 is input or to the number of layers (or to 19+LAYR1, if - smaller) if LAYR1 is not input. + This command is also valid in PREP7. - Following is a sample section plot for the shell section type: + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - Plots the arrangement of a reinforcing section within the base element. + """ + command = "SPFREQ,%s,%s,%s,%s,%s,%s,%s,%s" % (str(tblno), str(freq1), str(freq2), str(freq3), str(freq4), str(freq5), str(freq6), str(freq7)) + self.RunCommand(command, **kwargs) - Data to be supplied in the value fields: + def Kcenter(self, type="", val1="", val2="", val3="", val4="", kpnew="", + **kwargs): + """ + APDL Command: KCENTER - REINF1, REINF2 -- The numerical range of reinforcings to be displayed. - The default REINF1 value is 1. The default REINF2 value is the number - of reinforcings. + Creates a keypoint at the center of a circular arc defined by three + locations. - OVERLAY -- The section ID of the base element within which to display - the reinforcing section. The section appears translucent and the - reinforcing section is solid. Valid values are: + Parameters + ---------- + type + Type of entity used to define the circular arc. The meaning of + VAL1 through VAL4 will vary depending on Type. If Type = P, + graphical picking is enabled and all remaining command fields are + ignored (valid only in the GUI). - SOLID -- Display a translucent solid block over the reinforcing section + KP - Arc is defined by keypoints. - SECID -- A number corresponding to a specific section ID of the base - element. + LINE - Arc is defined by locations on a line. - If no OVERLAY value is specified, ANSYS displays the reinforcing - section only. + val1, val2, val3, val4 + Values used to specify three locations on the arc (see table + below). - Following is a sample section plot for the reinforcing section type: + kpnew + Number assigned to new keypoint. Defaults to the lowest available + keypoint number. - For more information about reinforcing, see the documentation for the - SECDATA command, and the REINF264 and REINF265 elements. + Notes + ----- + KCENTER should be used in the Cartesian coordinate system (CSYS,0) + only. This command provides three methods to define a keypoint at the + center of three locations. As shown below, the center point can be + calculated based on a) three keypoints, b) three keypoints and a + radius, or c) three locations on a line. Note that for method c, if a + circular line is specified by VAL1, VAL2 through VAL4 are not needed. """ - command = "SECPLOT, %s, %s, %s, %s" % (str(secid), str(val1), str(val2), str(val3)) + command = "KCENTER,%s,%s,%s,%s,%s,%s" % (str(type), str(val1), str(val2), str(val3), str(val4), str(kpnew)) self.RunCommand(command, **kwargs) - def Fsplot(self, nloc="", nev="", item="", **kwargs): + def Engen(self, iinc="", itime="", ninc="", iel1="", iel2="", ieinc="", + minc="", tinc="", rinc="", cinc="", sinc="", dx="", dy="", dz="", + **kwargs): """ - APDL Command: FSPLOT + APDL Command: ENGEN - Displays a fatigue stress item for a fatigue location and event. + Generates elements from an existing pattern. Parameters ---------- - nloc - Display stresses associated with location NLOC. + iinc + Increment to be added to element numbers in pattern. - nev - Display stresses associated with event NEV. + itime, ninc + Do this generation operation a total of ITIMEs, incrementing all + nodes in the given pattern by NINC each time after the first. ITIME + must be > 1 if generation is to occur. NINC may be positive, zero, + or negative. - item - Display stresses associated with item number ITEM. Items are as - follows: + iel1, iel2, ieinc + Generate elements from the pattern that begins with IEL1 to IEL2 + (defaults to IEL1) in steps of IEINC (defaults to 1). If IEL1 is + negative, IEL2 and IEINC are ignored and use the last |IEL1| + elements (in sequence backward from the maximum element number) as + the pattern to be repeated. If IEL1 = ALL, IEL2 and IEINC are + ignored and all selected elements [ESEL] are used as the pattern to + be repeated. If IEL1 = 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 IEL1 (IEL2 and IEINC are + ignored). - 1-6 - SX, SY, SZ, SXY, SYZ, SXZ total stress components + minc + Increment material number of all elements in the given pattern by + MINC each time after the first. + + tinc + Increment type number by TINC. + + rinc + Increment real constant table number by RINC. - 7 - Temperature + cinc + Increment element coordinate system number by CINC. - 8-13 - SX, SY, SZ, SXY, SYZ, SXZ membrane-plus-bending stress components. + sinc + Increment section ID number by SINC. - 14 - Time + dx, dy, dz + Define nodes that do not already exist but are needed by generated + elements (NGEN,ITIME,INC,NODE1,,,DX,DY,DZ). Zero is a valid value. + If blank, DX, DY, and DZ are ignored. Notes ----- - Displays a fatigue stress item as a function of loading number for a - particular fatigue location and event. + Same as the EGEN command except it allows element numbers to be + explicitly incremented (IINC) from the generated set. Any existing + elements already having these numbers will be redefined. """ - command = "FSPLOT, %s, %s, %s" % (str(nloc), str(nev), str(item)) + command = "ENGEN,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(iinc), str(itime), str(ninc), str(iel1), str(iel2), str(ieinc), str(minc), str(tinc), str(rinc), str(cinc), str(sinc), str(dx), str(dy), str(dz)) self.RunCommand(command, **kwargs) - def Digit(self, **kwargs): + def Cpmerge(self, lab="", **kwargs): """ - APDL Command: DIGIT - - Specifies "Node digitizing" as the subsequent status topic. + APDL Command: CPMERGE - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Merges different couple sets with duplicate degrees of freedom into one + couple set. - If entered directly into the program, the STAT command should - immediately follow this command. + Parameters + ---------- + lab + Degree of freedom label for coupled nodes (in the nodal coordinate + system). Valid labels are: Structural labels: UX, UY, or UZ + (displacements); ROTX, ROTY, or ROTZ (rotations) (in radians). + Thermal labels: TEMP, TBOT, TE2, TE3, . . ., TTOP (temperature). + Fluid labels: PRES (pressure); VX, VY, or VZ (velocities). + Electric labels: VOLT (voltage); EMF (electromotive force drop); + CURR (current). Magnetic labels: MAG (scalar magnetic potential); + AX, AY, or AZ (vector magnetic potentials); CURR (current). + Diffusion label: CONC (concentration). Explicit analysis labels: + UX, UY, or UZ (displacements). The degree of freedom set is + determined from all element types defined and the DOF command, if + used. """ - command = "DIGIT, " % () + command = "CPMERGE,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Lsengine(self, type="", enginename="", matrix="", option="", **kwargs): + def Lslk(self, type="", lskey="", **kwargs): """ - APDL Command: *LSENGINE + APDL Command: LSLK - Creates a linear solver engine. + Selects those lines containing the selected keypoints. Parameters ---------- type - Specifies the algorithm to be used: - - Boeing sparse solver (default if applied to sparse matrices). - MKL sparse linear solver (Intel Windows and Linux systems only). - - LAPACK dense matrix linear solver (default if applied to dense matrices). - Distributed sparse solver. - - enginename - Name used to identify this engine. Must be specified. - - matrix - Name of the matrix to solve. + Label identifying the type of line select: - option - Option to control the memory mode of the DSS solver (used only if - Type = DSS): + S - Select a new set (default). - In-core memory mode. - Out-of-core memory mode. + R - Reselect a set from the current set. - Notes - ----- - This command creates a linear solver engine. + A - Additionally select a set and extend the current set. - The BCS, DSS, and DSP solvers can only be used with sparse matrices. - For dense matrices, use the LAPACK solver. + U - Unselect a set from the current set. - """ - command = "*LSENGINE, %s, %s, %s, %s" % (str(type), str(enginename), str(matrix), str(option)) - self.RunCommand(command, **kwargs) + lskey + Specifies whether all contained line keypoints must be selected + [KSEL]: - def Dynopt(self, **kwargs): - """ - APDL Command: DYNOPT + 0 - Select line if any of its keypoints are in the selected keypoint set. - Specifies "Dynamic analysis options" as the subsequent status topic. + 1 - Select line only if all of its keypoints are in the selected keypoint set. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. - - If entered directly into the program, the STAT command should - immediately follow this command. + This command is valid in any processor. """ - command = "DYNOPT, " % () + command = "LSLK,%s,%s" % (str(type), str(lskey)) self.RunCommand(command, **kwargs) - def Sfe(self, elem="", lkey="", lab="", kval="", val1="", val2="", val3="", - val4="", **kwargs): + def If(self, val1="", oper1="", val2="", b_ase1="", val3="", oper2="", + val4="", b_ase2="", **kwargs): """ - APDL Command: SFE + APDL Command: *IF - Specifies surface loads on elements. + Conditionally causes commands to be read. Parameters ---------- - elem - Element to which surface load applies. If ALL, apply load to all - selected elements [ESEL]. If Elem = P, graphical picking is - enabled and all remaining command fields are ignored (valid only in - the GUI). A component name may be substituted for Elem. + val1 + First numerical value (or parameter which evaluates to a numerical + value) in the conditional comparison operation. VAL1, VAL2, VAL3, + and VAL4 can also be character strings (enclosed in quotes) or + parameters for Oper = EQ and NE only. - lkey - Load key or face number associated with surface load (defaults to - 1). Load keys (1,2,3, etc.) are listed under "Surface Loads" in - the input data table for each element type in the Element - Reference. + oper1 + Operation label. A tolerance of 1.0E-10 is used for comparisons + between real numbers: - lab - Valid surface load label. Load labels are listed under "Surface - Loads" in the input table for each element type in the Element - Reference. + Equal (for VAL1 = VAL2). - Not equal (for VAL1 ≠ VAL2). - kval - Value key. If Lab = PRES: + Less than (for VAL1 < VAL2). - Greater than (for VAL1 > VAL2). - 0 or 1 - VAL1 through VAL4 are used as real components of pressures. + Less than or equal (for VAL1   VAL2). - Greater than or equal (for VAL1   VAL2). - 2 - VAL1 through VAL4 are used as imaginary components of pressures. + Absolute values of VAL1 and VAL2 before < operation. - Absolute values of VAL1 and VAL2 before > operation. - val1 - First surface load value (typically at the first node of the face) - or the name of a table for specifying tabular boundary conditions. - Face nodes are listed in the order given for "Surface Loads" in the - input data table for each element type in the Element Reference. - For example, for SOLID185, the item 1-JILK associates LKEY = 1 - (face 1) with nodes J, I, L, and K. Surface load value VAL1 then - applies to node J of face 1. To specify a table, enclose the table - name in percent signs (%), e.g., %tabname%. Use the *DIM command - to define a table. Only one table can be specified, and it must be - specified in the VAL1 position; tables specified in the VAL2, VAL3, - or VAL4 positions will be ignored. VAL2 applies to node I, etc. + val2 + Second numerical value (or parameter which evaluates to a numerical + value) in the conditional comparison operation. - val2, val3, val4 - Surface load values at the 2nd, 3rd, and 4th nodes (if any) of the - face. If all three values are blank, all three default to VAL1, - giving a constant load. Zero or other blank values are used as - zero. If a table is specified in VAL1, then any tables or numerical - values specified in VAL2, VAL3, or VAL4 will be ignored. + base1 + Action based on the logical expression (Oper1) being true. If + false, continue reading at the next line. This is conditional, + except for the IF-THEN-ELSE constructs described below; any of the + following constructs (through Base1 = THEN) cause all subsequent + fields to be ignored: - Notes - ----- - Specifies surface loads on selected elements. + A user-defined label (beginning with a colon (:), 8 characters maximum). The command reader will skip (and wrap to the beginning of the file, if necessary) to the first line that begins with the matching :label. - Caution:   This label option may not be mixed with do-loop or if-then-else + constructs. - Caution:: : You cannot use the SFE command with the INFIN110 or - INFIN111 elements without prior knowledge of element face orientation, - i.e., you must know which face is the exterior in order to flag it. - Also, the surface effect elements, SURF153 and SURF154, use LKEY to - allow the use of tangential and other loads (see SURF153and SURF154 of - the Element Reference for more details). + This action will cause an exit from the ANSYS program at this line, unless running in interactive mode. In interactive mode, the program will not stop. - Exit the current do-loop [*EXIT]. - Tapered loads may be applied over the faces of most elements. + Skip to the end of the current do-loop [*CYCLE]. - Make this *IF an if-then-else construct (see below). - For beam elements allowing lateral surface loads that may be offset - from the nodes, use the SFBEAM command to specify the loads and - offsets. See the SF command for an alternate surface load definition - capability based upon node numbers. See the SFGRAD command for an - alternate tapered load capability. Use the SFCUM command to accumulate - (add) surface loads applied with SFE. + val3 + Third numerical value (or parameter which evaluates to a numerical + value). - The SFE command can also be used to define fluid pressure penetration - loads (Lab = PRES) at a contact interface. For this type of load, LKEY - = 1 is used to specify the pressure values and LKEY = 2 is used to - specify starting points and penetrating points. See Applying Fluid - Penetration Pressure in the Contact Technology Guide for details on how - to apply this type of load. + oper2 + Operation label. This will have the same labels as Oper1, except it + uses Val3 and Val4. A tolerance of 1.0E-10 is used for comparisons + between real numbers. - Film effectiveness and free stream temperatures specified with Lab = - CONV are only valid for SURF151 and SURF152. Film effectiveness must be - between 0 and 1 and it defaults to 0. If film effectiveness is applied, - bulk temperature is ignored. When film effectiveness and free stream - temperatures are specified, the commands to specify a surface load - gradient (SFGRAD) or surface load accumulation (SFCUM) are not valid. - For more information on film effectiveness, see Conduction and - Convection in the Mechanical APDL Theory Reference. + val4 + Fourth numerical value (or parameter value which evaluates to a + numerical value). - You can specify a table name only when using structural (PRES) and - thermal (CONV [film coefficient, bulk temperature, film effectiveness, - and free stream temperature], HFLUX), diffusion flux (DFLUX), surface - emissivity and ambient temperature (RAD), impedance (IMPD), normal - velocity or acceleration (SHLD), attenuation coefficient (ATTN), and - substructure (SELV) surface load labels. + base2 + Action based on the logical expression (Oper1 and Oper2) being + true. They will be the same values as Base1, except as noted. - When a tabular function load is applied to an element, the load will - not vary according to the positioning of the element in space. + Notes + ----- + Conditionally causes commands to be read from a specific block or at a + specific location. Twenty levels of nested *IF blocks are allowed. + Jumping to a :label line is not allowed with keyboard entry. Jumping + into, out of, or within a do-loop or an if-then-else construct to a + :label line is not allowed. Using *IF interactively or from the command + line prevents rereading the file to find a label. To do so, use batch + mode or /INPUT. - For cases where Lab=FSI, MXWF, FREE, and INF, VALUE is not needed. + The following is an example of an if-then-else construct: - This command is also valid in PREP7 and in the /MAP processor. + *IF,VAL1,Oper,VAL2,THEN - """ - command = "SFE, %s, %s, %s, %s, %s, %s, %s, %s" % (str(elem), str(lkey), str(lab), str(kval), str(val1), str(val2), str(val3), str(val4)) - self.RunCommand(command, **kwargs) + ---- - def En(self, iel="", i="", j="", k="", l="", m="", n="", o="", p="", - **kwargs): - """ - APDL Command: EN + *ELSEIF,VAL1,Oper,VAL2 - Defines an element by its number and node connectivity. + ---- - Parameters - ---------- - iel - Number assigned to element being defined. If IEL = P, graphical - picking is enabled and all remaining command fields are ignored - (valid only in the GUI). + *ELSEIF,VAL1,Oper,VAL2 - i - Number of node assigned to first nodal position (node I). + ---- - j, k, l, m, n, o, p - Number assigned to second (node J) through eighth (node P) nodal - position, if any. + *ELSE - Notes - ----- - Defines an element by its nodes and attribute values. Similar to the E - command except it allows the element number (IEL) to be defined - explicitly. Element numbers need not be consecutive. Any existing - element already having this number will be redefined. + ---- - Up to 8 nodes may be specified with the EN command. If more nodes are - needed for the element, use the EMORE command. The number of nodes - required and the order in which they should be specified are described - in the Element Reference for each element type. The current (or - default) MAT, TYPE, REAL, SECNUM, and ESYS attribute values are also - assigned to the element. + *ENDIF - When creating elements with more than 8 nodes using this command and - the EMORE command, it may be necessary to turn off shape checking using - the SHPP command before issuing this command. If a valid element type - can be created without using the additional nodes on the EMORE command, - this command will create that element. The EMORE command will then - modify the element to include the additional nodes. If shape checking - is active, it will be performed before the EMORE command is issued. - Therefore, if the shape checking limits are exceeded, element creation - may fail before the EMORE command modifies the element into an - acceptable shape. + where "----" represents a block of any number of commands. Any number + of *ELSEIF clauses (or none) may be included (in the location shown). + One *ELSE clause (at most) may be included (in the location shown). + The *IF command is executed by evaluating its logical expression. If + it is true, the block of commands following it is executed. The + construct is considered to be complete and the command following the + *ENDIF is executed next. If the logical expression is false, the next + *ELSEIF command (if any) following the block is executed. The + execution logic is the same as for *IF. The effect is that the logical + expressions in the *IF and the *ELSEIF commands are sequentially tested + until one is found to be true. Then the block of commands immediately + following the expression is executed, which completes the execution of + the if-then-else construct. If all *IF and *ELSEIF expressions are + false, the block following the *ELSE command is executed, if there is + one. Only one block of commands (at most) is executed within the if- + then-else construct. If a batch input stream hits an end-of-file + during a false *IF condition, the ANSYS run will not terminate + normally. You will need to terminate it externally (use either the + Linux “kill” function or the Windows task manager). The *IF, *ELSEIF, + *ELSE, and *ENDIF commands for each if-then-else construct must all be + read from the same file (or keyboard). + + This command is valid in any processor. """ - command = "EN, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(iel), str(i), str(j), str(k), str(l), str(m), str(n), str(o), str(p)) + command = "*IF,%s,%s,%s,%s,%s,%s,%s,%s" % (str(val1), str(oper1), str(val2), str(b_ase1), str(val3), str(oper2), str(val4), str(b_ase2)) self.RunCommand(command, **kwargs) - def Fclist(self, mat="", temp="", **kwargs): + def Mshpattern(self, key="", **kwargs): """ - APDL Command: FCLIST + APDL Command: MSHPATTERN - To list what the failure criteria is that you have input. + Specifies pattern to be used for mapped triangle meshing. Parameters ---------- - mat - Material number (defaults to ALL for all materials). + key + Key indicating triangle pattern to be used (the figures below + illustrate the pattern that will be used for each value of KEY): - -- - Unused field. + 0 - Let ANSYS choose the pattern (the default). ANSYS maximizes the minimum angle + of the triangular-shaped elements that are created. - temp - Temperature to be evaluated at (defaults to TUNIF). + 1 - Unidirectional split at node I. + + 2 - Unidirectional split at node J. Notes ----- - This command allows you to see what you have already input for failure - criteria using the FC commands. - - """ - command = "FCLIST, %s, %s" % (str(mat), str(temp)) - self.RunCommand(command, **kwargs) - - def Swdel(self, ecomp="", **kwargs): - """ - APDL Command: SWDEL - - Deletes spot weld sets. + "Mapped triangle meshing" refers to the ANSYS program's ability to take + a map-meshable area and mesh it with triangular elements, based on the + value of MSHPATTERN,KEY. This type of meshing is particularly useful + for analyses that involve the meshing of rigid contact elements. - Parameters - ---------- - ecomp - Name of an existing spot weld set that was previously defined using - SWGEN. If Ecomp = ALL (default) all spot welds are deleted. + The MSHPATTERN command is valid only when you have specified that ANSYS + use triangle-shaped elements [MSHAPE,1,2D] (or you are meshing with an + element that supports only triangles), and you have also specified + mapped meshing [MSHKEY,1] to mesh an area. - Notes - ----- - This command deletes spot weld sets previously defined by the SWGEN - command. + For details about mapped meshing with triangles, see the Modeling and + Meshing Guide. """ - command = "SWDEL, %s" % (str(ecomp)) + command = "MSHPATTERN,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Betad(self, value="", **kwargs): + def Rectng(self, x1="", x2="", y1="", y2="", **kwargs): """ - APDL Command: BETAD + APDL Command: RECTNG - Defines the stiffness matrix multiplier for damping. + Creates a rectangular area anywhere on the working plane. Parameters ---------- - value - Stiffness matrix multiplier for damping. + x1, x2 + Working plane X coordinates of the rectangle. + + y1, y2 + Working plane Y coordinates of the rectangle. Notes ----- - This command defines the stiffness matrix multiplier β used to form the - viscous damping matrix [C] = β [K] where [K] is the stiffness matrix. - - Values of : β may also be input as a material property (use the BETD - label on the MP command). If BETD is included, the BETD value is added - to the BETAD value as appropriate (see Damping Matrices in the - Mechanical APDL Theory Reference). Damping is not used in the static - (ANTYPE,STATIC) or buckling (ANTYPE,BUCKLE) analyses. - - This command is also valid in PREP7. + The area will be defined with four keypoints and four lines. See the + BLC4 and BLC5 commands for alternate ways to create rectangles. """ - command = "BETAD, %s" % (str(value)) + command = "RECTNG,%s,%s,%s,%s" % (str(x1), str(x2), str(y1), str(y2)) self.RunCommand(command, **kwargs) - def Resume(self, fname="", ext="", nopar="", knoplot="", **kwargs): + def Secread(self, fname="", ext="", option="", **kwargs): """ - APDL Command: RESUME + APDL Command: SECREAD - Resumes the database from the database file. + Reads a custom section library or a user-defined section mesh into + ANSYS. Parameters ---------- fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + Section library file name and directory path containing the section + library file (248 characters maximum, including directory). If you + do not specify a directory path, it will default to your working + directory and you can use all 248 characters for the file name. ext Filename extension (eight-character maximum). @@ -70516,3402 +70113,3528 @@ def Resume(self, fname="", ext="", nopar="", knoplot="", **kwargs): -- Unused field. - nopar - Parameter resume key: - - 0 - All data in the database, including the scalar parameters, are replaced with - the data saved on File.DB (default). - - 1 - All data in the database, except the scalar parameters, are replaced with the - data saved on File.DB. - - knoplot - If equal to 1, will suppress automatic plot. Otherwise, if the GUI - is on and this RESUME command was not read from a file, the - selected elements from Fname are plotted. (If there are no selected - elements, selected nodes are plotted. If no nodes, volumes; if no - volumes, areas; if no areas, lines; if no lines, keypoints. If - there are no selected keypoints, the screen is erased.) - - Notes - ----- - The RESUME command resumes a database file into the ANSYS program. The - command causes the database file (File.DB) to be read, thereby - resetting the database (including any geometry settings) either a) as - it was at the last SAVE command, or b) as it was saved with the last - /EXIT command, whichever was last. - - For multiple load step analyses (because only the data for one load - step at a time may reside in the database), the load step data restored - to the database will correspond to the load step data written when the - save occurred. - - If the database file was saved in another ANSYS, Inc. product, it may - contain element type and KEYOPT specifications which are invalid in the - resuming product. Immediately after the database resume is completed, - you should redefine these invalid element types and KEYOPT settings to - valid ones (ET, KEYOPT). - - The NOPAR = 1 option should not be used if array parameters are - defined, as existing array parameters might be redefined with arbitrary - values. For a more general method of preventing the replacement of both - scalar and array parameters, see PARSAV and PARRES.) - - This command is valid in any processor. If used in the solution - processor, this command is valid only within the first load step. - - """ - command = "RESUME, %s, %s, %s, %s" % (str(fname), str(ext), str(nopar), str(knoplot)) - self.RunCommand(command, **kwargs) - - def Lovlap(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nl7="", - nl8="", nl9="", **kwargs): - """ - APDL Command: LOVLAP - - Overlaps lines. + option + LIBRARY - Parameters - ---------- - nl1, nl2, nl3, . . . , nl9 - Numbers of lines to be overlapped. If NL1 = ALL, NL2 to NL9 are - ignored and all selected lines are overlapped. If NL1 = 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 NL1. + LIBRARY - Reads in a library of sections and their associated section data values; the + default. A section library may be created by editing the + section-defining portions of the Jobname.LOG file and + saving it with a .SECT suffix. Notes ----- - Overlaps lines. Generates new lines which encompass the geometry of all - the input lines. The new lines are defined by the regions of - intersection of the input lines, and by the complementary (non- - intersecting) regions. See the Modeling and Meshing Guide for an - illustration. This operation is only valid when the region of - intersection is a line. See the BOPTN command for an explanation of - the options available to Boolean operations. Element attributes and - solid model boundary conditions assigned to the original entities will - not be transferred to the new entities generated. + The SECREAD command operates on the section specified via the most + recently issued SECTYPE command. Issue a separate SECREAD command for + each section ID that you want to read in. - """ - command = "LOVLAP, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nl7), str(nl8), str(nl9)) - self.RunCommand(command, **kwargs) + Here are excerpts from a sample user section mesh file for a section + with 75 nodes, 13 cells, and 9 nodes per cell for a two-hole box + section. Illustrations of the two-hole box section and the cell mesh + for it appear later in this command description. - def Pldisp(self, kund="", **kwargs): - """ - APDL Command: PLDISP + The mesh file is divided into three sections: the First Line, the Cells + Section, and the Nodes Section. Here are brief descriptions of the + contents of each. - Displays the displaced structure. + First Line: The First Line defines the number of nodes and the number + of cells for the mesh. - Parameters - ---------- - kund - Undisplaced shape key: + Cells Section: The Cells Section contains as many lines as there are + cells. In this example, there are thirteen cells, so there are + thirteen lines in this section. In each line, the number “1” that + follows the cell connectivity information is the material number. - 0 - Display only displaced structure. + Cell nodal connectivity must be given in a counterclockwise direction, + with the center node being the ninth node. For details, see Figure: + 10:: Cell Mesh for the Two-hole Box Section. - 1 - Overlay displaced display with similar undisplaced display (appearance is - system-dependent). + Nodes Section: The Nodes Section contains as many lines as there are + nodes. In this example, there are 75 nodes, so there are a total of 75 + lines in this section. Each node line contains the node's boundary + flag, the Y coordinate of the node, and the Z coordinate of the node. + Currently, all node boundary flags appear as 0s in a cell mesh file (as + illustrated in Figure: 9:: Two-hole Box Section). Since all node + boundary flags are 0, SECREAD ignores them when it reads a cell mesh + file into ANSYS. - 2 - Same as 1 except overlay with undisplaced edge display (appearance is system- - dependent). + There cannot be any gaps in the node numbering of a cell mesh. The + nodes in a cell mesh must be numbered consecutively, with the first + node having a node number of 1, and the last node having a node number + that is equal to the maximum number of nodes in the cell mesh. - Notes - ----- - Displays the displaced structure for the selected elements. + Figure: 9:: : Two-hole Box Section - For information on true scale plots, refer to the description of the - /DSCALE command [/DSCALE,,1.0]. + Figure: 10:: : Cell Mesh for the Two-hole Box Section """ - command = "PLDISP, %s" % (str(kund)) + command = "SECREAD,%s,%s,%s" % (str(fname), str(ext), str(option)) self.RunCommand(command, **kwargs) - def Mail(self, address="", fname="", ext="", **kwargs): + def Edtp(self, option="", value1="", value2="", **kwargs): """ - APDL Command: /MAIL + APDL Command: EDTP - Mails file to the specified address. + Plots explicit elements based on their time step size. Parameters ---------- - -- - Unused field. + option + Plotting option (default = 1). - address - Email address (up to 64 characters) of the intended recipient of - the file. + 1 - Plots the elements with the smallest time step sizes. The number of elements + plotted and listed is equal to VALUE1 (which defaults to 100). + Each element is shaded red or yellow based on its time step + value (see "Notes" for details). - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + 2 - Produces the same plot as for OPTION = 1, and also produces a list of the + plotted elements and their corresponding time step values. - ext - Filename extension (eight-character maximum). + 3 - Produces a plot similar to OPTION = 1, except that all selected elements are + plotted. Elements beyond the first VALUE1 elements are blue and + translucent. The amount of translucency is specified by VALUE2. + This option also produces a list of the first VALUE1 elements + with their corresponding time step values. - Notes - ----- - Issue the /MAIL command to alert someone when a long-running job has - completed, as shown in this example: + value1 + Number of elements to be plotted and listed (default = 100). For + example, if VALUE1 = 10, only the elements with the 10 smallest + time step sizes are plotted and listed. - If you are running ANSYS in a Microsoft Windows environment, you must - configure BLAT (a freeware program provided with ANSYS). Before issuing - the /MAIL command, enter this command from the C:\Program Files\Ansys - Inc\V162\Ansys\Bin\Intel directory: + value2 + Translucency level ranging from 0 to 1 (default = 0.9). VALUE2 is + only used when OPTION = 3, and only for the elements plotted in + blue. To plot these elements as non-translucent, set VALUE2 = 0. - If you are running ANSYS in a Windows x64 environment, enter this - command from the C:\Program Files\Ansys Inc\V162\Ansys\Bin\Winx64 - directory: + Notes + ----- + EDTP invokes an ANSYS macro that plots and lists explicit elements + based on their time step size. For OPTION = 1 or 2, the number of + elements plotted is equal to VALUE1 (default = 100). For OPTION = 3, + all selected elements are plotted. - where: + The elements are shaded red, yellow, or blue based on their time step + size. Red represents the smallest time step sizes, yellow represents + the intermediate time step sizes, and blue represents the largest time + step sizes. For example, if you specify VALUE1 = 30, and if T1 is the + smallest critical time step of all elements and T30 is the time step of + the 30th smallest element, then the elements are shaded as follows: - is the name of the user’s email server; for - example, smtphost.xyz.com + Translucent blue elements only appear when OPTION = 3. - @ is the email address of the user; for example, - john.doe@xyz.com + This command is also valid in PREP7. - Because Windows cannot operate on a busy file, you cannot mail standard - ANSYS output. Instead, redirect the output to a file and then mail - that file, as shown in this example: + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/MAIL, %s, %s, %s" % (str(address), str(fname), str(ext)) + command = "EDTP,%s,%s,%s" % (str(option), str(value1), str(value2)) self.RunCommand(command, **kwargs) - def Ppath(self, point="", node="", x="", y="", z="", cs="", **kwargs): + def Setfgap(self, gap="", ropt="", pamb="", acf1="", acf2="", pref="", + mfp="", **kwargs): """ - APDL Command: PPATH + APDL Command: SETFGAP - Defines a path by picking or defining nodes, or locations on the - currently active working plane, or by entering specific coordinate - locations. + Updates or defines the real constant table for squeeze film elements. Parameters ---------- - point - The point number. It must be greater than zero and less than or - equal to the nPts value specified on the PATH command if graphical - picking is not being used. - - node - The node number defining this point. If blank, use the X, Y, Z - coordinates to define the point. A valid node number will override - X, Y, Z coordinate arguments. - - x, y, z - The location of the point in the global Cartesian coordinate - system. Use these arguments only if you omit the NODE argument. + gap + Gap separation. - cs - The coordinate system for interpolation of the path between the - previous point and this point. Omit this argument if you wish to - use the currently active (CSYS) coordinate system. If the - coordinate system of two adjacent points is different, the CS value - of the latter point will be used. + ropt + Real constant set option. - Notes - ----- - For linearized stress calculations, the path must be defined with - nodes. + 0 - Creates separate real constant sets for each selected element with the + specified real constant values (default). - This command is designed and works best in interactive (GUI) mode, - using the menu paths listed below. For command line operations, issue - PPATH,P to define your path by picking nodes. + 1 - Updates existing real constant sets. The gap separation is updated from + displacement results in the database. Other real constants are + updated as specified in the command input parameters. - For information on displaying paths you have defined, see Defining Data - to be Retrieved in the Basic Analysis Guide. + -- + Unused field - """ - command = "PPATH, %s, %s, %s, %s, %s, %s" % (str(point), str(node), str(x), str(y), str(z), str(cs)) - self.RunCommand(command, **kwargs) + pamb + Ambient pressure. - def Cmdele(self, name="", **kwargs): - """ - APDL Command: CMDELE + acf1, acf2 + Accommodation factor 1 and 2. - Deletes a component or assembly definition. + pref + Reference pressure for mean free path. - Parameters - ---------- - name - Name of the component or assembly whose definition is to be - removed. + mfp + Mean free path. Notes ----- - Entities contained in the component, or the components within the - assembly, are unaffected. Only the grouping relationships are deleted. - Assemblies are automatically updated to reflect deletion of their - components or subassemblies, but they are not automatically deleted - when all their components or subassemblies are deleted. + This command is used for large signal cases to update the gap + separation real constant on a per-element basis. Issue this command + prior to solution using the default ROPT value to initialize real + constant sets for every fluid element. After a solution, you can re- + issue the command to update the real constant set for a subsequent + analysis. See Introduction for more information on thin film analyses. - This command is valid in any processor. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "CMDELE, %s" % (str(name)) + command = "SETFGAP,%s,%s,%s,%s,%s,%s,%s" % (str(gap), str(ropt), str(pamb), str(acf1), str(acf2), str(pref), str(mfp)) self.RunCommand(command, **kwargs) - def Spec(self, **kwargs): + def Dowhile(self, par="", **kwargs): """ - APDL Command: SPEC + APDL Command: *DOWHILE - Specifies "Miscellaneous specifications" as the subsequent status - topic. + Loops repeatedly through the next *ENDDO command. + + Parameters + ---------- + par + The name of the scalar parameter to be used as the loop index. + There is no character parameter substitution for the Par field. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + *DOWHILE loops repeatedly through the next *ENDDO command as long as + Par is greater than zero. The block of commands following the *DOWHILE + command (up to the *ENDDO command) is executed repeatedly until some + loop control is satisfied. Printout is automatically suppressed on all + loops after the first (include a /GOPR command to restore the + printout). The command line loop control (Par) must be input; however, + *IF within the block can also be used to control looping [*EXIT, + *CYCLE]. One level of internal file switching is used for each nested + *DOWHILE. Twenty levels of nested do-loops are allowed. - If entered directly into the program, the STAT command should - immediately follow this command. + This command is valid in any processor. """ - command = "SPEC, " % () + command = "*DOWHILE,%s" % (str(par)) self.RunCommand(command, **kwargs) - def Mp(self, lab="", mat="", c0="", c1="", c2="", c3="", c4="", **kwargs): + def Vsbw(self, nv="", sepo="", keep="", **kwargs): """ - APDL Command: MP + APDL Command: VSBW - Defines a linear material property as a constant or a function of - temperature. + Subtracts intersection of the working plane from volumes (divides + volumes). Parameters ---------- - lab - Valid material property label. Applicable labels are listed under - "Material Properties" in the input table for each element type in - the Element Reference. See Linear Material Properties in the - Material Reference for more complete property label definitions: - - ALPD - Mass matrix multiplier for damping. - - ALPX - Secant coefficients of thermal expansion (also ALPY, ALPZ). - - BETD - Stiffness matrix multiplier for damping. - - Note:If used in an explicit dynamic analysis, the value corresponds to the percentage of damping in the high frequency domain. For example, 0.1 roughly corresponds to 10% damping in the high frequency domain. - BETX - - Coefficient of diffusion expansion (also BETY, BETZ) - BVIS + nv + Volume (or volumes, if picking is used) to be subtracted from. If + NV = ALL, use all selected volumes. If NV = P, graphical picking + is enabled (valid only in the GUI). A component name may also be + input for NV. - Bulk viscosity - C + sepo + Behavior of the created boundary. - Specific heat - CREF + (blank) - The resulting volumes will share area(s) where they touch. - Reference concentration (may not be temperature dependent) - CSAT + SEPO - The resulting volumes will have separate, but coincident area(s). - Saturated concentration - CTEX + keep + Specifies whether NV volumes are to be deleted. - Instantaneous coefficients of thermal expansion (also CTEY, CTEZ) - CVH + (blank) - Use the setting of KEEP on the BOPTN command. - Heat coefficient at constant volume per unit of mass - DENS + DELETE - Delete NV volumes after VSBW operation (override BOPTN command settings). - Mass density. - DMPR + KEEP - Keep NV volumes after VSBW operation (override BOPTN command settings). - Constant structural damping coefficient in full harmonic analysis or damping ratio in mode-superposition analysis. - DXX + Notes + ----- + Generates new volumes by subtracting the intersection of the working + plane from the NV volumes. The intersection will be an area(s). If + SEPO is blank, the volume is divided at the area and the resulting + volumes will be connected, sharing a common area where they touch. If + SEPO is set to SEPO, the volume is divided into two unconnected volumes + with separate areas. The SEPO option may cause unintended consequences + if any keypoints exist along the cut plane. See the Modeling and + Meshing Guide for an illustration. See the BOPTN command for an + explanation of the options available to Boolean operations. Element + attributes and solid model boundary conditions assigned to the original + entities will not be transferred to the new entities generated. - Diffusivity coefficients (also DYY, DZZ) - EMIS + Issuing the VSBW command under certain conditions may generate a + topological degeneracy error. Do not issue the command if: - Emissivity. - ENTH + A sphere or cylinder has been scaled. (A cylinder must be scaled + unevenly in the XY plane.) - Enthalpy. - EX + A sphere or cylinder has not been scaled but the work plane has been + rotated. - Elastic moduli (also EY, EZ) - GXY + """ + command = "VSBW,%s,%s,%s" % (str(nv), str(sepo), str(keep)) + self.RunCommand(command, **kwargs) - Shear moduli (also GYZ, GXZ) - HF + def Prrfor(self, lab="", **kwargs): + """ + APDL Command: PRRFOR - Convection or film coefficient - KXX + Prints the constrained node reaction solution. Used with the FORCE + command. - Thermal conductivities (also KYY, KZZ) - LSST + Parameters + ---------- + lab + Nodal reaction load type. If blank, use the first ten of all + available labels. Valid labels are: - Electric loss tangent - LSSM + Notes + ----- + PRRFOR has the same functionality as the PRRSOL command; use PRRFOR + instead of PRRSOL when a FORCE command has been issued. - Magnetic loss tangent - MGXX + In a non-spectrum analysis, if either contact or pretension elements + exist in the model, PRRFOR uses the PRRSOL command internally and the + FORCE setting is ignored. - Magnetic coercive forces (also MGYY, MGZZ) - MURX + Because modal displacements cannot be used to calculate contact element + nodal forces,: those forces are not included in the spectrum and PSD + analyses reaction solution. As a consequence, the: PRRFOR: command is + not supported when constraints on contact element pilot nodes are + present. - Magnetic relative permeabilities (also MURY, MURZ) - MU + """ + command = "PRRFOR,%s" % (str(lab)) + self.RunCommand(command, **kwargs) - Coefficient of friction - NUXY + def Vsbv(self, nv1="", nv2="", sepo="", keep1="", keep2="", **kwargs): + """ + APDL Command: VSBV - Minor Poisson's ratios (also NUYZ, NUXZ) (NUXY = νyx, as described in Stress-Strain Relationships in the Mechanical APDL Theory Reference) - PERX + Subtracts volumes from volumes. - Electric relative permittivities (also PERY, PERZ) - Note:  If you enter permittivity values less than 1 for SOLID5, PLANE13, or - SOLID98, the program interprets the values as - absolute permittivity. Values input for PLANE223, - SOLID226, or SOLID227 are always interpreted as - relative permittivity. + Parameters + ---------- + nv1 + Volume (or volumes, if picking is used) to be subtracted from. If + ALL, use all selected volumes. Volumes specified in set NV2 are + removed from set NV1. If P, graphical picking is enabled (valid + only in the GUI) and remaining fields are ignored. A component + name may also be substituted for NV1. - PRXY - Major Poisson's ratios (also PRYZ, PRXZ) (PRXY = νxy, as described in Stress- - Strain Relationships in the Mechanical APDL Theory - Reference) + nv2 + Volume (or volumes, if picking is used) to subtract. If ALL, use + all selected volumes (except those included in the NV1 argument). + A component name may also be substituted for NV2. - QRATE - Heat generation rate for thermal mass element MASS71. Fraction of plastic work - converted to heat (Taylor-Quinney coefficient) for coupled- - field elements PLANE223, SOLID226, and SOLID227. + sepo + Behavior if the intersection of the NV1 volumes and the NV2 volumes + is an area or areas: - REFT - Reference temperature. Must be defined as a constant; C1 through C4 are - ignored. + (blank) - The resulting volumes will share area(s) where they touch. - RH - Hall Coefficient. + SEPO - The resulting volumes will have separate, but coincident area(s) where they + touch. - RSVX - Electrical resistivities (also RSVY, RSVZ). + keep1 + Specifies whether NV1 volumes are to be deleted: - SBKX - Seebeck coefficients (also SBKY, SBKZ). + (blank) - Use the setting of KEEP on the BOPTN command. - SONC - Sonic velocity. + DELETE - Delete NV1 volumes after VSBV operation (override BOPTN command settings). - THSX - Thermal strain (also THSY, THSZ). + KEEP - Keep NV1 volumes after VSBV operation (override BOPTN command settings). - VISC - Viscosity. + keep2 + Specifies whether NV2 volumes are to be deleted: - mat - Material reference number to be associated with the elements - (defaults to the current MAT setting [MAT]). + (blank) - Use the setting of KEEP on the BOPTN command. - c0 - Material property value, or if a property-versus-temperature - polynomial is being defined, the constant term in the polynomial. - C0 can also be a table name (%tabname%); if C0 is a table name, C1 - through C4 are ignored. + DELETE - Delete NV2 volumes after VSBV operation (override BOPTN command settings). - c1, c2, c3, c4 - Coefficients of the linear, quadratic, cubic, and quartic terms, - respectively, in the property-versus-temperature polynomial. Leave - blank (or set to zero) for a constant material property. + KEEP - Keep NV2 volumes after VSBV operation (override BOPTN command settings). Notes ----- - MP defines a linear material property as a constant or in terms of a - fourth order polynomial as a function of temperature. (See the TB - command for nonlinear material property input.) Linear material - properties typically require a single substep for solution, whereas - nonlinear material properties require multiple substeps; see Linear - Material Properties in the Material Reference for details. - - If the constants C1 - C4 are input, the polynomial - - Property = C0 + C1(T) + C2(T)2 + C3(T)3 + C4(T)4 - - is evaluated at discrete temperature points with linear interpolation - between points (that is, a piecewise linear representation) and a - constant-valued extrapolation beyond the extreme points. First-order - properties use two discrete points (±9999°). The MPTEMP or MPTGEN - commands must be used for second and higher order properties to define - appropriate temperature steps. To ensure that the number of - temperatures defined via the MPTEMP and MPTGEN commands is minimally - sufficient for a reasonable representation of the curve, ANSYS - generates an error message if the number is less than N, and a warning - message if the number is less than 2N. The value N represents the - highest coefficient used; for example, if C3 is nonzero and C4 is zero, - a cubic curve is being used which is defined using 4 coefficients so - that N = 4. - - A polynomial input is not valid in an explicit dynamic analysis or for - Lab = ALPD and BETD. C1, C2, C3, and C4 are ignored. - - The use of tabular material properties (C0 = %tabname%) is available - only for FLUID116. Fluid properties can be evaluated as a function of - pressure, temperature, velocity, time, and location (independent - variables). Use the *DIM command to create the table of property values - as a function of the independent variables. Then refer to this table - via the MP command for the property. If using temperature or pressure - independent variables, you need to activate the appropriate pressure or - temperature degrees of freedom on the element. Tabular material - properties are calculated before the first iteration (that is, using - initial values [IC]). For more information about using table-type array - parameters, see the discussion on applying tabular boundary conditions - in the Basic Analysis Guide. - - When defining a reference temperature (MP,REFT), you can convert - temperature-dependent secant coefficients of thermal expansion (SCTE) - data from the definition temperature to the reference temperature. To - do so, issue the MPAMOD command. - - This command is also valid in SOLUTION. - - ANSYS Professional NLS supports this command for the coefficient of - friction material property (MP,MU). + Generates new volumes by subtracting the regions common to both NV1 and + NV2 volumes (the intersection) from the NV1 volumes. The intersection + can be a volume(s) or area(s). If the intersection is an area and SEPO + is blank, the NV1 volume is divided at the area and the resulting + volumes will be connected, sharing a common area where they touch. If + SEPO is set to SEPO, NV1 is divided into two unconnected volumes with + separate areas where they touch. See the Modeling and Meshing Guide + for an illustration. See the BOPTN command for an explanation of the + options available to Boolean operations. Element attributes and solid + model boundary conditions assigned to the original entities will not be + transferred to the new entities generated. VSBV,ALL,ALL will have no + effect because all the volumes in set NV1will have been moved to set + NV2. """ - command = "MP, %s, %s, %s, %s, %s, %s, %s" % (str(lab), str(mat), str(c0), str(c1), str(c2), str(c3), str(c4)) + command = "VSBV,%s,%s,%s,%s,%s" % (str(nv1), str(nv2), str(sepo), str(keep1), str(keep2)) self.RunCommand(command, **kwargs) - def Rename(self, fname1="", ext1="", fname2="", ext2="", distkey="", - **kwargs): + def Prnsol(self, item="", comp="", **kwargs): """ - APDL Command: /RENAME + APDL Command: PRNSOL - Renames a file. + Prints nodal solution results. Parameters ---------- - fname1 - The file to be renamed. You can also include an optional directory - path as part of the specified file name; if not, the default file - location is the working directory. - - ext1 - Filename extension (eight-character maximum). - - -- - Unused field. - - fname2 - The new name for the file. You can also include an optional - directory path as part of the new file name; if not, the default is - the working directory. A maximum of 248 characters is allowed for - the file name (or combined file name and directory path, if both - are specified). - - ext2 - Filename extension (eight-character maximum). - - -- - Unused field. - - distkey - Key that specifies whether the rename operation is performed on all - processes in distributed parallel mode (Distributed ANSYS): - - 1 (ON or YES) - The program performs the rename operation locally on each process. + item + Label identifying the item. Valid item labels are shown in Table + 225: PRNSOL - Valid Item and Component Labels below. Some items + also require a component label. - 0 (OFF or NO) - The program performs the rename operation only on the master process (default). + comp + Component of the item (if required). Valid component labels are + shown in Table 225: PRNSOL - Valid Item and Component Labels below. + Defaults to COMP. Notes ----- - Renames a file. Ex: /RENAME,A,,,B renames file A to B in the same - directory. /RENAME,A,DAT,,,INP renames file A.DAT to A.INP. On all - systems, this command will overwrite any existing file named B. See the - Operations Guide for details. Only ANSYS binary files should be - renamed. Use /SYS and system renaming commands for other files. + Prints the nodal solution results for the selected nodes in the sorted + sequence. For example, PRNSOL,U,X prints the X component of + displacement vector U (that is, the UX degree of freedom). Component + results are in the global Cartesian coordinate directions unless + transformed (RSYS). Various element results also depend upon the + recalculation method and the selected results location (AVPRIN, RSYS, + LAYER, SHELL, and NSEL). If the LAYER command is issued, then the + resulting output is listed in full graphics mode (/GRAPHICS,FULL). You + can use the FORCE command to define which component of the nodal load + (static, damping, inertia, or total) should be used. - In distributed parallel mode (Distributed ANSYS), only the master - process will rename Fname1.Ext1 to Fname2.Ext2 by default. However, - when DistKey is set to 1 (or ON or YES), the command is executed by all - processes. In this case, Fname1 and Fname2 will automatically have the - process rank appended to them. This means Fname1N.Ext1 will be renamed - to Fname2N.Ext2 by all processes, where N is the Distributed ANSYS - process rank. For more information see Differences in General Behavior - in the Parallel Processing Guide. + PowerGraphics can affect your nodal solution listings. For + PowerGraphics (/GRAPHICS,POWER), results are listed only for the model + exterior surfaces. - Renaming across system partitions may be internally done by a copy and - delete operation on some systems. + When shell element types are present, results are output on a surface- + by-surface basis. For shell elements, such as SHELL181 or SHELL281, and + for ELBOW290, printed output is for both the top and bottom surfaces. + For solid elements such as SOLID185, the output is averaged for each + surface and printed as follows: - This command is valid only at the Begin Level. + For a node at a vertex, three lines are output (one printed line for + each surface). - """ - command = "/RENAME, %s, %s, %s, %s, %s" % (str(fname1), str(ext1), str(fname2), str(ext2), str(distkey)) - self.RunCommand(command, **kwargs) + For a node on an edge, two lines are output (one printed line for each + surface). + + For nodes on a face, one value is output. - def Edout(self, option="", **kwargs): - """ - APDL Command: EDOUT + For nodes interior to the volume, no printed values are output. - Specifies time-history output (ASCII format) for an explicit dynamics - analysis. + If a node is common to more than one element, or if a geometric + discontinuity exists, several conflicting listings may result. For + example, a corner node incorporating results from solid elements and + shell elements could yield as many as nine different results; the + printed output would be averages at the top and bottom for the three + shell surfaces plus averages at the three surfaces for the solid, for a + total of nine lines of output. ANSYS does not average result listings + across geometric discontinuities when shell element types are present. + It is important to analyze the listings at discontinuities to ascertain + the significance of each set of data. - Parameters - ---------- - option - Output data option. Each option corresponds to a separate file that - is written by the LS-DYNA solver. If Option = ALL, all files except - NODOUT and ELOUT are written. Valid options are: + The printed output for full graphics (/GRAPHICS,FULL) follows the + standard ANSYS convention of averaging results at the node. For shell + elements, the default for display is TOP so that the results for the + top of the shell are averaged with the other elements attached to that + node. - GLSTAT - Global data (default). + If an NSORT, ESORT or /ESHAPE command is issued with PowerGraphics + activated, then the PRNSOL listings will be the same as in full + graphics mode (/GRAPHICS,FULL). The items marked with [2] are not + supported by PowerGraphics. To print midside nodes, you must first + issue an /EFACET,2 command. - BNDOUT - Boundary condition forces and energy. + Table: 225:: : PRNSOL - Valid Item and Component Labels - RWFORC - Wall force. + Failure criteria [2][4]. - DEFORC - Discrete element data. + Default components: Maximum of all failure criteria defined at current + location (MAX), maximum strain (EMAX), maximum stress (SMAX), Tsai-Wu + Strength Index (TWSI), inverse of Tsai-Wu Strength Ratio Index (TWSR). - MATSUM - Material energies data. + Other available components: Other available components: Hashin Fiber + Failure (HFIB), Hashin Matrix Failure (HMAT), Puck Fiber Failure + (PFIB), Puck Matrix Failure (PMAT), LaRc03 Fiber Failure (L3FB), + LaRc03 Matrix Failure (L3MT), LaRc04 Fiber Failure (L4FB), LaRc04 + Matrix Failure (L4MT), and any user-defined failure criteria (USR1 + through USR9) [5]. - NCFORC - Nodal interface forces. + To activate or remove failure criteria, issue the FCTYP command. - RCFORC - Resultant interface force data. + Failure criteria based on the effective stresses in the damaged + material. - DEFGEO - Deformed geometry data. + Components: Maximum of all failure criteria defined at current location + (MAX), fiber tensile failure (FT), fiber compressive failure (FC), + matrix tensile failure (MT), and matrix compressive (MC). - SPCFORC - SPC reaction force data. + Progressive damage parameters. - SWFORC - Nodal constraint reaction force data (spotwelds and rivets). + Components: Damage status (STAT, 0 - undamaged, 1 - damaged, 2 - + complete damage), fiber tensile damage variable (FT), fiber compressive + damage variable (FC), matrix tensile damage variable (MT), matrix + compressive damage variable (MC), shear damage variable (S), energy + dissipated per unit volume (SED), energy per unit volume due to viscous + damping (SEDV). - RBDOUT - Rigid body data. + For SHELL131 and SHELL132 elements with KEYOPT(3) = 0 or 1, use the + labels TBOT, TE2, TE3, . . ., TTOP instead of TEMP. - GCEOUT - Geometry contact entities. + Not supported by PowerGraphics - SLEOUT - Sliding interface energy. + For the CONT items for elements CONTA171 through CONTA177, the reported + data is averaged across the element. To obtain a more meaningful STAT + value, use the PRESOL command. - JNTFORC - Joint force data. + Works only if failure criteria information is provided. (For more + information, see the documentation for the FC and TB commands.) - NODOUT - Nodal data. + Works only if user failure criteria routine is provided. - ELOUT - Element data. + """ + command = "PRNSOL,%s,%s" % (str(item), str(comp)) + self.RunCommand(command, **kwargs) - Notes - ----- - This command specifies output to be written during an explicit dynamics - solution. The data corresponding to each Option is written to a - separate ASCII file having the same name as the Option label. The data - is written for the entire model at time intervals specified by the - EDHTIME command. If no time interval is specified, output is written at - 1000 steps over the analysis. (See also the EDHIST command which - specifies time-history output for a portion of the model.) The data - written to the MATSUM file is actually for each PART number (EDPART) at - time intervals specified by the EDHTIME command, but the data is listed - following the Mat no. in the file. + def Iclist(self, node1="", node2="", ninc="", lab="", **kwargs): + """ + APDL Command: ICLIST - For Option = NODOUT and ELOUT, you must specify a component; you must - issue EDHIST before issuing EDOUT,NODOUT or EDOUT,ELOUT. + Lists the initial conditions. - Use EDOUT,LIST to list the current time-history output specifications. - (The listing will include output requested with the EDHIST command.) - Use EDOUT,DELE to delete all output specifications that have been - defined with the EDOUT command. + Parameters + ---------- + node1, node2, ninc + List initial conditions for nodes NODE1 to NODE2 (defaults to + NODE1) in steps of NINC (defaults to 1). If NODE1 = ALL (default), + NODE2 and NINC are ignored and initial conditions 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 be substituted for NODE1 (NODE2 and + NINC are ignored). - In order for the specified output files to be written, you must also - request that explicit dynamics results be written to an LS-DYNA output - file [EDWRITE,LSDYNA or EDWRITE,BOTH]. + lab + Velocity key: - In an explicit dynamic small restart analysis (EDSTART,2) or full - restart analysis (EDSTART,3), the same ASCII files that were requested - for the original analysis are written by default for the restart. You - can request different files by issuing the appropriate EDOUT commands - in the restart analysis. + DISP - Specification is for first order degree of freedom value (displacements, + temperature, etc.) (default). - This command is also valid in PREP7. + VELO - Specification is for second order degree of freedom value (velocities). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Notes + ----- + Lists the initial conditions specified by the IC command. Listing + applies to all the selected nodes [NSEL] and DOF labels. ICLIST is not + the same as the DLIST command. All the initial conditions including + the default conditions are listed for the selected nodes. + + This command is valid in any processor. """ - command = "EDOUT, %s" % (str(option)) + command = "ICLIST,%s,%s,%s,%s" % (str(node1), str(node2), str(ninc), str(lab)) self.RunCommand(command, **kwargs) - def Cscir(self, kcn="", kthet="", kphi="", **kwargs): + def Txtre(self, lab="", num="", n1="", n2="", ninc="", **kwargs): """ - APDL Command: CSCIR + APDL Command: /TXTRE - Locates the singularity for non-Cartesian local coordinate systems. + Controls application of texture to selected items. Parameters ---------- - kcn - Number of the local coordinate system in which singularity location - is to be changed. Must be greater than 10. + lab + You can apply texture according to the following labels: - kthet - Theta singularity location for cylindrical, spherical, and toroidal - systems: + ELEM - Apply texture to elements N1 through N2 in steps of NINC. - 0 - Singularity at ±180°. + AREA - Apply texture to areas N1 through N2 in steps of NINC. - 1 - Singularity at 0° (360°). + VOLU - Apply texture to volumes N1 through N2 in steps of NINC. - kphi - Phi singularity location for toroidal systems: + CM - Apply texture to the component named in N1. N2 and NINC are ignored. - 0 - Singularity in phi direction at ±180°. + ON, OFF - Sets the specified texture display on or off. All other fields are ignored. - 1 - Singularity in phi direction at 0° (360°). + File - If Lab = File, the command format is /TXTRE, File, Key_Index, Fname, Fext, --, + Format (This variant of the command is applicable to 2-D + drivers). - Notes - ----- - Continuous closed surfaces (circles, cylinders, spheres, etc.) have a - singularity (discontinuity) at θ = ±180°. For local cylindrical, - spherical, and toroidal coordinate systems, this singularity location - may be changed to 0° (360°). + Key_Index - The texture index associated with the file. If the number fifty-one (51) is + used, the imported bitmap will be used as the window's + logo. - An additional, similar singularity occurs in the toroidal coordinate - system at: Φ = ±180° and can be moved with KPHI. Additional - singularities occur in the spherical coordinate system at: Φ = ±90°, - but cannot be moved. + Fname - File name and directory path (248 characters maximum, including the characters + needed for the directory path). An unspecified directory + path defaults to the working directory; in this case, you + can use all 248 characters for the file name. - This command is valid in any processor. + Fext - Filename extension (eight-character maximum). - """ - command = "CSCIR, %s, %s, %s" % (str(kcn), str(kthet), str(kphi)) - self.RunCommand(command, **kwargs) + -- - Unused field. - def Finish(self, **kwargs): - """ - APDL Command: FINISH + Format - The file format. If Format = 0, the file is a pixmap (Linux) or Bitmap (PC). + The file cannot contain a compressed image, and the PC + file must be 8 or 24 bit BI_RGB format. If Format = 1 or + JPEG, then the file is in JPEG (Joint Photographic Experts + Group) format. If Format = 2 or PNG, then the file is in + PNG (Portable Network Graphics) format. - Exits normally from a processor. + num + Select the texture index number from the following list: - Notes - ----- - Exits any of the ANSYS processors or the DISPLAY program. For the - ANSYS processors, data will remain intact in the database but the - database is not automatically written to a file (use the SAVE command - to write the database to a file). See also the /QUIT command for an - alternate processor exit command. If exiting POST1, POST26, or OPT, - see additional notes below. + 0 - No Texturing - POST1: Data in the database will remain intact, including the POST1 - element table data, the path table data, the fatigue table data, and - the load case pointers. + 1 - Aluminum - POST26: Data in the database will remain intact, except that POST26 - variables are erased and specification commands (such as FILE, PRTIME, - NPRINT, etc.) are reset. Use the /QUIT command to exit the processor - and bypass these exceptions. + 2 - Aluminum, Brushed - This command is valid in any processor. This command is not valid at - the Begin level. + 3 - Steel With Bumps - """ - command = "FINISH, " % () - self.RunCommand(command, **kwargs) + 4 - Steel, Embossed - def Rsys(self, kcn="", **kwargs): - """ - APDL Command: RSYS + 5 - Iron - Activates a coordinate system for printout or display of element and - nodal results. + 6 - Steel, Pattern - Parameters - ---------- - kcn - The coordinate system to use for results output: + 7 - Steel, Riveted - 0 - Global Cartesian coordinate system (default, except for spectrum analyses). + 8 - Steel, Scratched - 1 - Global cylindrical coordinate system. + 9 - Tin - 2 - Global spherical coordinate system. + 10 - Metal - > 10 - Any existing local coordinate system. + 11 - Steel, Etched - SOLU - Solution coordinate systems. For element quantities, these are the element - coordinate system for each element. For nodal quantities, - these are the nodal coordinate systems. If an element or - nodal coordinate system is not defined, ANSYS uses the - global Cartesian coordinate system. If you issue a LAYER,N - command (where N refers to a layer number), the results - appear in the layer coordinate system. (SOLU is the default - for spectrum analyses.) + 12 - Metal, Hot - LSYS - Layer coordinate system. For layered shell and solid elements, the results - appear in their respective layer coordinate systems. For a - specific layer of interest, issue a LAYER,N command (where N - refers to a layer number). If a model has both nonlayered - and layered elements, you can use RSYS,SOLU and RSYS,LSYS - simultaneously (with RSYS,SOLU applicable to nonlayered - elements and RSYS,LSYS applicable to layered elements). To - reverse effects of the LSYS option, issue an RSYS,0 command. - LSYS is the default for spectrum analysis. + 13 - Iron, Grainy - Notes - ----- - The RSYS command activates a coordinate system for printing or - displaying element results data such as stresses and heat fluxes, and - nodal results data such as degrees of freedom and reactions. ANSYS - rotates the results data to the specified coordinate system during - printout, display, or element table operations (such as PRNSOL, PRESOL, - PLNSOL, and ETABLE). You can define coordinate systems with various - ANSYS commands such as LOCAL, CS, CLOCAL, and CSKP. + 14 - Metal, Rusty - If you issue RSYS with KCN > 10 (indicating a local coordinate system), - and the specified system is subsequently redefined, you must reissue - RSYS for results to be rotated into the redefined system. + 15 - Brick - Note:: : The default coordinate system for certain elements, notably - shells, is not global Cartesian and is frequently not aligned at - adjacent elements. + 16 - Block - The use of RSYS,SOLU with these elements can make nodal averaging of - component element results, such as SX, SY, SZ, SXY, SYZ, and SXZ, - invalid and is not recommended. + 17 - Wood - The RSYS command has no effect on beam or pipe stresses, which ANSYS - displays (via /ESHAPE,1 and PowerGraphics) in the element coordinate - system. + 18 - Wood, Light - Element results such as stresses and heat fluxes are in the element - coordinate systems when KCN = SOLU. Nodal requests for element results - (for example, PRNSOL,S,COMP) average the element values at the common - node; that is, the orientation of the node is not a factor in the - output of element quantities. For nearly all solid elements, the - default element coordinate systems are parallel to the global Cartesian - coordinate system. For shell elements and the remaining solid elements, - the default element coordinate system can differ from element to - element. For layered shell and layered solid elements, ANSYS initially - selects the element coordinate system when KCN = SOLU; you can then - select the layer coordinate system via the LAYER command. + 19 - Wood, Walnut - Nodal results such as degrees of freedom and reactions can be properly - rotated only if the resulting component set is consistent with the - degree-of-freedom set at the node. (The degree-of-freedom set at a node - is determined by the elements attached to the node.) For example, if a - node does not have a UZ degree of freedom during solution, then any Z - component resulting from a rotation does not print or display in POST1. - Therefore, results at nodes with a single degree-of-freedom (UY only, - for example) should not be rotated; that is, they should be viewed only - in the nodal coordinate system or a system parallel to the nodal - system. (The global Cartesian system--the RSYS command default--may not - be parallel to the nodal system.) Results at nodes with a 2-D degree- - of-freedom set (UX and UY, for example) should not be rotated out of - the 2-D plane. + 20 - Plastic, Hard Blue - PowerGraphics + 21 - Plastic, Light Blue - For PowerGraphics, ANSYS plots PLVECT vector arrow displays (such - temperature, velocity, and force) in the global Cartesian coordinate - system (RSYS = 0). Subsequent operations revert to your original - coordinate system. + 22 - Plastic, Hard Red - PGR File + 31 - Gold - When you generate a .PGR file in SOLUTION, you can use the Results - Viewer to display your stresses only in the coordinate system in which - you write your .PGR file. To view stresses in other coordinate systems, - load your results file into the Results Viewer and regenerate the data. + 32 - Brass - Large Deflections + 33 - Silver - If large deflection is active (NLGEOM,ON), ANSYS rotates the element - component result directions by the amount of rigid body rotation. + 34 - Plastic, Black - ANSYS displays the element component results in the initial global - coordinate system for the following elements: SHELL181, SHELL281, - ELBOW290, PLANE182, PLANE183, SOLID185, SOLID186, SOLID187, SOLID272, - SOLID273, SOLID285, SOLSH190, SHELL208, and SHELL209. All other element - result transformations are, therefore, also relative to the initial - global system. Nodal degree-of-freedom results are based on the initial - (and not the updated) geometry. For all other element types, component - results displayed in the co-rotated coordinate system include the - element rigid body rotation from the initial global coordinate system, - and all other element result transformations are relative to the - rotated global system. + 35 - Plastic, Ivory - LS-DYNA + 36 - Plastic, Blue - You can use the RSYS command to rotate stress data for all explicit - (ANSYS LS-DYNA) elements except BEAM161, COMBI165, and composite - SHELL163 (KEYOPT(3) = 1). In models that contain these element types - combined with other explicit elements, you must unselect the - unsupported elements before issuing the RSYS command. The command does - not support strain data for any explicit element types. If you request - strain results for explicit elements when RSYS is not set to the global - Cartesian coordinate system (KCN = 0), ANSYS ignores the printing or - plotting command. (ANSYS always rotates displacements into the results - coordinate system, independent of the explicit element type.) + 37 - Plastic, Red + + 38 - Plastic, Yellow + + 39 - Plastic, Green + + 40 - Plastic, Brown + + n1, n2, ninc + Apply texture to Lab items numbered N1 through N2 in steps of NINC + (defaults to 1). If Lab = CM, then N1 is used to for the component + name and N2 and NINC are ignored. If Lab = ELEM, AREA, or VOLU and + N1 = blank or ALL, then the specified texture will be applied to + all entities of type Lab. If N1 = P, then graphical picking is + enabled. + + Notes + ----- + This command is available for 3-D Open GL devices. 2-D devices are + supported only for the Lab = File variation of the command, allowing + imported bitmaps to be used for texturing and annotation. Textures can + affect the speed of many of your display operations. You can increase + the speed by temporarily turning the textures off (Utility Menu> + PlotCtrls> Style> Texturing(3D)> Display Texturing). This menu + selection toggles your textures on and off. When textures are toggled + off, all of the texture information is retained and reapplied when + texturing is toggled back on. + + For some displays, the texture will appear distorted because of a + technique used to enhance 3-D displays (/DV3D,TRIS,1). Disabling this + function (/DV3D,TRIS,0) will improve the quality of some texture + displays. Disabling the TRIS option of the /DV3D command will slow down + 3-D displays significantly. Be sure to reapply the TRIS option after + you obtain a satisfactory output. + + Specifying /TXTRE,DEFA removes all texturing. """ - command = "RSYS, %s" % (str(kcn)) + command = "/TXTRE,%s,%s,%s,%s,%s" % (str(lab), str(num), str(n1), str(n2), str(ninc)) self.RunCommand(command, **kwargs) - def Rthick(self, par="", iloc="", jloc="", kloc="", lloc="", **kwargs): + def Sfadele(self, area="", lkey="", lab="", **kwargs): """ - APDL Command: RTHICK + APDL Command: SFADELE - Defines variable thickness at nodes for shell elements. + Deletes surface loads from areas. Parameters ---------- - par - Array parameter (indexed by node number) that expresses the - function to be mapped. For example, func (17) should be the - desired shell thickness at node 17. - - iloc - Position in real constant set for thickness at node I of the - element (default 1). - - jloc - Position in real constant set for thickness at node J of the - element (default 2). + area + Area to which surface load deletion applies. If ALL, delete load + from all selected areas [ASEL]. If AREA = P, graphical picking is + enabled and all remaining command fields are ignored (valid only in + the GUI). A component name may be substituted for AREA. - kloc - Position in real constant set for thickness at node K of the - element (default 3). + lkey + Load key associated with surface load (defaults to 1). See the SFA + command for details. - lloc - Position in real constant set for thickness at node L of the - element (default 4). + lab + Valid surface load label. If ALL, use all appropriate labels. See + the SFA command for labels. Notes ----- - After RTHICK, the REAL number will match the ELEM number of each - selected element. For example, R (ILOC) = func (I NODE), R (JLOC) = - func (J NODE), etc. + Deletes surface loads (and all corresponding finite element loads) from + selected areas. - R(ILOC), R(JLOC), R(KLOC), and R(LLOC) on a previously defined real - constant will be overwritten. Any other real constants on a previously - defined real constant set will remain unchanged. This command cannot be - used for beam elements. + This command is also valid in PREP7. """ - command = "RTHICK, %s, %s, %s, %s, %s" % (str(par), str(iloc), str(jloc), str(kloc), str(lloc)) + command = "SFADELE,%s,%s,%s" % (str(area), str(lkey), str(lab)) self.RunCommand(command, **kwargs) - def Dmat(self, matrix="", type="", method="", val1="", val2="", val3="", - val4="", val5="", **kwargs): + def Plcint(self, action="", id="", node="", cont="", dtype="", **kwargs): """ - APDL Command: *DMAT + APDL Command: PLCINT - Creates a dense matrix. + Plots the fracture parameter (CINT) result data. Parameters ---------- - matrix - Name used to identify the matrix. Must be specified. + action + PATH - type - Matrix type: + PATH - Plots CINT quantities according to path number (default). - Double precision real values (default). - Complex double precision values. + FRONT - Plots CINT quantities distribution along the crack front. - method - Method used to create the matrix: + id + Crack ID number. - Allocate space for a matrix (default). - Resize an existing matrix to new row and column dimensions. Values are kept - from the original matrix. If the dimensions - specified by Val1 (rows) and Val2 (columns) are - greater than the original matrix size, the - additional entries are assigned a value of zero. + node + Crack tip node number (default = ALL). - Copy an existing matrix. - Link to an existing matrix. The memory will be shared between the original - matrix and the new matrix. This is useful for - manipulating a submatrix of a larger matrix. The - Val1 through Val5 arguments will be used to - specify the lower and upper bounds of row and - column numbers from the original matrix. + cont + Contour number (Default = ALL). - val1, val2, val3, val4, val5 - Additional input. The meaning of Val1 through Val5 will vary - depending on the specified Method. See details below. + dtype + Data type to output: - Notes - ----- - This command allows you to create a dense matrix. To create a sparse - matrix, use the *SMAT command. *SMAT is recommended for large matrices - obtained from the .FULL or .HBMAT file. Refer to the HBMAT command - documentation for more information about .FULL file contents. + JINT - J-integral (default) - Use the *VEC command to create a vector. + IIN1 - Interaction integral 1 - For very large matrices, use the OUTOFCORE option (Method = ALLOC or - COPY) to keep some of the matrix on disk if there is insufficient - memory. + IIN2 - Interaction integral 2 - When importing a dense matrix from a DMIG file, you can define the - formatting of the file using the Val3 and Val4 fields. Here are a few - different example of formats: + IIN3 - Interaction integral 3 - A formatted file (using Val3=’F’, and Val4=8): + K1 - Mode 1 stress-intensity factor - A non-formatted file with blank separators: + K2 - Mode 2 stress-intensity factor + + K3 - Mode 3 stress-intensity factor + + G1 - Mode 1 energy release rate + + G2 - Mode 2 energy release rate + + G3 - Mode 3 energy release rate + + GT - Total energy release rate + + MFTX - Total material force X - A non-formatted file with a comma separator (using Val3=’,’): + MFTY - Total material force Y - """ - command = "*DMAT, %s, %s, %s, %s, %s, %s, %s, %s" % (str(matrix), str(type), str(method), str(val1), str(val2), str(val3), str(val4), str(val5)) - self.RunCommand(command, **kwargs) + MFTZ - Total material force Z - def Rlist(self, nset1="", nset2="", ninc="", **kwargs): - """ - APDL Command: RLIST + TSTRESS - T-stress - Lists the real constant sets. + CEXT - Crack extension - Parameters - ---------- - nset1, nset2, ninc - List real constant sets from NSET1 to NSET2 (defaults to NSET1) in - steps of NINC (defaults to 1). If NSET1 = ALL (default), ignore - NSET2 and NINC and list all real constant sets [R]. + CSTAR - C*-integral Notes ----- - The real constant sets listed contain only those values specifically - set by the user. Default values for real constants set automatically - within the various elements are not listed. - - This command is valid in any processor. + The PLCINT command is not available for XFEM-based crack growth + analyses results processing. """ - command = "RLIST, %s, %s, %s" % (str(nset1), str(nset2), str(ninc)) + command = "PLCINT,%s,%s,%s,%s,%s" % (str(action), str(id), str(node), str(cont), str(dtype)) self.RunCommand(command, **kwargs) - def Pmap(self, form="", discon="", **kwargs): + def Suresu(self, fname="", fext="", fdir="", **kwargs): """ - APDL Command: PMAP + APDL Command: SURESU - Creates mapping of the path geometry by defining path interpolation - division points. + Read a set of surface definitions and result items from a file and make + them the current set. Parameters ---------- - form - Defines the mapping method: + -- + Unused field. - UNIFORM - Maps uniform divisions (specified on the nDiv argument of the PATH command) - between specified points. This is the default. + fname + Eight character name. - ACCURATE - Map geometry using a small division at the beginning and end of each segment. - This gives you accurate derivatives, integrals, - tangents, and normals for curves which do not have - continuous slopes at the specified points. To create - nonuniform divisions, the nDiv argument of the PATH - command must be greater than 2. + fext + Extension name. - discon - Sets mapping for discontinuities in the field. The divisions are - modified to put a point just before and just after the - discontinuity. The valid label is MAT, for a material - discontinuity. No discontinuity is the default. Discontinuity - mapping involves the NOAV option on the PDEF command. + fdir + Optional path specification. + + Notes + ----- + Reading (and therefore resuming) surface and result definitions from a + file overwritea any existing surface definitions. + + Reading surfaces back into the postprocessor (/POST1) does not insure + that the surfaces (and their results) are appropriate for the model + currently residing in /POST1. """ - command = "PMAP, %s, %s" % (str(form), str(discon)) + command = "SURESU,%s,%s,%s" % (str(fname), str(fext), str(fdir)) self.RunCommand(command, **kwargs) - def Deriv(self, ir="", iy="", ix="", name="", facta="", **kwargs): + def Ltran(self, kcnto="", nl1="", nl2="", ninc="", kinc="", noelem="", + imove="", **kwargs): """ - APDL Command: DERIV + APDL Command: LTRAN - Differentiates a variable. + Transfers a pattern of lines to another coordinate system. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. + kcnto + Reference number of coordinate system where the pattern is to be + transferred. Transfer occurs from the active coordinate system. + The coordinate system type and parameters of KCNTO must be the same + as the active system. - iy, ix - Reference numbers of variables to be operated on. IY is - differentiated with respect to IX. + nl1, nl2, ninc + Transfer lines from pattern beginning with NL1 to NL2 (defaults to + NL1) in steps of NINC (defaults to 1). If NL1 = ALL, NL2 and NINC + are ignored and pattern is all selected lines [LSEL]. If NL1 = 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 NL1 (NL2 and NINC are ignored). - -- - Unused field. + kinc + Keypoint increment between sets. If zero, the lowest available + keypoint numbers are assigned [NUMSTR]. - name - Thirty-two character name for identifying the variable on printouts - and displays. Embedded blanks are compressed for output. + noelem + Specifies whether nodes and elements are also to be generated: - --, -- - Unused fields. + 0 - Generate nodes and elements associated with the original lines, if they exist. - facta - Scaling factor (positive or negative) applied as shown below - (defaults to 1.0). + 1 - Do not generate nodes and elements. + + imove + Specifies whether lines will be moved or newly defined: + + 0 - Generate additional lines. + + 1 - Move original lines to new position retaining the same keypoint numbers (KINC + and NOELM are ignored). Valid only if the old lines are no + longer needed at their original positions. Corresponding + meshed items are also moved if not needed at their original + position. Notes ----- - Differentiates variables according to the operation: - - IR = FACTA x d(IY)/d(IX) + Transfers a pattern of lines (and their corresponding keypoints and + mesh) from one coordinate system to another (see analogous node + transfer command, TRANSFER). The MAT, TYPE, REAL, and ESYS attributes + are based upon the lines in the pattern and not upon the current + settings. Coordinate systems may be translated and rotated relative to + each other. Initial pattern may be generated in any coordinate system. + However, solid modeling in a toroidal coordinate system is not + recommended. Coordinate and slope values are interpreted in the active + coordinate system and are transferred directly. Lines are generated as + described in the LGEN command. """ - command = "DERIV, %s, %s, %s, %s, %s" % (str(ir), str(iy), str(ix), str(name), str(facta)) + command = "LTRAN,%s,%s,%s,%s,%s,%s,%s" % (str(kcnto), str(nl1), str(nl2), str(ninc), str(kinc), str(noelem), str(imove)) self.RunCommand(command, **kwargs) - def Plorb(self, **kwargs): + def Nslv(self, type="", nkey="", **kwargs): """ - APDL Command: PLORB - - Displays the orbital motion of a rotating structure - - Notes - ----- - When a structure is rotating and the Coriolis or gyroscopic effect is - taken into account (CORIOLIS), nodes lying on the rotation axis - generally exhibit an elliptical orbital motion. The PLORB command - displays the orbit of each rotating node as well as the deformed shape - at time t = 0 (the real part of the solution). + APDL Command: NSLV - To print the characteristics of the orbital path traversed by each - node, issue the PRORB command. + Selects those nodes associated with the selected volumes. - The PLORB command is valid for line elements (such as BEAM188, BEAM189, - PIPE288, and PIPE289). + Parameters + ---------- + type + Label identifying the type of node select: - Your model must also involve a rotational velocity (OMEGA or CMOMEGA) - with Coriolis enabled in a stationary reference frame - (CORIOLIS,,,,RefFrame = ON). + S - Select a new set (default). - A SET command should be issued after PLORB to ensure proper output for - subsequent postprocessing commands. + R - Reselect a set from the current set. - The coordinate system for displaying nodal results must be global - Cartesian (RSYS,KCN = 0). + A - Additionally select a set and extend the current set. - """ - command = "PLORB, " % () - self.RunCommand(command, **kwargs) + U - Unselect a set from the current set. - def Gplist(self, gap1="", gap2="", ginc="", **kwargs): - """ - APDL Command: GPLIST + nkey + Specifies whether only interior volume nodes are to be selected: - Lists the gap conditions. + 0 - Select only nodes interior to selected volumes. - Parameters - ---------- - gap1, gap2, ginc - List gap conditions from GAP1 to GAP2 (GAP2 defaults to GAP1) in - steps of GINC (defaults to 1). If GAP1 = ALL (default), GAP2 and - GINC are ignored and all gap conditions are listed. + 1 - Select all nodes (interior to volume, interior to areas, interior to lines, and + at keypoints) associated with the selected volumes. Notes ----- + Valid only if the nodes were generated by a volume meshing operation + [VMESH] on a solid model that contains the selected volumes. + This command is valid in any processor. """ - command = "GPLIST, %s, %s, %s" % (str(gap1), str(gap2), str(ginc)) + command = "NSLV,%s,%s" % (str(type), str(nkey)) self.RunCommand(command, **kwargs) - def Vclear(self, nv1="", nv2="", ninc="", **kwargs): + def Clabel(self, wn="", key="", **kwargs): """ - APDL Command: VCLEAR + APDL Command: /CLABEL - Deletes nodes and volume elements associated with selected volumes. + Specifies contour labeling. Parameters ---------- - nv1, nv2, ninc - Delete mesh for volumes NV1 to NV2 (defaults to NV1) in steps of - NINC (defaults to 1). If NV1 = ALL, NV2 and NINC are ignored and - mesh for all selected volumes [VSEL] is deleted. If NV1 = 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 NV1 (NV2 and NINC are ignored). + wn + Window number (or ALL) to which command applies (defaults to 1). + + key + Labeling key: + + 0 or 1 - Label contours with legend or color (default). + + -1 - No contour labeling. + + N - Same as 1 except show alphabetic legend only on every Nth element. Notes ----- - Deletes all nodes and volume elements associated with selected volumes - (regardless of whether the nodes or elements are selected). Nodes - shared by adjacent meshed volumes and nodes associated with non-volume - elements will not be deleted. Attributes assigned as a result of VATT - are maintained. In the program's response to the command, if a volume, - area, line, or keypoint is tallied as "cleared," it means either its - node or element reference was deleted. + Labels contours for identification with alphabetic legend for vector + displays and color for raster displays. Number of contours is + automatically reduced to 9 (or fewer) for clarity. Use /CONTOUR + command to increase (24 maximum for alphabetic labeling; no limit for + color labeling). + + This command is valid in any processor. """ - command = "VCLEAR, %s, %s, %s" % (str(nv1), str(nv2), str(ninc)) + command = "/CLABEL,%s,%s" % (str(wn), str(key)) self.RunCommand(command, **kwargs) - def Nodes(self, **kwargs): + def Mftime(self, time="", **kwargs): """ - APDL Command: NODES + APDL Command: MFTIME - Specifies "Nodes" as the subsequent status topic. + Sets end time for an ANSYS Multi-field solver analysis. + + Parameters + ---------- + time + End time of an ANSYS Multi-field solver analysis. Defaults to 1. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + A MFTIME setting overrides any other end time setting (TIME). - If entered directly into the program, the STAT command should - immediately follow this command. + This command is also valid in PREP7. + + See Multi-field Commands in the Coupled-Field Analysis Guide for a list + of all ANSYS Multi-field solver commands and their availability for MFS + and MFX analyses. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "NODES, " % () + command = "MFTIME,%s" % (str(time)) self.RunCommand(command, **kwargs) - def Sfelist(self, elem="", lab="", **kwargs): + def Expass(self, key="", **kwargs): """ - APDL Command: SFELIST + APDL Command: EXPASS - Lists the surface loads for elements. + Specifies an expansion pass of an analysis. Parameters ---------- - elem - Element at which surface load is to be listed. If ALL (or blank), - list loads for all selected elements [ESEL]. If ELEM = P, - graphical picking is enabled and all remaining command fields are - ignored (valid only in the GUI). A component name may be - substituted for ELEM. + key + Expansion pass key: - lab - Valid surface load label. If ALL (or blank), use all appropriate - labels. + OFF - No expansion pass will be performed (default). + + ON - An expansion pass will be performed. Notes ----- - The surface loads listed correspond to the current database values. The - database is not updated for surface loads in POST1. Surface loads - specified in tabular form, however, do list their values corresponding - to the current results set in POST1. - - For SURF151 or SURF152 elements with an extra node for radiation and/or - convection calculations (KEYOPT(5) = 1), the bulk temperature listed is - the temperature of the extra node. If the thermal solution does not - converge, the extra node temperature is not available for listing. - - Film effectiveness and free stream temperatures specified by the SFE - command (Lab = CONV) can only be listed by this command. The command - lists film coefficients and bulk temperatures first and then film - effectiveness and free stream temperatures below those values. + Specifies that an expansion pass of a modal, substructure, buckling, + transient, or harmonic analysis is to be performed. - Distributed ANSYS Restriction: In Distributed ANSYS within the SOLUTION - processor, SFELIST support is not available for elements SURF151 and - SURF152 when surface loading is applied via extra nodes (KEYOPT(5 > 0). - If the command is issued under these circumstances, the resulting - surface loads shown are not reliable. + Note:: : This separate solution pass requires an explicit FINISH to + preceding analysis and reentry into SOLUTION. - This command is valid in any processor. + This command is also valid in PREP7. """ - command = "SFELIST, %s, %s" % (str(elem), str(lab)) + command = "EXPASS,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Fitem(self, nfield="", item="", itemy="", itemz="", **kwargs): + def Mpread(self, fname="", ext="", **kwargs): """ - APDL Command: FITEM + APDL Command: MPREAD - Identifies items chosen by a picking operation (GUI). + Reads a file containing material properties. Parameters ---------- - nfield - Field number on the command which uses the picking data. (Count - the command name as a field, so that a 2 indicates the first - command argument, 3 the second command argument, etc.) The - corresponding field on the command will have a P51X label. + fname + File name and directory path (248 characters maximum, including + directory). If you do not specify the LIB option, the default + directory is the current working directory. If you specify the LIB + option, the default is the following search path: the current + working directory, the user's home directory, MPLIB_DIR (as + specified by the /MPLIB,READ,PATH command) and /ansys_dir/matlib + (as defined by installation). If you use the default for your + directory, you can use all 248 characters for the file name. - item - Entity number of the entity picked. Negative entity numbers are - used to indicate a range of entities. If the item picked is a - coordinate location, then this field represents the X-coordinate. - See also the FLST command. + ext + Filename extension (eight-character maximum). - itemy, itemz - Y and Z coordinates of a picked coordinate location. ITEM - represents the X coordinate. See also the FLST command. + -- + Unused field. + + lib + Reads material library files previously written with the MPWRITE + command. (See the description of the LIB option for the MPWRITE + command.) The only allowed value for LIB is LIB. Notes ----- - This is a command generated by the GUI and will appear in the log file - (Jobname.LOG) if graphical picking is used. This command is not - intended to be typed in directly in an ANSYS session (although it can - be included in an input file for batch input or for use with the /INPUT - command). + Material properties written to a file without the LIB option do not + support nonlinear properties. Also, properties written to a file + without the LIB option are restored in the same material number as + originally defined. To avoid errors, use MPREAD with the LIB option + only when reading files written using MPWRITE with the LIB option. - On the log file, a set of FITEM commands is preceded by one FLST - command which defines the picking specifications for that pick - operation. The data listed in the FITEM commands are used by the first - subsequent command containing a P51X label in one of its fields. + If you omit the LIB option for MPREAD, this command supports only + linear properties. - Caution:: : For a given entity type, a list containing an ITEM that is - larger than the maximum defined entity, could deplete the system memory - and produce unpredictable results. + Material numbers are hardcoded. If you write a material file without + specifying the LIB option, then read that file in using the MPREAD + command with the LIB option, the ANSYS program will not write the file + to a new material number. Instead, it will write the file to the "old" + material number (the number specified on the MPWRITE command that + created the file.) - This command is valid in any processor. + This command is also valid in SOLUTION. """ - command = "FITEM, %s, %s, %s, %s" % (str(nfield), str(item), str(itemy), str(itemz)) + command = "MPREAD,%s,%s" % (str(fname), str(ext)) self.RunCommand(command, **kwargs) - def Itengine(self, type="", enginename="", precondname="", matrix="", - rhsvector="", solvector="", maxiter="", toler="", **kwargs): + def Plcplx(self, key="", **kwargs): """ - APDL Command: *ITENGINE + APDL Command: PLCPLX - Performs a solution using an iterative solver. + Specifies the part of a complex variable to display. Parameters ---------- - type - Specifies the algorithm to be used: - - enginename - Name used to identify this iterative solver engine. Must be - specified. - - precondname - Linear solver engine name (*LSENGINE) identifying the factored - matrix to be used as the preconditioner. - - matrix - Name of the matrix to solve. + key + Complex variable part: - rhsvector - Matrix (load vector) name. + 0 - Amplitude. - solvector - Solution vector name. If non-zero, it will be taken as the initial - vector for the iterative process. + 1 - Phase angle. - maxiter - Maximum number of iterations allowed. Default is 2 times the number - of rows in the matrix. + 2 - Real part. - toler - Convergence tolerance. Default is 1.0E-8. + 3 - Imaginary part. Notes ----- - This command solves Ax = b using a preconditioned conjugate gradient - algorithm. It uses an existing factored system as the preconditioner. - This solution method is useful if an existing matrix has been solved - and minor changes have been made to the matrix. + Used only with harmonic analyses (ANTYPE,HARMIC). + + All results data are stored in the form of real and imaginary + components and converted to amplitude and/or phase angle as specified + via the PLCPLX command. The conversion is not valid for derived + results (such as principal stress/strain, equivalent stress/strain and + USUM). """ - command = "*ITENGINE, %s, %s, %s, %s, %s, %s, %s, %s" % (str(type), str(enginename), str(precondname), str(matrix), str(rhsvector), str(solvector), str(maxiter), str(toler)) + command = "PLCPLX,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Aptn(self, na1="", na2="", na3="", na4="", na5="", na6="", na7="", - na8="", na9="", **kwargs): + def Afun(self, lab="", **kwargs): """ - APDL Command: APTN + APDL Command: *AFUN - Partitions areas. + Specifies units for angular functions in parameter expressions. Parameters ---------- - na1, na2, na3, . . . , na9 - Numbers of areas to be operated on. If NA1 = ALL, NA2 to NA9 are - ignored and all selected areas are used. If NA1 = P, graphical - picking is enabled and all remaining arguments are ignored (valid - only in the GUI). A component name may be substituted for NA1. + lab + Specifies the units to be used: + + Use radians for input and output of parameter angular functions (default). - Use degrees for input and output of parameter angular functions. Notes ----- - Partitions areas that intersect. This command is similar to the - combined functionality of the ASBA and AOVLAP commands. If the - intersection of two or more areas is an area (i.e., planar), new areas - will be created with boundaries that conform to the area of - intersection and to the boundaries of the non-intersecting portions of - the input areas [AOVLAP]. If the intersection is a line (i.e., not - planar), the areas will be subtracted, or divided, along the line(s) of - intersection [ASBA]. Both types of intersection can occur during a - single APTN operation. Areas that do not intersect will not be - modified. See the Modeling and Meshing Guide for an illustration. See - the BOPTN command for an explanation of the options available to - Boolean operations. Element attributes and solid model boundary - conditions assigned to the original entities will not be transferred to - the new entities generated. + Only the SIN, COS, TAN, ASIN, ACOS, ATAN, ATAN2, ANGLEK, and ANGLEN + functions [*SET, *VFUN] are affected by this command. """ - command = "APTN, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(na1), str(na2), str(na3), str(na4), str(na5), str(na6), str(na7), str(na8), str(na9)) + command = "*AFUN,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Prerr(self, **kwargs): + def Aux15(self, **kwargs): """ - APDL Command: PRERR + APDL Command: /AUX15 - Prints SEPC and TEPC. + Enters the IGES file transfer processor. Notes ----- - Prints the percent error in structural energy norm (SEPC) and the - thermal energy norm percent error (TEPC). Approximations of mesh - discretization error associated with a solution are calculated for - analyses having structural or thermal degrees of freedom. + Enters the IGES file transfer processor (ANSYS auxiliary processor + AUX15), used to read an IGES data file into the ANSYS program. - The structural approximation is based on the energy error (which is - similar in concept to the strain energy) and represents the error - associated with the discrepancy between the calculated stress field and - the globally continuous stress field (see POST1 - Error Approximation - Technique in the Mechanical APDL Theory Reference). This discrepancy - is due to the assumption in the elements that only the displacements - are continuous at the nodes. The stress field is calculated from the - displacements and should also be continuous, but generally is not. + This command is valid only at the Begin Level. - Thermal analyses may use any solid and shell thermal element having - only temperature degrees of freedom. The thermal approximation is - based on the total heat flow dissipation and represents the error - associated with the discrepancy between the calculated nodal thermal - flux within an element and a continuous global thermal flux. This - continuous thermal flux is calculated with the normal nodal averaging - procedure. + """ + command = "/AUX15," % () + self.RunCommand(command, **kwargs) - The volume (result label VOLU) is used to calculate the energy error - per element (result label SERR for the structural energy error and TERR - for the thermal energy error). These energy errors, along with the - appropriate energy, are then used to calculate the percent error in - energy norm (SEPC for structural and TEPC for thermal). These - percentages can be listed by the PRERR command, retrieved by the *GET - command (with labels SEPC and TEPC) for further calculations, and shown - on the displacement display (PLDISP), as applicable. + def Vfopt(self, opt="", filename="", ext="", dir="", filetype="", + fileformat="", **kwargs): + """ + APDL Command: VFOPT - For structural analyses, the maximum absolute value of nodal stress - variation of any stress component for any node of an element (result - item SDSG) is also calculated. Similarly, for thermal gradient - components, TDSG is calculated. Minimum and maximum result bounds - considering the possible effect of discretization error will be shown - on contour displays (PLNSOL). For shell elements, the top surface - location is used to produce a meaningful percentage value. SERR, TERR, - SEPC, TEPC, SDSG, and TDSG will be updated whenever the nodal stresses - or fluxes are recalculated. + Specifies options for the view factor file and calculates view factors. - If the energy error is a significant portion of the total energy, then - the analysis should be repeated using a finer mesh to obtain a more - accurate solution. The energy error is relative from problem to - problem but will converge to a zero energy error as the mesh is - refined. An automated adaptive meshing procedure using this energy - error is described with the ADAPT macro. + Parameters + ---------- + opt + View factor option: - The following element- and material-type limitations apply: + NEW - Calculate view factors and write them to a file. + + OFF - Do not recalculate view factors it they already exist in the database, + otherwise calculate compute them. This option is the default + behavior. + + READ - Read view factors from a binary file. For subsequent SOLVE commands, switch to + the default option (OFF). - Valid with most 2-D solid, 3-D solid, axisymmetric solid, or 3-D shell - elements. + NONE - Do not write view factors to a file. - The following element types are not valid: SHELL28, SHELL41, and - SOLID65. + fname + File name for view factor matrix. Default = Jobname. - The model should have only structural or thermal degrees of freedom. + ext + Filename extension for view factor matrix. Default = .vf. - The analysis must be linear (for both material and geometry). + dir + Directory path for view factor matrix. If you do not specify a + directory path, it will default to your working directory. - Multi-material (for example, composite) elements are not valid. + filetype + View factor file type: - Transition regions from one material to another are not valid (that is, - the entire model should consist of one material). + BINA - Binary (default). - Anisotropic materials (TB,ANEL) are not considered. + ASCI - ASCII. - """ - command = "PRERR, " % () - self.RunCommand(command, **kwargs) + fileformat + Format for the specified Filetype: - def Slasherase(self, **kwargs): - """ - APDL Command: /ERASE + Binary files (Filetype = BINA): - 0 - Specifies that the screen is to be erased before each display. + No compression. (View factor file size may be very large.) - 1 Notes ----- - Erase occurs with the next display request, but before the display is - actually started. /NOERASE can be used to suppress the automatic screen - erase. + The VFOPT command allows you to deactivate the view factor computation + (Opt = OFF) if the view factors already exist in the database. The + default behavior is OFF upon encountering the second and subsequent + SOLVE commands in the solution processor. - This command is valid in any processor. + When Opt = READ, only a previously calculated view factor binary file + is valid. + + For 3-D analyses, two options are available for calculating view + factors when running Distributed ANSYS: + + Issue a SOLVE command -- View factors are calculated in parallel mode + if no view factors were previously calculated. + + Issue a VFOPT,NEW command -- View factors are calculated in serial + mode. + + For 2-D analyses, view factors are calculated in serial mode. """ - command = "/ERASE, " % () + command = "VFOPT,%s,%s,%s,%s,%s,%s" % (str(opt), str(filename), str(ext), str(dir), str(filetype), str(fileformat)) self.RunCommand(command, **kwargs) - def Ldrag(self, nk1="", nk2="", nk3="", nk4="", nk5="", nk6="", nl1="", - nl2="", nl3="", nl4="", nl5="", nl6="", **kwargs): + def Remesh(self, action="", filename="", ext="", opt1="", opt2="", + **kwargs): """ - APDL Command: LDRAG + APDL Command: REMESH - Generates lines by sweeping a keypoint pattern along path. + Specifies the starting and ending remeshing points, and other options, + for rezoning. Parameters ---------- - nk1, nk2, nk3, . . . , nk6 - List of keypoints in the pattern to be dragged (6 maximum if using - keyboard entry). If NK1 = P, graphical picking is enabled and all - remaining command fields are ignored (valid only in the GUI). If - NK1 = ALL, all selected keypoints (except those that define the - drag path) will be swept along the path. A component name may also - be substituted for NK1. - - nl1, nl2, nl3, . . . , nl6 - List of lines defining the path along which the pattern is to be - dragged (6 maximum if using keyboard entry). Must be a continuous - set of lines. - - Notes - ----- - Generates lines (and their corresponding keypoints) by sweeping a given - keypoint pattern along a characteristic drag path. If the drag path - consists of multiple lines, the drag direction is determined by the - sequence in which the path lines are input (NL1, NL2, etc.). If the - drag path is a single line (NL1), the drag direction is from the - keypoint on the drag line that is closest to the first keypoint of the - given pattern to the other end of the drag line. + action + START - The magnitude of the vector between the keypoints of the given pattern - and the first path keypoint remains constant for all generated keypoint - patterns and the path keypoints. The direction of the vector relative - to the path slope also remains constant so that patterns may be swept - around curves. Keypoint and line numbers are automatically assigned - (beginning with the lowest available values [NUMSTR]). For best - results, the entities to be dragged should be orthogonal to the start - of the drag path. Drag operations that produce an error message may - create some of the desired entities prior to terminating. + START - Starts the remeshing operation. - """ - command = "LDRAG, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nk1), str(nk2), str(nk3), str(nk4), str(nk5), str(nk6), str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6)) - self.RunCommand(command, **kwargs) + FINISH - Ends the remeshing operation. - def Ftwrite(self, fname="", ext="", **kwargs): - """ - APDL Command: FTWRITE + READ - Reads in a generic (.cdb format) new mesh file generated by a third-party + application. This remeshing option applies to both 2-D and + 3-D rezoning. - Writes all currently stored fatigue data on a file. + SPLIT - Splits selected elements of an existing 2-D or 3-D mesh such that a + quadrilateral element is split into four quadrilaterals, a + degenerate quadrilateral is split into three + quadrilaterals, and a quadratic triangular element is split + into four quadratic triangles. A tetrahedral element is + split into eight tetrahedra. - Parameters - ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + filename + Name of a .cdb generic mesh file. The default value is jobname. + Valid only when Action = READ. ext - Filename extension (eight-character maximum). + File name extension. The only valid (and the default) extension is + CDB. Valid only when Action = READ. -- Unused field. + opt1 + Specifies options for the new mesh when using a generic imported + mesh file or the mesh-splitting remeshing method. Valid only when + Action = READ or Action = SPLIT. + + REGE - Regenerates all node and element numbers on the new mesh using an offset of the + highest existing node and element numbers. This is the + default behavior when Action = READ; otherwise, this value + is ignored. + + KEEP - Keeps the similarly numbered nodes and elements in the new and the old meshes + unchanged. Valid only when Action = READ. + + TRAN - Generates transition elements to ensure nodal compatibility between split and + unsplit parts of the mesh. Valid only when Action = SPLIT + for 2-D analyses. + + opt2 + Specifies transition options for the mesh when elements are split. + These options are valid only when Action = SPLIT for 2-D analyses. + + QUAD - Minimizes the number of degenerate elements in the transition mesh and tries to + maximize the number of quadrilateral transition elements + across several layers of elements from the split regions. + This is the default behavior. + + DEGE - Creates transition zones between the split and unsplit parts of the mesh using + mostly degenerate elements with a single element layer. + Notes ----- - Data are written in terms of the equivalent POST1 fatigue commands - [FTSIZE, FL, FS, etc.] which you can then edit and resubmit to POST1 - (with a /INPUT command). + The REMESH command is valid only during the rezoning (REZONE) process. - Once you have created a fatigue data file, each subsequent use of the - FTWRITE command overwrites the contents of that file. + In rezoning, a REMESH,START command temporarily exits the /SOLU + solution processor and enters a special mode of the /PREP7 + preprocessor, after which a limited number of preprocessing commands + are available for mesh control, but no solution commands are valid. + + A REMESH,FINISH command exits the remeshing process and reenters the + solution processor, at which point no preprocessing commands are + available. If the new mesh exists, the command creates contact elements + if needed, and transfers all boundary conditions (BCs) and loads from + the original mesh to the new mesh. You can issue any list or plot + command to verify the created contact elements, transferred BCs, and + loads. A REMESH,FINISH command is valid only after a previously issued + REMESH,START command, and is the only way to safely end the remeshing + operation (and exit the special mode of the /PREP7 preprocessor). + + A REMESH,READ command is valid only when you want to perform a rezoning + operation using a generic new mesh generated by a third-party + application (rather than a new mesh generated internally by the ANSYS + program). The command is valid between REMESH,START and REMESH,FINISH + commands. In this case, the only valid file extension is .cdb (Ext = + CDB). When Option = KEEP, ANSYS assumes that the common node and + element numbers between the old and the new mesh are topologically + similar (that is, these commonly numbered areas have the same element + connectivity and nodal coordinates). + + A REMESH,SPLIT command is valid only when you wish to perform a + rezoning operation by splitting the existing mesh. The command is valid + between REMESH,START and REMESH,FINISH commands. + + You can use REMESH,READ and REMESH,SPLIT commands for horizontal + multiple rezoning provided that the meshes used in REMESH,READ do not + intersect. (ANSYS recommends against issuing an AREMESH command after + issuing either of these commands.) + + For more detailed about the remeshing options available to you during a + rezoning operation, see Rezoning in the Advanced Analysis Guide. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "FTWRITE, %s, %s" % (str(fname), str(ext)) + command = "REMESH,%s,%s,%s,%s,%s" % (str(action), str(filename), str(ext), str(opt1), str(opt2)) self.RunCommand(command, **kwargs) - def Smcons(self, **kwargs): + def Pcircle(self, xcentr="", ycentr="", xlrad="", **kwargs): """ - APDL Command: SMCONS + APDL Command: /PCIRCLE - Specifies "Constraints on the solid model" as the subsequent status - topic. + Creates an annotation circle (GUI). + + Parameters + ---------- + xcentr + Circle X center location (-1.0 < X < 2.0). + + ycentr + Circle Y center location (-1.0 < Y < 1.0). + + xlrad + Circle radius length. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + Creates an annotation circle to be written directly onto the display at + a specified location. This is a command generated by the Graphical + User Interface (GUI) and will appear in the log file (Jobname.LOG) if + annotation is used. This command is not intended to be typed in + directly in an ANSYS session (although it can be included in an input + file for batch input or for use with the /INPUT command). - If entered directly into the program, the STAT command should - immediately follow this command. + All circles are shown on subsequent displays unless the annotation is + turned off or deleted. Use the /LSPEC and the /PSPEC command to set + the attributes of the circle. + + This command is valid in any processor. """ - command = "SMCONS, " % () + command = "/PCIRCLE,%s,%s,%s" % (str(xcentr), str(ycentr), str(xlrad)) self.RunCommand(command, **kwargs) - def Shrink(self, ratio="", **kwargs): + def Kuse(self, key="", **kwargs): """ - APDL Command: /SHRINK + APDL Command: KUSE - Shrinks elements, lines, areas, and volumes for display clarity. + Specifies whether or not to reuse the factorized matrix. Parameters ---------- - ratio - Shrinkage ratio (input as a decimal (0.0 to 0.5)). Defaults to 0.0 - (no shrinkage). Values greater than 0.5 default to 0.1 (10% - shrinkage). + key + Reuse key: + + 0  - Program decides whether or not to reuse the previous factorized stiffness + matrix. + + 1  - Force the previous factorized stiffness matrix to be reused. Used mainly in a + restart. Forcing reuse of the matrix is a nonstandard use of + the program, and should be done with caution. For instance, + using this option and changing the number of elements, or the + number or type of degrees of freedom, may cause an abort. + + -1  - All element matrices are reformed and are used to reform a new factorized + stiffness matrix. Notes ----- - Shrinks the elements, lines, areas, and volumes so that adjacent - entities are separated for clarity. Portions of this command are not - supported by PowerGraphics [/GRAPHICS,POWER]. - - If only the common lines of non-coplanar faces are drawn (as per the - /EDGE command), then this command is ignored. + Overrides the program logic to determine whether or not to reuse the + previous factorized stiffness matrix for each substep of this load + step. Applies only to static or full transient analyses and to full + harmonic analyses if the frequency is not changed for continuing + loadsteps. For full harmonic analyses, only KEY = 1 or KEY = 0 is + valid. - This command is valid in any processor. + This command is also valid in PREP7. """ - command = "/SHRINK, %s" % (str(ratio)) + command = "KUSE,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Lsbl(self, nl1="", nl2="", sepo="", keep1="", keep2="", **kwargs): + def Synchro(self, ratio="", cname="", **kwargs): """ - APDL Command: LSBL + APDL Command: SYNCHRO - Subtracts lines from lines. + Specifies whether the excitation frequency is synchronous or + asynchronous with the rotational velocity of a structure. Parameters ---------- - nl1 - Line (or lines, if picking is used) to be subtracted from. If ALL, - use all selected lines. Lines specified in this argument are not - available for use in the NL2 argument. If P, graphical picking is - enabled (valid only in the GUI) and all remaining fields are - ignored. A component name may also be substituted for NL1. + ratio + The ratio between the frequency of excitation and the frequency of + the rotational velocity of the structure. This value must be + greater than 0. The default is an unbalance excitation (RATIO = + 1.0). - nl2 - Line (or lines, if picking is used) to subtract. If ALL, use all - selected lines (except those included in the NL1 argument). A - component name may also be substituted for NL2. + cname + The name of the rotating component on which to apply the harmonic + excitation. - sepo - Behavior if the intersection of the NL1 lines and the NL2 lines is - a keypoint or keypoints: + Notes + ----- + The SYNCHRO command specifies whether the excitation frequency is + synchronous or asynchronous with the rotational velocity of a structure + in a harmonic analysis. Use the command to take into account rotating + harmonic forces on rotating structures. - (blank) - The resulting lines will share keypoint(s) where they touch. + Mechanical APDL calculatestes the rotational velocity Ω of the + structure from the excitation frequency f, defined (via the HARFRQ + command) as Ω = 2πf / RATIO. The rotational velocity is applied along + the direction cosines of the rotation axis (specified via an OMEGA or + CMOMEGA command). - SEPO - The resulting lines will have separate, but coincident keypoint(s) where they - touch. + Specifying any value for RATIO causes a general rotational force + excitation and not an unbalance force. To define an unbalance + excitation force (F = Ω2 * Unb), RATIO should be left blank (the nodal + unbalance Unb is specified via the F command). - keep1 - Specifies whether NL1 lines are to be deleted: + The SYNCHRO command is valid only for a full-solution harmonic analysis + (HROPT,Method = FULL) and the Variational Technology method + (HROPT,Method = VT) involving a rotating structure (OMEGA or CMOMEGA) + with Coriolis enabled in a stationary reference frame + (CORIOLIS,,,,RefFrame = ON). - (blank) - Use the setting of KEEP on the BOPTN command. + """ + command = "SYNCHRO,%s,%s" % (str(ratio), str(cname)) + self.RunCommand(command, **kwargs) - DELETE - Delete NL1 lines after LSBL operation (override BOPTN command settings). + def Ldele(self, nl1="", nl2="", ninc="", kswp="", **kwargs): + """ + APDL Command: LDELE - KEEP - Keep NL1 lines after LSBL operation (override BOPTN command settings). + Deletes unmeshed lines. - keep2 - Specifies whether NL2 lines are to be deleted: + Parameters + ---------- + nl1, nl2, ninc + Delete lines from NL1 to NL2 (defaults to NL1) in steps of NINC + (defaults to 1). If NL1 = ALL, NL2 and NINC are ignored and all + selected lines [LSEL] are deleted. If NL1 = 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 NL1 (NL2 + and NINC are ignored). - (blank) - Use the setting of KEEP on the BOPTN command. + kswp + Specifies whether keypoints are also to be deleted: - DELETE - Delete NL2 lines after LSBL operation (override BOPTN command settings). + 0 - Delete lines only. - KEEP - Keep NL2 lines after LSBL operation (override BOPTN command settings). + 1 - Delete lines, as well as keypoints attached to lines but not attached to other + lines. Notes ----- - Generates new lines by subtracting the regions common to both NL1 and - NL2 lines (the intersection) from the NL1 lines. The intersection can - be a line(s) or point(s). If the intersection is a point and SEPO is - blank, the NL1 line is divided at the point and the resulting lines - will be connected, sharing a common keypoint where they touch. If SEPO - is set to SEPO, NL1 is divided into two unconnected lines with separate - keypoints where they touch. See the Modeling and Meshing Guide for an - illustration. See the BOPTN command for an explanation of the options - available to Boolean operations. Element attributes and solid model - boundary conditions assigned to the original entities will not be - transferred to the new entities generated. LSBL,ALL,ALL will have no - effect since all the lines (in NL1) will be unavailable as NL2 lines. + A line attached to an area cannot be deleted unless the area is first + deleted. """ - command = "LSBL, %s, %s, %s, %s, %s" % (str(nl1), str(nl2), str(sepo), str(keep1), str(keep2)) + command = "LDELE,%s,%s,%s,%s" % (str(nl1), str(nl2), str(ninc), str(kswp)) self.RunCommand(command, **kwargs) - def Nlist(self, node1="", node2="", ninc="", lcoord="", sort1="", sort2="", - sort3="", kinternal="", **kwargs): + def Dvmorph(self, volu="", xarea="", rmshky="", **kwargs): """ - APDL Command: NLIST + APDL Command: DVMORPH - Lists nodes. + Move nodes in selected volumes to conform to structural displacements. Parameters ---------- - node1, node2, ninc - List nodes from NODE1 to NODE2 (defaults to NODE1) in steps of NINC - (defaults to 1). If NODE1 = ALL (default), NODE2 and NINC are - ignored and 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). + volu + Non-structural volume to which mesh movement (morph) applies. If + ALL, apply morphing to all selected volumes [VSEL]. If VOLU = P, + graphical picking is enabled. A component may be substituted for + VOLU. - lcoord - Coordinate listing key: + xarea + Areas to be excluded from morphing. If ALL, exclude all selected + areas [ASEL]. If XAREA = P, graphical picking is enabled. A + component may be substituted for XAREA. If XAREA is blank + (default), allow morphing of nodes attached to areas of the + selected volumes (VOLU) which are not shared by unselected volumes. + (See Notes for clarification). - (blank) - List all nodal information + rmshky + Remesh flag option: - COORD - Suppress all but the XYZ coordinates (shown to a higher degree of accuracy than - when displayed with all information). + 0 - Remesh the selected non-structural volumes only if mesh morphing fails. - sort1 - First item on which to sort. Valid item names are NODE, X, Y, Z, - THXY, THYZ, THXZ + 1 - Remesh the selected non-structural volumes and bypass mesh morphing. - sort2, sort3 - Second and third items on which to sort. Valid item names are the - same as for SORT1. + 2 - Perform mesh morphing only and do not remesh. - kinternal - Internal nodes listing key: + Notes + ----- + The selected volumes should include only non-structural regions + adjacent to structural regions. DVMORPH will morph the non-structural + volumes to coincide with the deflections of the structural regions. - (blank) - List only external nodes. + Nodes in the structural regions move in accordance with computed + displacements. Displacements from a structural analysis must be in the + database prior to issuing DVMORPH. - INTERNAL - List all nodes, including internal nodes. + By default, nodes attached to areas can move along the areas. You can + use XAREA to restrain nodes on certain areas. - Notes - ----- - Lists nodes in the active display coordinate system [DSYS]. Nodal - coordinate rotation angles are also listed (relative to the global - Cartesian coordinate system). + By default (RMSHKY = 0), DVMORPH will remesh the selected non- + structural volumes entirely if a satisfactory morphed mesh cannot be + provided. - Node listing can be in a sorted order (ascending). SORT2, for example, - will be carried out on nodes having equal values of SORT1. + If boundary conditions and loads are applied directly to nodes and + elements, the DVMORPH command requires that these be removed before + remeshing can take place. - This command is valid in any processor. + Exercise care with initial conditions defined by the IC command. Before + a structural analysis is performed for a sequentially coupled analysis, + the DVMORPH command requires that initial conditions be removed from + all null element type nodes in the non-structural regions. Use ICDELE + to delete the initial conditions. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "NLIST, %s, %s, %s, %s, %s, %s, %s, %s" % (str(node1), str(node2), str(ninc), str(lcoord), str(sort1), str(sort2), str(sort3), str(kinternal)) + command = "DVMORPH,%s,%s,%s" % (str(volu), str(xarea), str(rmshky)) self.RunCommand(command, **kwargs) - def Nwrite(self, fname="", ext="", kappnd="", **kwargs): + def Repeat(self, ntot="", vinc1="", vinc2="", vinc3="", vinc4="", vinc5="", + vinc6="", vinc7="", vinc8="", vinc9="", vinc10="", vinc11="", + **kwargs): """ - APDL Command: NWRITE + APDL Command: *REPEAT - Writes nodes to a file. + Repeats the previous command. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. - - ext - Filename extension (eight-character maximum). - - -- - Unused field. - - kappnd - Append key: - - 0 - Rewind file before the write operation. + ntot + Number of times the preceding command is executed (including the + initial execution). Must be 2 or greater. NTOT of 2 causes one + repeat (for a total of 2 executions). - 1 - Append data to the end of the existing file. + vinc1, vinc2, vinc3, . . . , vinc11 + Value increments applied to first through eleventh data fields of + the preceding command. Notes ----- - Writes selected nodes [NSEL] to a file. The write operation is not - necessary in a standard ANSYS run but is provided as a convenience to - users wanting a coded node file. Data are written in a coded format. - The format used is (I8, 6G20.13) to write out - NODE,X,Y,Z,THXY,THYZ,THZX. If the last number is zero (i.e., THZX = - 0), or the last set of numbers are zero, they are not written but are - left blank. Therefore, you must use a formatted read to process this - file. Coordinate values are in the global Cartesian system. + *REPEAT must immediately follow the command that is to be repeated. + The numeric arguments of the initial command may be incremented in the + generated commands. The numeric increment values may be integer or + real, positive or negative, zero or blank. Alphanumeric arguments + cannot be incremented. For large values of NTOT, consider printout + suppression (/NOPR command) first. + + Most commands beginning with slash (/), star (*), as well as "unknown + command" macros, cannot be repeated. For these commands, or if more + than one command is to be repeated, include them within a do-loop. File + switching commands (those reading additional commands) cannot be + repeated. If a *REPEAT command immediately follows another *REPEAT + command, the repeat action only applies to the last non-*REPEAT + command. Also, *REPEAT should not be used in interactive mode + immediately after a) a command (or its log file equivalent) that uses + picking, or b) a command that requires a response from the user. + + This command is valid in any processor. """ - command = "NWRITE, %s, %s, %s" % (str(fname), str(ext), str(kappnd)) + command = "*REPEAT,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(ntot), str(vinc1), str(vinc2), str(vinc3), str(vinc4), str(vinc5), str(vinc6), str(vinc7), str(vinc8), str(vinc9), str(vinc10), str(vinc11)) self.RunCommand(command, **kwargs) - def Qrdopt(self, reusekey="", symmeth="", cmccoutkey="", **kwargs): + def Torqc2d(self, rad="", numn="", lcsys="", **kwargs): """ - APDL Command: QRDOPT + APDL Command: TORQC2D - Specifies additional QRDAMP modal analysis options. + Calculates torque on a body in a magnetic field based on a circular + path. Parameters ---------- - reusekey - Reuse key for method=QRDAMP specified in MODOPT command. + rad + Radius of the circular path. The nodes for the path are created at + this radius. - ON - Reuse the symmetric eigensolution from the previous load steps or from the - previous solution. + numn + Number of nodes to be created for the circular path. The greater + the number of nodes, the higher the accuracy of the torque + evaluation. Defaults to 18. - OFF - Do not reuse (calculates symmetric eigensolution at current load step). This is - the default. + lcsys + (Optional) Local coordinate system number to be used for defining + the circular arc of nodes and the path. Defaults to 99. (If a + local system numbered 99 already exists, it will be overwritten by + this default.) - --, -- - Unused fields. + Notes + ----- + TORQC2D invokes an ANSYS macro which calculates the mechanical torque + on a body using a circular path. It is used for a circular or + cylindrical body such as a rotor in an electric machine. The body must + be centered about the global origin and must be surrounded by air + elements. The air elements surrounding the path at radius RAD must be + selected, and elements with a high-permeability material should be + unselected prior to using the macro. The macro is valid for 2-D planar + analyses only. For a harmonic analysis, the macro calculates the time- + average torque. Radial symmetry models are allowed, i.e., the model + need not be a full 360° model. - symmeth - Mode-extraction method to be used for the symmetric eigenvalue - problem. + The calculated torque is stored in the parameter TORQUE. If the model + is not a full 360° model, TORQUE should be multiplied by the + appropriate factor (such as 4.0 for a 90° sector) to obtain the total + torque. A node plot showing the path is produced in interactive mode. - LANB - Block Lanczos (default for shared-memory parallel processing). + The torque is calculated via a circular path integral of the Maxwell + stress tensor. The circular path and the nodes for the path are + created by the macro at the specified radius RAD. Path operations are + used for the calculation, and all path items are cleared upon + completion. See the TORQ2D command for torque calculation based on an + arbitrary, non-circular path. - SUBSP - Subspace algorithm (default for distributed-memory parallel processing). + """ + command = "TORQC2D,%s,%s,%s" % (str(rad), str(numn), str(lcsys)) + self.RunCommand(command, **kwargs) - cmccoutkey - Complex Modal Contribution Coefficients (CMCC) output key. See - Calculate the Complex Mode Contribution Coefficients (CMCC) in the - Structural Analysis Guide for details and usage. + def Stargo(self, b_ase="", **kwargs): + """ + APDL Command: *GO - ON - Output the CMCC to the text file Jobname.CMCC. + Causes a specified line on the input file to be read next. - OFF - Do not output the CMCC. This is the default. + Parameters + ---------- + base + "Go to" action: + + A user-defined label (beginning with a colon (:), 8 characters maximum). The command reader will skip (and wrap to the beginning of the file, if necessary) to the first line that begins with the matching :label. - Caution:   This label option may not be mixed with do-loop or if-then-else + constructs. Notes ----- - If the filename.modesym file exists in the working directory and - ReuseKey = ON, filename.modesym will be reused. If filename.modesym - does not exist in the working directory, the symmetric eigensolution - will be calculated. - - When ReuseKey=ON, both the new modal analysis (filename.modesym usage) - and the preceding modal analysis (filename.modesym generation) must be - performed using the same product version number. + Causes the next read to be from a specified line on the input file. + Lines may be skipped or reread. The *GO command will not be executed + unless it is part of a macro, user file (processed by *USE), an + alternate input file (processed by /INPUT), or unless it is used in a + batch-mode input stream. Jumping into, out of, or within a do-loop or + an if-then-else construct to a :label line is not allowed. - The mode-extraction method changes depending on the type of parallelism - involved. For performance reasons, the subspace method is used with - distributed-memory parallel processing (Distributed ANSYS) runs, while - the Block Lanczos method is used with shared-memory parallel processing - runs. + This command is valid in any processor. """ - command = "QRDOPT, %s, %s, %s" % (str(reusekey), str(symmeth), str(cmccoutkey)) + command = "*GO,%s" % (str(b_ase)) self.RunCommand(command, **kwargs) - def Zoom(self, wn="", lab="", x1="", y1="", x2="", y2="", **kwargs): + def Ainv(self, na="", nv="", **kwargs): """ - APDL Command: /ZOOM + APDL Command: AINV - Zooms a region of a display window. + Finds the intersection of an area with a volume. Parameters ---------- - wn - Window number to which command applies (defaults to 1). - - lab - Label to define the desired type of zoom: - - OFF - Turns zoom off (refits image of entire model to the window). - - BACK - Goes back to previous zoom setting (five successive back ups, maximum). - - SCRN - Interprets X1,Y1 as the screen coordinates of the center of a square zoom - region; X2,Y2 as the screen coordinates of a point on one - side of that square. + na + Number of area to be intersected. If P, graphical picking is + enabled and all remaining arguments are ignored (valid only in the + GUI). - RECT - Interprets X1,Y1 and X2,Y2 as the screen coordinates of two opposite corners of - a rectangular zoom region. + nv + Number of volume to be intersected. Notes ----- - Zooms (centers and magnifies) the specified region of a display window. - /ZOOM will operate on a display that has been formed by an explicit - graphics action command (APLOT, EPLOT, etc.). /ZOOM has no effect on - an "immediate" graphics display. When /ZOOM is executed, the display - is automatically replotted such that the specified zoom region is - centered and sized to fill the window. - - Auto resizing is disabled when you issue the /ZOOM command. To restore - auto resizing, issue the /AUTO command, or select FIT from the Pan, - Zoom, Rotate box. - - This command is valid in any processor. + New areas will be generated where the areas intersect the volumes. If + the regions of intersection are only lines, new lines will be generated + instead. See the Modeling and Meshing Guide for an illustration. See + the BOPTN command for the options available to Boolean operations. + Element attributes and solid model boundary conditions assigned to the + original entities will not be transferred to the new entities + generated. """ - command = "/ZOOM, %s, %s, %s, %s, %s, %s" % (str(wn), str(lab), str(x1), str(y1), str(x2), str(y2)) + command = "AINV,%s,%s" % (str(na), str(nv)) self.RunCommand(command, **kwargs) - def Bsm1(self, val1="", val2="", t="", **kwargs): + def Ancyc(self, numframes="", kcycl="", delay="", **kwargs): """ - APDL Command: BSM1 + APDL Command: ANCYC - Specifies the bending curvature and moment relationship in plane XZ for - beam sections. + Applies a traveling wave animation to graphics data in a modal cyclic + symmetry analysis. Parameters ---------- - val1 - Curvature component (κ1). + numframes + The number of plot frames for the animation. Valid values range + from 5 through 36. The default is 18. A low value (because it + specifies fewer graphical frames) produces a rougher animation but + loads faster. A high value produces a smoother animation but + requires more time to load. - val2 - Bending moment component (M1). + kcycl + The animation mode: - t - Temperature. + 0 - Continuous animation cycle (forward-reverse-forward). + + 1 - Discontinuous animation cycle (forward-reset-forward). This option is the + default. + + delay + The time delay (in seconds) between animation frames. Valid values + range from 0.1 through 1.0. The default is 0.1 seconds, which + produces a seemingly real-time animation. A higher value produces a + slower animation. Notes ----- - The behavior of beam elements is governed by the generalized- - stress/generalized-strain relationship of the form: + The ANCYC command is valid in a modal cyclic symmetry analysis only. - The BSM1 command, one of several nonlinear general beam section - commands, specifies the bending curvature and moment for plane XZ of a - beam section. The section data defined is associated with the section - most recently defined (via the SECTYPE command). + The command animates the cyclic symmetry mode shape plot in the General + Post Processor (/POST1). When you issue a nodal- or element-results + plot command (for example, PLNSOL, PLESOL, or PLDISP) and then issue + the ANCYC command, ANSYS applies a traveling wave animation to the mode + shape plot. - Unspecified values default to zero. + Each frame of the animation is created by expanding the cyclic symmetry + mode shape at increasing phase angles (via the /CYCEXPAND command) + starting at zero in equal increments over 360°. The phase-angle + increment is 360 / NUMFRAMES. - Related commands are BSAX, BSM2, BSTQ, BSS1, BSS2, BSMD, and BSTE. + The animation display shows the traveling wave of the result quantity + being plotted. The traveling wave animation is applicable only to nodal + diameters (harmonic indices) greater than 0 and less than N / 2 (where + N is the number of cyclic sectors in the model). - For complete information, see Using Nonlinear General Beam Sections. + For more information, see Applying a Traveling Wave Animation to the + Cyclic Model in the Cyclic Symmetry Analysis Guide. """ - command = "BSM1, %s, %s, %s" % (str(val1), str(val2), str(t)) + command = "ANCYC,%s,%s,%s" % (str(numframes), str(kcycl), str(delay)) self.RunCommand(command, **kwargs) - def Lsba(self, nl="", na="", sepo="", keepl="", keepa="", **kwargs): + def Djdele(self, elem="", lab="", **kwargs): """ - APDL Command: LSBA + APDL Command: DJDELE - Subtracts areas from lines. + Deletes boundary conditions on the components of relative motion of a + joint element. Parameters ---------- - nl - Line (or lines, if picking is used) to be subtracted from. If ALL, - use all selected lines. If NL = 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 NL. - - na - Area (or areas, if picking is used) to be subtracted. If ALL, use - all selected areas. A component name may also be substituted for - NA. + elem + Element number or ALL. ALL (or leaving this field blank) will + delete all joint element boundary conditions specified by LAB. - sepo - Behavior if the intersection of the lines and the areas is a - keypoint or keypoints: + lab + Valid labels are: - (blank) - The resulting lines will share keypoint(s) where they touch. + UX - Displacement in local x direction. - SEPO - The resulting lines will have separate, but coincident keypoint(s) where they - touch. + UY - Displacement in local y direction. - keepl - Specifies whether NL lines are to be deleted: + UZ - Displacement in local z direction. - (blank) - Use the setting of KEEP on the BOPTN command. + ROTX - Rotation about local x axis. - DELETE - Delete NL lines after LSBA operation (override BOPTN command settings). + ROTY - Rotation about local y axis. - KEEP - Keep NL lines after LSBA operation (override BOPTN command settings). + ROTZ - Rotation about local z axis. - keepa - Specifies whether NA areas are to be deleted: + VELX - Linear velocity in local x direction. - (blank) - Use the setting of KEEP on the BOPTN command. + VELY - Linear velocity in local y direction. - DELETE - Delete areas after LSBA operation (override BOPTN command settings). + VELZ - Linear velocity in local z direction. - KEEP - Keep areas after LSBA operation (override BOPTN command settings). + OMGX - Angular velocity in local x direction. - Notes - ----- - Generates new lines by subtracting the regions common to both NL lines - and NA areas (the intersection) from the NL lines. The intersection - can be a line(s) or keypoint(s). If the intersection is a keypoint and - SEPO is blank, the NL line is divided at the keypoint and the resulting - lines will be connected, sharing a common keypoint where they touch. - If SEPO is set to SEPO, NL is divided into two unconnected lines with - separate keypoints where they touch. See the Modeling and Meshing - Guide for an illustration. See the BOPTN command for an explanation of - the options available to Boolean operations. Element attributes and - solid model boundary conditions assigned to the original entities will - not be transferred to the new entities generated. + OMGY - Angular velocity in local y direction. - """ - command = "LSBA, %s, %s, %s, %s, %s" % (str(nl), str(na), str(sepo), str(keepl), str(keepa)) - self.RunCommand(command, **kwargs) + OMGZ - Angular velocity in local z direction. - def Mffr(self, fname="", lab="", rfini="", rfmin="", rfmax="", **kwargs): - """ - APDL Command: MFFR + ACCX - Linear acceleration in local x direction. - Setup Multi-Field relaxation factors for field solutions. + ACCY - Linear acceleration in local y direction. - Parameters - ---------- - fname - Field name (MFX) or number (MFS). Must be the ANSYS field (cannot - be a CFX field). + ACCZ - Linear acceleration in local z direction. - lab - Label name. Valid values are DISP and TEMP. + DMGX - Angular acceleration in local x direction. - rfini - Initial relaxation factor. Defaults to 0.75. + DMGY - Angular acceleration in local y direction. - rfmin - Minimum relaxation factor. Defaults to RFINI. + DMGZ - Angular acceleration in local z direction. - rfmax - Maximum relaxation factor. Defaults to RFINI. + ALL, or (blank) - Delete all applied boundary conditions. Notes ----- - Use this command to relax the field solutions in fluid-solid - interaction analyses and thermal-thermal analyses for a better - convergence rate in coupled problems, especially cases that need - dynamic relaxation. The ANSYS field that has the MFFR command applied - will do only one nonlinear stagger iteration within each multi-field - stagger; the convergence of the ANSYS field solver will be satisfied - through multiple multi-field staggers. Note that the CFX field solver - can have multiple iterations within the field solver; see the CFX - documentation for more details. ANSYS will not terminate the nonlinear - field solution until the ANSYS field solver converges or reaches the - maximum number of multi-field staggers as specified on MFITER. - - The interface load relaxation (MFRELAX) will be automatically turned - off for the corresponding surface loads that have MFFR applied. The - automatic change of the relaxation factor for accelerating the - nonlinear convergence of the coupled field solution is based on - Aitken's acceleration scheme. - - This command is valid only with coupled problems involving surface load - transfer only. No subcycling is allowed for the field solver if using - this command. + 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 = "MFFR, %s, %s, %s, %s, %s" % (str(fname), str(lab), str(rfini), str(rfmin), str(rfmax)) + command = "DJDELE,%s,%s" % (str(elem), str(lab)) self.RunCommand(command, **kwargs) - def Kmesh(self, np1="", np2="", ninc="", **kwargs): + def Lglue(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nl7="", + nl8="", nl9="", **kwargs): """ - APDL Command: KMESH + APDL Command: LGLUE - Generates nodes and point elements at keypoints. + Generates new lines by "gluing" lines. Parameters ---------- - np1, np2, ninc - Mesh keypoints from NP1 to NP2 (defaults to NP1) in steps of NINC - (defaults to 1). If NP1 = ALL, NP2 and NINC are ignored and all - selected keypoints [KSEL] are meshed. If NP1 = P, graphical + nl1, nl2, nl3, . . . , nl9 + Numbers of the lines to be glued. If NL1 = ALL, all selected lines + will be glued (NL2 to NL9 will be ignored). If NL1 = 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 NP1. + for NL1. Notes ----- - Missing nodes required for the generated elements are created and - assigned the lowest available numbers. - - """ - command = "KMESH, %s, %s, %s" % (str(np1), str(np2), str(ninc)) - self.RunCommand(command, **kwargs) - - def Poly(self, **kwargs): - """ - APDL Command: POLY - - Creates a polygonal area based on working plane coordinate pairs. + Use of the LGLUE command generates new lines by "gluing" input lines. + The glue operation redefines the input lines so that they share + keypoints at their common ends. The new lines encompass the same + geometry as the original lines. This operation is only valid if the + intersections of the input lines are keypoints at the ends of those + lines. See the Modeling and Meshing Guide for an illustration. See + the BOPTN command for an explanation of the options available to + Boolean operations. Element attributes and solid model boundary + conditions assigned to the original entities will not be transferred to + the new entities generated. - Notes - ----- - Defines a polygonal area on the working plane. The area will be - defined with NPT keypoints and NPT lines, where NPT (must be at least - 3) is the number of coordinate pairs defined with the PTXY command. - See the RPOLY and RPR4 commands for other ways to create polygons. + The LGLUE command results in the merging of keypoints at the common end + of the lines. The keypoints of the lower numbered line will be kept. + This means one must be aware of line numbering when multiple LGLUE + commands are applied to avoid any “ungluing” of geometry. """ - command = "POLY, " % () + command = "LGLUE,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nl7), str(nl8), str(nl9)) self.RunCommand(command, **kwargs) - def Esurf(self, xnode="", tlab="", shape="", **kwargs): + def Cgomga(self, cgomx="", cgomy="", cgomz="", **kwargs): """ - APDL Command: ESURF + APDL Command: CGOMGA - Generates elements overlaid on the free faces of selected nodes. + Specifies the rotational velocity of the global origin. Parameters ---------- - xnode - Node number that is used only in the following two cases: - - tlab - Generates target, contact, and hydrostatic fluid elements with - correct direction of normals. - - TOP - Generates target and contact elements over beam and shell elements, or - hydrostatic fluid elements over shell elements, with the - normals the same as the underlying beam and shell elements - (default). - - BOTTOM - Generates target and contact elements over beam and shell elements, or - hydrostatic fluid elements over shell elements, with the - normals opposite to the underlying beam and shell - elements. - - If target or contact elements and hydrostatic fluid elements are defined on the same underlying shell elements, you only need to use this option once to orient the normals opposite to the underlying shell elements. - REVERSE - - Reverses the direction of the normals on existing selected target elements, contact elements, and hydrostatic fluid elements. - If target or contact elements and hydrostatic fluid elements are defined on the - same underlying shell elements, you only need to - use this option once to reverse the normals for - all selected elements. - - shape - Used to specify the element shape for target element TARGE170 - (Shape = LINE or POINT) or TARGE169 elements (Shape = POINT). - - (blank) - The target element takes the same shape as the external surface of the - underlying element (default). - - LINE - Generates LINE or PARA (parabolic) segments on exterior of selected 3-D - elements. - - POINT - Generates POINT segments on selected nodes. + cgomx, cgomy, cgomz + Rotational velocity of the global origin about the acceleration + system X, Y, and Z axes. Notes ----- - The ESURF command generates elements of the currently active element - type overlaid on the free faces of existing elements. For example, - surface elements (such as SURF151, SURF152, SURF153, SURF154, or - SURF159) can be generated over solid elements (such as PLANE55, - SOLID70, PLANE182, SOLID185, or SOLID272, respectively). + Specifies the rotational velocity of the global origin about each of + the acceleration coordinate system axes. The location of the + acceleration coordinate system is defined with the CGLOC command. + Rotational velocities may be defined in analysis types ANTYPE,STATIC, + HARMIC (full or mode-superposition), TRANS (full or mode- + superposition), and SUBSTR. See Acceleration Effect in the Mechanical + APDL Theory Reference for details. Units are radians/time. Related + commands are ACEL, CGLOC, DCGOMG, DOMEGA, and OMEGA. - Element faces are determined from the selected node set (NSEL) and the - load faces for that element type. The operation is similar to that used - for generating element loads from selected nodes via the SF,ALL - command, except that elements (instead of loads) are generated. All - nodes on the face must be selected for the face to be used. For shell - elements, only face one of the element is available. If nodes are - shared by adjacent selected element faces, the faces are not free and - no element is generated. + See Analysis Tools in the Mechanical APDL Theory Reference for more + information. - Elements created by ESURF are oriented such that their surface load - directions are consistent with those of the underlying elements. - Carefully check generated elements and their orientations. + The CGOMGA command supports tabular boundary conditions (%TABNAME_X%, + %TABNAME_Y%, and %TABNAME_Z%) for CGOMGA_X, CGOMGA_Y, and CGOMGA_Z + input values (*DIM) for full transient and harmonic analyses. - Generated elements use the existing nodes and the active MAT, TYPE, - REAL, and ESYS attributes. The exception is when Tlab = REVERSE. The - reversed target and contact elements have the same attributes as the - original elements. If the underlying elements are solid elements, Tlab - = TOP or BOTTOM has no effect. + This command is also valid in PREP7. - When the command generates a target element, the shape is by default - the same as that of the underlying element. Issue ESURF,,,LINE or - ESURF,,,POINT to generate LINE, PARA, and POINT segments. + """ + command = "CGOMGA,%s,%s,%s" % (str(cgomx), str(cgomy), str(cgomz)) + self.RunCommand(command, **kwargs) - The ESURF command can also generate the 2-D or 3-D node-to-surface - element CONTA175, based on the selected node components of the - underlying solid elements. When used to generate CONTA175 elements, all - ESURF arguments are ignored. (If CONTA175 is the active element type, - the path Main Menu> Preprocessor> Modeling> Create> Elements> Node-to- - Surf uses ESURF to generate elements.) + def Ddele(self, node="", lab="", nend="", ninc="", rkey="", **kwargs): + """ + APDL Command: DDELE - To generate SURF151 or SURF152 elements that have two extra nodes from - FLUID116 elements, KEYOPT(5) for SURF151 or SURF152 is first set to 0 - and ESURF is issued. Then KEYOPT(5) for SURF151 or SURF152 is set to 2 - and MSTOLE is issued. For more information, see Using the Surface - Effect Elements in the Thermal Analysis Guide. + Deletes degree-of-freedom constraints. - For hydrostatic fluid elements HSFLD241 and HSFLD242, the ESURF command - generates triangular (2-D) or pyramid-shaped (3-D) elements with bases - that are overlaid on the faces of selected 2-D or 3-D solid or shell - elements. The single vertex for all generated elements is at the - pressure node specified as XNODE. The generated elements fill the - volume enclosed by the solid or shell elements. The nodes on the - overlaid faces have translational degrees of freedom, while the - pressure node shared by all generated elements has a single hydrostatic - pressure degree of freedom, HDSP (see HSFLD241 and HSFLD242 for more - information about the pressure node). + 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. - """ - command = "ESURF, %s, %s, %s" % (str(xnode), str(tlab), str(shape)) - self.RunCommand(command, **kwargs) + 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). - def Plotting(self, **kwargs): - """ - APDL Command: PLOTTING + nend, ninc + Delete constraints from NODE to NEND (defaults to NODE) in steps of + NINC (defaults to 1). - Specifies "Plotting settings" as the subsequent status topic. + 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 ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. - - If entered directly into the program, the STAT command should - immediately follow this command. + 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 = "PLOTTING, " % () + command = "DDELE,%s,%s,%s,%s,%s" % (str(node), str(lab), str(nend), str(ninc), str(rkey)) self.RunCommand(command, **kwargs) - def Mplist(self, mat1="", mat2="", inc="", lab="", tevl="", **kwargs): + def Asel(self, type="", item="", comp="", vmin="", vmax="", vinc="", + kswp="", **kwargs): """ - APDL Command: MPLIST + APDL Command: ASEL - Lists linear material properties. + Selects a subset of areas. Parameters ---------- - mat1, mat2, inc - List materials from MAT1 to MAT2 (defaults to MAT1) in steps of INC - (defaults to 1). If MAT1= ALL (default), MAT2 and INC are ignored - and properties for all material numbers are listed. + type + Label identifying the type of select: - lab - Material property label (see the MP command for labels). If ALL - (or blank), list properties for all labels. If EVLT, list - properties for all labels evaluated at TEVL. + S - Select a new set (default) - tevl - Evaluation temperature for Lab = EVLT listing (defaults to BFUNIF). + R - Reselect a set from the current set. + + A - Additionally select a set and extend the current set. + + U - Unselect a set from the current set. + + ALL - Restore the full set. + + NONE - Unselect the full set. + + INVE - Invert the current set (selected becomes unselected and vice versa). + + STAT - Display the current select status. Notes ----- - For Lab = EVLT, when the property is from tables, the MPPLOT command - will not be valid because the property could be a function of more than - temperature. + Selects a subset of areas. For example, to select those areas with area + numbers 1 through 7, use ASEL,S,AREA,,1,7. The selected subset is then + used when the ALL label is entered (or implied) on other commands, such + as ALIST,ALL. Only data identified by area number are selected. Data + are flagged as selected and unselected; no data are actually deleted + from the database. + + In a cyclic symmetry analysis, area hot spots can be modified. + Consequently, the result of an area selection may be different before + and after the CYCLIC command. + + If Item = ACCA, the command selects only those areas that were created + by concatenation. The KSWP field is processed, but the Comp, VMIN, + VMAX, and VINC fields are ignored. This command is valid in any processor. - """ - command = "MPLIST, %s, %s, %s, %s, %s" % (str(mat1), str(mat2), str(inc), str(lab), str(tevl)) - self.RunCommand(command, **kwargs) + For Selects based on non-integer numbers (coordinates, results, etc.), + items that are within the range VMIN-Toler and VMAX+Toler are selected. + The default tolerance Toler is based on the relative values of VMIN and + VMAX as follows: - def Bioopt(self, **kwargs): - """ - APDL Command: BIOOPT + If VMIN = VMAX, Toler = 0.005 x VMIN. - Specifies "Biot-Savart options" as the subsequent status topic. + If VMIN = VMAX = 0.0, Toler = 1.0E-6. - Notes - ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + If VMAX ≠ VMIN, Toler = 1.0E-8 x (VMAX-VMIN). - If entered directly into the program, the STAT command should - immediately follow this command. + Use the SELTOL command to override this default and specify Toler + explicitly. + + Table: 127:: : ASEL - Valid Item and Component Labels """ - command = "BIOOPT, " % () + command = "ASEL,%s,%s,%s,%s,%s,%s,%s" % (str(type), str(item), str(comp), str(vmin), str(vmax), str(vinc), str(kswp)) self.RunCommand(command, **kwargs) - def Werase(self, **kwargs): + def Mapsolve(self, maxsbstep="", **kwargs): """ - APDL Command: WERASE + APDL Command: MAPSOLVE - Erases all reordering wave lists. + Maps solved node and element solutions from an original mesh to a new + mesh. + + Parameters + ---------- + maxsbstep + The maximum number of substeps for rebalancing the residuals. The + default value is 5. Notes ----- - The REORDER then STAT commands will display the current wave lists. + Used during the rezoning process, the MAPSOLVE command maps solved node + and element solutions from the original mesh to the new mesh and + achieves equilibrium based on the new mesh. + + Additional substeps are necessary to reduce the residuals to zero. + + During the rebalancing stage, the external loads and time remain + unchanged. + + The MAPSOLVE command is valid only for rezoning (REZONE). Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "WERASE, " % () + command = "MAPSOLVE,%s" % (str(maxsbstep)) self.RunCommand(command, **kwargs) - def Pri2(self, p51x="", z1="", z2="", **kwargs): + def Rmrstatus(self, refname="", **kwargs): """ - APDL Command: PRI2 + APDL Command: RMRSTATUS - Creates a polygonal area or a prism volume by vertices (GUI). + Prints status of response surface for ROM function. + + Parameters + ---------- + refname + Reference name of ROM function. Valid reference names are "SENE" + for the strain energy of the mechanical domain and any capacitance + reference names [RMCAP], for the electrostatic domain. Notes ----- - Creates a polygonal area or a prism volume using the vertices as input. - This is a command generated by the Graphical User Interface (GUI) and - will appear in the log file (Jobname.LOG) if graphical picking is used. - This command is not intended to be typed in directly in an ANSYS - session (although it can be included in an input file for batch input - or for use with the /INPUT command). - - For polygons, the PRI2 command will appear in the log file as - PRI2,P51X,0.0,0.0 preceded by FITEM commands that define the vertices - (in global Cartesian coordinates). For prisms, the PRI2 command will - appear in the log file as PRI2,P51X preceded by FITEM commands that - define the vertices and the Z-end of the prism. - - See the RPOLY, POLY, RPRISM, PRISM, and RPR4 commands for other ways to - create polygons and prisms. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "PRI2, %s, %s, %s" % (str(p51x), str(z1), str(z2)) + command = "RMRSTATUS,%s" % (str(refname)) self.RunCommand(command, **kwargs) - def Gslist(self, lab="", **kwargs): + def Tspec(self, tcolor="", tsize="", txthic="", pangle="", iangle="", + **kwargs): """ - APDL Command: GSLIST + APDL Command: /TSPEC - When using generalized plane strain, lists the input data or solutions. + Creates annotation text attributes (GUI). Parameters ---------- - lab - Specify the content to be listed. + tcolor + Text color (0 TCOLOR   15): - GEOMETRY - List the data input using GSGDATA + 0 - Black. - BC - List the data input using GSBDATA. + 1 - Red-Magenta. - REACTIONS - When the command is issued in POST1, list the reaction force at the ending - point, + 2 - Magenta. - and the moment about X and Y if the corresponding constraints were applied. - RESULTS + 3 - Blue-Magenta. - 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 + 4 - Blue. - 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. + 5 - Cyan-Blue. - 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. + 6 - Cyan. - This command is valid in any processor. + 7 - Green-Cyan. - """ - command = "GSLIST, %s" % (str(lab)) - self.RunCommand(command, **kwargs) + 8 - Green. - def Rmdir(self, dir="", **kwargs): - """ - APDL Command: /RMDIR + 9 - Yellow-Green. - Removes (deletes) a directory. + 10 - Yellow. - Parameters - ---------- - dir - The directory to remove. If no path is provided, it will be assumed - to be in the current working directory. All files in the directory - are also removed. + 11 - Orange. + + 12 - Red. + + 13 - Dark Gray. + + 14 - Light Gray. + + 15 - White. + + tsize + Text size factor. + + txthic + Text thickness key: + + 1 - normal. + + 2 - twice as thick. + + 3 - three times as thick. + + 4 - four times as thick. + + pangle + Text path angle (0.0 < angle < 360.0). + + iangle + Text italic angle (0.0 < angle < 45.0). Notes ----- - Removes a directory on the computer ANSYS is currently running on. No - warning or prompt is given, so use with extreme caution. + Defines annotation text attributes to control certain characteristics + of the text created via the /TLABEL command. This is a command + generated by the Graphical User Interface (GUI) and will appear in the + log file (Jobname.LOG) if annotation is used. This command is not + intended to be typed in directly in an ANSYS session (although it can + be included in an input file for batch input or for use with the /INPUT + command). + + This command is valid in any processor. """ - command = "/RMDIR, %s" % (str(dir)) + command = "/TSPEC,%s,%s,%s,%s,%s" % (str(tcolor), str(tsize), str(txthic), str(pangle), str(iangle)) self.RunCommand(command, **kwargs) - def Emsym(self, nsect="", **kwargs): + def Nolist(self, **kwargs): """ - APDL Command: EMSYM - - Specifies circular symmetry for electromagnetic sources. + APDL Command: /NOLIST - Parameters - ---------- - nsect - The number of circular symmetry sections (defaults to 1). + Suppresses the data input listing. Notes ----- - Specifies the number of times to repeat electromagnetic sources for - circular symmetry. Applies to SOURC36 elements and to coupled-field - elements with electric current conduction results in the database. - Sources are assumed to be equally spaced over 360° about the global - Cartesian Z axis. + Printout is suppressed until a /GOLIST command is read or the end of + the listing is encountered. - This command is also valid in SOLUTION. + This command is valid in any processor, but only within a batch run + [/BATCH]. """ - command = "EMSYM, %s" % (str(nsect)) + command = "/NOLIST," % () self.RunCommand(command, **kwargs) - def Edndtsd(self, vect1="", vect2="", datap="", fitpt="", vect3="", - vect4="", disp="", **kwargs): + def Store(self, lab="", npts="", **kwargs): """ - APDL Command: EDNDTSD + APDL Command: STORE - Allows smoothing of noisy data for explicit dynamics analyses and - provides a graphical representation of the data. + Stores data in the database for the defined variables. Parameters ---------- - vect1 - Name of the first vector that contains the noisy data set (i.e., - independent variable). You must create and fill this vector before - issuing EDNDTSD. + lab + Valid labels: - vect2 - Name of the second vector that contains the dependent set of data. - Must be the same length as the first vector. You must create and - fill this vector before issuing EDNDTSD. + MERGE - Merge data from results file for the time points in memory with the existing + data using current specifications (default). - datap - Number of data points to be fitted, starting from the beginning of - the vector. If left blank, the entire vector will be fitted. The - maximum number of data points is 100,000 (or greater, depending on - the memory of the computer). + NEW - Store a new set of data, replacing any previously stored data with current + result file specifications and deleting any previously- + calculated (OPER) variables. Variables defined using the + ANSOL command are also deleted. - fitpt - Curve fitting order to be used as a smooth representation of the - data. This number should be less than or equal to the number of - data points. However, because high order polynomial curve fitting - can cause numerical difficulties, a polynomial order less than 7 is - suggested. The default (blank) is one-half the number of data - points or 7, which ever is less. The following values are - available: + APPEN - Append data from results file to the existing data. - 1 - Curve is the absolute average of all of the data points. + ALLOC - Allocate (and zero) space for NPTS data points. - 2 - Curve is the least square average of all of the data points. + PSD - Create a new set of frequency points for PSD calculations (replacing any + previously stored data and erasing any previously calculated + data). - 3 or more - Curve is a polynomial of the order (n-1), where n is the number of data fitting - order points. + npts + The number of time points (or frequency points) for storage (used + only with Lab = ALLOC or PSD). The value may be input when using + POST26 with data supplied from other than a results file. This + value is automatically determined from the results file data with + the NEW, APPEN, and MERGE options. For the PSD option, NPTS + determines the resolution of the frequency vector (valid numbers + are between 1 and 10, defaults to 5). - vect3 - Name of the vector that contains the smoothed data of the - independent variable. This vector should have a length equal to or - greater than the number of smoothed data points. In batch (command) - mode, you must create this vector before issuing the EDNDTSD - command. In interactive mode, the GUI automatically creates this - vector (if it does not exist). If you do not specify a vector name, - the GUI will name the vector smth_ind. + Notes + ----- + This command stores data from the results file in the database for the + defined variables [NSOL, ESOL, SOLU, JSOL] per specification [FORCE, + LAYERP26, SHELL]. See the Basic Analysis Guide for more information. - vect4 - Name of the vector that contains the smoothed data of the dependent - variable. This vector must be the same length as Vect3. In batch - (command) mode, you must create this vector before issuing the - EDNDTSD command. In interactive mode, the GUI automatically creates - this vector (if it does not exist). If you do not specify a vector - name, the GUI will name the vector smth_dep. + The STORE,PSD command will create a new frequency vector (variable 1) + for response PSD calculations [RPSD]. This command should first be + issued before defining variables [NSOL, ESOL, RFORCE] for which + response PSD's are to be calculated. - disp - Specifies how you want to display data. No default; you must - specify an option. + """ + command = "STORE,%s,%s" % (str(lab), str(npts)) + self.RunCommand(command, **kwargs) - 1 - Unsmoothed data only + def Edhgls(self, hgco="", **kwargs): + """ + APDL Command: EDHGLS - 2 - Smoothed data only + Specifies the hourglass coefficient for an explicit dynamics analysis. - 3 - Both smoothed and unsmoothed data + Parameters + ---------- + hgco + Hourglass coefficient value (defaults to 0.1). Values greater than + 0.15 may cause instabilities. Notes ----- - You can control the attributes of the graph using standard ANSYS - controls (/GRID, /GTHK, /COLOR, etc.). If working interactively, these - controls appear in this dialog box for convenience, as well as in their - standard dialog boxes. You must always create Vect1 and Vect2 (using - *DIM) and fill these vectors before smoothing the data. If you're - working interactively, ANSYS automatically creates Vect3 and Vect4, but - if you're working in batch (command) mode, you must create Vect3 and - Vect4 (using *DIM) before issuing EDNDTSD. Vect3 and Vect4 are then - filled automatically by ANSYS. In addition, ANSYS creates an - additional TABLE type array that contains the smoothed array and the - unsmoothed data to allow for plotting later with *VPLOT. Column 1 in - this table corresponds to Vect1, column 2 to Vect2, and column 3 to - Vect4. This array is named Vect3_SMOOTH, up to a limit of 32 - characters. For example, if the array name is X1, the table name is - X1_SMOOTH. + This command is also valid in PREP7. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "EDNDTSD, %s, %s, %s, %s, %s, %s, %s" % (str(vect1), str(vect2), str(datap), str(fitpt), str(vect3), str(vect4), str(disp)) + command = "EDHGLS,%s" % (str(hgco)) self.RunCommand(command, **kwargs) - def Slashtype(self, wn="", type="", **kwargs): + def Udoc(self, wind="", cl_ass="", key="", **kwargs): """ - APDL Command: /TYPE + APDL Command: /UDOC - Defines the type of display. + Determines position and content for the multi-legend options. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). + wind + The window number to which the command applies. (defaults to 1) - type - Display type. Defaults to ZBUF for raster mode displays or BASIC - for vector mode displays: + class + The type (and relative importance) of legend item being displayed: - BASIC or 0 - Basic display (no hidden or section operations). + CNTR - Contour legend. This legend item is controlled separately from the other legend + items (see note below). - SECT or 1 - Section display (plane view). Use the /CPLANE command to define the cutting - plane. + DATE - The items in the DATE class include the date and time, or the ANSYS graphical + logo (/PLOPTS,LOGO,1). This item is shown by default in all + plots. - HIDC or 2 - Centroid hidden display (based on item centroid sort). + GWIN - The items in the GWIN class include the entity acronyms that appear in the + legend of a multiplot of entities (Nodes, Elements, + Keypoints, Lines, Areas, Volumes). GWIN items are shown by + default for all GPLOT displays. - HIDD or 3 - Face hidden display (based on face centroid sort). + TYPE - Items in the TYPE class include the plot type (e.g. ELEMENTS, MATERIALS, NODAL + SOLUTIONS, etc.). TYPE items are shown by default in all + plots. - HIDP or 4 - Precise hidden display (like HIDD but with more precise checking). Because all - facets are sorted, this mode can be extremely slow, - especially for large models. + TYP2 - Items in the TYP2 class include supplementary type information, such as DMAX + and SMAX for nodal solutions. TYP2 items are shown by + default in all plots. - CAP or 5 - Capped hidden display (same as combined SECT and HIDD with model in front of - section plane removed). + INUM - Items in the INUM class include the number labels generated by the /PNUM + command. This class is displayed by default in all plots + that contain /PNUM information. - ZBUF or 6 - Z-buffered display (like HIDD but using software Z-buffering). + BCDC - The items in the BCDC class include labels created by the /PBC command. This + class is shown by default in all plots which contain /PBC + information. - ZCAP or 7 - Capped Z-buffered display (same as combined SECT and ZBUF with model in front - of section plane removed). + VECT - Items in the VECT class include labels created by the PLVECT command. This + class is shown by default for all PLVECT plots. - ZQSL or 8 - QSLICE Z-buffered display (same as SECT but the edge lines of the remaining 3-D - model are shown). + SURF - The items in the SURF class include labels from the /PSF legend. This class is + shown by default on all plots of surface boundary + conditions. - HQSL or 9 - QSLICE precise hidden display (like ZQSL but using precise hidden). + BODY - Items from the BODY class include labels from the /PBF legend. This class is + shown by default in all plots of body forces. + + PSTA - Items from the PSTA class include stress scaling statistics, such as the + /SSCALE setting. This class is not shown as the default for + any type of plot, and must be specifically referenced to + display the included data. + + VIEW - The items in the VIEW class include view statistics. This class is not shown as + the default for any type of plot, and must be specifically + referenced to display the included data. + + MISC - The items in the MISC class include supplementary labels like /EXPANDED and + Stress Section Cross Section. This class is not shown as the + default for any type of plot, and must be specifically + referenced to display the included data. + + key + Switch: Notes ----- - Defines the type of display, such as section display or hidden-line - display. Use the /DEVICE command to specify either raster or vector - mode. + The legend classes conform to the controls specified in the window + options panel (PlotCtrls> Window Controls> Window Options). In many + instances, the legend controls specified with the /PLOPTS command will + take precedence and override /UDOC specifications. For instance: - The SECT, CAP, ZCAP, ZQSL, and HQSL options produce section displays. - The section or "cutting" plane is specified on the /CPLANE command as - either normal to the viewing vector at the focus point (default), or as - the working plane. + /PLOPTS,LEG1,OFF will disable the TYPE, TYP2, INUM, and MISC classes, + regardless of the /UDOC settings. - When you use PowerGraphics, the section display options (Section, - Slice, and Capped) use different averaging techniques for the interior - and exterior results. Because of the different averaging schemes, - anomalies may appear at the transition areas. In many cases, the - automatically computed MIN and MAX values will differ from the full - range of interior values. You can lessen the effect of these anomalies - by issuing AVRES,,FULL (Main Menu> General Post Proc> Options for - Outp). This command sets your legend's automatic contour interval range - according to the minimum and maximum results found throughout the - entire model. + /PLOPTS,LEG2,OFF will disable the VIEW class, regardless of the /UDOC + settings. - With PowerGraphics active (/GRAPHICS,POWER), the averaging scheme for - surface data with interior element data included (AVRES,,FULL) and - multiple facets per edge (/EFACET,2 or /EFACET,4) will yield differing - minimum and maximum contour values depending on the Z-Buffering - options (/TYPE,,6 or /TYPE,,7). When the Section data is not included - in the averaging schemes (/TYPE,,7), the resulting absolute value for - the midside node is significantly smaller. + /PLOPTS,LEG3,OFF will disable the PSTA class, regardless of the /UDOC + settings. - The HIDC, HIDD, HIDP, ZBUF, ZQSL, and HQSL options produce displays - with "hidden" lines removed. Hidden lines are lines obscured from view - by another element, area, etc. The choice of non-Z-buffered hidden- - line procedure types is available only for raster mode [/DEVICE] - displays. For vector mode displays, all non-Z-buffered "hidden-line" - options use the same procedure (which is slightly different from the - raster procedures). Both geometry and postprocessing displays may be - of the hidden-line type. Interior stress contour lines within solid - elements can also be removed as hidden lines, leaving only the stress - contour lines and element outlines on the visible surfaces. Midside - nodes of elements are ignored on postprocessing displays. Overlapping - elements will not be displayed. + All items in a class are listed with the same X coordinate (except for + contours). The contents of the text classes are dumped onto the display + window from top to bottom, in order of class importance. - The ZBUF, ZCAP, and ZQSL options use a specific hidden-line technique - called software Z-buffering. This technique allows a more accurate - display of overlapping surfaces (common when using Boolean operations - or /ESHAPE on element displays), and allows smooth shaded displays on - all interactive graphics displays. Z-buffered displays can be - performed faster than HIDP and CAP type displays for large models. See - also the /LIGHT, /SHADE, and /GFILE commands for additional options - when Z-buffering is used. + The font specification for text items that are included in the user- + specified legends are controlled with the /DEVICE command (PlotCtrls> + Font Controls> Anno/Graph Font). - This command is valid in any processor. + The floating point values for the data presented in the legend(s) are + controlled by the /GFORMAT command. + + """ + command = "/UDOC,%s,%s,%s" % (str(wind), str(cl_ass), str(key)) + self.RunCommand(command, **kwargs) + + def Xflist(self, enrichmentid="", **kwargs): + """ + APDL Command: XFLIST + + Lists enrichment details and associated crack information + + Parameters + ---------- + enrichmentid or (blank) + Name of the enrichment specified via the associated XFENRICH + command. Specifying EnrichmentID is optional. + + Notes + ----- + This command is valid in PREP7 (/PREP7) and SOLUTION (/SOLU). """ - command = "/TYPE, %s, %s" % (str(wn), str(type)) + command = "XFLIST,%s" % (str(enrichmentid)) self.RunCommand(command, **kwargs) - def Combine(self, filetype="", **kwargs): + def Edri(self, option="", part="", xc="", yc="", zc="", tm="", ixx="", + iyy="", izz="", ixy="", iyz="", ixz="", **kwargs): """ - APDL Command: COMBINE + APDL Command: EDRI - Combines distributed memory parallel (Distributed ANSYS) files. + Defines inertia properties for a new rigid body that is created when a + deformable part is switched to rigid in an explicit dynamic analysis. Parameters ---------- - filetype - Type of solution file to combine. There is no default; if (blank), - the command is ignored. - - RST - Structural results file (.RST) - - RTH - Thermal results file (.RTH) - - RMG - Magnetics results file (.RMG) - - RSTP - Linear perturbation results file (.RSTP) - - EMAT - Element matrix file (.EMAT). + option + Label identifying the option to be performed. - ESAV - Element saved data file (.ESAV) + ADD - Define inertia for specified part (default). - MODE - Modal results file (.MODE) + DELE - Delete inertia definition for specified part. - MLV - Modal load vector file (.MLV) + LIST - List inertia definitions. - IST - Initial state file (.IST) + part + Part number for which inertia is defined (no default). - FULL - Full matrix file (.FULL) + xc, yc, zc + X, Y, and Z-coordinates of the center of mass (no defaults). - RFRQ - Reduced complex displacement file (.RFRQ) + tm + Translational mass (no default). - RDSP - Reduced displacement file (.RDSP) + ixx, iyy, izz, ixy, iyz, ixz + Components (xx, yy, etc.) of inertia tensor. IXX, IYY, and IZZ must + be input (no defaults). IXY, IYZ, and IXZ default to zero. Notes ----- - The COMBINE command is used within the AUX2 auxiliary processor to - combine local solution files from a distributed memory parallel - solution into a single, global file. Before using this command, you - must enter the AUX2 processor by issuing the /AUX2 command. - - In a distributed memory parallel (Distributed ANSYS) solution, you can - use the DMPOPTION command to bypass the file combination step, causing - all individual local files to be kept on the local disks in the current - working directory. Later on, you can start a new distributed memory - parallel solution and use the COMBINE command to combine local files - into a global file for a downstream solution or another operation - (e.g., postprocessing with /POST1). For example, the command - COMBINE,RST will combine local results files (JobnameN.RST) into a - global results file (Jobname.RST). + Use this command to define inertia properties for a rigid body that is + created when a deformable part is switched to rigid (using the EDRD,D2R + command) in an explicit dynamic analysis. If these properties are not + defined, LS-DYNA will compute the new rigid body properties from the + finite element mesh (which requires an accurate mesh representation of + the body). When rigid bodies are merged to a master rigid body, the + inertia properties defined for the master rigid body apply to all + members of the merged set. - When the COMBINE command is used in a subsequent Distributed ANSYS - session, the number of processors must be the same as in the - distributed memory parallel solution that generated the files. + EDRI can only be issued in a new analysis. Therefore, if you are going + to use inertia properties in a subsequent restart analysis, you must + issue EDRI in the original analysis for the part that will later be + switched to rigid in the restart. - When running on a cluster, the local solution files must be available - in the working directory on each node in the subsequent session. As an - example, consider the following command line used to generate local - solution files: + This command is also valid in PREP7. - Different machines can be used in the subsequent session to combine - these files. However, the total number of cores must remain unchanged - (seven in the above case), and the local files must be copied to the - working directory (or directories) on each of the machines used in the - subsequent session. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "COMBINE, %s" % (str(filetype)) + command = "EDRI,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(part), str(xc), str(yc), str(zc), str(tm), str(ixx), str(iyy), str(izz), str(ixy), str(iyz), str(ixz)) self.RunCommand(command, **kwargs) - def Psel(self, type="", pname1="", pname2="", pname3="", pname4="", - pname5="", pname6="", pname7="", pname8="", pname9="", pname10="", - **kwargs): + def Mdamp(self, stloc="", v1="", v2="", v3="", v4="", v5="", v6="", + **kwargs): """ - APDL Command: PSEL + APDL Command: MDAMP - Selects a path or paths. + Defines the damping ratios as a function of mode. Parameters ---------- - type - Label identifying the type of select: - - S - Select a new path. - - R - Reselect a path from the current set of paths. - - A - Additionally select a path and extend the current set of paths. - - U - Unselect a path from the current set of paths. - - ALL - Restore the full set of paths. - - NONE - Unselect the full set of paths. - - INV - Invert the current set of paths (selected becomes unselected and vice versa). + stloc + Starting location in table for entering data. For example, if + STLOC = 1, data input in the V1 field applies to the first constant + in the table. If STLOC = 7, data input in the V1 field applies to + the seventh constant in the table, etc. Defaults to the last + location filled + 1. - pname1, pname2, pname3, . . . , pname10 - Name of existing path(s). + v1, v2, v3, . . . , v6 + Data assigned to six locations starting with STLOC. If a value is + already in this location, it will be redefined. Blank values for + V2 to V6 leave the corresponding previous value unchanged. Notes ----- - Selects a path or multiple paths, up to ten. Data are flagged as - selected and unselected; no data are actually deleted from the - database. There is no default for this command; you must specify a - type and pathname. + Defines the damping ratios as a function of mode. Table position + corresponds to mode number. These ratios are added to the DMPRAT + value, if defined. Use STAT command to list current values. Applies + to the mode-superposition harmonic (ANTYPE,HARMIC), the mode- + superposition linear transient dynamic (ANTYPE,TRANS), and the spectrum + (ANTYPE,SPECTR) analyses. Repeat MDAMP command for additional + constants (10000 maximum). + + MDAMP can also be defined in a substructure analysis using component + mode synthesis with fixed-interface method (ANTYPE,SUBSTR with + CMSOPT,FIX and SEOPT,,,3). The damping ratios are added to the diagonal + of the reduced damping matrix as explained in Component Mode Synthesis + (CMS). + + This command is also valid in PREP7. """ - command = "PSEL, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(type), str(pname1), str(pname2), str(pname3), str(pname4), str(pname5), str(pname6), str(pname7), str(pname8), str(pname9), str(pname10)) + command = "MDAMP,%s,%s,%s,%s,%s,%s,%s" % (str(stloc), str(v1), str(v2), str(v3), str(v4), str(v5), str(v6)) self.RunCommand(command, **kwargs) - def Do(self, par="", ival="", fval="", inc="", **kwargs): + def Dmat(self, matrix="", type="", method="", val1="", val2="", val3="", + val4="", val5="", **kwargs): """ - APDL Command: *DO + APDL Command: *DMAT - Defines the beginning of a do-loop. + Creates a dense matrix. Parameters ---------- - par - The name of the scalar parameter to be used as the loop index. See - *SET for name restrictions. Any existing parameter of the same - name will be redefined. There is no character parameter - substitution for the Par field. + matrix + Name used to identify the matrix. Must be specified. - ival, fval, inc - Initially assign IVAL to Par. Increment IVAL by INC for each - successive loop. If IVAL exceeds FVAL and INC is positive, the - loop is not executed. INC defaults to 1. Negative increments and - non-integer numbers are allowed. + type + Matrix type: + + Double precision real values (default). - Complex double precision values. + + method + Method used to create the matrix: + + Allocate space for a matrix (default). - Resize an existing matrix to new row and column dimensions. Values are kept + from the original matrix. If the dimensions + specified by Val1 (rows) and Val2 (columns) are + greater than the original matrix size, the + additional entries are assigned a value of zero. + + Copy an existing matrix. - Link to an existing matrix. The memory will be shared between the original + matrix and the new matrix. This is useful for + manipulating a submatrix of a larger matrix. The + Val1 through Val5 arguments will be used to + specify the lower and upper bounds of row and + column numbers from the original matrix. + + val1, val2, val3, val4, val5 + Additional input. The meaning of Val1 through Val5 will vary + depending on the specified Method. See details below. Notes ----- - The block of commands following the *DO command (up to the *ENDDO - command) is executed repeatedly until some loop control is satisfied. - Printout is automatically suppressed on all loops after the first - (include a /GOPR command to restore the printout). The command line - loop control (Par,IVAL,FVAL,INC) must be input; however, a Use the *IF - within the block can also be used to control looping [*EXIT, *CYCLE]. - One level of internal file switching is used for each nested *DO. - Twenty levels of nested do-loops are allowed. + This command allows you to create a dense matrix. To create a sparse + matrix, use the *SMAT command. *SMAT is recommended for large matrices + obtained from the .FULL or .HBMAT file. Refer to the HBMAT command + documentation for more information about .FULL file contents. - Note:: : Do-loops that include /INPUT, *USE, or an "Unknown Command" - macro, have less nesting available because each of these operations - also uses a level of file switching. The *DO, *ENDDO, and any *CYCLE - and *EXIT commands for a do-loop must all be read from the same file - (or keyboard). You cannot use the MULTIPRO or *CREATE commands within - a *DO-loop. Picking operations should also not be used within a *DO- - loop. + Use the *VEC command to create a vector. - This command is valid in any processor. + For very large matrices, use the OUTOFCORE option (Method = ALLOC or + COPY) to keep some of the matrix on disk if there is insufficient + memory. + + When importing a dense matrix from a DMIG file, you can define the + formatting of the file using the Val3 and Val4 fields. Here are a few + different example of formats: + + A formatted file (using Val3=’F’, and Val4=8): + + A non-formatted file with blank separators: + + A non-formatted file with a comma separator (using Val3=’,’): """ - command = "*DO, %s, %s, %s, %s" % (str(par), str(ival), str(fval), str(inc)) + command = "*DMAT,%s,%s,%s,%s,%s,%s,%s,%s" % (str(matrix), str(type), str(method), str(val1), str(val2), str(val3), str(val4), str(val5)) self.RunCommand(command, **kwargs) - def Cycopt(self, option="", value1="", value2="", value3="", value4="", - value5="", value6="", value7="", **kwargs): + def Cycfiles(self, fnamerst="", extrst="", fnamerfrq="", extrfrq="", + **kwargs): """ - APDL Command: CYCOPT + APDL Command: CYCFILES - Specifies solution options for a cyclic symmetry analysis. + Specifies the data files where results are to be found for a cyclic + symmetry mode-superposition harmonic analysis. Parameters ---------- - option - One of the following options: - - BCMULT - Controls whether cyclic sector array parameter names are reused or created new - for multiple entities. + fnamerst + The file name and directory path of the results file from the + cyclic modal solution. Defaults to Jobname. - Value1 - The flag value. + extrst + File name extension for FnameRst. Defaults to rst. - 0 (OFF or NO) - Create new array parameter names (default) + fnamerfrq + The file name and directory path of the results file from the + cyclic mode-superposition harmonic solution. Defaults to the value + of the FnameRst argument. - 1(ON or YES) - Reuse array parameter names + extrfrq + File name extension for FnameRfrq. Defaults to rfrq. - COMBINE - For linear static cyclic symmetry analysis with non-cyclically symmetric - loading only, expands and combines all harmonic index - solutions and writes them to the results file during the - solution phase of the analysis. + """ + command = "CYCFILES,%s,%s,%s,%s" % (str(fnamerst), str(extrst), str(fnamerfrq), str(extrfrq)) + self.RunCommand(command, **kwargs) - Value1 - The flag value. + def Wpoffs(self, xoff="", yoff="", zoff="", **kwargs): + """ + APDL Command: WPOFFS - 0 (OFF or NO) - Disable combining of harmonic index solutions (default) + Offsets the working plane. - 1 (ON or YES) - Enable combining of harmonic index solutions + Parameters + ---------- + xoff, yoff, zoff + Offset increments defined in the working plane coordinate system. + If only ZOFF is used, the working plane will be redefined parallel + to the present plane and offset by ZOFF. - DEFAULT - Set the default cyclic solution settings. + Notes + ----- + Changes the origin of the working plane by translating the working + plane along its coordinate system axes. - DOF - The degrees of freedom to couple from the nodes on the low sector boundary to - nodes on the high boundary: + This command is valid in any processor. - Value1 - The component pair ID number. + """ + command = "WPOFFS,%s,%s,%s" % (str(xoff), str(yoff), str(zoff)) + self.RunCommand(command, **kwargs) - Value2, Value3, Value4,  . . . ,  Value7 - The constraint-equation/-coupling degree of freedom (DOF) for this pair. Repeat - the command to add other DOFs. The default is - constraint-equation/-coupling all applicable - DOFs. + def Cp(self, nset="", lab="", node1="", node2="", node3="", node4="", + node5="", node6="", node7="", node8="", node9="", node10="", + node11="", node12="", node13="", node14="", node15="", node16="", + node17="", **kwargs): + """ + APDL Command: CP - FACETOL - Tolerance for inclusion of surface nodes into your basic sector. Autodetect - defaults to 15°, accommodating most sections. Specify a - new Value1 only when extreme cut angles or complex model - geometry cause surface nodes to be excluded. See Notes - (below) for more information. + Defines (or modifies) a set of coupled degrees of freedom. - ANSYS, Inc. recommends that successful auto-detection depends more on the value of ANGTOL than the value of FACETOL. Please refer to CYCOPT Auto Detection Tolerance Adjustments for Difficult Cases for more information about auto-detection and the CYCOPT command. - Value1 + Parameters + ---------- + nset + Set reference number: - The face tolerance applies only to auto detection from node/element models (already meshed and no solid model), and it defaults to 15°. - HINDEX + n - Arbitrary set number. - The harmonic index solution ranges for modal or buckling cyclic symmetry analyses. The SOLVE command initiates a cyclic symmetry solution sequence at the harmonic indices specified. (By default, the SOLVE command solves for all available harmonic indices.) Static and harmonic cyclic symmetry solutions always use all harmonic indices required for the applied loads. - EVEN / ODD + HIGH - The highest defined coupled set number will be used (default, unless Lab = + ALL). This option is useful when adding nodes to an + existing set. - For low-frequency electromagnetic analysis only, EVEN specifies a symmetric solution and ODD specifies an antisymmetric solution. - The value you specify is based on the harmonic index: EVEN (default) indicates - harmonic index = 0, and ODD indicates harmonic - index = N / 2 (where N is an integer representing - the number of sectors in 360°). A value of ODD - applies only when N is an even number. + NEXT - The highest defined coupled set number plus one will be used (default if Lab = + ALL). This option automatically numbers coupled sets so + that existing sets are not modified. - The CYCOPT command with this HINDEX option is cumulative. To remove an option (for example, EVEN), issue this command: CYCOPT,HINDEX,EVEN,,,-1 - ALL + lab + Degree of freedom label for coupled nodes (in the nodal coordinate + system). Defaults to label previously defined with NSET if set + NSET already exists. A different label redefines the previous label + associated with NSET. Valid labels are: Structural labels: UX, + UY, or UZ (displacements); ROTX, ROTY, or ROTZ (rotations) (in + radians); HDSP (hydrostatic pressure). Thermal labels: TEMP, TBOT, + TE2, TE3, . . ., TTOP (temperature). Fluid labels: PRES + (pressure); VX, VY, or VZ (velocities). Electric labels: VOLT + (voltage); EMF (electromotive force drop); CURR (current). + Magnetic labels: MAG (scalar magnetic potential); AX, AY, or AZ + (vector magnetic potentials); CURR (current). Diffusion label: + CONC (concentration). Explicit analysis labels: UX, UY, or UZ + (displacements). - Solve all applicable harmonic indices. - Note:  Value2 must be blank. + node1, node2, node3, . . . , node17 + List of nodes to be included in set. Duplicate nodes are ignored. + If a node number is input as negative, the node is deleted from the + coupled set. The first node in the list is the primary (retained) + node, and the remaining nodes represent the removed degrees of + freedom. If NODE1 = ALL, NODE2 through NODE17 are ignored and all + selected nodes (NSEL) are included in the set. 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. - Value1, Value2, Value3 - Solve harmonic indices in range Value1 through Value2 in steps of Value3. - Repeat the command to add other ranges. The - default solves all applicable harmonic indices. + Notes + ----- + Do not include the same degree of freedom in more than one coupled set. + Repeat CP command for additional nodes. - Value4 - The only valid value is -1. If specified, it removes Value1 through Value2 in - steps of Value3 from the set to solve. By default, if - Value4 = -1 then Value1 = 0, Value2 = 0, and Value3 = 1. + Coupling degrees of freedom into a set causes the results calculated + for one member of the set to be the same for all members of the set. + Coupling can be used to model various joint and hinge effects. A more + general form of coupling can be done with constraint equations (CE). + For structural analyses, a list of nodes is defined along with the + nodal directions in which these nodes are to be coupled. As a result + of this coupling, these nodes are forced to take the same displacement + in the specified nodal coordinate direction. The amount of the + displacement is unknown until the analysis is completed. A set of + coupled nodes which are not coincident, or which are not along the line + of the coupled displacement direction, may produce an applied moment + which will not appear in the reaction forces. The actual degrees of + freedom available for a particular node depends upon the degrees of + freedom associated with element types (ET) at that node. For scalar + field analysis, this command is used to couple nodal temperatures, + pressures, voltages, etc. - Value5 - For static and harmonic analyses, the tolerance for determining if a Fourier - contribution of a load contributes to the response - (default = 1.0E-5). + For an explicit dynamic analysis, the only valid DOF labels for + coupling are UX, UY, and UZ. Since the rotational DOF (ROTX, ROTY, + ROTZ) are not allowed. The CP family of commands should not be used in + an explicit analysis to model rigid body behavior that involves + rotations. If CP is used in this manner, it could lead to nonphysical + responses. - If Value5=STATIC, it forces the program to solve only the specified harmonic indices (even if a load may have a Fourier contribution in an index not specified). - LDSECT + A set of coupled nodes which are not coincident, or which are not along + the line of the coupled displacement direction, produce an artificial + moment constraint. If the structure rotates, a moment may be produced + in the coupled set in the form of a force couple. This moment is in + addition to the real reaction forces and may make it appear that moment + equilibrium is not satisfied by just the applied forces and the + reaction forces. Note, however, that in an explicit dynamic analysis, + this artificial moment will not be produced. Rather, just the applied + forces and the reaction forces will satisfy the moment equilibrium in + the model. Thus, in an explicit analysis, the magnitude of nodal + displacements for this set of nodes will depend on the distance from + each node to the center of the coupled set, and the direction of + displacement will depend on the resulting moment. This may lead to a + nonphysical response in some cases. - Restricts subsequently defined force loads and surface loads to a specified sector. The restriction remains in effect until you change or reset it. This option is not available for harmonic analyses based on mode-superposition (CYCOPT,MSUP,1) - Value1 + Additional sets of coupled nodes may be generated from a specified set. + Degrees of freedom are coupled within a set but are not coupled between + sets. No degree of freedom should appear in more than one coupled set. + Such an appearance would indicate that at least two sets were in fact + part of a single larger set. The first degree of freedom of the + coupled set is the "prime" degree of freedom. All other degrees of + freedom in the coupled sets are eliminated from the solution matrices + by their relationship to the prime degree of freedom. Forces applied + to coupled nodes (in the coupled degree of freedom direction) will be + summed and applied to the prime degree of freedom. Output forces are + also summed at the prime degree of freedom. Degrees of freedom with + specified constraints (D) should not be included in a coupled set + (unless the degree of freedom is prime). - The sector number. A value other than 0 (default) is valid for a cyclic symmetry analysis with non-cyclically symmetric loading only. A value of 0 (or ALL) resets the default behavior for cyclic loading (where the loads are identical on all sectors). - MOVE + If master degrees of freedom are defined for coupled nodes, only the + prime degree of freedom should be so defined. The use of coupled nodes + reduces the set of coupled degrees of freedom to only one degree of + freedom. - Specifies if the program should move high- or low-edge component nodes paired within the specified tolerance (TOLER) to create precisely matching pairs. - Value1 + The removed degrees of freedom defined by the CP command cannot be + included in any CE or CERIG command. - The flag value. - 0 + """ + command = "CP,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nset), str(lab), str(node1), str(node2), str(node3), str(node4), str(node5), str(node6), str(node7), str(node8), str(node9), str(node10), str(node11), str(node12), str(node13), str(node14), str(node15), str(node16), str(node17)) + self.RunCommand(command, **kwargs) - Do not move edge component nodes (default) - 1 or HIGH + def Sbclist(self, **kwargs): + """ + APDL Command: SBCLIST - Move the high-edge component nodes to precisely match the low-edge component nodes - -1 or LOW + Lists solid model boundary conditions. - Move the low-edge component nodes to precisely match the high-edge component nodes - MSUP + Notes + ----- + Lists all solid model boundary conditions for the selected solid model + entities. See also DKLIST, DLLIST, DALIST, FKLIST, SFLLIST, SFALIST, + BFLLIST, BFALIST, BFVLIST, and BFKLIST to list items separately. - For modal cyclic symmetry analysis only, this flag is used to limit the results written to the Jobname.MODE and Jobname.RST files in preparation for a subsequent mode-superposition-based analysis. In a linear perturbation modal analysis, this option must be specified in the first load step of the preceding base analysis. - Value1 + This command is valid in any processor. - The flag value. - 0 (OFF or NO) + """ + command = "SBCLIST," % () + self.RunCommand(command, **kwargs) - Write results for the basic and duplicate sectors to the Jobname.MODE and Jobname.RST files (default) - 1 (ON or YES) + def Dot(self, vector1="", vector2="", par_real="", par_imag="", **kwargs): + """ + APDL Command: *DOT - Write only the basic sector results to the Jobname.MODE and Jobname.RST files for use in a subsequent mode-superposition-based analysis - STATUS + Computes the dot (or inner) product of two vectors. - List the solution option settings active for the cyclic model. - TOLER + Parameters + ---------- + vector1 + Name of first vector; must have been previously specified by a *VEC + command. - The tolerance used to determine whether a node on the low edge is paired with a node on the high edge. - Value1 + vector2 + Name of second vector; must have been previously specified by a + *VEC command. - The tolerance value. - Greater than 0 + par_real + Parameter name that contains the result. - The absolute distance tolerance for automatic sector-boundary detection and low-/high-edge component node pairing - Less than 0 + par_imag + Parameter name that contains the imaginary part of the result (used + only for complex vectors). - The relative tolerance for automatic sector-boundary detection and low-/high-edge component node pairing. In this case, the tolerance is Value1 * Length, where Length is the length of the diagonal of an imaginary box enclosing the model - 0 + Notes + ----- + If Vector1 and Vector2 are complex, the complex conjugate of Vector1 is + used to compute the result (Par_Real, Par_Imag). - Tolerance is set to -1.0 x 10-4 (default) - Value2 + """ + command = "*DOT,%s,%s,%s,%s" % (str(vector1), str(vector2), str(par_real), str(par_imag)) + self.RunCommand(command, **kwargs) - ANGTOL = Maximum allowable angle tolerance. (default = 0.01°) - The valid range for ANGTOL is model dependent. + def Nldpost(self, label="", key="", fileid="", prefix="", **kwargs): + """ + APDL Command: NLDPOST - If you input both the number of sectors and a sector angle, the angle must match 360/(number of sectors) within ANGTOL. - If you input only a sector angle, it must divide evenly into 360° within - ANGTOL. + Gets element component information from nonlinear diagnostic files. - If you input a sector angle, the final cyclic sector must span that angle within ANGTOL. - For auto detected sector angle, the final cyclic sector must span 360/(number - of sectors) within ANGTOL, everywhere along the - LOW/HIGH boundaries. + Parameters + ---------- + label + Specifies the type of command operation: - If ANGTOL is too small, your CAD or FEA model may not be accurate enough to allow auto detection or verification. - If ANGTOL is too large, you may get an unexpected or incorrect boundary - definition, or in other cases fail to detect the - boundaries. + EFLG - Element flag for nonlinear diagnostics. - For some difficult cases from FEA models (not solid models), you may need to change the value of FACETOL to achieve auto detection. Please refer to CYCOPT Auto Detection Tolerance Adjustments for Difficult Cases for more information about auto-detection and the CYCOPT command. - USRROT + NRRE - Newton-Raphson residuals. - Flag specifying whether ANSYS should override automatic nodal rotations to edge components and allow you to apply nodal rotations manually. - Value1 + key + Specifies the command action: - The flag value. - 0 (OFF or NO) + STAT - List information about the diagnostic files (Jobname.ndxxx or Jobname.nrxxx) in + the current directory. - Allow automatic node rotation (default) - 1 (ON or YES) + For Label = EFLG, the listing gives a summary that associates the loadstep, substep, time, equilibrium iteration number, cumulative iteration number, and the number of elements that fail each criteria with a specific file ID (Jobname.ndxxx). Use the list to create element components (via the CM option) based on the cumulative iteration number. - For Label = NRRE, the listing provides a summary that associates the loadstep, + substep, time, equilibrium iteration number, and + cumulative iteration number with a specific file + ID (Jobname.nrxxx). Use the list to identify the + respective file ID for creating Newton-Raphson + residual contour plots (PLNSOL,NRRE,…,FileID). - Suppress automatic node rotation. If you select this option, you must apply appropriate nodal rotations to all edge component nodes; otherwise, your analysis will yield incorrect solution results. - LOW + DEL - Delete Jobname.ndxxx or Jobname.nrxxx files in the working directory, if any + exist. - Suppresses automatic rotation of low-edge component nodes only, allowing you to apply them manually. Automatic rotation of high-edge component nodes occurs to produce the matching edge nodes required for a valid cyclic solution. - HIGH + CM - Create components for elements that violate criteria. This value is valid only + when Label = EFLG. - Suppresses automatic rotation of high-edge component nodes only, allowing you to apply them manually. Automatic rotation of low-edge component nodes occurs to produce the matching edge nodes required for a valid cyclic solution. - VTSOL + fileid + Valid only when Label = EFLG and Key = CM, this value specifies + file IDs: - Employ Variational Technology to accelerate your cyclic symmetry analysis. - Value1 + IDnum - The file ID number. Creates the element components from the diagnostic files + corresponding to the specified file ID number in the + working directory. - The flag value. - 0 (OFF or NO) + ALL - Creates element components from all available diagnostic files residing in the + working directory. This value is the default if you do not + specify an IDnum value. - Do not use Variational Technology (VT) (default) - 1 (ON or YES) + prefix + Sets the prefix name for components. Specify up to 21 alphanumeric + characters. Notes ----- - The program solves a cyclically symmetric model (set up via the CYCLIC - command during preprocessing) at the harmonic indices specified via the - CYCOPT command. + Based on the nonlinear diagnostic results (created via the NLDIAG,EFLG + command), the NLDPOST command creates element components with + predefined names. - The CYCOPT,COMBINE option is an alternative to the /CYCEXPAND command - and is especially useful for testing purposes. However, ANSYS, Inc. - recommends specifying COMBINE only when the number of sectors is - relatively small. (The option expands nodes and elements into the full - 360° and can slow postprocessing significantly. + The following table lists the diagnostic criteria and component names + (with specified prefix and without). Here xxx corresponds to the file + ID (FileID) of Jobname.ndxxx or Jobname.nrxxx. - If you issue a CYCOPT,TOLER command to set a tolerance for edge- - component pairing before issuing the CYCLIC command, the CYCLIC command - uses the specified tolerance when performing automatic edge-component - detection. + If you have trouble viewing specific element components, see Viewing + Hidden Element Components in the Basic Analysis Guide. - In cases involving non-cyclically symmetric loading (that is, when - LDSECT > 0), the underlying command operations create or modify the - required SECTOR tabular boundary condition (BC) data to apply on the - appropriate sector. Therefore, it is not necessary to manipulate tables - for situations where the applied BC is not a function of other tabular - BC variables such as TIME, X, Y, Z, and so on. + For more information, see Performing Nonlinear Diagnostics. - To delete a previously applied load on a specified sector, issue an - FDELE command. + """ + command = "NLDPOST,%s,%s,%s,%s" % (str(label), str(key), str(fileid), str(prefix)) + self.RunCommand(command, **kwargs) - Because edge nodes are rotated into the cyclic coordinate system during - solution, any applied displacements or forces on sector edges will be - in the cyclic coordinate system. + def Nrrang(self, nmin="", nmax="", ninc="", **kwargs): + """ + APDL Command: NRRANG - The CYCOPT command is valid in the preprocessing and solution stages of - an analysis. + Specifies the range of nodes to be read from the node file. - To learn more about analyzing a cyclically symmetric structure, see the - Cyclic Symmetry Analysis Guide. + Parameters + ---------- + nmin, nmax, ninc + Node range is defined from NMIN (defaults to 1) to NMAX (defaults + to 99999999) in steps of NINC (defaults to 1). - Distributed ANSYS Restriction: The COMBINE option is not supported in - Distributed ANSYS. + Notes + ----- + Defines the range of nodes to be read [NREAD] from the node file. Also + implies an element range since only elements fully attached to these + nodes will be read from the element file. """ - command = "CYCOPT, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(value1), str(value2), str(value3), str(value4), str(value5), str(value6), str(value7)) + command = "NRRANG,%s,%s,%s" % (str(nmin), str(nmax), str(ninc)) self.RunCommand(command, **kwargs) - def Desize(self, minl="", minh="", mxel="", angl="", angh="", edgmn="", - edgmx="", adjf="", adjm="", **kwargs): + def Dcum(self, oper="", rfact="", ifact="", tb_ase="", **kwargs): """ - APDL Command: DESIZE + APDL Command: DCUM - Controls default element sizes. + Specifies that DOF constraint values are to be accumulated. Parameters ---------- - minl - Minimum number of elements that will be attached to a line when - using lower-order elements (defaults to 3 elements per line). If - MINL = DEFA, all arguments will be set back to default values. If - MINL = STAT, list status of command (Including on/off status). If - MINL = OFF, deactivate default element sizing. If MINL = ON, - reactivate default element sizing. - - minh - Minimum number of elements that will be attached to a line when - using higher-order elements. Defaults to 2 elements per line. - - mxel - Maximum number of elements that will be attached to a single line - (lower or higher-order elements). Defaults to 15 elements per line - for h-elements. To deactivate this limit, specify a large number - (such as 9999). + oper + Accumulation key: - angl - Maximum spanned angle per lower-order element for curved lines. - Defaults to 15 degrees per element. + REPL - Subsequent values replace the previous values (default). - angh - Maximum spanned angle per higher-order element for curved lines. - Defaults to 28 degrees per element. + ADD - Subsequent values are added to the previous values. - edgmn - Minimum element edge length. Defaults to no minimum edge length. - The MINL or MINH argument can override this value. + IGNO - Subsequent values are ignored. - edgmx - Maximum element edge length. Defaults to no maximum edge length. - The MXEL argument can override this value. + rfact + Scale factor for the real component. Zero (or blank) defaults to + 1.0. Use a small number for a zero scale factor. - adjf - Target aspect ratio for adjacent line. Used only when free - meshing. Defaults to 1.0, which attempts to create equal-sided - h-elements. + ifact + Scale factor for the imaginary component. Zero (or blank) defaults + to 1.0. Use a small number for a zero scale factor. - adjm - Target aspect ratio for adjacent line. Used only when map meshing. - Defaults to 4.0, which attempts to create rectangular h-elements. + 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 ----- - DESIZE settings are usually used for mapped meshing. They are also - used for free meshing if SmartSizing is turned off [SMRTSIZE,OFF], - which is the default. Even when SmartSizing is on, some DESIZE - settings (such as maximum and minimum element edge length) can affect - free mesh density. The default settings of the DESIZE command are used - only when no other element size specifications [KESIZE, LESIZE, ESIZE] - exist for a certain line. + 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. - This command is also valid for rezoning. + 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 = "DESIZE, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(minl), str(minh), str(mxel), str(angl), str(angh), str(edgmn), str(edgmx), str(adjf), str(adjm)) + command = "DCUM,%s,%s,%s,%s" % (str(oper), str(rfact), str(ifact), str(tb_ase)) self.RunCommand(command, **kwargs) - def Edbvis(self, qvco="", lvco="", **kwargs): + def R(self, nset="", r1="", r2="", r3="", r4="", r5="", r6="", **kwargs): """ - APDL Command: EDBVIS + APDL Command: R - Specifies global bulk viscosity coefficients for an explicit dynamics - analysis. + Defines the element real constants. Parameters ---------- - qvco - Quadratic viscosity coefficient (defaults to 1.5). + nset + Real constant set identification number (arbitrary). If same as a + previous set number, set is redefined. Set number relates to that + defined with the element [REAL]. Note that the GUI automatically + assigns this value. - lvco - Linear viscosity coefficient (defaults to 0.06). + r1, r2, r3, . . . , r6 + Real constant values (interpreted as area, moment of inertia, + thickness, etc., as required for the particular element type using + this set), or table names for tabular input of boundary conditions. + Use RMORE command if more than six real constants per set are to be + input. Notes ----- - This command is also valid in PREP7. + Defines the element real constants. The real constants required for an + element are shown in the Input Summary of each element description in + the Element Reference. Constants must be input in the same order as + shown in that table. If more than the required number of element real + constants are specified in a set, only those required are used. If + fewer than the required number are specified, zero values are assumed + for the unspecified constants. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + If using table inputs (SURF151, SURF152, FLUID116, CONTA171, CONTA172, + CONTA173, CONTA174, and CONTA175 only), enclose the table name in % + signs (e.g., %tabname%). + + Specify NSET = GCN to define real constants for real constant sets that + were previously assigned by the GCDEF command (that is, real constants + used in general contact interactions). + + When copying real constants to new sets, ANSYS, Inc. recommends that + you use the command input. If you do use the GUI, restrict the real + constant copy to only the first six real constants (real constants + seven and greater will be incorrect for both the master and copy set). + + This command is also valid in SOLUTION. """ - command = "EDBVIS, %s, %s" % (str(qvco), str(lvco)) + command = "R,%s,%s,%s,%s,%s,%s,%s" % (str(nset), str(r1), str(r2), str(r3), str(r4), str(r5), str(r6)) self.RunCommand(command, **kwargs) - def Lclear(self, nl1="", nl2="", ninc="", **kwargs): + def Lmesh(self, nl1="", nl2="", ninc="", **kwargs): """ - APDL Command: LCLEAR + APDL Command: LMESH - Deletes nodes and line elements associated with selected lines. + Generates nodes and line elements along lines. Parameters ---------- nl1, nl2, ninc - Delete mesh for lines NL1 to NL2 (defaults to NL1) in steps of NINC - (defaults to 1). If NL1 = ALL, NL2 and NINC are ignored and the - mesh for all selected lines [LSEL] is deleted. If NL1 = 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 NL1 (NL2 and NINC are ignored). + Mesh lines from NL1 to NL2 (defaults to NL1) in steps of NINC + (defaults to 1). If NL1 = ALL, NL2 and NINC are ignored and all + selected lines [LSEL] are meshed. If NL1 = 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 NL1 (NL2 + and NINC are ignored). Notes ----- - Deletes all nodes and line elements associated with selected lines - (regardless of whether the nodes or elements are selected). Nodes - shared by adjacent meshed lines and nodes associated with non-line - elements will not be deleted. Attributes assigned as a result of LATT - are maintained. In the program's response to the command, if a line or - keypoint is tallied as "cleared," it means either its node or element - reference was deleted. + Generates nodes and line elements along lines. Missing nodes required + for the generated elements are created and assigned the lowest + available numbers. """ - command = "LCLEAR, %s, %s, %s" % (str(nl1), str(nl2), str(ninc)) + command = "LMESH,%s,%s,%s" % (str(nl1), str(nl2), str(ninc)) self.RunCommand(command, **kwargs) - def Edadapt(self, part="", key="", **kwargs): + def Partsel(self, type="", pmin="", pmax="", pinc="", **kwargs): """ - APDL Command: EDADAPT + APDL Command: PARTSEL - Activates adaptive meshing in an explicit dynamic analysis. + Selects a subset of parts in an explicit dynamic analysis. Parameters ---------- - part - Part ID (number) for which adaptive meshing is to be turned on (or - off). Use PART = STAT to list the current adaptive meshing - definitions. + type + Label identifying type of select. Because PARTSEL is a command + macro, the label must be enclosed in single quotes. - key - Adaptivity key: + 'S' - Select a new set (default). - OFF - Do not use adaptive meshing for the specified part ID (default). + 'R' - Reselect a set from the current set. - ON - Use adaptive meshing for the specified part ID. + 'A' - Additionally select a set and extend the current set. + + 'U' - Unselect a set from the current set. + + 'ALL' - Select all parts. + + 'NONE' - Unselect all parts. + + 'INVE' - Invert the current selected set. Notes ----- - When adaptive meshing (adaptivity) is turned on, the mesh will - automatically be regenerated to ensure adequate element aspect ratios. - Adaptive meshing is most commonly used in the analysis of large - deformation processes such as metal forming, in which the blank would - need to be adaptively meshed. + PARTSEL invokes an ANSYS macro that selects parts in an explicit + dynamic analysis. When PARTSEL is executed, an element component is + automatically created for each existing part. For example, the elements + that make up PART 1 are grouped into the element component _PART1. Each + time the PARTSEL command is executed, components for unselected parts + will be unselected. To plot selected parts, choose Utility Menu> Plot> + Parts in the GUI or issue the command PARTSEL,'PLOT'. - Adaptive meshing is only valid for parts consisting of SHELL163 - elements. By default, adaptive meshing is OFF for all parts in the - model. To specify adaptive meshing for more than one part in the model, - you must issue the EDADAPT command for each part ID. Use the EDPART - command to create and list valid part IDs. Use the EDCADAPT command to - define additional adaptive meshing parameters. + After selecting parts, if you change the selected set of nodes or + elements and then plot parts, the nodes and elements associated with + the previously selected parts (from the last PARTSEL command) will + become the currently selected set. - The EDADAPT command is not supported in an explicit dynamic full - restart analysis (EDSTART,3). In addition, a full restart cannot be - performed successfully if adaptive meshing was used in the previous - analysis. + Note:: : A more efficient way to select and plot parts is to use the + ESEL (with ITEM = PART) and EPLOT commands. We recommend using ESEL + instead of PARTSEL since PARTSEL will be phased out in a future + release. Note that the menu path mentioned above for plotting parts + does not work with the ESEL command; use Utility Menu> Plot> Elements + instead. - This command is also valid in PREP7. + In an explicit dynamic small restart analysis (EDSTART,2), PARTSEL can + be used to unselect a part during the solution even if it is referenced + in some way (such as in a contact definition). (Note that ESEL cannot + be used for this purpose.) However, in a new analysis or a full restart + analysis (EDSTART,3), all parts that are used in some type of + definition must be selected at the time of solution. + + This command is valid in any processor. Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "EDADAPT, %s, %s" % (str(part), str(key)) + command = "PARTSEL,%s,%s,%s,%s" % (str(type), str(pmin), str(pmax), str(pinc)) self.RunCommand(command, **kwargs) - def Cval(self, wn="", v1="", v2="", v3="", v4="", v5="", v6="", v7="", - v8="", **kwargs): + def Lczero(self, **kwargs): """ - APDL Command: /CVAL + APDL Command: LCZERO - Specifies nonuniform contour values on stress displays. + Zeroes the results portion of the database. + + Notes + ----- + Often used before the LCOPER command. Same as LCOPER,ZERO. + + """ + command = "LCZERO," % () + self.RunCommand(command, **kwargs) + + def Dj(self, elem="", label="", value="", **kwargs): + """ + APDL Command: DJ + + Specifies boundary conditions on the components of relative motion of a + joint element. Parameters ---------- - wn - Window number (or ALL) to which command applies (defaults to 1). + elem + Element number or ALL to be specified. - v1, v2, v3, . . . , v8 - Up to 8 contour values may be specified (in ascending order). The - 0.0 value (if any) must not be the last value specified. If no - values are specified, all contour specifications are erased and - contours are automatically calculated. + 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 similar to the /CONTOUR command. With /CVAL, however, - you define the upper level of each contour band instead of having the - contours uniformly distributed over the range. The minimum value - (including a zero value for the first band) for a contour band cannot - be specified. If you use both /CONTOUR and /CVAL, the last command - issued takes precedence. + This command is valid for MPC184 joint elements. See DJDELE for + information on deleting boundary conditions applied with the DJ + command. - This command is valid in any processor. + 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 = "/CVAL, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(wn), str(v1), str(v2), str(v3), str(v4), str(v5), str(v6), str(v7), str(v8)) + command = "DJ,%s,%s,%s" % (str(elem), str(label), str(value)) self.RunCommand(command, **kwargs) - def Ewrite(self, fname="", ext="", kappnd="", format="", **kwargs): + def Bioopt(self, **kwargs): """ - APDL Command: EWRITE + APDL Command: BIOOPT - Writes elements to a file. + Specifies "Biot-Savart options" as the subsequent status topic. - Parameters - ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and will appear in the log file (Jobname.LOG) if + status is requested for some items under Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. - ext - Filename extension (eight-character maximum). + If entered directly into the program, the STAT command should + immediately follow this command. - -- - Unused field. + """ + command = "BIOOPT," % () + self.RunCommand(command, **kwargs) - kappnd - Append key: + def Nforce(self, item="", **kwargs): + """ + APDL Command: NFORCE - 0 - Rewind file before the write operation. + Sums the nodal forces and moments of elements attached to nodes. - 1 - Append data to the end of the existing file. + Parameters + ---------- + item + Specifies the selected set of nodes for summing forces and moments + for contact elements. - format - Format key: + (blank) - Sums the nodal forces of elements for all selected nodes and excludes contact + elements (elements 169-177). - SHORT - I6 format (the default). + CONT - Sums the nodal forces of elements for contact nodes only. - LONG - I8 format. + BOTH - Sums the nodal forces of elements for all selected nodes, including contact + elements. Notes ----- - Writes the selected elements to a file. The write operation is not - necessary in a standard ANSYS run but is provided as convenience to - users wanting a coded element file. If issuing EWRITE from ANSYS to be - used in ANSYS, you must also issue NWRITE to store nodal information - for later use. Only elements having all of their nodes defined (and - selected) are written. Data are written in a coded format. The data - description of each record is: I, J, K, L, M, N, O, P, MAT, TYPE, REAL, - SECNUM, ESYS, IEL, where MAT, TYPE, REAL, and ESYS are attribute - numbers, SECNUM is the beam section number, and IEL is the element - number. + Sums and prints, in each component direction for each selected node, + the nodal force and moment contributions of the selected elements + attached to the node. If all elements are selected, the sums are + usually zero except where constraints or loads are applied. The nodal + forces and moments may be displayed [/PBC,FORC and /PBC,MOME]. Use + PRESOL to print nodal forces and moments on an element-by-element + basis. You can use the FORCE command to specify which component + (static, damping, inertia, or total) of the nodal load is to be used. + Nodal forces associated with surface loads are not included. - The format is (14I6) if Format is set to SHORT and (14I8) if the Format - is set to LONG, with one element description per record for elements - having eight nodes of less. For elements having more than eight nodes, - nodes nine and above are written on a second record with the same - format. + This vector sum is printed in the global Cartesian system. Moment + summations are about the global origin unless another point is + specified with the SPOINT command. The summations for each node are + printed in the global Cartesian system unless transformed [RSYS]. This + command is generally not applicable to axisymmetric models because + moment information from the NFORCE command is not correct for + axisymmetric elements. + + Selecting a subset of elements [ESEL] and then issuing this command + will give the forces and moments required to maintain equilibrium of + that set of elements. The effects of nodal coupling and constraint + equations are ignored. The option ITEM = CONT provides the forces and + moments for the contact elements (CONTA171, CONTA172, CONTA173, + CONTA174, CONTA175, CONTA176, and CONTA177). Setting ITEM = BOTH + provides the forces and moments for all selected nodes, including + contact elements. + + This command also includes the FSUM command function which vectorially + sums and prints, in each component direction for the total selected + node set, the nodal force and moment contributions of the selected + elements attached to the selected node set. """ - command = "EWRITE, %s, %s, %s, %s" % (str(fname), str(ext), str(kappnd), str(format)) + command = "NFORCE,%s" % (str(item)) self.RunCommand(command, **kwargs) - def Cpmerge(self, lab="", **kwargs): + def Grtyp(self, kaxis="", **kwargs): """ - APDL Command: CPMERGE + APDL Command: /GRTYP - Merges different couple sets with duplicate degrees of freedom into one - couple set. + Selects single or multiple Y-axes graph displays. + + Parameters + ---------- + kaxis + Axis selection key: + + 0 or 1 - Single Y-axis. Up to 10 curves scaled to a single Y-axis. + + 2 - Additional Y-axes (one for each curve) (3 curves maximum). Allows better + scaling of curves with widely differing numbering ranges. + + 3 - Same as 2 but with additional Y-axis and curves projected out of the plane (6 + curves maximum). Allows clearer display with an isometric + view. The default view when KAXIS = 3 is View,1,1,2,3. + + Notes + ----- + The basic line graph has one or more curves plotted against the same Y + and X axes. Multiple curve graphs can also be plotted with individual + Y axes and the same X axis. The Y axis of the first curve is referred + to as the base Y-axis and the Y axes of the other curves as additional + Y axes. Curves are numbered sequentially from 1 (the base curve) in + the order in which they are displayed. See the /AXLAB, /GROPT, /GRID, + and /GTHK commands for other display options. - Parameters - ---------- - lab - Degree of freedom label for coupled nodes (in the nodal coordinate - system). Valid labels are: Structural labels: UX, UY, or UZ - (displacements); ROTX, ROTY, or ROTZ (rotations) (in radians). - Thermal labels: TEMP, TBOT, TE2, TE3, . . ., TTOP (temperature). - Fluid labels: PRES (pressure); VX, VY, or VZ (velocities). - Electric labels: VOLT (voltage); EMF (electromotive force drop); - CURR (current). Magnetic labels: MAG (scalar magnetic potential); - AX, AY, or AZ (vector magnetic potentials); CURR (current). - Diffusion label: CONC (concentration). Explicit analysis labels: - UX, UY, or UZ (displacements). The degree of freedom set is - determined from all element types defined and the DOF command, if - used. + This command is valid in any processor. """ - command = "CPMERGE, %s" % (str(lab)) + command = "/GRTYP,%s" % (str(kaxis)) self.RunCommand(command, **kwargs) - def Mfanalysis(self, key="", **kwargs): + def Cylind(self, rad1="", rad2="", z1="", z2="", theta1="", theta2="", + **kwargs): """ - APDL Command: MFANALYSIS + APDL Command: CYLIND - Activates or deactivates an ANSYS Multi-field solver analysis. + Creates a cylindrical volume centered about the working plane origin. Parameters ---------- - key - Multifield analysis key: + rad1, rad2 + Inner and outer radii (either order) of the cylinder. A value of + zero or blank for either RAD1 or RAD2, or the same value for both + RAD1 and RAD2, defines a solid cylinder. - ON - Activates an ANSYS Multi-field solver analysis. + z1, z2 + Working plane Z coordinates of the cylinder. If either Z1 or Z2 is + zero, one of the faces of the cylinder will be coplanar with the + working plane. - OFF - Deactivates an ANSYS Multi-field solver analysis (default). + theta1, theta2 + Starting and ending angles (either order) of the cylinder. Used + for creating a cylindrical sector. The sector begins at the + algebraically smaller angle, extends in a positive angular + direction, and ends at the larger angle. The starting angle + defaults to 0.0° and the ending angle defaults to 360.0°. See the + Modeling and Meshing Guide for an illustration. Notes ----- - This command is also valid in PREP7. - - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. - - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + Defines a cylindrical volume centered about the working plane origin. + The top and bottom faces are parallel to the working plane but neither + face need be coplanar with (i.e., "on") the working plane. The + cylinder must have a spatial volume greater than zero. (i.e., this + volume primitive command cannot be used to create a degenerate volume + as a means of creating an area.) For a solid cylinder of 360°, the top + and bottom faces will be circular (each area defined with four lines), + and they will be connected with two areas (each spanning 180°.) See + the CYL4 and CYL5 commands for alternate ways to create cylinders. """ - command = "MFANALYSIS, %s" % (str(key)) + command = "CYLIND,%s,%s,%s,%s,%s,%s" % (str(rad1), str(rad2), str(z1), str(z2), str(theta1), str(theta2)) self.RunCommand(command, **kwargs) - def Kmodif(self, npt="", x="", y="", z="", **kwargs): + def Geom(self, k2d="", ndiv="", **kwargs): """ - APDL Command: KMODIF + APDL Command: GEOM - Modifies an existing keypoint. + Defines the geometry specifications for the radiation matrix + calculation. Parameters ---------- - npt - Modify coordinates of this keypoint. If NPT = ALL, modify - coordinates of all selected keypoints [KSEL]. If NPT = 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 NPT. - - x, y, z - Replace the previous coordinate values assigned to this keypoint - with these corresponding coordinate values. Values are interpreted - according to the active coordinate system (R, θ, Z for cylindrical, - R, θ,Φ for spherical). If X = P, graphical picking is used to - locate keypoint and Y and Z are ignored. A blank retains the - previous value. You cannot specify Y = P. + k2d + Dimensionality key: - Notes - ----- - Lines, areas, and volumes attached to the modified keypoint (if any) - must all be selected and will be redefined using the active coordinate - system. However, solid modeling in a toroidal coordinate system is not - recommended. + 0 - 3-D geometry (default) - Caution:: : Redefined entities may be removed from any defined - components and assemblies. Nodes and elements will be automatically - cleared from any redefined keypoints, lines, areas, or volumes. + 1 - 2-D geometry (plane or axisymmetric) - The KMODIF command moves keypoints for geometry modification without - validating underlying entities. To merge keypoints and update higher - order entities, issue the NUMMRG command instead. + ndiv + Number of divisions in an axisymmetric model. Used only with K2D = + 1. Defaults to 0 (2-D plane). The 2-D model is internally + expanded to a 3-D model based on the number of divisions specified + (6   NDIV   90). For example, NDIV of 6 is internally represented + by six 60° sections. """ - command = "KMODIF, %s, %s, %s, %s" % (str(npt), str(x), str(y), str(z)) + command = "GEOM,%s,%s" % (str(k2d), str(ndiv)) self.RunCommand(command, **kwargs) - def Ksll(self, type="", **kwargs): + def Arotat(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", pax1="", + pax2="", arc="", nseg="", **kwargs): """ - APDL Command: KSLL + APDL Command: AROTAT - Selects those keypoints contained in the selected lines. + Generates cylindrical areas by rotating a line pattern about an axis. Parameters ---------- - type - Label identifying the type of keypoint select: - - S - Select a new set (default). + nl1, nl2, nl3, . . . , nl6 + List of lines in the pattern to be rotated (6 maximum if using + keyboard entry of NL1 to NL6). The lines must lie in the plane of + the axis of rotation. If NL1 = P, graphical picking is enabled and + all remaining arguments are ignored (valid only in the GUI). If + NL1 = ALL, all selected lines will define the pattern to be + rotated. A component name may also be substituted for NL1. - R - Reselect a set from the current set. + pax1, pax2 + Keypoints defining the axis about which the line pattern is to be + rotated. - A - Additionally select a set and extend the current set. + arc + Arc length (in degrees). Positive follows right-hand rule about + PAX1-PAX2 vector. Defaults to 360°. - U - Unselect a set from the current set. + nseg + Number of areas (8 maximum) around circumference. Defaults to + minimum number required for 90° -maximum arcs, i.e., 4 for 360°, 3 + for 270°, etc. Notes ----- - This command is valid in any processor. + Generates cylindrical areas (and their corresponding keypoints and + lines) by rotating a line pattern (and its associated keypoint pattern) + about an axis. Keypoint patterns are generated at regular angular + locations, based on a maximum spacing of 90°. Line patterns are + generated at the keypoint patterns. Arc lines are also generated to + connect the keypoints circumferentially. Keypoint, line, and area + numbers are automatically assigned, beginning with the lowest available + values [NUMSTR]. Adjacent lines use a common keypoint. Adjacent areas + use a common line. """ - command = "KSLL, %s" % (str(type)) + command = "AROTAT,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(pax1), str(pax2), str(arc), str(nseg)) self.RunCommand(command, **kwargs) - def Plpagm(self, item="", gscale="", nopt="", **kwargs): + def Extopt(self, lab="", val1="", val2="", val3="", val4="", **kwargs): """ - APDL Command: PLPAGM + APDL Command: EXTOPT - Displays path items along the path geometry. + Controls options relating to the generation of volume elements from + area elements. Parameters ---------- - item - The path data item to be displayed on the currently active path - (defined by the PATH command). Valid path items are those defined - with the PDEF or PLNEAR commands. + lab + Label identifying the control option. The meanings of Val1, Val2, + and Val3 will vary depending on Lab. - gscale - Scale factor for the offset from the path for the path data item - displays. Defaults to 1.0. + ON - Sets carryover of the material attributes, real constant attributes, and + element coordinate system attributes of the pattern area + elements to the generated volume elements. Sets the pattern + area mesh to clear when volume generations are done. Val1, + Val2, and Val3 are ignored. - nopt - Determines how data is displayed: + OFF - Removes all settings associated with this command. Val1, Val2, and Val3 are + ignored. - (blank) - Do not display nodes, and scale the display based on the currently selected - node set (default). + STAT - Shows all settings associated with this command. Val1, Val2, Val3, and Val4 are + ignored. - NODE - Display path item data along with the currently selected set of nodes. The - display geometry is scaled to the selected node set. + ATTR - Sets carryover of particular pattern area attributes (materials, real + constants, and element coordinate systems) of the pattern + area elements to the generated volume elements. (See 2.) + Val1 can be: - Notes - ----- - You can use the Gscale argument to scale the contour display offset - from the path for clarity. You need to type all six characters to issue - this command. + 0 - Sets volume elements to use current MAT command settings. - """ - command = "PLPAGM, %s, %s, %s" % (str(item), str(gscale), str(nopt)) - self.RunCommand(command, **kwargs) + 1 - Sets volume elements to use material attributes of the pattern area elements. - def Fmagbc(self, cnam1="", cnam2="", cnam3="", cnam4="", cnam5="", - cnam6="", cnam7="", cnam8="", cnam9="", **kwargs): - """ - APDL Command: FMAGBC + Val2 can be: - 0 - Applies force and torque boundary conditions to an element component. + Sets volume elements to use current REAL command settings. - 1 - Parameters - ---------- - cnam1, cnam2, cnam3, . . . , cnam9 - Names of existing element components (CM command). Must be - enclosed in single quotes (e.g., `Cnam1') when the command is - manually typed in. + Sets volume elements to use real constant attributes of the pattern area elements. - Val3 can be: - Notes - ----- - FMAGBC invokes a predefined ANSYS macro to apply Maxwell and virtual - work force and torque boundary conditions to an element component. - These boundary conditions are used for subsequent force and torque - calculations during solution. Magnetic virtual displacements (MVDI = - 1) are applied to nodes of elements in the components, and Maxwell - surface flags (MXWF) are applied to air elements adjoining the element - components. Incorrect force and torque calculations will occur for - components sharing adjacent air elements. Companion macros FMAGSUM - and TORQSUM can be used in POST1 to summarize the force and torque - calculations, respectively. Torque calculations are valid for 2-D - planar analysis only. For 2-D harmonic analysis, force and torque - represent time-average values. + 0 - Sets volume elements to use current ESYS command settings. - If using elements PLANE121, SOLID122, SOLID123, PLANE233, SOLID236 and - SOLID237 (static analyses only), use EMFT to summarize electromagnetic - force and torque. If you do use FMAGSUM, you do not need to first set - either the Maxwell or the virtual work force flags via FMAGBC. + 1 - Sets volume elements to use element coordinate system attributes of the pattern + area elements. - """ - command = "FMAGBC, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(cnam1), str(cnam2), str(cnam3), str(cnam4), str(cnam5), str(cnam6), str(cnam7), str(cnam8), str(cnam9)) - self.RunCommand(command, **kwargs) + Val4 can be: - 0 - def Golist(self, **kwargs): - """ - APDL Command: /GOLIST + Sets volume elements to use current SECNUM command settings. - 1 - Reactivates the suppressed data input listing. + Sets volume elements to use section attributes of the pattern area elements. - - Notes - ----- - Reactivates printout of the data input listing suppressed with /NOLIST. + ESIZE - Val1 sets the number of element divisions in the direction of volume generation + or volume sweep. For VDRAG and VSWEEP, Val1 is overridden + by the LESIZE command NDIV setting. Val2 sets the spacing + ratio (bias) in the direction of volume generation or + volume sweep. If positive, Val2 is the nominal ratio of + last division size to first division size (if > 1.0, sizes + increase, if < 1.0, sizes decrease). If negative, Val2 is + the nominal ratio of center division(s) size to end + divisions size. Ratio defaults to 1.0 (uniform spacing). + Val3 and Val4 are ignored. - This command is valid in any processor, but only within a batch run - [/BATCH]. + ACLEAR - Sets clearing of pattern area mesh. (See 3.) Val1 can be: - """ - command = "/GOLIST, " % () - self.RunCommand(command, **kwargs) + 0 - Sets pattern area to remain meshed when volume generation is done. - def Pdplot(self, name="", plow="", pup="", **kwargs): - """ - APDL Command: PDPLOT + 1 - Sets pattern area mesh to clear when volume generation is done. Val2, Val3 , + and Val4 are ignored. - Plots the distribution curves of a defined random input variable. + VSWE - Indicates that volume sweeping options will be set using Val1 and Val2. + Settings specified with EXTOPT,VSWE will be used the next + time the VSWEEP command is invoked. If Lab = VSWE, Val1 + becomes a label. Val1 can be: - Parameters - ---------- - name - Parameter name. The parameter name must have been previously - defined as a random input variable using the PDVAR command. + AUTO - Indicates whether you will be prompted for the source and target used by VSWEEP + or if VSWE should automatically determine the source and + target. If Val1 = AUTO, Val2 is ON by default. VSWE will + automatically determine the source and target for VSWEEP. + You will be allowed to pick more than one volume for + sweeping. When Val2 = OFF, the user will be prompted for the + source and target for VSWEEP. You will only be allowed to + pick one volume for sweeping. - plow - Lower probability level used to determine the lower boundary of the - curve. This probability must be between 0.0 and 1.0 and it defaults - to 0.0025. This parameter is used to determine the lower plotting - range (boundary) in case the random input variable does not have a - minimum value (such as Gauss). + TETS - Indicates whether VSWEEP will tet mesh non-sweepable volumes or leave them + unmeshed. If Val1 = TETS, Val2 is OFF by default. Non- + sweepable volumes will be left unmeshed. When Val2 = ON, the + non-sweepable volumes will be tet meshed if the assigned + element type supports tet shaped elements. - pup - Upper probability level used to determine the upper boundary of the - curve. This probability must be between 0.0 and 1.0 and it defaults - to 0.9975. + val1, val2, val3, val4 + Additional input values as described under each option for Lab. Notes ----- - Plots the distribution of a defined random input variable. The PDPLOT - command generates a probability density function plot as well as a - cumulative distribution function plot of the random variable. The - probabilities PLOW and PUP are used to determine the plot range of the - random input variable values. To do this, the probabilities are - converted into random input variable values using the inverse - cumulative distribution function of the random input variable as shown - in the following illustration. + EXTOPT controls options relating to the generation of volume elements + from pattern area elements using the VEXT, VROTAT, VOFFST, VDRAG, and + VSWEEP commands. (When using VSWEEP, the pattern area is referred to + as the source area.) - Using the probabilities ensures that the boundaries are always feasible - and meaningful for the random input variable regardless of its - distribution type. + Enables carryover of the attributes of the pattern area elements to + the generated volume elements when you are using VEXT, VROTAT, VOFFST, + or VDRAG. (When using VSWEEP, since the volume already exists, use the + VATT command to assign attributes before sweeping.) - If PLOW is left blank, then a minimum value of the distribution is - used for plotting, provided it exists (for example, uniform - distribution). If the distribution type has no minimum value (for - example, a Gaussian distribution) then the default value is used to - determine the lower plotting range value. The same applies for the - maximum value, if PUP is left blank. + When you are using VEXT, VROTAT, VOFFST, or VDRAG, enables clearing of + the pattern area mesh when volume generations are done. (When you are + using VSWEEP, if selected, the area meshes on the pattern (source), + target, and/or side areas clear when volume sweeping is done.) + + Neither EXTOPT,VSWE,AUTO nor EXTOPT,VSWE,TETS will be affected by + EXTOPT,ON or EXTOPT, OFF. """ - command = "PDPLOT, %s, %s, %s" % (str(name), str(plow), str(pup)) + command = "EXTOPT,%s,%s,%s,%s,%s" % (str(lab), str(val1), str(val2), str(val3), str(val4)) self.RunCommand(command, **kwargs) - def Expass(self, key="", **kwargs): + def Cdwrite(self, option="", fname="", ext="", fnamei="", exti="", fmat="", + **kwargs): """ - APDL Command: EXPASS + APDL Command: CDWRITE - Specifies an expansion pass of an analysis. + Writes geometry and load database items to a file. Parameters ---------- - key - Expansion pass key: + option + Selects which data to write: - OFF - No expansion pass will be performed (default). + ALL - Write all appropriate geometry, material property, load, and component data + (default). Two files will be produced. Fname.Ext will contain + all data items mentioned in "Notes", except the solid model + data. Fnamei.Exti will contain the solid model geometry and + solid model loads data in the form of IGES commands. This + option is not valid when CDOPT,ANF is active. - ON - An expansion pass will be performed. + COMB - Write all data mentioned, but to a single file, Fname.Ext. Solid model geometry + data will be written in either IGES or ANF format as + specified in the CDOPT command, followed by the remainder of + the data in the form of ANSYS commands. More information on + these (IGES/ANF) file formats is provided in "Notes". - Notes - ----- - Specifies that an expansion pass of a modal, substructure, buckling, - transient, or harmonic analysis is to be performed. + DB - Write all database information except the solid model and solid model loads to + Fname.Ext in the form of ANSYS commands. This option is not + valid when CDOPT,ANF is active. - Note:: : This separate solution pass requires an explicit FINISH to - preceding analysis and reentry into SOLUTION. + SOLID - Write only the solid model geometry and solid model load data. This output will + be in IGES or ANF format, as specified in the CDOPT + command. More information on these (IGES/ANF) file formats + is provided in "Notes". - This command is also valid in PREP7. + GEOM - Write only element and nodal geometry data. Neither solid model geometry nor + element attribute data will be written. One file, Fname.Ext, + will be produced. Use CDREAD,DB to read in a file written + with this option. Element types [ET] compatible with the + connectivity of the elements on the file must first be + defined before reading the file in with CDREAD,DB. - """ - command = "EXPASS, %s" % (str(key)) - self.RunCommand(command, **kwargs) + CM - Write only node and element component and geometry data to Fname.Ext. - def Lcfile(self, lcno="", fname="", ext="", **kwargs): - """ - APDL Command: LCFILE + MAT - Write only material property data (both linear and nonlinear) to Fname.Ext. - Creates a load case from an existing load case file. + LOAD - Write only loads for current load step to Fname.Ext. - Parameters - ---------- - lcno - Arbitrary (1-99) pointer number assigned to this load case. + SECT - Write only section data to Fname.Ext. Pretension sections are not included. fname File name and directory path (248 characters maximum, including the @@ -73925,2504 +73648,2597 @@ def Lcfile(self, lcno="", fname="", ext="", **kwargs): -- Unused field. - Notes - ----- - Creates a load case by establishing a pointer to an existing load case - file [LCWRITE]. This pointer (LCNO) can then be used on the LCASE or - LCOPER commands to read the load case data into the database. This - command is typically used to reestablish load case pointers in a new - ANSYS session (pointers are not saved on the database file), or when - more than one pointer to a single load case is desired. See the LCDEF - command for status and erase operations. See also LCDEF to establish a - pointer to a set of results on a results file (written during the ANSYS - solution phase). - - """ - command = "LCFILE, %s, %s, %s" % (str(lcno), str(fname), str(ext)) - self.RunCommand(command, **kwargs) - - def Device(self, label="", key="", **kwargs): - """ - APDL Command: /DEVICE - - Controls graphics device options. - - Parameters - ---------- - label - Device function label: - - BBOX - Bounding box mode. For PowerGraphics plots involving elements with /SHOW,x11 - and /SHOW,win32, ANSYS generally displays dynamic rotations - faster. If KEY = 1 (ON), then a bounding box (not the - elements) encompassing the model is displayed and rotated, - rather than the element outlines (ON is default in - preprocessing). When KEY = 0 (OFF), then dynamic rotations - may be slower (ANSYS redraws the element outlines) for plots - involving elements with /SHOW,x11 and /SHOW,win32. OFF is - default in postprocessing. This command is ignored if - /EDGE,WN,1 is set for any WN. This is ignored in POST1 and - SOLUTION plots. - - For any PowerGraphics plots involving elements, regardless of /SHOW settings, plots will generally be displayed faster. - VECTOR - - Vector mode. In vector mode, areas, volumes, elements, and postprocessing display geometries are shown as outlines (wireframes). When vector mode is off (default), these entities are shown filled with color. - DITHER - - When dithering is turned on (default), color intensity transitions are smoothed. This selection a - applies only to smooth-shaded images, i.e., Z-buffered [/TYPE], or raster plots - with Gouraud or Phong shading [/SHADE]. + fnamei + Name of the IGES file and its directory path (248 characters + maximum, including directory). If you do not specify a directory + path, it will default to your working directory and you can use all + 248 characters for the file name. - ANIM - Select the animation type used on 2-D devices on the PC platform. A KEY value - of BMP (or 0) sets animation mode to ANSYS Animation - Controller (default). A KEY value of AVI (or 2) sets - animation mode to AVI movie player file. + exti + Filename extension (eight-character maximum). - FONT - Font selection for the ANSYS graphics window. When Label = FONT, the command - format is: /DEVICE,FONT,KEY,Val1,Val2,Val3,Val4,Val5,Val6 - where KEY determines the type of font being controlled, and - values 1 through 6 control various font parameters. Note - that these values are device specific; using the same - command input file [/INPUT] on different machines may yield - different results.. The following KEY values determine the - font information that will be supplied to the appropriate - driver (e.g., Postscript, X11, Win32, JPEG, ...): + fmat + Format of the output file (defaults to BLOCKED). - KEY = 1 - The command controls the LEGEND (documentation column) font. + BLOCKED - Blocked format. This format allows faster reading of the output file. The time + savings is most significant when BLOCKED is used to read + .cdb files associated with very large models. - KEY = 2 - The command controls the ENTITY (node and keypoint number) font. + UNBLOCKED - Unblocked format. - KEY = 3 - The command controls the ANNOTATION/GRAPH font. + Notes + ----- + Load data includes the current load step only. Loads applied to the + solid model (if any) are automatically transferred to the finite + element model when this command is issued. CDWRITE writes out solid + model loads for meshed models only. If the model is not meshed, the + solid model loads cannot be saved. Component data include component + definitions, but not assembly definitions. Appropriate NUMOFF commands + are included at the beginning of the file; this is to avoid overlap of + an existing database when the file is read in. - Linux: Values 1 through 4 are used to find a match in the X11 database of font strings. Values 1, 2, and 3 are character strings; value 4 is a nonzero integer: - Val1 + Element order information (resulting from a WAVES command) is not + written. The data in the database remain untouched. - Family name (e.g., Courier). If Val1 = MENU, all other values are ignored and a font selection menu appears (GUI must be active). - Val2 + Solution control commands are typically not written to the file unless + you specifically change a default solution setting. - Weight (e.g., medium) - Val3 + CDWRITE does not support the GSBDATA and GSGDATA commands, and these + commands are not written to the file. - Slant (e.g., r) - Val4 + The data may be reread (on a different machine, for example) with the + CDREAD command. Caution: When the file is read in, the NUMOFF,MAT + command may cause a mismatch between material definitions and material + numbers referenced by certain loads and element real constants. See + NUMOFF for details. Also, be aware that the files created by the + CDWRITE command explicitly set the active coordinate system to + Cartesian (CSYS,0). - Pixel size (e.g., 14). Note that this value does no affect the annotation fonts (KEY = 3). Use the /TSPEC command for annotation font size. - Val5 + You should generally use the blocked format (Fmat = BLOCKED) when + writing out model data with CDWRITE. This is a compressed data format + that greatly reduces the time required to read large models through the + CDREAD command. The blocked and unblocked formats are described in + Chapter 3 of the Guide to Interfacing with ANSYS. - unused - Val6 + If you use CDWRITE in any of the derived products (ANSYS Emag, ANSYS + Professional), then before reading the file, you must edit the + Jobname.cdb file to remove commands that are not available in the + respective component product. - unused - PC: The values are encoded in a PC logical font structure. Value 1 is a - character string, and the remaining values are integers: + The CDWRITE command writes PART information for any ANSYS LS-DYNA input + file to the Jobname.cdb file via the EDPREAD command. (EDPREAD is not a + documented command; it is written only when the CDWRITE command is + issued.) The PART information can be automatically read in via the + CDREAD command; however, if more than one Jobname.cdb file is read, the + PART list from the last Jobname.cdb file overwrites the existing PART + list of the total model. This behavior affects all PART-related + commands contained in the Jobname.cdb file. You can join models, but + not PART-related inputs, which you must modify using the newly-created + PART numbers. In limited cases, an update of the PART list + (EDWRITE,PUPDATE) is possible; doing so requires that no used + combination of MAT/TYPE/REAL appears more than once in the list. - Val1 - Family name (e.g., Courier*New) Substitute an asterisk (*) for any blank - character that appears in a family name. If Val1 = MENU, all - other values are ignored and a font selection menu appears - (GUI must be active). When this value is blank ANSYS uses - the first available resource it finds. + The CDWRITE command does not support (for beam meshing) any line + operation that relies on solid model associativity. For example, + meshing the areas adjacent to the meshed line, plotting the line that + contains the orientation nodes, or clearing the mesh from the line that + contains orientation nodes may not work as expected. For more + information about beam meshing, see Meshing Your Solid Model in the + Modeling and Meshing Guide. - Val2 - Weight (0 - 1000) + IGES and ANF File Formats for Solid Model Geometry Information - Val3 - Orientation (in tenths of a degree) + The format used for solid model geometry information is determined by + the current CDOPT command setting. The default format is IGES. - Val4 - Height (in logical units) + IGES option (default) to write solid model information (CDOPT, IGS): - Val5 - Width (in logical units) + Before writing solid model entities, select all corresponding lower + level entities (ALLSEL,BELOW,ALL). - Val6 - Italics (0 = OFF, 1 = ON) + Section properties assigned to areas, lines and other solid model + entities are not maintained when the model is exported. - TEXT - Text size specification for the ANSYS Graphics window. Using this label with - the /DEVICE command requires the following form: - /DEVICE,TEXT,KEY,PERCENT. KEY = 1 for LEGEND fonts; KEY = 2 - for ENTITY fonts. PERCENT specifies the new text size as a - percent of the default text size. If PERCENT = 100, the new - text size is precisely the default size. If PERCENT = 200, - the new text size is twice the default text size. + If you issue CDWRITE after generating a beam mesh with orientation + nodes, the database file will contain all of the nodes for every beam + element, including the orientation nodes; however, the orientation + keypoints that were specified for the line (LATT) are no longer + associated with the line and won't be written out to the geometry file. + All associativity between the line and the orientation keypoints is + lost. - key - Control key: + For beam meshing, this option does not support any line operation that + relies on solid model associativity. For example, meshing the areas + adjacent to the meshed line, plotting the line that contains the + orientation nodes, or clearing the mesh from the line that contains + orientation nodes may not work as expected. - OFF or 0 - Turns specified function off. + Concatenated lines are not written. The line segments that make up the + concatenated lines are written; however, if the command encounters an + area that contains a concatenated line, the write operation halts (that + area cannot be recreated during the read operation). If your model has + areas that contain concatenated lines, you must first list these and + then unconcatenate them before issuing the CDWRITE command. Similarly, + hardpoint information cannot be written. - ON or 1 - Turns specified function on or designates the LEGEND font. + ANF option to write solid model information (CDOPT, ANF): - 2 - Designates the ENTITY font. + Writes all model information in the database (regardless of select + status) to the archive file; however, when you restore the database + using this archived file, the select status of entities is also + restored. - 3 - Designates the ANNOTATION/GRAPH font. + Restores all line attributes, including orientation keypoints. It also + writes out any components (not assemblies) comprised of solid model + entities. - Notes - ----- - This command is valid in any processor. + Hhalts CDWRITE when a concatenated line or an area that contains a + concatenated line is detected. You must delete the concatenated lines + before issuing CDWRITE. Similarly, hardpoint information cannot be + written. - The /DEVICE,BBOX command is ignored in POST1 and SOLUTION plots. Also, - the elements are displayed and rotated if you use /DEVICE,BBOX,ON and - /EDGE,WN,1,ANGLE (effectively ignoring the BBOX option). + This command is also valid in SOLUTION. """ - command = "/DEVICE, %s, %s" % (str(label), str(key)) + command = "CDWRITE,%s,%s,%s,%s,%s,%s" % (str(option), str(fname), str(ext), str(fnamei), str(exti), str(fmat)) self.RunCommand(command, **kwargs) - def Plcamp(self, option="", slope="", unit="", freqb="", cname="", - stabval="", keyallfreq="", keynegfreq="", **kwargs): + def Plmc(self, lstep="", sbstep="", timfrq="", kimg="", hibeg="", hiend="", + **kwargs): """ - APDL Command: PLCAMP + APDL Command: PLMC - Plots Campbell diagram data for applications involving rotating - structure dynamics. + Plots the modal coordinates from a mode-superposition solution. Parameters ---------- - option - Flag to activate or deactivate sorting of forward or backward whirl - frequencies: - - 0 (OFF or NO) - No sorting. - - 1 (ON or YES) - Sort. This value is the default. - - slope - The slope of the line to be printed. This value must be positive. - - SLOPE > 0 - The line represents the number of excitations per revolution of the rotor. For - example, SLOPE = 1 represents one excitation per - revolution, usually resulting from unbalance. - - SLOPE = 0 - The line represents the stability threshold for stability values or logarithmic - decrements printout (STABVAL = 1 or 2) + lstep, sbstep + Plot the solution identified as load step LSTEP and substep SBSTEP - unit - Specifies the unit of measurement for rotational angular - velocities: + timfrq + As an alternative to LSTEP and SBSTEP, plot the solution at the + time value TIMFRQ (for ANTYPE,TRANS) or frequency value TIMFRQ (for + ANTYPE,HARMIC). LSTEP and SBSTEP should be left blank. - RDS - Rotational angular velocities in radians per second (rad/s). This value is the - default. + kimg + If 0 (or blank), plot the real solution. If 1, plot the imaginary + solution. Only valid for ANTYPE,HARMIC. - RPM - Rotational angular velocities in revolutions per minute (RPMs). + hibeg, hiend + For cyclic symmetry solutions, plot the solutions in the harmonic + index solution range HIbeg to HIend. Defaults to all harmonic + indices (all modes). - freqb - The beginning, or lower end, of the frequency range of interest. - The default is zero. + Notes + ----- + PLMC plots a histogram of the modal coordinates (the response + amplitudes applied to each mode shape) at a certain time point + (transient analyses) or frequency point (harmonic analyses). The + absolute values of the modal coordinates are plotted. Use /XRANGE to + plot only modes in a certain range, if desired. - cname - The rotating component name. + For transient analyses, the Jobname.RDSP file must be available. For + harmonic analyses, the Jobname.RFRQ must be available. No SET command + is required and no expansion pass is required. - stabval - Flag to plot the stability values: + For a cyclic harmonic mode-superposition analysis, use the CYCFILES + command to identify the Jobname.RFRQ and modal Jobname.RST file. You + may limit the plot to display only those modes in a certain harmonic + index range. The modes having the same harmonic index are each plotted + in a unique color. If there are less than 10 harmonic indices, they are + identified in the graphics legend. - 0 (OFF or NO) - Plot the frequencies (the imaginary parts of the eigenvalues in Hz). This value - is the default. + This is a graphical representation of the optional Jobname.MCF text + file. (see the TRNOPT and HROPT commands). For more information on + modal coordinates, see Mode-Superposition Method in the Mechanical APDL + Theory Reference. - 1 (ON or YES) - Plot the stability values (the real parts of the eigenvalues in Hz). + """ + command = "PLMC,%s,%s,%s,%s,%s,%s" % (str(lstep), str(sbstep), str(timfrq), str(kimg), str(hibeg), str(hiend)) + self.RunCommand(command, **kwargs) - 2 - Plot the logarithmic decrements. + def Arclen(self, key="", maxarc="", minarc="", **kwargs): + """ + APDL Command: ARCLEN - keyallfreq - Key to specify if all frequencies above FREQB are plotted: + Activates the arc-length method. - 0 (OFF or NO) - A maximum of 10 frequencies are plotted. This value is the default. + Parameters + ---------- + key + Arc-length key: - 1 (ON or YES) - All frequencies are plotted. + OFF - Do not use the arc-length method (default). - keynegfreq - Key to specify if the negative frequencies are plotted. It only - applies to solutions obtained with the damped eigensolver (Method = - DAMP on the MODOPT command): + ON - Use the arc-length method. - 0 (OFF or NO) - Only positive frequencies are plotted. This value is the default. + maxarc + Maximum multiplier of the reference arc-length radius (default = + 25). - 1 (ON or YES) - Negative and positive frequencies are plotted. + minarc + Minimum multiplier of the reference arc-length radius (default = + 1/1000). Notes ----- - The following items are required when generating a Campbell diagram: + Activates the arc-length method and sets the minimum and maximum + multipliers for controlling the arc-length radius based on the initial + arc-length radius. - Take the gyroscopic effect into account by issuing the CORIOLIS command - in the SOLUTION module. + The initial arc-length radius, t0, is proportional (in absolute value) + to the initial load factor. The initial load factor is given by: - Run a modal analysis using the QR damped (MODOPT,QRDAMP) or damped - (MODOPT,DAMP) method. Complex eigenmodes are necessary - (MODOPT,QRDAMP,,,,Cpxmod = ON), and you must specify the number of - modes to expand (MXPAND). + Initial Load Factor = TIME / NSBSTP - Define two or more load step results with an ascending order of - rotational velocity (OMEGA or CMOMEGA). + where TIME is the time specified by the TIME command for the arc-length + load step, and NSBSTP is the number of substeps specified by the NSUBST + command. - In some cases where modes are not in the same order from one load step - to the other, sorting the frequencies (Option = 1) can help to obtain a - correct plot. Sorting is based on the comparison between complex mode - shapes calculated at two successive load steps. + The factors MAXARC and MINARC are used to define the range for the arc- + length radius to expand and shrink during the substep solution: - At each load step, the application compares the mode shape to the loads - at other load steps to determine whirl direction at the load step. If - applicable, a label appears (in the plot legend) representing each - whirl mode (BW for backward whirl and FW for forward whirl). + In each substep, the arc-length radius is kept constant throughout the + equilibrium iterations. After each converged substep, the arc-length + radius for the next substep is modified depending on the convergence + behavior. If the substep converges and the program heuristic predicts + an easy convergence, the arc-length radius is enlarged. If the enlarged + value is greater than tMAX, the arc-length radius is reset to tMAX. If + the substep does not converge, bisection will take place until the arc- + length radius is reduced to tMIN. If further nonconvergence is + encountered, the solution terminates. - At each load step, the program checks for instability (based on the - sign of the real part of the eigenvalue). The labels “stable” or - “unstable” appear in the plot legend for each frequency curve. + The arc-length method predicts the next time increment (that is, load + factor increment). Therefore, the AUTOTS and PRED commands are ignored + when the arc-length method is used. - The rotational velocities of a named component (Cname) are displayed on - the X-axis. + The STABILIZE and LNSRCH commands are also ignored. - For information on plotting a Campbell diagram for a prestressed - structure, see Solving for a Subsequent Campbell Analysis of a - Prestressed Structure Using the Linear Perturbation Procedure in the - Rotordynamic Analysis Guide. + The arc-length method cannot be used in a multiframe restart. - In general, plotting a Campbell diagram is recommended only when your - analysis is performed in a stationary reference frame - (CORIOLIS,,,,RefFrame = ON). + For difficult problems, one suggestion is to increase the initial + number of substeps (NSUBST), and to prevent the arc-length radius from + increasing too rapidly (MAXARC = 1). - For a usage example of the PLCAMP command, see Campbell Diagram in the - Rotordynamic Analysis Guide. + ARCLEN cannot be used for any load step that has no applied load or + displacement. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The arc-length method does not support tabular loads. In order to use + the arc-length method, you must replace tabular loads by other load + types and then run the analysis again. """ - command = "PLCAMP, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(slope), str(unit), str(freqb), str(cname), str(stabval), str(keyallfreq), str(keynegfreq)) + command = "ARCLEN,%s,%s,%s" % (str(key), str(maxarc), str(minarc)) self.RunCommand(command, **kwargs) - def Pduser(self, fname="", ext="", **kwargs): + def Fitem(self, nfield="", item="", itemy="", itemz="", **kwargs): """ - APDL Command: PDUSER + APDL Command: FITEM - Specifies options for user-specified sampling methods. + Identifies items chosen by a picking operation (GUI). Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + nfield + Field number on the command which uses the picking data. (Count + the command name as a field, so that a 2 indicates the first + command argument, 3 the second command argument, etc.) The + corresponding field on the command will have a P51X label. - ext - Filename extension (eight-character maximum). + item + Entity number of the entity picked. Negative entity numbers are + used to indicate a range of entities. If the item picked is a + coordinate location, then this field represents the X-coordinate. + See also the FLST command. - -- - Unused field. + itemy, itemz + Y and Z coordinates of a picked coordinate location. ITEM + represents the X coordinate. See also the FLST command. Notes ----- - If user-specified sampling methods are requested with the PDMETH, MCS, - USER command or the PDMETH, RSM, USER command, then you need to specify - which file contains the sample data. For more information on the format - of this file, see Probabilistic Design in the Advanced Analysis Guide. + This is a command generated by the GUI and will appear in the log file + (Jobname.LOG) if graphical picking is used. This command is not + intended to be typed in directly in an ANSYS session (although it can + be included in an input file for batch input or for use with the /INPUT + command). + + On the log file, a set of FITEM commands is preceded by one FLST + command which defines the picking specifications for that pick + operation. The data listed in the FITEM commands are used by the first + subsequent command containing a P51X label in one of its fields. + + Caution:: : For a given entity type, a list containing an ITEM that is + larger than the maximum defined entity, could deplete the system memory + and produce unpredictable results. + + This command is valid in any processor. """ - command = "PDUSER, %s, %s" % (str(fname), str(ext)) + command = "FITEM,%s,%s,%s,%s" % (str(nfield), str(item), str(itemy), str(itemz)) self.RunCommand(command, **kwargs) - def Edload(self, option="", lab="", key="", cname="", par1="", par2="", - ph_ase="", lcid="", scale="", btime="", dtime="", **kwargs): + def Desol(self, elem="", node="", item="", comp="", v1="", v2="", v3="", + v4="", v5="", v6="", **kwargs): """ - APDL Command: EDLOAD + APDL Command: DESOL - Specifies loads for an explicit dynamics analysis. + Defines or modifies solution results at a node of an element. Parameters ---------- - option - Label identifying the load option to be performed. - - ADD - Define a load (default). If Option = ADD, Cname must be a valid node or element - component name (or PART number). You must also specify a load - curve using Par1 and Par2 (previously defined array - parameters) or LCID (a previously defined load curve). - - DELE - Delete specified load. If Lab and Cname are blank, all loads are deleted. Par1, - Par2, PHASE, and LCID are ignored for this option. - - LIST - List specified load. If Lab and Cname are blank, all loads are listed. Par1, - Par2, PHASE, and LCID are ignored for this option. - - lab - Valid load labels for loads applied to nodes: - - FX, FY, FZ - Forces. + elem + Element number for which results are defined or modified. If ALL, + apply to all selected elements [ESEL]. - MX, MY, MZ - Moments. + node + Node of element (actual node number, not the position) to which + results are specified. If ALL, specify results for all selected + nodes [NSEL] of element. 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. - UX, UY, UZ - Displacements. + item + Label identifying results. Valid item labels are shown in Table + 129: DESOL - Valid Item and Component Labels below. Some items + also require a component label (Comp). - ROTX, ROTY, ROTZ - Rotations. + comp + Component of the item (if required); see Table 129: DESOL - Valid + Item and Component Labels. - VX, VY, VZ - Velocities. + v1 + Value (in the element coordinate system) assigned to the database + item (and component, if any). If zero, a zero value will be + assigned. If blank, value remains unchanged. - OMGX, OMGY, OMGZ - Angular velocities. + v2, v3, v4, . . . , v6 + Additional values (if any) assigned to the remaining components (in + the order corresponding to the Comp list shown below) for the + specified Item (starting from the specified Comp label and + proceeding to the right). - AX, AY, AZ - Accelerations (on nodes). + Notes + ----- + The DESOL command defines or modifies solution results in the database + at a node of an area or volume element. For example, + DESOL,35,50,S,X,1000,2000,1000 assigns values 1000, 2000, and 1000 to + SX, SY, and SZ (respectively) of node 50 of element 35. - ACLX, ACLY, ACLZ - Base accelerations. + The settings of the POST1 FORCE, SHELL, and LAYER commands, if + applicable, further specify which database items are affected. - TEMP - Temperature. + For layered composite shells, specify the current element layer (LAYER) + before issuing the DESOL command. - key - When Lab = PRESS, KEY = Load key (face number) associated with a - surface pressure load. Load keys (1,2,3, etc.) are listed under - "Surface Loads" in the input data tables for each element type in - the Element Reference. + All data is stored in the solution coordinate system but is displayed + in the results coordinate system (RSYS). To list the current results, + use the PRESOL command. - cname - Name of existing component [CM] or PART number [EDPART] to which - this load is to be applied. For all load labels except the - pressure load (Lab = PRESS) and the rigid body loads (Lab = RBxx), - the component must consist of nodes. For pressure loads, the - component must consist of elements. For rigid body loads, a part - number must be input instead of a component name. The part number - must correspond to a set of elements that has been identified as a - rigid body [EDMP,RIGID,MAT]. + Modified solution results are not saved automatically. To save separate + records of modified results, use either the RAPPND or LCWRITE command. - par1 - Name of user-defined array parameter that contains the time values - of the load. + Result items are available depending on element type; check the + individual element for availability. Valid item and component labels + for element results are: - par2 - Name of user-defined array parameter that contains the "data" - values of the load corresponding to the time values in Par1. + Table: 129:: : DESOL - Valid Item and Component Labels - phase - Phase of the analysis in which the load curve is to be used. + """ + command = "DESOL,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(elem), str(node), str(item), str(comp), str(v1), str(v2), str(v3), str(v4), str(v5), str(v6)) + self.RunCommand(command, **kwargs) - 0 - Curve is used in transient analysis only (default). + def Reswrite(self, fname="", cflag="", **kwargs): + """ + APDL Command: RESWRITE - 1 - Curve is used in stress initialization or dynamic relaxation only. + Appends results data from the database to a results file. - 2 - Curve is used in both stress initialization (or dynamic relaxation) and - transient analysis. + Parameters + ---------- + fname + File name and directory path (248 characters maximum, including the + characters needed for the directory path). An unspecified directory + path defaults to the working directory; in this case, you can use + all 248 characters for the file name. - lcid - Data curve ID number representing the load curve to be applied. The - load curve must have been previously defined using the EDCURVE - command. If LCID is specified, Par1 and Par2 must be left blank (in - the GUI, select “None” for Par1 and Par2). + --, --, -- + Unused fields. - scale - Load curve scale factor applied to the specified load curve. The - scale value is applied to the data in Par2 or to the ordinate data - in the load curve specified by LCID. + cflag + 0 - btime - Birth time, or time when imposed motion is activated. The default - is 0.0. Some load types do not support birth and death time; see - Table 132: Birth Time, Death Time, and CID Support in the Notes - section for more information. + 0 - The complex results flag is set to 0 in the results file header. This is the + default option. - dtime - Death time, or time when imposed motion is removed. The default is - 1 x 1038. Some load types do not support birth and death time; see - Table 132: Birth Time, Death Time, and CID Support in the Notes - section for more information. + 1 - The complex results flag is set to 1 in the results file header. Notes ----- - If a component name is input (Cname) and the specified component - definition is changed before the SOLVE command, the last definition - will be used. - - You can specify the load data by inputting LCID (the ID number of a - previously defined load curve) or by inputting the two array parameters - Par1 and Par2 (which contain time and load values, respectively). The - input for Par1 and Par2 may be a single column array parameter, or a - specific column from a multi-column array parameter. A starting array - element number can be specified for Par1 and Par2; if none is - specified, array element 1 is used by default. - - Note:: : You cannot update a previously defined load by changing the - array parameters that were input as Par1 and Par2. The load definition - is written to the database at the time EDLOAD is issued. Therefore, - subsequent changes to the array parameters that were used as input on - EDLOAD will not affect the load curve definition. If you need to change - the load definition, you must delete the load (EDLOAD,DELE) and define - it again. - - EDLOAD automatically assigns a load number to each defined load. Use - EDLOAD,LIST to obtain a list of loads and their corresponding load - numbers. You can plot a load curve by inputting the load number on the - EDPL command. The load numbers may change when loads are deleted - (EDLOAD,DELE). Therefore, you should obtain a current list of load - numbers (EDLOAD,LIST) before plotting a load curve. - - For prescribed motion, we recommend that you specify velocity time - histories instead of displacement time histories. Also, you should not - specify nonzero initial displacements. A piecewise linear displacement - time history may lead to discontinuous velocities and infinite - accelerations. - - By default, the load will be applied in the global Cartesian direction. - You can define the load in a different direction by inputting a CID - (coordinate system ID) value in the KEY field. The CID must be - previously defined using the EDLCS command. For load labels (Lab = FX, - FY, FZ, MX, MY, MZ, RBFX, RBFY, RBFZ, RBMX, RBMY, RBMZ), the load will - be applied in the direction of the local coordinate system defined by - EDLCS. For prescribed motion degrees of freedom labels (Lab = UX, UY, - UZ, ROTX, ROTY, ROTZ, VX, VY, VZ, AX, AY, AZ, RBUX, RBUY, RBUZ, RBRX, - RBRY, RBRZ, RBVX, RBVY, RBVZ, RBOX, RBOY, RBOZ), the motion will act in - the direction of a vector defined by two points input on the EDLCS - command. The origin and terminus ends of the vector are defined by the - X1, Y1, Z1 and X2, Y2, Z2 fields, respectively, of EDLCS. - - For Lab = OMGX, OMGY, and OMGZ, you may need to specify the origin - location of the acceleration coordinate system [CGLOC]. - - When applying a temperature load (Lab = TEMP), you may also need to - define a reference temperature via the TREF command. The thermal - loading is defined as the difference between the applied temperature - and the reference temperature. Note that EDLOAD,LIST will list only the - temperature values specified on EDLOAD, not the temperature difference. - - When applying loads to axisymmetric PLANE162 elements, the load may be - interpreted differently depending on whether you use the area weighted - or volume weighted option (KEYOPT(2)). See the PLANE162 element - description in the Element Reference for details. - - Use PHASE = 0 when you are using the LS-DYNA solver to conduct a - transient explicit analysis only or when you are conducting a - sequential implicit/explicit analysis, in which the ANSYS (implicit) - resulting displacements (stored in the `drelax' file from the REXPORT - command) are used to preload the explicit model [EDDRELAX,ANSYS] - - Use PHASE = 1 or 2 when you need to use LS-DYNA to preload the model - (as opposed to ANSYS) before running the transient portion of the - analysis. PHASE = 1 applies the load initially and then immediately - removes the load. As a result, the load is removed, and the structure - vibrates freely. PHASE = 2 applies the load and then continues to apply - the load over the course of the transient analysis, so that the - transient analysis includes the effect of the initial loading and - continues to account for the initial loading. - - Birth and Death times, as well as the CID key are supported only for - the EDLOAD labels specified with a Yes in the following table. + The RESWRITE command appends a data set to the specified file by + writing the results data currently in the database. If the intended + results file does not exist, it will be created and will include the + geometry records. The current load step, substep, and time (or + frequency) value are maintained. All data (summable and nonsummable) + are written. - Table: 132:: : Birth Time, Death Time, and CID Support + When complex results are appended, cFlag must be set to 1 so that the + header is consistent with the results written on the file. - This command is also valid in PREP7. + The command is primarily intended for use in a top-down substructuring + analysis, where the full model is resumed and the results data read + from the use pass results file (SET), and subsequently from all + substructure expansion pass results files (APPEND). The full set of + data in memory can then be written out via the RESWRITE command to + create a complete results file (as though you had run a + nonsubstructured analysis). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + The RESWRITE command can also be used to write a global results file + for a distributed parallel (Distributed ANSYS) solution. This should + only be necessary if the RESCOMBINE command was used to combine results + from local results files into the database. The RESWRITE command can + then be used to write the combined results into a new results file. + This new results file will essentially contain the current set of + results data for the entire (i.e., global) model. """ - command = "EDLOAD, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(lab), str(key), str(cname), str(par1), str(par2), str(ph_ase), str(lcid), str(scale), str(btime), str(dtime)) + command = "RESWRITE,%s,%s" % (str(fname), str(cflag)) self.RunCommand(command, **kwargs) - def Psf(self, item="", comp="", key="", kshell="", color="", **kwargs): + def Dflab(self, dof="", displab="", forcelab="", **kwargs): """ - APDL Command: /PSF + APDL Command: /DFLAB - Shows surface load symbols on model displays. + Changes degree-of-freedom labels for user custom elements. Parameters ---------- - item, comp - Labels identifying the surface load to be shown; see Table 227: - /PSF - Valid Item and Component Labels. - - key - Key to turn surface load symbols on or off: - - 0 - Off (default). - - 1 - On, shown as face outlines. Line surface loads (SFL) on solid model plots are - shown as arrows. + dof + Number between 1 and 32 indicating which degree of freedom is to + have its labels changed. For a list of these quantities, see the + degree-of-freedom table in the echprm.inc file. The first few + quantities follow: - 2 - On, shown as arrows. + displab + New label (four-character maximum) for the displacement label. The + prior label is no longer valid. - 3 - On, shown as color filled surfaces. Line and area surface loads (SFL and SFA) - on solid model plots are shown as arrows. + forcelab + New label (four-character maximum) for the force label for this + degree of freedom. The prior label is no longer valid. - kshell - Visibility key for shell elements. + Notes + ----- + The /DFLAB command is rarely used. Use it if you are writing a custom + element and want to use degrees of freedom that are not part of the + standard element set. - 0 - Off (default), surface load symbols are displayed only on visible load faces. + """ + command = "/DFLAB,%s,%s,%s" % (str(dof), str(displab), str(forcelab)) + self.RunCommand(command, **kwargs) - 1 - On, surface load symbols are displayed even if load face is not visible. + def Cycfreq(self, option="", value1="", value2="", value3="", value4="", + value5="", **kwargs): + """ + APDL Command: CYCFREQ - color - Visibility key for contour legend. + Specifies solution options for a cyclic symmetry mode-superposition + harmonic analysis. - ON - The symbols (arrows or face outlines) will show up in color with the legend - showing the corresponding color labels (default). + Parameters + ---------- + option + One of the following options: - OFF - The contour legend will not be displayed. The symbols (arrows or face outlines) - will show up in grey. The size of the arrows will be - proportional to the applied load. + AERO - Specify the array containing the aerodynamic damping coefficients. - Notes - ----- - The /PSF command determines whether and how to show surface loads on - subsequent model displays. + Value1 - The name of the array containing the aerodynamic stiffness damping + coefficients. - If surface loads are applied to solid model entities, only solid model - plots show the load symbols; node and element plots do not show them - unless the loads are transferred (SFTRAN or SBCTRAN). Similarly, solid - model plots do not show the load symbols if surface loads are applied - to nodes and elements. For node and element plots of shell element - models, the surface load symbols are shown only if the load face is - visible from the current viewing direction. + BLADE - Blade information required for a mistuning analysis. - The effects of the /PSF command are not cumulative (that is, the - command does not modify an existing setting from a previously issued - /PSF command). Only the setting specified via the most recent /PSF - command applies. + Value1 - The name of the nodal component containing the blade boundary nodes at the + blade-to-disk interface. Also include boundary nodes at + any shroud interfaces. - If you issue a postprocessing (POST1) plot command that produces result - contours (such as PLNSOL), the /PSF command has no effect. This - behavior prevents conflicting contours in the graphics window. + Value2 - The name of the element component containing the blade elements. - When using the radiosity method (Item = RDSF and Comp = ENCL) with Key - = 2, the radiation arrows point outward from any element face. When - using SURF154 with KEYOPT(2) = 1, set the Item to PRES and leave the - Component Label blank. + Value3 - The number of blade modes to include in the CMS reduction. - /PSF,STAT displays current /PSF settings, and /PSF,DEFA resets them - back to default. + Value4 - The lower bound of the frequency range of interest. This value is optional. - Other useful commands are /PNUM,SVAL,1 to show the values of the - surface loads, /VSCALE to change arrow lengths, and /PBC and /PBF to - activate other load symbols. + Value5 - The upper bound of the frequency range of interest. This value is optional. - For beam elements, only the colors representing shear (GREEN) and - normal (RED) pressures are displayed for the arrows. The color of these - arrows does not correspond to the magnitudes in the contour legend. The - length of these arrows does, however, correlate to the relative - magnitude of the pressures. + DEFAULT - Set the default cyclic harmonic solution settings. - For elements SURF159, SOLID272, SOLID273, PIPE288 and PIPE289, the /PSF - command is not available when displaying elements with shapes - determined from the real constants or section definition (/ESHAPE). For - PIPE288 and PIPE289, only external loads applied via the SFBEAM command - are displayed. + EO - Excitation engine order. - This command is valid in any processor. + Value1 - The value of the excitation order, which must be an integer. The loadings on + the other sectors will be related to the loading on the + basic sector based on the engine order phase shift. - Table: 227:: : /PSF - Valid Item and Component Labels + MIST - Mistuning parameters. - Pressure loads apply to the element coordinate system (KEYOPT(2) = 0). - Adjust appropriately for a local coordinate system (KEYOPT(2) = 1). See - Figure: 153.2:: Pressures in the Element Reference. + Value1 - The type of mistuning: - """ - command = "/PSF, %s, %s, %s, %s, %s" % (str(item), str(comp), str(key), str(kshell), str(color)) - self.RunCommand(command, **kwargs) + K - Stiffness (frequency) mistuning - def Dval(self, b_aseid="", lab="", value="", value2="", keycal="", - **kwargs): - """ - APDL Command: DVAL + Value2 - The name of the array containing the stiffness mistuning parameters. - Defines values at enforced motion base. + MODAL - Specifies if a damped modal analysis should be performed on the reduced system. - Parameters - ---------- - baseid - The identification number of the enforced motion base (defined - using the D command in the modal analysis). + Value1 - On/Off key. - lab - U + 0 (OFF or NO) - No modal solution. Perform the harmonic solution. - U - Enforced displacement. + 1 (ON or YES) - Perform a damped modal analysis of the reduced system in order to obtain the + complex frequencies. The harmonic solution is not + performed. - ACC - Enforced acceleration. + Value2 - Number of modes for the damped modal analysis. - 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. + Value3 - The beginning, or lower end, of the frequency range of interest (in Hz). - 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. + Value4 - The ending, or upper end, of the frequency range of interest (in Hz). - keycal - Displacement result calculation key: + RESTART - Defines the point at which to restart the harmonic analysis. - ON - Calculate absolute displacement and acceleration results (default). + Value1 - The restart point: - OFF - Calculate relative displacement and acceleration results. + OFF - No restart (default) - 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: + SWEEP - Restart for a new frequency sweep range (HARFRQ) - In this case, the acceleration (ACC) applied in the last command will - override the displacement (U). + MIST - Restart for new mistuning parameters (new mistuning arrays) - Issue LSCLEAR,LSOPT to delete DVAL command options from the database. + USER - Causes the program to call for a user-defined solution. - 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. + Value1-5 - Values passed down to the user-defined solution. - """ - command = "DVAL, %s, %s, %s, %s, %s" % (str(b_aseid), str(lab), str(value), str(value2), str(keycal)) - self.RunCommand(command, **kwargs) + STATUS - List the harmonic solution option settings active for the cyclic model. - def Mstole(self, method="", namesurf="", namefluid="", **kwargs): - """ - APDL Command: MSTOLE + Notes + ----- + The program solves a cyclically symmetric model (set up via the CYCLIC + command during preprocessing) at the harmonic indices specified via the + CYCOPT command. - Adds two extra nodes from FLUID116 elements to SURF151 or SURF152 - elements for convection analyses. + The aerodynamic coefficients are specified in a 5×(N×r) array (*DIM), + where N is the number of blades and r can be any positive integer. Each + column has the structure: - Parameters - ---------- - method - Mapping method: + where: - 0 - Hybrid method (default). + One aerodynamic damping coefficient must be specified for each IBPA + (equal to the number of blades) while keeping m and n constant. - 1 - Projection method. + For constant (frequency-independent) mistuning, the stiffness + parameters are specified in an N×1 array (*DIM) where N is the number + of blades. - 2 - Minimum centroid distance method. + For stiffness mistuning, each row entry represents the deviation of + Young’s modulus from nominal, (or equivalently, the ratio of the + frequency deviation squared). Each frequency can also be independently + mistuned, in which case the array is N×M, where M is the number of + blade frequencies (Value3 of CYCFREQ,BLADE). The entries in each row + therefore correspond to the ratio of the mistuned frequency to the + tuned frequency squared minus one: - namesurf - Component name for a group of SURF151 or SURF152 elements. The name - must be enclosed in single quotes (e.g., 'COM152') when the MSTOLE - command is manually typed in. + The USER option activates the solution macro CYCMSUPUSERSOLVE.MAC. The + normal solution is skipped. You may implement your own mistuning + solution using APDL and APDL Math operations, or call your own program + for the solution. - namefluid - Component name for a group of FLUID116 elements. The name must be - enclosed in single quotes (e.g., 'COM116') when the MSTOLE command - is manually typed in. + The CYCFREQ command is valid in the preprocessing and solution stages + of an analysis. - Notes - ----- - For convection analyses, the MSTOLE command adds two extra nodes from - FLUID116 elements to SURF151 or SURF152 elements by employing the - specified mapping method. In the hybrid method, the projection method - is tried first and if it fails the centroid distance method is used. - The SURF151 or SURF152 elements and the FLUID116 elements must be - grouped into components and named using the CM command. + The CYCFREQ,MODAL,ON command writes modal frequencies to the output + file. No other postprocessing is available for this modal solve. - The SURF151 or SURF152 extra node option must be set for two extra - nodes (KEYOPT(5) = 2). + When using CYCFREQ,RESTART, only mistuning parameters or frequency + range may be changed. All other changes in parameters are ignored. - For more information, see Using the Surface Effect Elements in the - Thermal Analysis Guide. + To learn more about analyzing a cyclically symmetric structure, see the + Cyclic Symmetry Analysis Guide. """ - command = "MSTOLE, %s, %s, %s" % (str(method), str(namesurf), str(namefluid)) + command = "CYCFREQ,%s,%s,%s,%s,%s,%s" % (str(option), str(value1), str(value2), str(value3), str(value4), str(value5)) self.RunCommand(command, **kwargs) - def Cgloc(self, xloc="", yloc="", zloc="", **kwargs): + def Usrelem(self, nnodes="", ndim="", keyshape="", nreal="", nsavevars="", + nrsltvar="", keyansmat="", nintpnts="", kestress="", keysym="", + **kwargs): """ - APDL Command: CGLOC + APDL Command: USRELEM - Specifies the origin location of the acceleration coordinate system. + Specifies the characteristics of the user-defined element USER300. Parameters ---------- - xloc, yloc, zloc - Global Cartesian X, Y, and Z coordinates of the acceleration - coordinate system origin. - - Notes - ----- - Specifies the origin location of the acceleration coordinate system - with respect to the global Cartesian system. The axes of this - acceleration coordinate system are parallel to the global Cartesian - axes. - - A structure may be rotating about the global Cartesian origin [OMEGA, - DOMEGA], which may in turn be rotating about another point (the origin - of the acceleration coordinate system), introducing Coriolis effects. - The location of this point (relative to the global Cartesian origin) is - specified with this CGLOC command. For example, if Y is vertical and - the global system origin is at the surface of the earth while the - acceleration system origin is at the center of the earth, YLOC should - be -4000 miles (or equivalent) if the rotational effects of the earth - are to be included. The rotational velocity of the global Cartesian - system about this point is specified with the CGOMGA command, and the - rotational acceleration is specified with the DCGOMG command. - - The rotational velocities and accelerations are mainly intended to - include mass effects in a static (ANTYPE,STATIC) analysis. If used in - dynamic analyses, no coupling exists between the user input terms and - the time history response of the structure. See Acceleration Effect in - the Mechanical APDL Theory Reference for details. Related commands are - ACEL, CGOMGA, DCGOMG, DOMEGA, and OMEGA. + nnodes + The number of nodes. - See Analysis Tools in the Mechanical APDL Theory Reference for more - information. + ndim + The number of dimensions (of nodal coordinates). Valid values are 2 + or 3. - This command is also valid in PREP7. + keyshape + One of the following element shape options: - """ - command = "CGLOC, %s, %s, %s" % (str(xloc), str(yloc), str(zloc)) - self.RunCommand(command, **kwargs) + ANYSHAPE - Any shape (that is, no specified shape). This value is the default. (The ANSYS + MeshTool is unavailable.) - def Lcdef(self, lcno="", lstep="", sbstep="", kimg="", **kwargs): - """ - APDL Command: LCDEF + POINT - Point. - Creates a load case from a set of results on a results file. + LINE - Straight line. - Parameters - ---------- - lcno - Arbitrary pointer number (1-99) to be assigned to the load case - specified by LSTEP, SBSTEP and by the FILE command. Defaults to 1 - + previous value. + TRIAN - Triangle. - lstep - Load step number to be defined as the load case. Defaults to one. + QUAD - Quadrilateral. This shape can be degenerated to a triangle. - sbstep - Substep number. Defaults to the last substep of the load step. + TET - Tetrahedron. - kimg - Used only with results from complex analyses: + BRICK - Brick. This shape can be degenerated to a wedge, pyramid, or tetrahedron. - 0 - Use real part of complex solution + nreal + The number of real constants. - 1 - Use imaginary part. + nsavevars + The number of saved variables. - Notes - ----- - Creates a load case by establishing a pointer to a set of results on a - results file (written during the ANSYS solution phase). This pointer - (LCNO) can then be used on the LCASE or LCOPER commands to read the - load case data into the database. + nrsltvar + The number of variables saved in results files. - Issue LCDEF,ERASE to delete all load case pointers (and all load case - files, if any). Issue LCDEF,LCNO,ERASE to delete only the specific - load case pointer LCNO (and its file, if any). With the ERASE options, - all pointers are deleted; however only files with the default extension - [LCWRITE] are deleted. Issue LCDEF,STAT for status of all selected - load cases [LCSEL], or LCDEF,STAT,ALL for status of all load cases. - The STAT command may be used to list all load cases. See also LCFILE - to establish a pointer to a set of results on a load case file (written - by LCWRITE). Harmonic element data read from a result file load case is - stored at the zero-degree position. + keyansmat + Key for element formulation control: - """ - command = "LCDEF, %s, %s, %s, %s" % (str(lcno), str(lstep), str(sbstep), str(kimg)) - self.RunCommand(command, **kwargs) + 0 - Create your own material codes within the element formulation. In this case, + the real constants are available to input material properties. + You can also input linear material properties via MP and MPDATA + commands . - def Check(self, sele="", levl="", **kwargs): - """ - APDL Command: CHECK + 1 - Use ANSYS standard material routines or the USERMAT subroutine to form + structural material data. ANSYS material properties must be + input in the standard way (as you would for non-user-defined + elements). This value is invalid when KeyShape = ANYSHAPE. - Checks current database items for completeness. + nintpnts + The maximum number of integration points (used when KEYANSMAT = 1). - Parameters - ---------- - sele - Specifies which elements are to be checked: + kestress + Key for the element stress state (used when KEYANSMAT = 1): - (blank) - Check all data. + 0 - Plane stress elements. - ESEL - Check only elements in the selected set and unselect any elements not producing - geometry check messages. The remaining elements (those - producing check messages) can then be displayed and - corrected. A null set results if no elements produce a - message. Issue ESEL,ALL to select all elements before - proceeding. + 1 - Axisymmetric elements. - levl - Used only with Sele = ESEL: + 2 - Plane strain elements. - WARN - Select elements producing warning and error messages. + 3 - 3-D solid elements. - ERR - Select only elements producing error messages (default). + 4 - 3-D solid-shell elements. - Notes - ----- - This command will not work if SHPP,OFF has been set. A similar, - automatic check of all data is done before the solution begins. + 5 - Generalized plane strain elements. - If the "Check Elements" option is invoked through the GUI (menu path - Main Menu> Preprocessor> Meshing> Check Elems), the CHECK,ESEL logic is - used to highlight elements in the following way: good elements are - blue, elements having warnings are yellow, and bad (error) elements are - red. + 6 - Beam elements. - Note:: : The currently selected set of elements is not changed by this - GUI function. + 7 - Link/truss elements. - This command is also valid in PREP7. + 8 - 3-D shell elements. - """ - command = "CHECK, %s, %s" % (str(sele), str(levl)) - self.RunCommand(command, **kwargs) + 9 - Axisymmetric shell elements. - def Numoff(self, label="", value="", **kwargs): - """ - APDL Command: NUMOFF + keysym + Key for specifying whether element stiffness matrices are symmetric + or unsymmetric: - Adds a number offset to defined items. + 0 - Symmetric. - Parameters - ---------- - label - Apply offset number to one of the following sets of items: + 1 - Unsymmetric. - NODE - Nodes + Notes + ----- + The USRELEM command specifies the characteristics of the user-defined + element USER300. - ELEM - Elements + Although you can intersperse other commands as necessary for your + analysis, issue the USRELEM command as part of the following general + sequence of commands: - KP - Keypoints + Issue the ET command for element USER300, followed by the related TYPE + command. - LINE - Lines + Issue both the USRELEM and USRDOF commands (in either order). - AREA - Areas + Define your element using USER300. - VOLU - Volumes + The number of real constants (NREAL) can refer to geometry quantities, + material quantities, or any parameters for element formulation. - MAT - Materials + ANSYS saves variables in the .esav file to preserve element data when + you specify a positive NSAVEVARS value. When KEYANSMAT = 0, all + variables of both material and kinematic formulation are saved. When + KEYANSMAT = 1, only the variables for kinematic formulation (such as + deformation gradient tensor) are saved; in this case, the material + routine saves all necessary material data automatically. - TYPE - Element types + Element data saved in results files (NRSLTVAR) are accessible only as + nonsummable miscellaneous data. ANSYS saves stress and total strain + data for structural elements in the .rst file automatically (as it does + for equivalent variables such as thermal gradient and thermal flux in + thermal elements); therefore, NRSLTVAR does not need to include stress + and total strain data. - REAL - Real constants + To learn more about creating user-defined elements, see Creating a New + Element in the Programmer's Reference. - CP - Coupled sets + """ + command = "USRELEM,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nnodes), str(ndim), str(keyshape), str(nreal), str(nsavevars), str(nrsltvar), str(keyansmat), str(nintpnts), str(kestress), str(keysym)) + self.RunCommand(command, **kwargs) - SECN - Section numbers + def Do(self, par="", ival="", fval="", inc="", **kwargs): + """ + APDL Command: *DO - CE - Constraint equations + Defines the beginning of a do-loop. - CSYS - Coordinate systems + Parameters + ---------- + par + The name of the scalar parameter to be used as the loop index. See + *SET for name restrictions. Any existing parameter of the same + name will be redefined. There is no character parameter + substitution for the Par field. - value - Offset number value (cannot be negative). + ival, fval, inc + Initially assign IVAL to Par. Increment IVAL by INC for each + successive loop. If IVAL exceeds FVAL and INC is positive, the + loop is not executed. INC defaults to 1. Negative increments and + non-integer numbers are allowed. Notes - ----- - Useful for offsetting current model data to prevent overlap if another - model is read in. CDWRITE automatically writes the appropriate NUMOFF - commands followed by the model data to File.CDB. Therefore, when the - file is read, any model already existing in the database is offset - before the model data on the file is read. - - Offsetting material numbers with this command [NUMOFF,MAT] does not - update the material number referenced by either of the following: - - A temperature-dependent convection or surface-to-surface radiation load - [SF, SFE, SFL, SFA] + ----- + The block of commands following the *DO command (up to the *ENDDO + command) is executed repeatedly until some loop control is satisfied. + Printout is automatically suppressed on all loops after the first + (include a /GOPR command to restore the printout). The command line + loop control (Par,IVAL,FVAL,INC) must be input; however, a Use the *IF + within the block can also be used to control looping [*EXIT, *CYCLE]. + One level of internal file switching is used for each nested *DO. + Twenty levels of nested do-loops are allowed. - Real constants for multi-material elements (such as SOLID65). + Note:: : Do-loops that include /INPUT, *USE, or an "Unknown Command" + macro, have less nesting available because each of these operations + also uses a level of file switching. The *DO, *ENDDO, and any *CYCLE + and *EXIT commands for a do-loop must all be read from the same file + (or keyboard). You cannot use the MULTIPRO or *CREATE commands within + a *DO-loop. Picking operations should also not be used within a *DO- + loop. - Therefore, a mismatch may exist between the material definitions and - the material numbers referenced. + This command is valid in any processor. """ - command = "NUMOFF, %s, %s" % (str(label), str(value)) + command = "*DO,%s,%s,%s,%s" % (str(par), str(ival), str(fval), str(inc)) self.RunCommand(command, **kwargs) - def Edpart(self, option="", partid="", cname="", **kwargs): + def Spopt(self, sptype="", nmode="", elcalc="", modereusekey="", **kwargs): """ - APDL Command: EDPART + APDL Command: SPOPT - Configures parts for an explicit dynamics analysis. + Selects the spectrum type and other spectrum options. Parameters ---------- - option - Option used to organize parts. (No default; Option must be - specified.) + sptype + Spectrum type: - CREATE - Creates new PART IDs assigned to groups of elements with unique combinations of - MAT, TYPE, and REAL set numbers. If this option is issued - repeatedly, the part list is overwritten, except for PART - IDs created with the ADD option. Remaining fields are - ignored for this option. + SPRS - Single point excitation response spectrum (default). See also the SVTYP + command. - UPDATE - Updates the PART IDs for the element groups without changing the order of the - existing part list. If elements are redefined (or new - elements are created) with different MAT, TYPE, or REAL - set numbers, then use this option to create an updated - list of PART IDs. Remaining fields are ignored for this - option. + MPRS - Multiple point excitation response spectrum. - ADD - Assigns a user-specified PART ID (PARTID) to the elements contained in the - element component Cname, or to the currently selected set of - elements if Cname = ALL. Use this option to assign a specific - PART ID to an element group that has the same combination of - MAT, TYPE, and REAL set numbers. An UPDATE operation is - automatically performed on the currently selected set of - elements immediately following the ADD operation. + DDAM - Dynamic design analysis method. - DELE - Deletes a PART ID assigned by the ADD option. PARTID is also required. An - UPDATE operation is automatically performed on the currently - selected set of elements immediately following the DELE - operation. + PSD - Power spectral density. - LIST - Lists the PART IDs for the element groups. The part list consists of five - columns of numbers, one each for PART, MAT, TYPE, and REAL - numbers, and one to indicate if the PART ID is used - (including how many elements use it). The part list is based - on the last CREATE or UPDATE operation. Remaining fields are - ignored for this option. + nmode + Use the first NMODE modes from the modal analysis. Defaults to all + extracted modes, as specified by the MODOPT and BUCOPT commands. + NMODE cannot be larger than 10000. - partid - A positive integer to be used as PART ID for the elements specified - by Cname (no default). The number input must not be currently used - for an existing part (except when Option = DELE). Any previously - defined PART IDs for the elements, whether assigned by the user or - created by ANSYS LS-DYNA, will be overwritten. The user-specified - PART ID will not be changed by subsequent EDPART,CREATE or - EDPART,UPDATE commands. + elcalc + Element results calculation key (for Sptype = PSD only): - cname - Element component name for user-specified PART ID definition - (Option = ADD). If Cname = ALL (default), all currently selected - elements are considered for the part. The elements in the element - component (or the currently selected set of elements if Cname = ALL - or blank) must have the same combination of MAT, TYPE, and REAL set - numbers, or the ADD option will be ignored. + NO - Do not calculate element results and reaction forces (default). + + YES - Calculate element results and reaction forces, as well as the nodal degree of + freedom solution. + + modereusekey + Key for existing MODE file reuse when running multiple spectrum + analyses: + + NO - No spectrum analysis has been performed yet (default). + + YES - This is not the first spectrum analysis. The MODE file will be reused and the + necessary files will be cleaned up for the new spectrum + analysis. Notes ----- - Certain ANSYS LS-DYNA commands (such as EDCGEN, EDLOAD, EDREAD, etc.) - refer to PART IDs. You must define PART IDs (EDPART,CREATE or - EDPART,ADD) before using these commands. + Valid only for a spectrum analysis (ANTYPE,SPECTR). This operation + must be preceded by a modal solution (ANTYPE,MODAL) with the + appropriate files available. Both the spectrum analysis and the + preceding modal analysis must be performed under the same ANSYS version + number. - If parts are repeatedly created using Option = CREATE, the part list is - continuously overwritten. This may cause problems for previously - defined commands that reference a part number that has changed. To - avoid this problem, the part list should be updated (Option = UPDATE) - rather than recreated to obtain the current part list. + If used in SOLUTION, this command is valid only within the first load + step. - EDPART,ADD allows you to assign a specific part number to a group of - elements instead of a number generated by the ANSYS LS-DYNA program. - The user-specified PART IDs will not be changed by subsequent - EDPART,CREATE or EDPART,UPDATE commands. Thus, you can use EDPART,ADD - to specify PART IDs for some element groups, and use EDPART,CREATE or - EDPART,UPDATE to assign PART IDs for the remaining element groups. Use - EDPART,DELE to delete a PART ID generated by the ADD option. In this - case, ANSYS LS-DYNA will generate a new PART ID for those elements - associated with the deleted PART ID. + This command is also valid in PREP7. - After creating or updating the part list, use EDPART,LIST to list the - PART IDs and choose the correct one for use with other ANSYS LS-DYNA - commands. For a detailed discussion on PART IDs, see The Definition of - Part in the ANSYS LS-DYNA User's Guide. + Only Sptype = SPRS is allowed in ANSYS Professional. - This command is also valid in SOLUTION. + """ + command = "SPOPT,%s,%s,%s,%s" % (str(sptype), str(nmode), str(elcalc), str(modereusekey)) + self.RunCommand(command, **kwargs) - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + def Else(self, **kwargs): + """ + APDL Command: *ELSE + + Separates the final if-then-else block. + + Notes + ----- + Optional final block separator within an if-then-else construct. See + the *IF for details. If a batch input stream hits an end-of-file + during a false *IF condition, the ANSYS run will not terminate + normally. You will need to terminate it externally (use either the + Linux “kill” function or the Windows task manager). The *ELSE command + must appear on the same file as the *IF command, and all five + characters must be input. + + This command is valid in any processor. """ - command = "EDPART, %s, %s, %s" % (str(option), str(partid), str(cname)) + command = "*ELSE," % () self.RunCommand(command, **kwargs) - def Cswpla(self, kcn="", kcs="", par1="", par2="", **kwargs): + def Varnam(self, ir="", name="", **kwargs): """ - APDL Command: CSWPLA + APDL Command: VARNAM - Defines a local coordinate system at the origin of the working plane. + Names (or renames) a variable. Parameters ---------- - kcn - Arbitrary reference number assigned to this coordinate system. - Must be greater than 10. A coordinate system previously defined - with this number will be redefined. - - kcs - Coordinate system type: + ir + Reference number of the variable (2 to NV [NUMVAR]). - 0 or CART - Cartesian + name + Thirty-two character name for identifying variable on printouts and + displays. Embedded blanks are compressed for output. - 1 or CYLIN - Cylindrical (circular or elliptical) + """ + command = "VARNAM,%s,%s" % (str(ir), str(name)) + self.RunCommand(command, **kwargs) - 2 or SPHE - Spherical (or spheroidal) + def Sph5(self, xedge1="", yedge1="", xedge2="", yedge2="", **kwargs): + """ + APDL Command: SPH5 - 3 or TORO - Toroidal + Creates a spherical volume by diameter end points. - par1 - Used for elliptical, spheroidal, or toroidal systems. If KCS = 1 - or 2, PAR1 is the ratio of the ellipse Y-axis radius to X-axis - radius (defaults to 1.0 (circle)). If KCS = 3, PAR1 is the major - radius of the torus. + Parameters + ---------- + xedge1, yedge1 + Working plane X and Y coordinates of one edge of the sphere. - par2 - Used for spheroidal systems. If KCS = 2, PAR2 = ratio of ellipse - Z-axis radius to X-axis radius (defaults to 1.0 (circle)). + xedge2, yedge2 + Working plane X and Y coordinates of the other edge of the sphere. Notes ----- - Defines and activates a local right-handed coordinate system centered - at the origin of the working plane. The coordinate system's local x-y - plane (for a Cartesian system) or R-θ plane (for a cylindrical or - spherical system) corresponds to the working plane. This local system - becomes the active coordinate system. See the CS, LOCAL, CLOCAL, and - CSKP commands for alternate ways to define a local coordinate system. - Local coordinate systems may be displayed with the /PSYMB command. - - This command is valid in any processor. + Defines a solid spherical volume anywhere on the working plane by + specifying diameter end points. The sphere must have a spatial volume + greater than zero. (i.e., this volume primitive command cannot be used + to create a degenerate volume as a means of creating an area.) A + sphere of 360° will be defined with two areas, each consisting of a + hemisphere. See the SPHERE and SPH4 commands for other ways to create + spheres. """ - command = "CSWPLA, %s, %s, %s, %s" % (str(kcn), str(kcs), str(par1), str(par2)) + command = "SPH5,%s,%s,%s,%s" % (str(xedge1), str(yedge1), str(xedge2), str(yedge2)) self.RunCommand(command, **kwargs) - def Mshmid(self, key="", **kwargs): + def Srss(self, signif="", label="", abssumkey="", forcetype="", **kwargs): """ - APDL Command: MSHMID + APDL Command: SRSS - Specifies placement of midside nodes. + Specifies the square root of sum of squares mode combination method. Parameters ---------- - key - Key indicating placement of midside nodes: + signif + Combine only those modes whose significance level exceeds the + SIGNIF threshold. For single point, multipoint, or DDAM response + (SPOPT,SPRS, MPRS or DDAM), the significance level of a mode is + defined as the mode coefficient of the mode, divided by the maximum + mode coefficient of all modes. Any mode whose significance level + is less than SIGNIF is considered insignificant and is not + contributed to the mode combinations. The higher the SIGNIF + threshold, the fewer the number of modes combined. SIGNIF defaults + to 0.001. If SIGNIF is specified as 0.0, it is taken as 0.0. + (This mode combination method is not valid for SPOPT,PSD.) - 0 - Midside nodes (if any) of elements on a region boundary follow the curvature of - the boundary line or area (the default). + label + Label identifying the combined mode solution output. - 1 - Place midside nodes of all elements so that element edges are straight. Allows - coarse mesh along curves. + DISP - Displacement solution (default). Displacements, stresses, forces, etc., are + available. - 2 - Do not create midside nodes (elements will have removed midside nodes). + VELO - Velocity solution. Velocities, "stress velocities," "force velocities," etc., + are available. - Notes - ----- - The MSHMID, MSHAPE, and MSHKEY commands replace the functionality that - was provided by the ESHAPE command in ANSYS 5.3 and earlier releases. + ACEL - Acceleration solution. Accelerations, "stress accelerations," "force + accelerations," etc., are available. - This command is also valid for rezoning. + abssumkey + Absolute Sum combination key (for SPOPT,MPRS only): - """ - command = "MSHMID, %s" % (str(key)) - self.RunCommand(command, **kwargs) + NO - Do not use the Absolute Sum method (default). - def Vardel(self, nvar="", **kwargs): - """ - APDL Command: VARDEL + YES - Combine the modes per excitation direction using the Absolute Sum method, then + combine the resulting quantities using the square root of sum + of squares method. - Deletes a variable (GUI). + forcetype + Label identifying the forces to be combined: - Parameters - ---------- - nvar - The reference number of the variable to be deleted. NVAR is as - defined by NSOL, ESOL, etc. + STATIC - Combine the modal static forces (default). + + TOTAL - Combine the modal static plus inertial forces. Notes ----- - Deletes a POST26 solution results variable. This is a command - generated by the Graphical User Interface (GUI). It will appear in the - log file (Jobname.LOG) if a POST26 variable is deleted from the - "Defined Time-History Variables" dialog box. This command is not - intended to be typed in directly in an ANSYS session (although it can - be included in an input file for batch input or for use with the /INPUT - command). + This command is also valid for PREP7. """ - command = "VARDEL, %s" % (str(nvar)) + command = "SRSS,%s,%s,%s,%s" % (str(signif), str(label), str(abssumkey), str(forcetype)) self.RunCommand(command, **kwargs) - def Dscale(self, rfact="", ifact="", tb_ase="", **kwargs): + def Modmsh(self, lab="", **kwargs): """ - APDL Command: DSCALE + APDL Command: MODMSH - Scales DOF constraint values. + Controls the relationship of the solid model and the FE model. Parameters ---------- - rfact - Scale factor for the real component. Zero (or blank) defaults to - 1.0. Use a small number for a zero scale factor. + lab + Relationship key: - ifact - Scale factor for the imaginary component. Zero (or blank) defaults - to 1.0. Use a small number for a zero scale factor. + STAT - Gives status of command (default). This applies only to the CHECK option (no + status is provided for the DETACH option). - 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. + NOCHECK - Deactivates the checking of the solid model and the finite element model. + Allows elements and nodes generated with the mesh + commands to be modified directly (EMODIF, NMODIF, EDELE, + NDELE, etc.). Also deactivates solid model hierarchical + checking so that areas attached to volumes may be deleted + etc. - 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. + CHECK - Reactivates future checking of the solid model. - Note:: : Such scaled FE boundary conditions may still be overwritten by - unscaled solid model boundary conditions if a subsequent boundary - condition transfer occurs. + DETACH - Releases all associativity between the current solid model and finite element + model. ANSYS deletes any element attributes that were + assigned to the affected solid model entities through + default attributes (that is, through the TYPE, REAL, MAT, + SECNUM, and ESYS command settings and a subsequent meshing + operation). However, attributes that were assigned + directly to the solid model entities (via the KATT, LATT, + AATT, and VATT commands) are not deleted. - 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. + Notes + ----- + Affects the relationship of the solid model (keypoints, lines, areas, + volumes) and the finite element model (nodes, elements, and boundary + conditions). - DSCALE does not work for tabular boundary conditions. + Specify Lab = NOCHECK carefully. By deactivating checking, the solid + model database can be corrupted by subsequent operations. - This command is also valid in PREP7. + After specifying Lab = DETACH, it is no longer possible to select or + define finite element model items in terms of the detached solid model + or to clear the mesh. """ - command = "DSCALE, %s, %s, %s" % (str(rfact), str(ifact), str(tb_ase)) + command = "MODMSH,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Eslv(self, type="", **kwargs): + def Gslist(self, lab="", **kwargs): """ - APDL Command: ESLV + APDL Command: GSLIST - Selects elements associated with the selected volumes. + When using generalized plane strain, lists the input data or solutions. Parameters ---------- - type - Label identifying the type of element selected: + lab + Specify the content to be listed. - S - Select a new set (default). + GEOMETRY - List the data input using GSGDATA - R - Reselect a set from the current set. + BC - List the data input using GSBDATA. - A - Additionally select a set and extend the current set. + REACTIONS - When the command is issued in POST1, list the reaction force at the ending + point, - U - Unselect a set from the current set. + 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 ----- - Selects volume elements belonging to meshed [VMESH], selected [VSEL] - volumes. + 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 = "ESLV, %s" % (str(type)) + command = "GSLIST,%s" % (str(lab)) self.RunCommand(command, **kwargs) - def Tbcopy(self, lab="", matf="", matt="", **kwargs): + def Bfcum(self, lab="", oper="", fact="", tb_ase="", **kwargs): """ - APDL Command: TBCOPY + APDL Command: BFCUM - Copies a data table from one material to another. + Specifies that nodal body force loads are to be accumulated. Parameters ---------- lab - Data table label. See the TB command for valid labels, and see - "Notes" for Lab = ALL. + Valid body load label. If ALL, use all appropriate labels. - matf - Material reference number where data table is to be copied from. + oper + Accumulation key: - matt - Material reference number where data table is to be copied to. + REPL - Subsequent values replace the previous values (default). + + ADD - Subsequent values are added to the previous values. + + IGNO - Subsequent values are ignored. + + fact + Scale factor for the nodal body load values. Zero (or blank) + defaults to 1.0. Use a small number for a zero scale factor. The + scale factor is not applied to body load phase angles. + + tbase + Used (only with Lab = TEMP) to calculate the temperature used in + the add or replace operation (see Oper) as: Notes ----- - The TBCOPY command, with Lab = ALL, copies all of the nonlinear data - defined by the TB command. If you copy a model that includes both yield - behavior constants and linear constants (for example, a BKIN model), - TBCOPY,ALL and MPCOPY are used together to copy the entire model. All - input data associated with the model is copied, that is, all data - defined through the TB and MP commands. + Allows repeated nodal body force loads to be replaced, added, or + ignored. Nodal body loads are applied with the BF command. Issue the + BFLIST command to list the nodal body loads. The operations occur when + the next body loads are defined. For example, issuing the BF command + with a temperature of 250 after a previous BF command with a + temperature of 200 causes the new value of the temperature to be 450 + with the add operation, 250 with the replace operation, or 200 with the + ignore operation. A scale factor is 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 temperature of 700. The + scale factor is applied even if no previous values exist. Issue + BFCUM,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. - Also, if you copy a material model using the Material Model Interface - (Edit> Copy), both the commands TBCOPY,ALL and MPCOPY are issued, - regardless of whether the model includes linear constants only, or if - it includes a combination of linear and yield behavior constants. + Note:: : FE boundary conditions may still be overwritten by existing + solid model boundary conditions if a subsequent boundary condition + transfer occurs. - This command is also valid in SOLUTION. + BFCUM does not work for tabular boundary conditions. + + This command is also valid in PREP7. """ - command = "TBCOPY, %s, %s, %s" % (str(lab), str(matf), str(matt)) + command = "BFCUM,%s,%s,%s,%s" % (str(lab), str(oper), str(fact), str(tb_ase)) self.RunCommand(command, **kwargs) - def Data(self, ir="", lstrt="", lstop="", linc="", name="", kcplx="", - **kwargs): + def Svtyp(self, ksv="", fact="", keyinterp="", **kwargs): """ - APDL Command: DATA + APDL Command: SVTYP - Reads data records from a file into a variable. + Defines the type of single-point response spectrum. Parameters ---------- - ir - Arbitrary reference number assigned to the resulting variable (2 to - NV [NUMVAR]). If this number is the same as for a previously - defined variable, the previously defined variable will be - overwritten with this result. + ksv + Response spectrum type: - lstrt - Start at location LSTRT (defaults to 1). + 0 - Seismic velocity response spectrum loading (SV values interpreted as velocities + with units of length/time). - lstop - Stop at location LSTOP (defaults to LSTRT). Maximum location - available is determined from data previously stored. + 1 - Force response spectrum loading (SV values interpreted as force amplitude + multipliers). - linc - Fill every LINC location between LSTRT and LSTOP (defaults to 1). + 2 - Seismic acceleration response spectrum loading (SV values interpreted as + accelerations with units of length/time2). - name - Eight character name for identifying the variable on the printout - and displays. Embedded blanks are compressed upon output. + 3 - Seismic displacement response spectrum loading (SV values interpreted as + displacements with units of length). - kcplx - Complex number key: + 4 - PSD loading (SV values interpreted as acceleration2/(cycles/time), such as + (in/sec2)2/Hz (not g2/Hz)). (Not recommended) - 0 - Data stored as the real part of the complex number. + fact + Scale factor applied to spectrum values (defaults to 1.0). Values + are scaled when the solution is initiated [SOLVE]. Database values + remain the same. - 1 - Data stored as the imaginary part of the complex number. + keyinterp + Key to activate or deactivate the linear interpolation between + input response spectrum points and input response spectrum curves: + + 0 (OFF or NO) - Deactivate linear and use logarithmic interpolation. This value is the default. + + 1 (ON or YES) - Activate linear interpolation. Notes ----- - This command must be followed by a format statement (on the next line) - and the subsequent data records, and all must be on the same file (that - may then be read with the /INPUT command). The format specifies the - number of fields to be read per record, the field width, and the - placement of the decimal point (if one is not included in the data - value). The read operation follows the available FORTRAN FORMAT - conventions of the system. See the system FORTRAN manual for details. - Any standard FORTRAN real format (such as (4F6.0), (F2.0,2X,F12.0), - etc.) may be used. Integer (I), character (A), and list-directed (*) - descriptors may not be used. The parentheses must be included in the - format. Up to 80 columns per record may be read. Locations may be - filled within a range. Previous data in the range will be overwritten. + Defines the type of single-point response spectrum [SPOPT]. The + seismic excitation direction is defined with the SED command. + + This command is also valid in PREP7. """ - command = "DATA, %s, %s, %s, %s, %s, %s" % (str(ir), str(lstrt), str(lstop), str(linc), str(name), str(kcplx)) + command = "SVTYP,%s,%s,%s" % (str(ksv), str(fact), str(keyinterp)) self.RunCommand(command, **kwargs) - def Abbres(self, lab="", fname="", ext="", **kwargs): + def Ednrot(self, option="", cid="", cname="", dof1="", dof2="", dof3="", + dof4="", dof5="", dof6="", **kwargs): """ - APDL Command: ABBRES + APDL Command: EDNROT - Reads abbreviations from a coded file. + Applies a rotated coordinate nodal constraint in an explicit dynamics + analysis. Parameters ---------- - lab - Label that specifies the read operation: + option + Label identifying the option to be performed: - Replace current abbreviation set with these abbreviations (default). - Extend current abbreviation set with these abbreviations, replacing any of the - same name that already exist. + ADD - Add a rotated nodal coordinate constraint (default). + + DELE - Delete specified rotated nodal coordinate constraints. + + LIST - List all rotated nodal coordinate constraints. - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + cid + Coordinate system ID for which rotated nodal constraints will be + added or deleted. The CID must have been previously defined with + the EDLCS command. If Option = DELE, use CID = ALL to delete all + previously specified nodal constraints. - ext - Filename extension (eight-character maximum). + cname + Nodal component set to which the rotated coordinate constraint will + be applied. Cname must be previously specified using the CM + command. - -- - Unused field. + dof1, dof2, dof3, . . . , dof6 + Degrees of freedom for which the rotated nodal constraint will be + applied. Valid degree of freedom labels include UX, UY, UZ, ROTX, + ROTY, and ROTZ. If DOF1 = ALL, rotated nodal constraints will be + applied to all degrees of freedom. Notes ----- - The abbreviation file may have been written with the ABBSAV command. Do - not issue ABBRES,NEW while inside an executing abbreviation. Doing so - will cause all data for the executing abbreviation to be deleted. + Constraints applied with EDNROT are zero displacement constraints. - This command is valid in any processor. + This command is also valid in SOLUTION. + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "ABBRES, %s, %s, %s" % (str(lab), str(fname), str(ext)) + command = "EDNROT,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(cid), str(cname), str(dof1), str(dof2), str(dof3), str(dof4), str(dof5), str(dof6)) self.RunCommand(command, **kwargs) - def Oczone(self, zonetype="", zonename="", compnameint="", compnameext="", - **kwargs): + def Sfbeam(self, elem="", lkey="", lab="", vali="", valj="", val2i="", + val2j="", ioffst="", joffst="", lenrat="", **kwargs): """ - APDL Command: OCZONE + APDL Command: SFBEAM - Specifies the type of ocean zone data to follow. + Specifies surface loads on beam and pipe elements. Parameters ---------- - zonetype - The type of ocean zone data to be input following this command: + elem + Element to which surface load is applied. If ALL, apply load to + all selected beam elements (ESEL). If Elem = P, graphical picking + is enabled and all remaining command fields are ignored (valid only + in the GUI). A component name may be substituted in Elem. - COMP - Define by a component. + lkey + Load key associated with surface load (defaults to 1). Load keys + (1, 2, 3, etc.) are listed under "Surface Loads" in the input table + for each element type in the Element Reference. For beam and some + pipe elements, the load key defines the load orientation. - ZLOC - Define by Z levels. + lab + Valid surface load label. Load labels are listed under "Surface + Loads" in the input table for each element type in the Element + Reference. Structural labels: PRES (pressure). - PIP - Associate an internal pipe or pipes with an external pipe. + vali, valj + Surface load values at nodes I and J. If VALJ is blank, it + defaults to VALI. If VALJ is zero, a zero is used. - zonename - The ocean zone name. If no name is specified, the program assigns - one. + val2i, val2j + Second surface load values at nodes I and J. Currently not used. - compnameint - For Zonetype = COMP, the required name of a component. + ioffst, joffst + Offset distance from node I (toward node J) where VALI is applied, + and offset distance from node J (toward node I) where VALJ is + applied, respectively. - compnameext - For Zonetype = PIP, the required name of an external pipe - component. + lenrat + Offset distance flag: + + 0 - Offset is in terms of length units (default). + + 1 - Offset is in terms of a length ratio (0.0 to 1.0). Notes ----- - The OCZONE command specifies the type of ocean zone data to follow - (component, Z-level, or internal pipes associated with an external - pipe). An ocean zone is a local space where you can override global - ocean-loading parameters. - - Names specified for ZoneName, CompNameInt, and CompNameExt can consist - of up to 32 alphanumeric characters. The name cannot contain - punctuation, special characters, or spaces. + Specifies surface loads on the selected beam elements. Distributed + loads are applied on a force-per-length basis (that is, the width of + the underlying element is not considered). To list and delete surface + loads applied with this command, use the SFELIST and SFEDELE commands, + respectively. - For Zonetype = COMP, the zone is defined by a component. Only the - elements in the component are affected by the local parameters. A - partial component can be defined as the zone via the Z input on the - OCTABLE command. + If no offset values (IOFFSET and JOFFSET) are specified, the load is + applied over the full element length. Values may also be input as + length fractions, depending on the LENRAT setting. For example, + assuming a line length of 5.0, an IOFFST of 2.0 with LENRAT = 0 or an + IOFFST of 0.4 with LENRAT = 1 represent the same point. If JOFFST = + -1, VALI is assumed to be a point load at the location specified via + IOFFST, and VALJ is ignored. (IOFFSET cannot be equal to -1.) The + offset values are stepped even if you issue a KBC,0 command. - For Zonetype = ZLOC, the zone is defined by Z levels. Structural - elements (such as BEAM188, BEAM189, PIPE288, PIPE289, and LINK180) in - the Z levels are included in the zone. + Offsets are only available for element types BEAM188 and PIPE288 if + using the cubic shape function (KEYOPT(3) = 3) for those element types. - For Zonetype = PIP, the zone is prepared for a special configuration of - pipes. It associates an internal pipe or pipes with an external pipe to - remove the hydrodynamic effect on the internal pipe. Only hydrostatic - pressure is applied on the internal pipe. + To accumulate (add) surface loads applied with this command, use the + SFCUM,,ADD command. Use the same offset values used on the previous + SFBEAM command (for a given element face); otherwise, the loads do not + accumulate. If no offsets are specified, the command applies the + previous offset values. This command is also valid in PREP7. - Figure: 6:: : Ocean Zone Types (Specified via ZoneType) - - Issue this command before defining your ocean load data (OCDATA or - OCTABLE). Define components before defining a component-type or a pipe- - type zone (OCZONE,COMP or OCZONE,PIP, respectively). - """ - command = "OCZONE, %s, %s, %s, %s" % (str(zonetype), str(zonename), str(compnameint), str(compnameext)) + command = "SFBEAM,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(elem), str(lkey), str(lab), str(vali), str(valj), str(val2i), str(val2j), str(ioffst), str(joffst), str(lenrat)) self.RunCommand(command, **kwargs) - def Mfinter(self, option="", **kwargs): + def Mshcopy(self, keyla="", laptrn="", lacopy="", kcn="", dx="", dy="", + dz="", tol="", low="", high="", **kwargs): """ - APDL Command: MFINTER + APDL Command: MSHCOPY - Specifies the interface load transfer interpolation option for an ANSYS - Multi-field solver analysis. + Simplifies the generation of meshes that have matching node element + patterns on two different line groups (in 2-D) or area groups (3-D). Parameters ---------- - option - Interface load transfer option: + keyla + Copy line mesh (default) if LINE, 0 or 1. Copy area mesh if AREA, + or 2. - CONS - Conservative formulation for load transfer. + laptrn + Meshed line/area to be copied, or a component name containing a + list. If LAPTRN = P, graphical picking is enabled (valid only in + the GUI). - NONC - Nonconservative formulation for load transfer (default). + lacopy + Unmeshed line/area to get copied mesh, or a component name + containing a list. If LACOPY = P, graphical picking is enabled + (valid only in the GUI). - Notes - ----- - This command only applies to the interpolation method for forces, heat - flux, and heat generation. Displacement and temperature transfers are - always nonconservative. + kcn + In coordinate system KCN, LAPTRN + DX DY DZ = LACOPY. - For more information on conservative and nonconservative load transfer, - see Load Transfer in the Coupled-Field Analysis Guide. + dx, dy, dz + Node location increments in the active coordinate system (DR, Dθ, + DZ for cylindrical, DR, Dθ, DΦ for spherical or toroidal). - This command is also valid in PREP7. + tol + Tolerance. Defaults to 1.e--4. - See Multi-field Commands in the Coupled-Field Analysis Guide for a list - of all ANSYS Multi-field solver commands and their availability for MFS - and MFX analyses. + low + Name of low node component to be defined (optional). - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + high + Name of high node component to be defined (optional). + + Notes + ----- + Matching meshes are used for rotational (cyclic) symmetry, or for + contact analysis using coupling or node-to-node gap elements. See Using + CPCYC and MSHCOPY Commands in the Modeling and Meshing Guide for more + information. """ - command = "MFINTER, %s" % (str(option)) + command = "MSHCOPY,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(keyla), str(laptrn), str(lacopy), str(kcn), str(dx), str(dy), str(dz), str(tol), str(low), str(high)) self.RunCommand(command, **kwargs) - def Pltime(self, tmin="", tmax="", **kwargs): + def Smax(self, labr="", lab1="", lab2="", fact1="", fact2="", **kwargs): """ - APDL Command: PLTIME + APDL Command: SMAX - Defines the time range for which data are to be displayed. + Forms an element table item from the maximum of two other items. Parameters ---------- - tmin - Minimum time (defaults to the first point stored). + labr + Label assigned to results. If same as existing label, the existing + values will be overwritten by these results. - tmax - Maximum time (defaults to the last point stored). + lab1 + First labeled result item in operation. + + lab2 + Second labeled result item in operation (may be blank). + + fact1 + Scale factor applied to Lab1. A (blank) or '0' entry defaults to + 1.0. + + fact2 + Scale factor applied to Lab2. A (blank) or '0' entry defaults to + 1.0. Notes ----- - Defines the time (or frequency) range (within the range stored) for - which data are to be displayed. Time is always displayed in the Z-axis - direction for 3-D graph displays. If XVAR = 1, time is also displayed - in the X-axis direction and this control also sets the abscissa scale - range. + Forms a labeled result item (see ETABLE command) for the selected + elements by comparing two existing labeled result items according to + the operation: + + LabR = (FACT1 x Lab1) cmx (FACT2 x Lab2) + + where "cmx" means "compare and save maximum." If absolute values are + requested [SABS,1], the absolute values of Lab1 and Lab2 are used. """ - command = "PLTIME, %s, %s" % (str(tmin), str(tmax)) + command = "SMAX,%s,%s,%s,%s,%s" % (str(labr), str(lab1), str(lab2), str(fact1), str(fact2)) self.RunCommand(command, **kwargs) - def Input(self, fname="", ext="", dir="", line="", log="", **kwargs): + def Rsplit(self, option="", label="", name1="", name2="", name3="", + name4="", name5="", name6="", name7="", name8="", name9="", + name10="", name11="", name12="", name13="", name14="", + name15="", name16="", **kwargs): """ - APDL Command: /INPUT + APDL Command: RSPLIT - Switches the input file for the commands that follow. + Creates one or more results file(s) from the current results file based + on subsets of elements. Parameters ---------- - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. - - ext - Filename extension (eight-character maximum). - - dir - Directory path (64 characters maximum). Defaults to current - directory. + option + Specify which results to include for the subset of elements. - line - A value indicating either a line number in the file or a user- - defined label in the file from which to begin reading the input - file. + ALL - Write all nodal and element results based on the subset of elements (default). - (blank), 0, or 1 - Begins reading from the top of the file (default). + EXT - Write only the nodal and element results that are on the exterior surface of + the element subset. The results data will be averaged as in + PowerGraphics (see AVRES) when this results file is brought + into POST1. Only valid for solid elements. - LINE_NUMBER - Begins reading from the specified line number in the file. + label + Define where the element subset is coming from. - :label - Begins reading from the first line beginning with the matching user-defined - label :label (beginning with a colon (:), 8 characters - maximum). + ALL - Use all selected element components (CMSEL) (default). - log - Indicates whether secondary input from this command should be - recorded in the command log (File.LOG) and the database log: + ESEL - Use the currently selected (ESEL) set of elements. Name1 defines the results + file name. - 0 - Record only the /INPUT command on the log (default). + LIST - Use Name1 to Name16 to list the element component and/or assembly names (that + contain element components). - 1 - Record commands in the specified secondary file as they are executed. + name1, name2, name3, . . . , name16 + Up to 16 element component and/or assembly names (that contain + element components). Notes ----- - Switches the input file for the next commands. Commands are read from - this file until an end-of-file or another file switching directive is - read. An end-of-file occurs after the last record of the file or when - a /EOF command is read. An automatic switch back one level (to the - previous file) occurs when an end-of-file is encountered. Twenty - levels of nested file switching are allowed. Note that files including - *DO, *USE, *ULIB, and the "Unknown Command" Macro have less nesting - available because each of these operations also uses a level of file - switching. For an interactive run, a /INPUT,TERM switches to the - terminal for the next input. A /EOF read from the terminal then - switches back to the previous file. A /INPUT (with a blank second - field) switches back to the primary input file. + Results files will be named based on the element component or assembly + name, e.g., Cname.rst, except for the ESEL option, for which you must + specify the results file name (no extension) using the Name1 field. + Note that the .rst filename will be written in all uppercase letters + (CNAME.rst) (unless using the ESEL option); when you read the file, you + must specify the filename using all uppercase letters (i.e., + file,CNAME). You may repeat the RSPLIT command as often as needed. All + results sets on the results file are processed. Use /AUX3 to produce a + results file with just a subset of the results sets. - Setting LOG = 1 on /INPUT causes all commands read from the specified - file to be recorded in the command log (File.LOG) and the internal - database command log [LGWRITE]. This option is recommended if the log - file will be used later . The LOG = 1 option is only valid when the - /INPUT occurs in the primary input file. Using LOG = 1 on a nested - /INPUT or on a /INPUT within a do-loop will have no effect (i.e., - commands in the secondary input file are not written to the command - log). + Use INRES to limit the results data written to the results files. - The Dir option is optional as the directory path can be included - directly in Fname. + The subset geometry is also written so that no database file is + required to postprocess the subset results files. You must not resume + any database when postprocessing one of these results files. The input + results file must have geometry written to it (i.e., do not use + /CONFIG,NORSTGM,1). - This command is valid in any processor. + Applied forces and reaction forces are not apportioned if their nodes + are shared by multiple element subsets. Their full values are written + to each results file. + + Each results file renumbers its nodes and elements starting with 1. + + This feature is useful when working with large models. For more + information on the advantages and uses of the RSPLIT command, see + Splitting Large Results Files in the Basic Analysis Guide. """ - command = "/INPUT, %s, %s, %s, %s, %s" % (str(fname), str(ext), str(dir), str(line), str(log)) + command = "RSPLIT,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(option), str(label), str(name1), str(name2), str(name3), str(name4), str(name5), str(name6), str(name7), str(name8), str(name9), str(name10), str(name11), str(name12), str(name13), str(name14), str(name15), str(name16)) self.RunCommand(command, **kwargs) - def Clear(self, read="", **kwargs): + def Sedlist(self, sename="", kopt="", **kwargs): """ - APDL Command: /CLEAR + APDL Command: SEDLIST - Clears the database. + Lists the DOF solution of a superelement after the use pass. Parameters ---------- - read - File read option: + sename + Name of the superelement in Jobname.DSUB to be listed. If a + number, it is the element number of the superelement as used in the + use pass. If ALL, list results for all superelements. - START - Reread start162.ans file (default). + kopt + List key: - NOSTART - Do not reread start162.ans file. + 0 - List summary data only. + + 1 - List full contents. Be aware that the listing may be extensive. Notes ----- - Resets the ANSYS database to the conditions at the beginning of the - problem. Sets the import and Boolean options back to the ANSYS - default. All items are deleted from the database and memory values are - set to zero for items derived from database information. All files are - left intact. This command is useful between multiple analyses in the - same run, or between passes of a multipass analysis (such as between - the substructure generation, use, and expansion passes). Should not be - used in a do-loop since loop counters will be reset. The start162.ans - file will be reread (by default) after the database is cleared, unless - Read is set to NOSTART. Additional commands cannot be stacked (using - the $ separator) on the same line as the /CLEAR command. - - Use care when placing the /CLEAR command within branching constructs - (for example, those employing *DO or *IF commands). The command - deletes all parameters including the looping parameter for do-loops. - (You can preserve your iteration parameter by issuing a PARSAV command - prior to the /CLEAR command, then following the /CLEAR command with a - PARRES command.) + Lists the degree of freedom solution of a superelement after the + substructure use pass. Results may be listed for any superelement on + File.DSUB. - /CLEAR resets the jobname to match the currently open session .LOG and - .ERR files. This will return the jobname to its original value, or to - the most recent value specified on /FILNAME with KEY = 1. + This command is valid in any processor. - This command is valid only at the Begin level. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "/CLEAR, %s" % (str(read)) + command = "SEDLIST,%s,%s" % (str(sename), str(kopt)) self.RunCommand(command, **kwargs) - def Vtran(self, kcnto="", nv1="", nv2="", ninc="", kinc="", noelem="", - imove="", **kwargs): + def Lrotat(self, nk1="", nk2="", nk3="", nk4="", nk5="", nk6="", pax1="", + pax2="", arc="", nseg="", **kwargs): """ - APDL Command: VTRAN + APDL Command: LROTAT - Transfers a pattern of volumes to another coordinate system. + Generates circular lines by rotating a keypoint pattern about an axis. Parameters ---------- - kcnto - Reference number of coordinate system where the pattern is to be - transferred. Transfer occurs from the active coordinate system. - The coordinate system type and parameters of KCNTO must be the same - as the active system. - - nv1, nv2, ninc - Transfer volumes from pattern beginning with NV1 to NV2 (defaults - to NV1) in steps of NINC (defaults to 1). If NV1 = ALL, NV2 and - NINC are ignored and the pattern is all selected volumes [VSEL]. - If NV1 = 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 NV1 (NV2 and NINC are ignored). - - kinc - Keypoint increment between sets. If zero, the lowest available - keypoint numbers are assigned [NUMSTR]. - - noelem - Specifies whether elements and nodes are also to be generated: - - 0 - Generate nodes and elements associated with the original volumes, if they - exist. - - 1 - Do not generate nodes and elements. + nk1, nk2, nk3, . . . , nk6 + List of keypoints in the pattern to be rotated (6 maximum if using + keyboard entry). If NK1 = P, graphical picking is enabled and all + remaining command fields are ignored (valid only in the GUI). If + NK1 = ALL, all selected keypoints (except PAX1 and PAX2) will + define the pattern to be rotated. A component name may also be + substituted for NK1. - imove - Specifies whether to redefine the existing volumes: + pax1, pax2 + Keypoints defining the axis about which the keypoint pattern is to + be rotated. - 0 - Generate additional volumes. + arc + Arc length (in degrees). Positive follows right-hand rule about + PAX1-PAX2 vector. Defaults to 360. - 1 - Move original volumes to new position retaining the same keypoint numbers (KINC - and NOELEM are ignored). Corresponding meshed items are also - moved if not needed at their original position. + nseg + Number of lines (8 maximum) around circumference. Defaults to + minimum required for 90° (maximum) arcs, i.e., 4 for 360°, 3 for + 270°, etc. Notes ----- - Transfers a pattern of volumes (and their corresponding keypoints, - lines, areas and mesh) from one coordinate system to another (see - analogous node transfer command, TRANSFER). The MAT, TYPE, REAL, and - ESYS attributes are based upon the volumes in the pattern and not upon - the current settings. Coordinate systems may be translated and rotated - relative to each other. Initial pattern may be generated in any - coordinate system. However, solid modeling in a toroidal coordinate - system is not recommended. Coordinate and slope values are interpreted - in the active coordinate system and are transferred directly. Volumes - are generated as described in the VGEN command. + Generates circular lines (and their corresponding keypoints) by + rotating a keypoint pattern about an axis. Keypoint patterns are + generated at regular angular locations (based on a maximum spacing of + 90°). Line patterns are generated at the keypoint patterns. Keypoint + and line numbers are automatically assigned (beginning with the lowest + available values [NUMSTR]). """ - command = "VTRAN, %s, %s, %s, %s, %s, %s, %s" % (str(kcnto), str(nv1), str(nv2), str(ninc), str(kinc), str(noelem), str(imove)) + command = "LROTAT,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(nk1), str(nk2), str(nk3), str(nk4), str(nk5), str(nk6), str(pax1), str(pax2), str(arc), str(nseg)) self.RunCommand(command, **kwargs) - def Dv3d(self, lab="", key="", **kwargs): + def Atran(self, kcnto="", na1="", na2="", ninc="", kinc="", noelem="", + imove="", **kwargs): """ - APDL Command: /DV3D + APDL Command: ATRAN - Sets 3-D device option modes. + Transfers a pattern of areas to another coordinate system. Parameters ---------- - lab - Mode label: - - ACCU - Allows ANSYS to use the accumulation buffer for OpenGL graphics. Activating - this feature will provide faster model rotation when shaded - backgrounds are in use. This feature is off by default. - - ACTR - Label term to designate the cursor position as the center for automatic dynamic - rotational center capability. The subsequent Key value (see - below) turns this capability on and off. This feature is on - by default. (Available for OpenGL displays only) - - ANIM - Animation mode. The ANIM option allows you to create animation frames in - pixmap mode instead of display list mode. This may improve - large model performance, but it eliminates local - manipulation while animation is in progress. This feature is - on by default. - - ANTI - Label term to control Anti-aliasing, a smoothing technique for your graph - plots. (see below) The subsequent Key value turns this - capability on and off. The default for this feature is off. - (Available for OpenGL displays only). + kcnto + Reference number of coordinate system where the pattern is to be + transferred. Transfer occurs from the active coordinate system. + The coordinate system type and parameters of KCNTO must be the same + as the active system. - CNTR - Switches banded contours on (1) or off (0) for your 3–D contour display. The - default is 1 (ON). Other contour parameters such as number - of contours or the increment and range are defined using the - /CONTOUR command. When either 9 or 128 contours are - specified via /CONTOUR, this command is ignored and a smooth - contour is always displayed. + na1, na2, ninc + Transfer area pattern beginning with NA1 to NA2 (defaults to NA1) + in steps of NINC (defaults to 1). If NA1 = ALL, NA2 and NINC are + ignored and the pattern is all selected areas [ASEL]. If NA1 = P, + graphical picking is enabled and all remaining arguments are + ignored (valid only in the GUI). A component name may also be + substituted for NA1 (NA2 and NINC are ignored). - DGEN - Local manipulation degenerate mode. You access the DGEN option to set wire- - frame local manipulation mode for 3-D devices (device - dependent). This feature is off by default. + kinc + Keypoint increment between sets. If zero, the lowest available + keypoint numbers are assigned [NUMSTR]. - DLIST - With DLIST, you can specify whether screen updates and redraws will be - performed using the ANSYS Display List (off), or the 3-D - device's Display List (on). DLIST is on by default for - Windows systems, but off for Linux. + noelem + Specifies whether elements and nodes are also to be generated: - DELS - You use DELS to suppress contour display screen overwrites when /NOERASE is - active. This prevents the bleed-through that occurs when you - overlay contour plots. + 0 - Generate nodes and elements associated with the original areas, if they exist. - TRIS - Triangle strip mode. Tri-stripping provides faster 3-D display capabilities and - is on by default. Some display enhancements, such as - texturing, are adversely affected by tri-stripping. You can - turn off tri-stripping in order to improve these display - functions. Be sure to turn tri-stripping on after the - desired output is obtained. + 1 - Do not generate nodes and elements. - key - The following key options apply to Lab = ACCU: + imove + Specifies whether to redefine the existing areas: - 0 - (OFF) The accumulation buffer is not accessed. (default) + 0 - Generate additional areas. - 1 - (ON) Access to the buffer is enabled. + 1 - Move original areas to new position retaining the same keypoint numbers (KINC + and NOELEM are ignored). Valid only if the old areas are no + longer needed at their original positions. Corresponding + meshed items are also moved if not needed at their original + position. Notes ----- - ANSYS uses display list animation for its 3-D models. This memory - resident array method interfaces with the OpenGL model information to - allow the program to efficiently pan, zoom, rotate and dynamically - manipulate your model during animation. The logo, legend, contour and - other annotation items are produced in 2-D and will not appear when - /DV3D, ANIM, 0 is in effect. To display these items, use /DV3D, ANIM, - 1. All screen data will be displayed, but manipulation of the model - will not be possible. + Transfers a pattern of areas (and their corresponding lines, keypoints + and mesh) from one coordinate system to another (see analogous node + TRANSFER command). The MAT, TYPE, REAL, and ESYS attributes are based + upon the areas in the pattern and not upon the current settings. + Coordinate systems may be translated and rotated relative to each + other. Initial pattern may be generated in any coordinate system. + However, solid modeling in a toroidal coordinate system is not + recommended. Coordinate and slope values are interpreted in the active + coordinate system and are transferred directly. Areas are generated as + described in the AGEN command. """ - command = "/DV3D, %s, %s" % (str(lab), str(key)) + command = "ATRAN,%s,%s,%s,%s,%s,%s,%s" % (str(kcnto), str(na1), str(na2), str(ninc), str(kinc), str(noelem), str(imove)) self.RunCommand(command, **kwargs) - def Sptopt(self, **kwargs): + def Prscontrol(self, key="", **kwargs): """ - APDL Command: SPTOPT + APDL Command: PRSCONTROL - Specifies "Spectrum analysis options" as the subsequent status topic. + Specifies whether to include pressure load stiffness in the element + stiffness formation. + + Parameters + ---------- + key + Pressure load stiffness key. In general, use the default setting. + Use a non-default setting only if you encounter convergence + difficulties. Pressure load stiffness is automatically included + when using eigenvalue buckling analyses (ANTYPE,BUCKLE), equivalent + to Key = INCP. For all other types of analyses, valid arguments for + Key are: + + NOPL - Pressure load stiffness not included for any elements. + + (blank) (default) - Include pressure load stiffness for elements SURF153, SURF154, SURF156, + SURF159, SHELL181, PLANE182, PLANE183, SOLID185, + SOLID186, SOLID187, SOLSH190, BEAM188, BEAM189, + FOLLW201, SHELL208, SHELL209, SOLID272, SOLID273, + SHELL281, SOLID285, PIPE288, PIPE289, and + ELBOW290. Do not include pressure load stiffness + for elements SOLID65. + + INCP - Pressure load stiffness included for all of the default elements listed above + and SOLID65. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. - - If entered directly into the program, the STAT command should - immediately follow this command. + This command is rarely needed. The default settings are recommended for + most analyses. """ - command = "SPTOPT, " % () + command = "PRSCONTROL,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Gauge(self, opt="", freq="", **kwargs): + def Psdres(self, lab="", relkey="", **kwargs): """ - APDL Command: GAUGE + APDL Command: PSDRES - Gauges the problem domain for a magnetic edge-element formulation. + Controls solution output written to the results file from a PSD + analysis. Parameters ---------- - opt - Type of gauging to be performed: + lab + Label identifying the solution output: - ON - Perform tree gauging of the edge values (default). + DISP - Displacement solution (default). One-sigma displacements, stresses, forces, + etc. Written as load step 3 on File.RST. - OFF - Gauging is off. (You must specify custom gauging via APDL specifications.) + VELO - Velocity solution. One-sigma velocities, "stress velocities," "force + velocities," etc. Written as load step 4 of File.RST. - STAT - Gauging status (returns the current Opt and FREQ values) + ACEL - Acceleration solution. One-sigma accelerations, "stress accelerations," "force + accelerations,” etc. Written as load step 5 on File.RST. - freq - The following options are valid when Opt = ON: + relkey + Key defining relative or absolute calculations: - 0 - Generate tree-gauging information once, at the first load step. Gauging data is - retained for subsequent load steps. (This behavior is the - default.) + REL - Calculations are relative to the base excitation (default). - 1 - Repeat gauging for each load step. Rewrites the gauging information at each - load step to accommodate changing boundary conditions on the AZ - degree of freedom (for example, adding or deleting AZ - constraints via the D or CE commands). + ABS - Calculations are absolute. + + OFF - No calculation of solution output identified by Lab. Notes ----- - The GAUGE command controls the tree-gauging procedure required for - electromagnetic analyses using an edge-based magnetic formulation - (elements SOLID236 and SOLID237). - - Gauging occurs at the solver level for each solution (SOLVE). It sets - additional zero constraints on the edge-flux degrees of freedom AZ to - produce a unique solution; the additional constraints are removed after - solution. - - Use the FREQ option to specify how the command generates gauging - information for multiple load steps. - - Access the gauging information via the _TGAUGE component of gauged - nodes. The program creates and uses this component internally to remove - and reapply the AZ constraints required by gauging. If FREQ = 0, the - _TGAUGE component is created at the first load step and is used to - reapply the tree gauge constraints at subsequent load steps. If FREQ = - 1, the tree-gauging information and the _TGAUGE component are generated - at every load step - - If gauging is turned off (GAUGE,OFF), you must specify your own gauging - at the APDL level. + Controls the amount and form of solution output written to the results + file from a PSD analysis. One-sigma values of the relative or absolute + displacement solution, relative or absolute velocity solution, relative + or absolute acceleration solution, or any combination may be included + on the results file. This command is also valid in PREP7. + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. + """ - command = "GAUGE, %s, %s" % (str(opt), str(freq)) + command = "PSDRES,%s,%s" % (str(lab), str(relkey)) self.RunCommand(command, **kwargs) - def Gropt(self, lab="", key="", **kwargs): + def Ftype(self, filetype="", prestype="", **kwargs): """ - APDL Command: /GROPT + APDL Command: FTYPE - Sets various line graph display options. + Specifies the file type and pressure type for the subsequent import of + source points and pressures. Parameters ---------- - lab - Apply display style as selected from the following labels: + filetype + Type of file from which the pressure data will be retrieved (no + default): - AXDV - Axis division (tick) marks (defaults to KEY = ON). + CFXTBR - File from a CFX Transient Blade Row (TBR) analysis export. - AXNM - Axis scale numbers (defaults to KEY = ON, which puts numbers at the back plane - of the graph). If KEY = FRONT, numbers are on the front - plane of the graph. + CFDPOST - File from a CFD-Post BC Profile export. - AXNSC - Axis number size scale factor. Input the scale value for KEY (defaults to - 1.0). + FORMATTED - Formatted file. - ASCAL - Automatic scaling of additional Y-axes for multi-curve [/GRTYP, 2 or 3] graphs - (defaults to KEY = ON). If KEY = OFF, use base Y-axis - scaling (see the /YRANGE command). + CSV - Comma-Separated Values file. - LOGX - Log X scale (defaults to KEY = OFF (linear)). + prestype + Type of pressure data contained in the file: - LOGY - Log Y scale (applies only to the base Y axis) (defaults to KEY = OFF (linear)). + 0 - Only real-valued pressures are on the file. - FILL - Color fill areas under curves (defaults to KEY = OFF). + 1 - Real-valued and imaginary-valued pressures are on the file (default). - CGRID - Superimpose background grid [/GRID] over areas under filled curves (defaults to - KEY = OFF). + Notes + ----- + CFX Transient Blade Row files (FileType = CFXTBR) are obtained from the + Export Results Tab in CFX-Pre, with [Export Surface Name]: Option set + to Harmonic Forced Response. - DIG1 - Number of significant digits before decimal point for axis values. Input the - value for KEY (defaults to 4). + CFD-Post files (FileType = CFDPOST) are obtained from the Export action + in CFD-Post with Type set to BC Profile. - DIG2 - Number of significant digits after decimal point for axis values. Input the - value for KEY (defaults to 3). + Formatted files (FileType = FORMATTED) contain the coordinates and + pressure data in fixed-format columns in the order x, y, z, pressure. + You may have other columns of data in the file which can be skipped + over in the Format specifier on the READ command, but the data must be + in that order. - VIEW - View key for graph displays (defaults to KEY = OFF, in which case the view is - (0,0,1) for 2-D graph displays or (1,2,3) for 3-D graph - displays). If KEY = ON, the view settings for graph - displays are the same as the view settings for the model. + Comma-separated values files (FileType = CSV) contain the coordinates + and pressure data in comma-separated fields. The data can be in any + order, and other fields of data may also be present. - REVX - Plots the values on the X-axis in reverse order. + """ + command = "FTYPE,%s,%s" % (str(filetype), str(prestype)) + self.RunCommand(command, **kwargs) - REVY - Plots the values on the Y-axis in reverse order. + def Dim(self, par="", type="", imax="", jmax="", kmax="", var1="", var2="", + var3="", csysid="", **kwargs): + """ + APDL Command: *DIM - DIVX - Determines the number of divisions (grid markers) that will be plotted on the X - axis. + Defines an array parameter and its dimensions. - DIVY - Determines the number of divisions (grid markers) that will be plotted on the Y - axis. + Parameters + ---------- + par + Name of parameter to be dimensioned. See *SET for name + restrictions. - LTYP - Determines whether ANSYS generated (KEY = 1) or system derived (KEY = 0) fonts - will be used for the axis labels. + type + Array type: - CURL - Determines the position of the curve labels. If (KEY = 1), the curve label will - be plotted in the legend column, and the label will be - displayed in the same color as the curve. If (KEY = 0) the - curve labels will be plotted near the curve. (default). + Arrays are similar to standard FORTRAN arrays (indices are integers) (default). Index numbers for the rows, columns, and planes are sequential values beginning with one. Used for 1-, 2-, or 3-D arrays. - Same as ARRAY, but used to specify 4-D arrays. - XAXO - When you use this label, the subsequent KEY value will determine an offset - amount from the default (along the bottom) location for the - X axis. If KEY = 1.0, a full offset occurs (the X axis is - moved to the top of the graph). If KEY = 0.5, the axis is - offset to the midpoint of the graph, and if KEY = 0 the axis - remains in the original position, along the bottom of the - graph. For any offset, a grey copy of the original axis - (containing the axis numbering) remains at the original - location. + Same as ARRAY, but used to specify 5-D arrays. - Array entries are character strings (up to 8 characters each). Index numbers + for rows, columns, and planes are sequential + values beginning with one. - YAXO - When you use this label, the subsequent KEY value will determine an offset - amount from the default (along the left side of the graph) - location for the Y axis. If KEY = 1.0, a full offset occurs - (the Y axis is moved to the right side of the graph). If KEY - = 0.5, the axis is offset to the midpoint of the graph, and - if KEY = 0 the axis remains in the original position, along - the left side of the graph. For any offset, a gray copy of - the original axis (containing the axis numbering) remains at - the original location. + Array indices are real (non-integer) numbers which must be defined when filling the table. Index numbers for the rows and columns are stored in the zero column and row "array elements" and are initially assigned a near-zero value. Index numbers must be in ascending order and are used only for retrieving an array element. When retrieving an array element with a real index that does not match a specified index, linear interpolation is done among the nearest indices and the corresponding array element values [*SET]. Used for 1-, 2-, or 3-D tables. - Same as TABLE, but used to specify 4-D tables. - key - Option values: + Same as TABLE, but used to specify 5-D tables. - Array entries are character strings (up to IMAX each). Index numbers for + columns and planes are sequential values + beginning with 1. Row index is character position + in string. - OFF (0) - Do not apply selected style. + imax + Extent of first dimension (row). (For Type = STRING, IMAX is + rounded up to the next multiple of eight and has a limit of 248). + Defaults to 1. - ON (1) - Apply selected style. + jmax + Extent of second dimension (column). Defaults to 1. - nnnn - If Lab is DIG1 or DIG2, input the number of digits. + kmax + Extent of third dimension (plane). Defaults to 1. - nn - If Lab is AXNSC, input the scale factor. + var1 + Variable name corresponding to the first dimension (row) for Type = + TABLE. Defaults to Row. - FRONT - If Lab is AXNM, FRONT may also be input. + var2 + Variable name corresponding to the second dimension (column) for + Type = TABLE. Defaults to Column. - Ndiv - If Lab is DIVX or DIVY, determines the number of divisions (1-99) that will be - applied to the axis. + var3 + Variable name corresponding to the third dimension (plane) for Type + = TABLE. Defaults to Plane. - Kfont - If Lab is LTYP, Kfont is ON (1) or OFF(0). ON will use ANSYS generated fonts - for the axis labels, while OFF will use SYSTEM (Windows, - X-system, etc.) fonts. The default value is ON (ANSYS - fonts). + csysid + An integer corresponding to the coordinate system ID Number. Notes ----- - Sets various line graph display options. Issue /GROPT,STAT to display - the current settings. Issue /GROPT,DEFA to reset the default - specifications. ANSYS informs you that graph view manipulation is - inactive unless you have issued the /GROPT,VIEW,ON command. See the - /AXLAB, /GRTYP, /GRID, and /GTHK commands for other graph control - options. - - Automatic scaling using the /XRANGE and /YRANGE commands will often - yield inappropriate range values for logarithmic scales (/GROPT, LOGX - or /GROPT, LOGY). - - This command is valid in any processor. + Up to three dimensions (row, column, and plane) may be defined using + ARRAY and TABLE. Use ARR4, ARR5, TAB4, and TAB5 to define up to five + dimensions (row, column, plane, book, and shelf). An index number is + associated with each row, column, and plane. For array and table type + parameters, element values are initialized to zero. For character and + string parameters, element values are initialized to (blank). A + defined parameter must be deleted [*SET] before its dimensions can be + changed. Scalar (single valued) parameters should not be dimensioned. + *DIM,A,,3 defines a vector array with elements A(1), A(2), and A(3). + *DIM,B,,2,3 defines a 2x3 array with elements B(1,1), B(2,1), B(1,2), + B(2,2), B(1,3), and B(2,3). Use *STATUS,Par to display elements of + array Par. You can write formatted data files (tabular formatting) from + data held in arrays through the *VWRITE command. - """ - command = "/GROPT, %s, %s" % (str(lab), str(key)) - self.RunCommand(command, **kwargs) + If you use table parameters to define boundary conditions, then Var1, + Var2, and/or Var3 can either specify a primary variable (listed in + Table: 130:: *DIM - Primary Variables) or can be an independent + parameter. If specifying an independent parameter, then you must + define an additional table for the independent parameter. The + additional table must have the same name as the independent parameter + and may be a function of one or more primary variables or another + independent parameter. All independent parameters must relate to a + primary variable. - def Rsplit(self, option="", label="", name1="", name2="", name3="", - name4="", name5="", name6="", name7="", name8="", name9="", - name10="", name11="", name12="", name13="", name14="", - name15="", name16="", **kwargs): - """ - APDL Command: RSPLIT + Tabular load arrays can be defined in both global Cartesian (default) + or local (see below) coordinate systems by specifying CSYSID, as + defined in LOCAL. For batch operations, you must specify your + coordinate system first. - Creates one or more results file(s) from the current results file based - on subsets of elements. + The following constraints apply when you specify a local coordinate + system for your tabular loads: - Parameters - ---------- - option - Specify which results to include for the subset of elements. + If you are specifying a 4- or 5-D array or table, four additional + fields (LMAX, MMAX, Var4, and Var5) are available. Thus, for a 4-D + table, the command syntax would be: - ALL - Write all nodal and element results based on the subset of elements (default). + For a 5-D table, the command syntax would be: - EXT - Write only the nodal and element results that are on the exterior surface of - the element subset. The results data will be averaged as in - PowerGraphics (see AVRES) when this results file is brought - into POST1. Only valid for solid elements. + You cannot create or edit 4- or 5-D arrays or tables using the GUI. - label - Define where the element subset is coming from. + See Array Parameters for a detailed discussion on and examples for + using array parameters. - ALL - Use all selected element components (CMSEL) (default). + Table: 130:: : *DIM - Primary Variables - ESEL - Use the currently selected (ESEL) set of elements. Name1 defines the results - file name. + Specify PRESSURE as the independent variable (not PRES). - LIST - Use Name1 to Name16 to list the element component and/or assembly names (that - contain element components). + The X, Y, and Z coordinate locations listed above are valid in global + Cartesian, or local (Cartesian, cylindrical and spherical) coordinate + systems. The VELOCITY label is applicable only to the calculated fluid + velocity in element FLUID116. - name1, name2, name3, . . . , name16 - Up to 16 element component and/or assembly names (that contain - element components). + When using PRESSURE as a primary variable, the underlying element must + have the pressure DOF associated with it, or it must be a supported + contact element. - Notes - ----- - Results files will be named based on the element component or assembly - name, e.g., Cname.rst, except for the ESEL option, for which you must - specify the results file name (no extension) using the Name1 field. - Note that the .rst filename will be written in all uppercase letters - (CNAME.rst) (unless using the ESEL option); when you read the file, you - must specify the filename using all uppercase letters (i.e., - file,CNAME). You may repeat the RSPLIT command as often as needed. All - results sets on the results file are processed. Use /AUX3 to produce a - results file with just a subset of the results sets. + The gap/penetration label (GAP) is only used for defining certain + contact element real constants. - Use INRES to limit the results data written to the results files. + The frequency label (FREQ) is valid for harmonic analyses only. - The subset geometry is also written so that no database file is - required to postprocess the subset results files. You must not resume - any database when postprocessing one of these results files. The input - results file must have geometry written to it (i.e., do not use - /CONFIG,NORSTGM,1). + The OMEGS, ECCENT, and THETA primary variables only apply to the + COMBI214 element. The amplitude of the rotational velocity (OMEGS) is + an absolute value, so only positive values of OMEGS are valid. The + eccentricity (ECCENT) and phase shift (THETA) labels are only valid for + nonlinear analyses. - Applied forces and reaction forces are not apportioned if their nodes - are shared by multiple element subsets. Their full values are written - to each results file. + If you use table parameters to define boundary conditions, the table + names (Par) must not exceed 32 characters. - Each results file renumbers its nodes and elements starting with 1. + In thermal analyses, if you apply tabular loads as a function of + temperature but the rest of the model is linear (e.g., includes no + temperature-dependent material properties or radiation ), you should + turn on Newton-Raphson iterations (NROPT,FULL) to evaluate the + temperature-dependent tabular boundary conditions correctly. - This feature is useful when working with large models. For more - information on the advantages and uses of the RSPLIT command, see - Splitting Large Results Files in the Basic Analysis Guide. + This command is valid in any processor. """ - command = "RSPLIT, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(label), str(name1), str(name2), str(name3), str(name4), str(name5), str(name6), str(name7), str(name8), str(name9), str(name10), str(name11), str(name12), str(name13), str(name14), str(name15), str(name16)) + command = "*DIM,%s,%s,%s,%s,%s,%s,%s,%s,%s" % (str(par), str(type), str(imax), str(jmax), str(kmax), str(var1), str(var2), str(var3), str(csysid)) self.RunCommand(command, **kwargs) - def Gsbdata(self, labz="", valuez="", labx="", valuex="", laby="", - valuey="", **kwargs): + def Bcsoption(self, memory_option="", memory_size="", solve_info="", + **kwargs): """ - APDL Command: GSBDATA + APDL Command: BCSOPTION - Specifies the constraints or applies the load at the ending point for - generalized plane strain option. + Sets memory option for the sparse solver. Parameters ---------- - labz - Constraint or load at the ending point in the fiber Z direction. - - F - Apply a force in the fiber direction (default). + -- + Unused field - LFIBER - Define a length change in the fiber direction. + memory_option + Memory allocation option: - valuez - Value for LabZ. The default is zero. + DEFAULT - Use the default memory allocation strategy for the sparse solver. The default + strategy attempts to run in the INCORE memory mode. If + there is not enough available physical memory when the + solver starts to run in the INCORE memory mode, the + solver will then attempt to run in the OUTOFCORE memory + mode. - labx - Constraint or load on rotation about X. + INCORE - Use a memory allocation strategy in the sparse solver that will attempt to + obtain enough memory to run with the entire factorized + matrix in memory. This option uses the most amount of + memory and should avoid doing any I/O. By avoiding I/O, + this option achieves optimal solver performance. However, + a significant amount of memory is required to run in this + mode, and it is only recommended on machines with a large + amount of memory. If the allocation for in-core memory + fails, the solver will automatically revert to out-of-core + memory mode. - MX - Supply a moment to cause the rotation of the ending plane about X (default). + OUTOFCORE - Use a memory allocation strategy in the sparse solver that will attempt to + allocate only enough work space to factor each + individual frontal matrix in memory, but will store the + entire factorized matrix on disk. Typically, this + memory mode results in poor performance due to the + potential bottleneck caused by the I/O to the various + files written by the solver. - ROTX - Define a rotation angle (in radians) of the ending plane about X. + FORCE - This option, when used in conjunction with the Memory_Size option, allows you + to force the sparse solver to run with a specific amount of + memory. This option is only recommended for the advanced + user who understands sparse solver memory requirements for + the problem being solved, understands the physical memory + on the system, and wants to control the sparse solver + memory usage. - valuex - Value for LabX. The default is zero. + memory_size + Initial memory size allocation for the sparse solver in MB. This + argument allows you to tune the sparse solver memory and is not + generally required. Although there is no upper limit for + Memory_Size, the Memory_Size setting should always be well within + the physical memory available, but not so small as to cause the + sparse solver to run out of memory. Warnings and/or errors from the + sparse solver will appear if this value is set too low. If the + FORCE memory option is used, this value is the amount of memory + allocated for the entire duration of the sparse solver solution. - laby - Constraint or load on rotation about Y + --, -- + Unused fields - MY - Supply a moment to cause the rotation of the ending plane about Y (default). + solve_info + Solver output option: - ROTY - Define a rotation angle (in radians) of the ending plane about Y. + OFF - Turns off additional output printing from the sparse solver (default). - valuey - Value for LabY. The default is zero. + PERFORMANCE - Turns on additional output printing from the sparse solver, including a + performance summary and a summary of file I/O for the + sparse solver. Information on memory usage during + assembly of the global matrix (that is, creation of + the Jobname.FULL file) is also printed with this + option. 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 controls options related to the sparse solver in all + analysis types where the sparse solver can be used. It also controls + the Block Lanczos eigensolver in a modal or buckling analysis. + + The sparse solver runs from one large work space (that is, one large + memory allocation). The amount of memory required for the sparse solver + is unknown until the matrix structure is preprocessed, including + equation reordering. The amount of memory allocated for the sparse + solver is then dynamically adjusted to supply the solver what it needs + to compute the solution. + + If you have a very large memory system, you may want to try selecting + the INCORE memory mode for larger jobs to improve performance. When + running the sparse solver on a machine with very slow I/O performance + (for example, slow hard drive speed), you may want to try using the + INCORE memory mode to achieve better performance. However, doing so may + require much more memory compared to running in the OUTOFCORE memory + mode. + + Running with the INCORE memory mode is best for jobs which comfortably + fit within the limits of the physical memory on a given system. If the + sparse solver work space exceeds physical memory size, the system will + be forced to use virtual memory (or the system page/swap file). In this + case, it is typically more efficient to run with the OUTOFCORE memory + mode. Assuming the job fits comfortably within the limits of the + machine, running with the INCORE memory mode is often ideal for jobs + where repeated solves are performed for a single matrix factorization. + This occurs in a modal or buckling analysis or when doing multiple load + steps in a linear, static analysis. - This command is also valid in PREP7. + For repeated runs with the sparse solver, you may set the initial + sparse solver memory allocation to the amount required for + factorization. This strategy reduces the frequency of allocation and + reallocation in the run to make the INCORE option fully effective. If + you have a very large memory system, you may use the Memory_Size + argument to increase the maximum size attempted for in-core runs. """ - command = "GSBDATA, %s, %s, %s, %s, %s, %s" % (str(labz), str(valuez), str(labx), str(valuex), str(laby), str(valuey)) + command = "BCSOPTION,%s,%s,%s" % (str(memory_option), str(memory_size), str(solve_info)) self.RunCommand(command, **kwargs) - def Nldpost(self, label="", key="", fileid="", prefix="", **kwargs): + def Lplot(self, nl1="", nl2="", ninc="", **kwargs): """ - APDL Command: NLDPOST + APDL Command: LPLOT - Gets element component information from nonlinear diagnostic files. + Displays the selected lines. Parameters ---------- - label - Specifies the type of command operation: - - EFLG - Element flag for nonlinear diagnostics. - - NRRE - Newton-Raphson residuals. - - key - Specifies the command action: - - STAT - List information about the diagnostic files (Jobname.ndxxx or Jobname.nrxxx) in - the current directory. - - For Label = EFLG, the listing gives a summary that associates the loadstep, substep, time, equilibrium iteration number, cumulative iteration number, and the number of elements that fail each criteria with a specific file ID (Jobname.ndxxx). Use the list to create element components (via the CM option) based on the cumulative iteration number. - For Label = NRRE, the listing provides a summary that associates the loadstep, - substep, time, equilibrium iteration number, and - cumulative iteration number with a specific file - ID (Jobname.nrxxx). Use the list to identify the - respective file ID for creating Newton-Raphson - residual contour plots (PLNSOL,NRRE,…,FileID). - - DEL - Delete Jobname.ndxxx or Jobname.nrxxx files in the working directory, if any - exist. + nl1, nl2, ninc + Display lines from NL1 to NL2 (defaults to NL1) in steps of NINC + (defaults to 1). If NL1 = ALL (default), NL2 and NINC are ignored + and display all selected lines [LSEL]. - CM - Create components for elements that violate criteria. This value is valid only - when Label = EFLG. + Notes + ----- + Mesh divisions on plotted lines are controlled by the LDIV option of + the /PSYMB command. - fileid - Valid only when Label = EFLG and Key = CM, this value specifies - file IDs: + This command is valid in any processor. - IDnum - The file ID number. Creates the element components from the diagnostic files - corresponding to the specified file ID number in the - working directory. + """ + command = "LPLOT,%s,%s,%s" % (str(nl1), str(nl2), str(ninc)) + self.RunCommand(command, **kwargs) - ALL - Creates element components from all available diagnostic files residing in the - working directory. This value is the default if you do not - specify an IDnum value. + def Emft(self, **kwargs): + """ + APDL Command: EMFT - prefix - Sets the prefix name for components. Specify up to 21 alphanumeric - characters. + Summarizes electromagnetic forces and torques. Notes ----- - Based on the nonlinear diagnostic results (created via the NLDIAG,EFLG - command), the NLDPOST command creates element components with - predefined names. - - The following table lists the diagnostic criteria and component names - (with specified prefix and without). Here xxx corresponds to the file - ID (FileID) of Jobname.ndxxx or Jobname.nrxxx. + Use this command to summarize electromagnetic force and torque in both + static electric and magnetic problems. To use this command, select the + nodes in the region of interest and make sure that all elements are + selected. If RSYS = 0, the force is reported in the global Cartesian + coordinate system. If RSYS ≠ 0, force is reported in the specified + coordinate system. However, for torque, if RSYS ≠ 0, this command will + account for the shift and rotation as specified by RSYS, but will + report only the Cartesian components. - If you have trouble viewing specific element components, see Viewing - Hidden Element Components in the Basic Analysis Guide. + Forces are stored as items _FXSUM, _FYSUM, _FZSUM, and _FSSUM. Torque + is stored as items _TXSUM, _TYSUM, _TZSUM, and _TSSUM. - For more information, see Performing Nonlinear Diagnostics. + This command is valid only with PLANE121, SOLID122, SOLID123, PLANE233, + SOLID236 and SOLID237 elements. For any other elements, you must use + FMAGSUM. """ - command = "NLDPOST, %s, %s, %s, %s" % (str(label), str(key), str(fileid), str(prefix)) + command = "EMFT," % () self.RunCommand(command, **kwargs) - def Vddam(self, vf="", va="", vb="", vc="", **kwargs): + def Paget(self, parray="", popt="", **kwargs): """ - APDL Command: VDDAM + APDL Command: PAGET - Specifies the velocity spectrum computation constants for the analysis - of shock resistance of shipboard structures. + Writes current path information into an array variable. Parameters ---------- - vf - Direction-dependent velocity coefficient for elastic or elastic- - plastic analysis option (Default = 0). + parray + The name of the array parameter that the ANSYS program creates to + store the path information. If the array parameter already exists, + it will be replaced with the current path information. - va, vb, vc - Coefficients for the DDAM velocity spectrum equations. See Dynamic - Design Analysis Method in the Mechanical APDL Theory Reference. - Default for these coefficients is zero. + popt + Determines how data will be stored in the parameter specified with + PARRAY: - Notes - ----- - This command specifies velocity coefficients to analyze shock - resistance of shipboard equipment. These coefficients are used to - compute mode coefficients according to the equations given in Dynamic - Design Analysis Method in the Mechanical APDL Theory Reference. The - form of these equations is based on the Naval NRL Dynamic Design - Analysis Method. This command, along with the ADDAM and SED commands, - is used with the spectrum (ANTYPE,SPECTR) analysis as a special purpose - alternative to the SV, FREQ, and SVTYP commands. The mass and length - units of the model must be in pounds and inches, respectively. + POINTS - Store the path points, the nodes (if any), and coordinate system. (For + information on defining paths and path points, see the + descriptions of the PATH and PPATH commands.) - DDASPEC may alternatively be used to calculate spectrum coefficients. + TABLE - Store the path data items. (See the PDEF command description for path data + items.) - This command is also valid in PREP7. + LABEL - Stores path data labels. + + Notes + ----- + Use the PAGET command together with the PAPUT command to store and + retrieve path data in array variables for archiving purposes. When + retrieving path information, restore the path points (POINTS option) + first, then the path data (TABLE option), and then the path labels + (LABEL option). """ - command = "VDDAM, %s, %s, %s, %s" % (str(vf), str(va), str(vb), str(vc)) + command = "PAGET,%s,%s" % (str(parray), str(popt)) self.RunCommand(command, **kwargs) - def Pdinqr(self, rpar="", name="", type="", val="", **kwargs): + def Rmanl(self, fname="", ext="", dimn="", oper="", **kwargs): """ - APDL Command: PDINQR + APDL Command: RMANL - Evaluates statistical characteristics of a random input variable. + Assigns model database, dimensionality, and operating direction for the + ROM method. Parameters ---------- - rpar - Name of scalar ANSYS parameter into which the characteristic value - is stored. + fname + Database file name and directory path (248 characters maximum, + including directory). The file name defaults to Jobname. - name - Parameter name. The parameter must have been previously defined as - a random input variable using the PDVAR command. + ext + File extension (8 character maximum). The extension defaults to db. - type - Keyword for the type of information you need to retrieve. + -- + Unused field. - MEAN - Mean value of the random input variable specified in Name. + dimn + Model dimensionality: - STDV - Standard deviation of the random input variable + 2 - 2-D models - PDF - Probability density function of the random input variable specified in Name at - a given value specified by VAL. + 3 - 3-D Models - CDF - Cumulative distribution function of the random input variable specified in Name - at a given value specified by VAL. + oper + Primary operating direction: - INV - Inverse cumulative distribution function of the random input variable specified - in Name at a given probability specified by VAL. + X - direction - val - Value needed for Type = PDF, CDF, or INV. For Type = PDF and Type = - CDF, this is the value of the random input variable at which the - probabilistic density or cumulative distribution function should be - evaluated. For Type = INV, VAL indicates the probability at which - you want the inverse cumulative distribution function evaluated. + Y - direction + + Z - direction Notes ----- - Evaluates statistical characteristics of a random input variable. The - result is stored in the ANSYS parameter Rpar. + Required Inputs: + + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. """ - command = "PDINQR, %s, %s, %s, %s" % (str(rpar), str(name), str(type), str(val)) + command = "RMANL,%s,%s,%s,%s" % (str(fname), str(ext), str(dimn), str(oper)) self.RunCommand(command, **kwargs) - def Slist(self, sfirst="", sl_ast="", sinc="", details="", type="", - **kwargs): + def Lcomb(self, nl1="", nl2="", keep="", **kwargs): """ - APDL Command: SLIST + APDL Command: LCOMB - Summarizes the section properties for all defined sections in the - current session. + Combines adjacent lines into one line. Parameters ---------- - sfirst - First section ID to be summarized. Defaults to first available - section in the database. - - slast - Last section ID to be summarized. Defaults to last available - section in the database. - - sinc - Increment of the section ID; defaults to 1. - - details - Determines the content of the summarized information for beams and - shells. - - BRIEF - For beams, lists only the section integrated properties (such as Area, Iyy, and - Iyz). This option is the default. + nl1 + Number of the first line to be combined. If NL1 = ALL, NL2 is + ignored and all selected lines [LSEL] are combined. If NL1 = 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 NL1 (NL2 is ignored). - FULL - For beams, lists the section integrated properties, as well as the section - nodal coordinates, section cell connectivity information, - and section cell integration point coordinates. For shells, - the section stiffness (membrane, bending, membrane-bending - coupling and transverse shear) are printed. + nl2 + Number of the second line to be combined. - The shell section stiffness listed considers elastic behavior of materials at reference temperature only. The elements that use the section data may alter the transverse shear stiffness based on slenderness considerations (in addition to the shear correction factors shown). - Section stiffness terms listed via the FULL option do not include section - offsets. The ANSYS program considers section - offsets during the solution phase of the - analysis. + keep + Specifies whether to keep the input entities: - GROUP - If a section calls other sections, this option lists those sections too. + 0 - Delete lines NL1 and NL2 and their common keypoint. Keypoints will not be + deleted if they are meshed or if they are attached to other + lines. Lines will not be deleted if they are attached to + different areas. - type - The section type. Valid arguments are ALL (the default) and the - types available on the SECTYPE command. + 1 - Keep NL1, NL2, and their common keypoint. (The common keypoint will not be + attached to the output line.) Notes ----- - By default, the command lists information concerning all sections; - however, you can limit the output to only beam or pretension sections - via the Type key. Also, by default when ocean loading is present, the - command lists the beam section properties used by ocean loading. - - Following is example output from the SLIST,,,,BRIEF command for a - rectangular beam section subtype (SECTYPE,,BEAM,RECT): + Combines adjacent lines into one line (the output line). This + operation will effectively "undo" the LDIV operation. Line divisions + are set to zero (use LESIZE, etc. to modify). Lines attached to the + same area(s) can also be combined. See also the LCCAT command for line + concatenation capability. """ - command = "SLIST, %s, %s, %s, %s, %s" % (str(sfirst), str(sl_ast), str(sinc), str(details), str(type)) + command = "LCOMB,%s,%s,%s" % (str(nl1), str(nl2), str(keep)) self.RunCommand(command, **kwargs) - def Upgeom(self, factor="", lstep="", sbstep="", fname="", ext="", - **kwargs): + def Emid(self, key="", edges="", **kwargs): """ - APDL Command: UPGEOM + APDL Command: EMID - Adds displacements from a previous analysis and updates the geometry of - the finite element model to the deformed configuration. + Adds or removes midside nodes. Parameters ---------- - factor - Multiplier for displacements being added to coordinates. The value - 1.0 will add the full value of the displacements to the geometry of - the finite element model. Defaults to 1.0. + key + Add or remove key: - lstep - Load step number of data to be imported. Defaults to the last load - step. + ADD - Add midside node to elements (default). - sbstep - Substep number of data to be imported. Defaults to the last - substep. + REMOVE - Remove midside nodes from elements. - fname - File name and directory path (248 characters maximum, including the - characters needed for the directory path). An unspecified - directory path defaults to the working directory; in this case, you - can use all 248 characters for the file name. + edges + ALL - ext - Filename extension (eight-character maximum). + ALL - Add (or remove) midside nodes to (from) all edges of all selected elements, + independent of which nodes are selected (default). - -- - Unused field. + EITHER - Add (or remove) midside nodes only to (from) element edges which have either + corner node selected. + + BOTH - Add (or remove) midside nodes only to (from) element edges which have both + corner nodes selected. Notes ----- - This command updates the geometry of the finite element model according - to the displacement results of the previous analysis and creates a - revised geometry at the deformed configuration. This command works on - all nodes (default) or on a selected set of nodes. If this command is - issued repeatedly, it creates a revised geometry of the finite element - model in a cumulative fashion, i.e., it adds displacement results on - the previously generated deformed geometry. The solid model geometry is - not updated by this command. + This command adds midside nodes to (or removes midside nodes from) the + selected elements. For this to occur, the selected elements must be + midside node capable, the active element type [TYPE] must allow midside + node capability, and the relationship between the finite element model + and the solid model (if any) must first be disassociated [MODMSH]. - When UPGEOM is issued, the current finite element model is overwritten - by finite element information from the results file. For this reason, - it is important that the finite element information in the results file - matches the finite element model in which the nodal coordinates are - being updated. No changes should be made to the model before the UPGEOM - command is issued. + By default, EMID generates a midside node wherever a zero (or missing) + midside node occurs for that element. You can control this and add (or + remove) midside nodes selectively by using the Edges argument. Nodes + are located midway between the two appropriate corner nodes based on a + linear Cartesian interpolation. Nodal coordinate system rotation angles + are also linearly interpolated. Connected elements share the same + midside node. Node numbers are generated sequentially from the maximum + node number. + + The EMID command is useful for transforming linear element types to + quadratic element types having the same corner node connectivity. + + EMID is also useful for transforming elements created outside of the + program. """ - command = "UPGEOM, %s, %s, %s, %s, %s" % (str(factor), str(lstep), str(sbstep), str(fname), str(ext)) + command = "EMID,%s,%s" % (str(key), str(edges)) self.RunCommand(command, **kwargs) - def Cycfreq(self, option="", value1="", value2="", value3="", value4="", - value5="", **kwargs): + def Shpp(self, lab="", value1="", value2="", **kwargs): """ - APDL Command: CYCFREQ + APDL Command: SHPP - Specifies solution options for a cyclic symmetry mode-superposition - harmonic analysis. + Controls element shape checking. Parameters ---------- - option - One of the following options: + lab + Shape checking option. (When Lab = WARN, STATUS, SUMMARY, or + DEFAULT, the remaining arguments are ignored.) - AERO - Specify the array containing the aerodynamic damping coefficients. + ON - Activates element shape checking. New elements, regardless of how they are + created, are tested against existing warning and error limits. + (The existing limits may be the default limits, or previously + modified limits.) Elements that violate error limits produce + error messages and either (a) cause a meshing failure, or (b) + for element creation or storage other than AMESH or VMESH, are + not stored. Elements that violate warning limits produce + warning messages. If shape checking was previously turned off + [SHPP,OFF] and you turn it on, existing elements are marked as + untested; use the CHECK command to retest them. With this + option, you may also specify a value for VALUE1 to turn + individual shape tests on. If you do not specify a value for + VALUE1, all shape tests are turned on. - Value1 - The name of the array containing the aerodynamic stiffness damping - coefficients. + WARN - Activates element shape checking; however, in contrast to SHPP,ON, elements + that violate error limits do not cause either a meshing or + element storage failure. Instead, they produce warning + messages to notify you that error limits have been violated. + This option does not alter current shape parameter limits. + Since the default shape parameter error limits are set to + allow almost any usable element, the elements this option + allows, which would otherwise be forbidden, are likely to be + very poorly shaped. - BLADE - Blade information required for a mistuning analysis. + OFF - Deactivates element shape checking. This setting does not alter current shape + parameter limits. Use of this option is risky, since poorly + shaped elements can lead to analysis results that are less + accurate than would otherwise be expected for a given mesh + density. With this option, you may also specify a value for + VALUE1 to turn individual shape tests off. If you do not + specify a value for VALUE1, all element shape tests are + turned off. - Value1 - The name of the nodal component containing the blade boundary nodes at the - blade-to-disk interface. Also include boundary nodes at - any shroud interfaces. + SILENT - Determines whether element shape checking runs in silent mode. In silent mode, + ANSYS checks elements without issuing warnings, with the + exception of the generic warnings that it issues at + solution. With this option, you must also specify a value + for VALUE1 (During the execution of certain commands, + ANSYS automatically runs element shape checking in silent + mode, then internally summarizes the shape test results + for all of the new or modified elements. ANSYS does this + when it executes any of the following commands: AGEN, + AMESH, AREFINE, ARSYM, ATRAN, CDREAD, EGEN, ENGEN, ENSYM, + EREAD, EREFINE, ESYM, ET, FVMESH, KREFINE, LREFINE, + NREFINE, TIMP, VEXT, VGEN, VIMP, VMESH, VOFFST, VROTAT, + VSWEEP, VSYMM, and VTRAN.) - Value2 - The name of the element component containing the blade elements. + STATUS - Lists the shape parameter limits currently in effect, along with status + information about element shape checking (for example, + whether any individual shape tests are off, whether any of + the shape parameter limits have been modified, and so on). - Value3 - The number of blade modes to include in the CMS reduction. + SUMMARY - Lists a summary of element shape test results for all selected elements. - Value4 - The lower bound of the frequency range of interest. This value is optional. + DEFAULT - Resets element shape parameter limits to their default values. Also, if any + individual tests were turned off, turns them back on. + (The SHPP,DEFAULT command may be useful if any parameter + limits were previously altered by using the MODIFY + option.) - Value5 - The upper bound of the frequency range of interest. This value is optional. + OBJECT - Determines whether element shape test results data is stored in memory. When + this option is turned on, an "object" is created for + storing test results in memory. When this option is + turned off, no object is created and no data is stored; + thus, any operation that requires shape parameters for an + existing element (such as use of the CHECK command) causes + the shape parameters to be recomputed. (Note the + distinction between storing the data in memory and storing + it in the database; regardless of whether this option is + turned on or off, no element shape test results data will + be stored in the database. The element shape parameter + object is deleted automatically before any solution.) + This setting is independent of shape checking status, with + one exception--if shape checking is turned off [SHPP,OFF], + the object is not created. Keep in mind that recomputing + shape parameters is more computationally expensive than + retrieving them from the object. With this option, you + must also specify a value for the VALUE1 argument; the + VALUE2 argument is ignored. - DEFAULT - Set the default cyclic harmonic solution settings. + LSTET - Determines, for Jacobian ratio tests, whether sampling is done at integration + points (DesignSpace product method), or at corner nodes. + When this option is turned on, sampling is done at + integration points, and the default limits for h-element + Jacobian ratios are a warning tolerance of 10 and an error + tolerance of 40. When this option is turned off, sampling + is done at corner nodes, and the corresponding default + limits are a warning tolerance of 30 and an error tolerance + of 1000. Sampling at the integration points (option on) + results in a lower Jacobian ratio, but that ratio is also + subjected to a more restrictive error limit. Some elements + that have passed the integration point sampling criterion, + have failed the corner mode sampling criterion. Because of + this, use integration point sampling only for simple linear + analyses. For other types of analyses (e.g., nonlinear, + electromagnetic), use sampling at corner nodes, which is + the more conservative approach. With this option, you must + also specify a value for the VALUE1 argument; the VALUE2 + argument is ignored. - EO - Excitation engine order. + MODIFY - Indicates that you want to respecify a shape parameter limit. With this + option, you must also specify values for the VALUE1 and + VALUE2 arguments. - Value1 - The value of the excitation order, which must be an integer. The loadings on - the other sectors will be related to the loading on the - basic sector based on the engine order phase shift. + FLAT - Determines the warning and error limits used to test elements that may exhibit + nonzero/nonconstant Z coordinates. With this option, you + must also specify values for the VALUE1 and/or VALUE2 + arguments. - MIST - Mistuning parameters. + value1 + Valid for the ON, OFF, SILENT, OBJECT, LSTET, MODIFY, and FLAT + options only. When Lab = ON or OFF, use VALUE1 to individually + control (that is, turn off or turn on) specific element shape + tests. Thus, VALUE1 can be ANGD (SHELL28 corner angle deviation + tests), ASPECT (aspect ratio tests), PARAL (deviation from + parallelism of opposite edges tests), MAXANG (maximum corner angle + tests), JACRAT (Jacobian ratio tests), WARP (warping factor tests), + or ALL (all tests). When Lab = SILENT, VALUE1 can be ON (to turn + silent mode on) or OFF (to turn silent mode off). When Lab = + OBJECT, VALUE1 can be either 1, YES, or ON to turn on storage of + element shape test data (the default); or it can be 0, NO, or OFF + to turn off storage of element shape test data (delete the data and + recompute as necessary). When Lab = LSTET, VALUE1 can be either 1, + YES, or ON to choose Jacobian sampling at integration points; or it + can be 0, NO, or OFF to choose Jacobian sampling at nodes (the + default). When Lab = MODIFY, VALUE1 is the numeric location (within + the shape parameter limit array) of the shape parameter limit to be + modified. Locations are identified in the element shape checking + status listing [SHPP,STATUS]. For more information, see the + examples in the Notes section. When Lab = FLAT, VALUE1 is the + warning limit for XY element constant Z sets performed at CHECK or + SOLVE. The default is 1.0e-8. - Value1 - The type of mistuning: + value2 + Valid for the MODIFY and FLAT options only. When Lab = MODIFY, + specifies the new limit for the shape parameter that is in the + location indicated by the VALUE1 argument. See the examples in the + Notes section. When Lab = FLAT, VALUE2 is the error limit. The + default is 1.0e-2. + + Notes + ----- + The following examples illustrate how to use the + SHPP,MODIFY,VALUE1,VALUE2 command to respecify shape parameter limits. + Assume that you issued the SHPP,STATUS command, and you received the + output below: + + Notice that in the sample output, the warning tolerance for aspect + ratios is set to 20. Now assume that you want to "loosen" this shape + parameter limit so that it is less restrictive. To allow elements with + aspect ratios of up to 500 without causing warning messages, you would + issue this command: + + Also notice that each shape parameter's numeric location within the + shape parameter limit array appears in the sample output within + parentheses. For example, the numeric location of the aspect ratio + shape parameter (for warning tolerance) is 1, which is why "1" is + specified for the VALUE1 argument in the example command above. + + Now notice that the sample output indicates that any triangle element + with an internal angle that is greater than 179.9 degrees will produce + an error message. Suppose that you want to "tighten" this shape + parameter limit, so that it is more restrictive. To cause any triangle + or tetrahedron with an internal angle greater than 170 degrees to + produce an error message, you would issue this command: - K - Stiffness (frequency) mistuning + The existence of badly shaped elements in a model may lead to certain + computational errors that can cause your system to abort during ANSYS + solution. Therefore, you run the risk of a system abort during solution + any time that you turn element shape checking off entirely, run shape + checking in warning-only mode, turn off individual shape checks, or + loosen shape parameter limits. - Value2 - The name of the array containing the stiffness mistuning parameters. + Changing any shape parameter limit marks all existing elements as + untested; use the CHECK command to retest them. - MODAL - Specifies if a damped modal analysis should be performed on the reduced system. + Since the shape parameter limit array was completely reorganized at + ANSYS 5.4, you should revise any input files created prior to 5.4 that + contain limit changes so that they reflect the reorganized data + structure. - Value1 - On/Off key. + For more information about element shape checking, see Meshing Your + Solid Model in the Modeling and Meshing Guide. - 0 (OFF or NO) - No modal solution. Perform the harmonic solution. + This command is also valid for rezoning. - 1 (ON or YES) - Perform a damped modal analysis of the reduced system in order to obtain the - complex frequencies. The harmonic solution is not - performed. + """ + command = "SHPP,%s,%s,%s" % (str(lab), str(value1), str(value2)) + self.RunCommand(command, **kwargs) - Value2 - Number of modes for the damped modal analysis. + def Rmcap(self, refname="", c1="", c2="", **kwargs): + """ + APDL Command: RMCAP - Value3 - The beginning, or lower end, of the frequency range of interest (in Hz). + Defines lumped capacitance pairs between conductors C1 and C2 for a ROM + method. - Value4 - The ending, or upper end, of the frequency range of interest (in Hz). + Parameters + ---------- + refname + Reference name for capacitance pair definition. - RESTART - Defines the point at which to restart the harmonic analysis. + c1 + First conductor (between 1 and 5). - Value1 - The restart point: + c2 + Second conductor (between 1 and 5). - OFF - No restart (default) + Notes + ----- + For a capacitance definition between conductor C1 and C2, node + components COND%C1% and COND%C2% (see CM command) must be present + containing the conductor nodes. If C1 and C2 are blank, the capacitance + definition with RefName will be deleted. (For example, if C1 = 1, and + C2 = 2, then node components COND1 and COND2 must be defined). - SWEEP - Restart for a new frequency sweep range (HARFRQ) + Distributed ANSYS Restriction: This command is not supported in + Distributed ANSYS. - MIST - Restart for new mistuning parameters (new mistuning arrays) + """ + command = "RMCAP,%s,%s,%s" % (str(refname), str(c1), str(c2)) + self.RunCommand(command, **kwargs) - USER - Causes the program to call for a user-defined solution. + def Etchg(self, cnv="", **kwargs): + """ + APDL Command: ETCHG - Value1-5 - Values passed down to the user-defined solution. + Changes element types to their corresponding types. - STATUS - List the harmonic solution option settings active for the cyclic model. + Parameters + ---------- + cnv + Converts the element types to the corresponding type. Valid labels + are: - Notes - ----- - The program solves a cyclically symmetric model (set up via the CYCLIC - command during preprocessing) at the harmonic indices specified via the - CYCOPT command. + ETI - Explicit to Implicit - The aerodynamic coefficients are specified in a 5×(N×r) array (*DIM), - where N is the number of blades and r can be any positive integer. Each - column has the structure: + ITE - Implicit to Explicit - where: + TTE - Thermal to Explicit - One aerodynamic damping coefficient must be specified for each IBPA - (equal to the number of blades) while keeping m and n constant. + TTS - Thermal to Structural - For constant (frequency-independent) mistuning, the stiffness - parameters are specified in an N×1 array (*DIM) where N is the number - of blades. + STT - Structural to Thermal - For stiffness mistuning, each row entry represents the deviation of - Young’s modulus from nominal, (or equivalently, the ratio of the - frequency deviation squared). Each frequency can also be independently - mistuned, in which case the array is N×M, where M is the number of - blade frequencies (Value3 of CYCFREQ,BLADE). The entries in each row - therefore correspond to the ratio of the mistuned frequency to the - tuned frequency squared minus one: + MTT - Magnetic to Thermal - The USER option activates the solution macro CYCMSUPUSERSOLVE.MAC. The - normal solution is skipped. You may implement your own mistuning - solution using APDL and APDL Math operations, or call your own program - for the solution. + FTS - Fluid to Structural - The CYCFREQ command is valid in the preprocessing and solution stages - of an analysis. + ETS - Electrostatic to Structural - The CYCFREQ,MODAL,ON command writes modal frequencies to the output - file. No other postprocessing is available for this modal solve. + ETT - Electrical to Thermal - When using CYCFREQ,RESTART, only mistuning parameters or frequency - range may be changed. All other changes in parameters are ignored. + Notes + ----- + Changes the currently defined element types to their corresponding + types. Elements without a companion element (listed above) are not + switched and should be switched with the ET command to an appropriate + element type or to a null element. The KEYOPT values for the switched + element types are reset to zero or to their default values. You must + check these values to see if they are still meaningful. Additionally, + if Cnv = ETI, ITE, or TTE, all real constants are set to zero. - To learn more about analyzing a cyclically symmetric structure, see the - Cyclic Symmetry Analysis Guide. + If Cnv = ITE, you will need to choose a material model that corresponds + to your previously-defined material properties. If working + interactively, you will be prompted to do so. """ - command = "CYCFREQ, %s, %s, %s, %s, %s, %s" % (str(option), str(value1), str(value2), str(value3), str(value4), str(value5)) + command = "ETCHG,%s" % (str(cnv)) self.RunCommand(command, **kwargs) - def Cbmd(self, row="", c_r__r_="", c_r__r_plus_1_="", c_r__r_plus_2_="", - c_r__r_plus_3_="", c_r__r_plus_4_="", c_r__r_plus_5_="", - **kwargs): + def Cycphase(self, type="", option="", **kwargs): """ - APDL Command: CBMD + APDL Command: CYCPHASE - Specifies preintegrated section mass matrix for composite-beam - sections. + Provides tools for determining minimum and maximum possible result + values from frequency couplets produced in a modal cyclic symmetry + analysis. Parameters ---------- - row - Row number of the matrix. + type + The type of operation requested: - c(r)(r), . . . , c(r)(r+5) - Upper triangle of the cross-section mass matrix [C]. + DISP - Calculate the maximum and minimum possible displacement at each node in the + original sector model. Store the values and the phase angle + at which they occurred. - Notes - ----- - With a unit beam length, the section mass matrix relates the resultant - forces and torques to accelerations and angular accelerations as - follows (applicable to the local element coordinate system): + STRESS - Calculate the maximum and minimum possible stresses at each node in the + original sector model. Store the values and the phase + angle at which they occurred. - The CBMD command, one of several composite beam section commands, - specifies the section mass matrix (submatrix [C] data) for a composite - beam section. The section data defined is associated with the section - most recently defined (SECTYPE) at the specified temperature (CBTMP). + STRAIN - Calculate the maximum and minimum possible strains at each node in the original + sector model. Store the values and the phase angle at + which they occurred. - Unspecified values default to zero. + ALL - Calculate the maximum and minimum possible displacement, stress and strain at + each node in the original sector model. Store the values and + the phase angle at which they occurred. - Related commands are CBTMP, CBTE, and CBMX. + GET - Places the value of a MAX or MIN item into the _CYCVALUE parameter, the node + for that value in the _CYCNODE parameter, and the phase angle + for the value in the _CYCPHASE parameter. - For complete information, see Using Preintegrated Composite Beam - Sections. + PUT - Put resulting sweep values for printing (via the PRNSOL command ) or plotting + (via the PLNSOL command). - """ - command = "CBMD, %s, %s, %s, %s, %s, %s, %s" % (str(row), str(c_r__r_), str(c_r__r_plus_1_), str(c_r__r_plus_2_), str(c_r__r_plus_3_), str(c_r__r_plus_4_), str(c_r__r_plus_5_)) - self.RunCommand(command, **kwargs) + LIST - List the current minimum/maximum displacement, stress and strain nodal values. - def Aux12(self, **kwargs): - """ - APDL Command: /AUX12 + STAT - Summarize the results of the last phase sweep. - Enters the radiation processor. + CLEAR - Clear phase-sweep information from the database. + + option + If TYPE = DISP, STRAIN, STRESS or ALL, controls the sweep angle + increment to use in the search: + + Angle - The sweep angle increment in degrees, greater than 0.1 and less than 10. The + default is 1. Notes ----- - Enters the radiation processor (ANSYS auxiliary processor AUX12). This - processor supports the Radiation Matrix and the Radiosity Solver - methods. + When you expand the results of a modal cyclic symmetry analysis (via + the /CYCEXPAND or EXPAND command), ANSYS combines the real and + imaginary results for a given nodal diameter, assuming no phase shift + between them; however, the modal response can occur at any phase shift. - This command is valid only at the Begin Level. + CYCPHASE response results are valid only for the first cyclic sector. + To obtain the response at any part of the expanded model, ANSYS, Inc. + recommends using cyclic symmetry results expansion at the phase angle + obtained via CYCPHASE. - """ - command = "/AUX12, " % () - self.RunCommand(command, **kwargs) + The phase angles returned by CYCPHASE contain the minimum and maximum + values for USUM, SEQV and other scalar principal stress and strain + quantities; however, they do not always return the true minimum and + maximum values for directional quantities like UX or SX unless the + values fall in the first sector. - def Lptn(self, nl1="", nl2="", nl3="", nl4="", nl5="", nl6="", nl7="", - nl8="", nl9="", **kwargs): - """ - APDL Command: LPTN + CYCPHASE does not consider midside node values when evaluating maximum + and minimum values, which may affect DISPLAY quantities but no others. + (Typically, ANSYS ignores midside node stresses and strains during + postprocessing.) - Partitions lines. + Issuing CYCPHASE,PUT clears the result values for midside nodes on high + order elements; therefore, this option sets element faceting (/EFACET) + to 1. The command reports that midside nodal values are set to zero and + indicates that element faceting is set to 1. - Parameters - ---------- - nl1, nl2, nl3, . . . , nl9 - Numbers of lines to be operated on. If NL1 = ALL, NL2 to NL9 are - ignored all selected lines are used. If NL1 = P, graphical picking - is enabled and all remaining command fields are ignored (valid only - in the GUI). A component name may be substituted for NL1. + If the sweep values are available after issuing a CYCPHASE,PUT command, + the PRNSOL or PLNSOL command will print or plot (respectively) the + sweep values of structure displacement Ux, Uy, Uz, component + stress/strain X, Y, Z, XY, YZ, ZX, principal stress/strain 1, 2, 3 and + equivalent stress/strain EQV. The vector sum of displacement (USUM) + and stress/strain intensity (SINT) are not valid phase-sweep results. - Notes - ----- - Partitions lines. Generates new lines which encompass the geometry of - all the input lines. The new lines are defined by both the regions of - intersection of the input lines and the complementary (non- - intersecting) regions. See the Modeling and Meshing Guide for an - illustration. See the BOPTN command for an explanation of the options - available to Boolean operations. Element attributes and solid model - boundary conditions assigned to the original entities will not be - transferred to the new entities generated. + You can specify any coordinate system via the RSYS command for + displaying or printing CYCPHASE results. However, after CYCPHASE + results have been extracted, you cannot then transform them via the + RSYS command. If you try to do so, ANSYS issues a warning message. + + The CYCPHASE command is valid in /POST1 and for cyclically symmetric + models only. + + To learn more about analyzing a cyclically symmetric structure, see the + Cyclic Symmetry Analysis Guide. """ - command = "LPTN, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(nl1), str(nl2), str(nl3), str(nl4), str(nl5), str(nl6), str(nl7), str(nl8), str(nl9)) + command = "CYCPHASE,%s,%s" % (str(type), str(option)) self.RunCommand(command, **kwargs) def Starvget(self, parr="", entity="", entnum="", item1="", it1num="", @@ -76509,431 +76325,652 @@ def Starvget(self, parr="", entity="", entnum="", item1="", it1num="", This command is valid in any processor. """ - command = "*VGET, %s, %s, %s, %s, %s, %s, %s, %s" % (str(parr), str(entity), str(entnum), str(item1), str(it1num), str(item2), str(it2num), str(kloop)) + command = "*VGET,%s,%s,%s,%s,%s,%s,%s,%s" % (str(parr), str(entity), str(entnum), str(item1), str(it1num), str(item2), str(it2num), str(kloop)) self.RunCommand(command, **kwargs) - def Ancyc(self, numframes="", kcycl="", delay="", **kwargs): + def Prism(self, z1="", z2="", **kwargs): """ - APDL Command: ANCYC + APDL Command: PRISM - Applies a traveling wave animation to graphics data in a modal cyclic - symmetry analysis. + Creates a prism volume based on working plane coordinate pairs. Parameters ---------- - numframes - The number of plot frames for the animation. Valid values range - from 5 through 36. The default is 18. A low value (because it - specifies fewer graphical frames) produces a rougher animation but - loads faster. A high value produces a smoother animation but - requires more time to load. + z1, z2 + Working plane Z coordinates of the top and bottom of the prism. - kcycl - The animation mode: + Notes + ----- + Defines a prism volume based on the working plane. The top and bottom + areas will each be defined with NPT keypoints and NPT lines, where NPT + (must be at least 3) is the number of coordinate pairs defined with + PTXY command. Also, a line will be defined between each point pair on + the top and bottom face. See the RPRISM and RPR4 commands for other + ways to create prisms. - 0 - Continuous animation cycle (forward-reverse-forward). + """ + command = "PRISM,%s,%s" % (str(z1), str(z2)) + self.RunCommand(command, **kwargs) - 1 - Discontinuous animation cycle (forward-reset-forward). This option is the - default. + def Anflow(self, nfram="", delay="", ncycl="", time="", spacing="", + size="", length="", **kwargs): + """ + APDL Command: ANFLOW + + Produces an animated sequence of particle flow in a flowing fluid or a + charged particle traveling in an electric or magnetic field. + + Parameters + ---------- + nfram + Number of frames captured (defaults to 5). delay - The time delay (in seconds) between animation frames. Valid values - range from 0.1 through 1.0. The default is 0.1 seconds, which - produces a seemingly real-time animation. A higher value produces a - slower animation. + Time delay during animation (defaults to 0.1 seconds). + + ncycl + Number of animation cycles (defaults to 5). Non-UI mode only. + + time + Total Trace Time (seconds) (defaults to 0, which is the full flow + trace). + + spacing + Particle spacing in seconds (defaults to 0). + + size + Particle size (defaults to 0, which is a line). + + length + Particle length fraction (defaults to .1). Notes ----- - The ANCYC command is valid in a modal cyclic symmetry analysis only. + ANFLOW invokes an ANSYS macro which produces an animation of particle + flow in a flowing fluid or charged particle motion in an electric or + magnetic field by the last plot action command (i.e., PLTRAC). This + command is only operational on graphic display platforms supporting the + /SEG command. After executing ANFLOW, you can replay the animated + sequence by issuing the ANIM command. This command is functional only + in the Postprocessor. - The command animates the cyclic symmetry mode shape plot in the General - Post Processor (/POST1). When you issue a nodal- or element-results - plot command (for example, PLNSOL, PLESOL, or PLDISP) and then issue - the ANCYC command, ANSYS applies a traveling wave animation to the mode - shape plot. + The TIME option lets you set the time interval of forward travel for + the trace. The SPACING option is used to define the particle spacing + in seconds from adjacent particles in the stream line. The SIZE + variable sets the radius of the particle. The LENGTH variable is used + to define the particle length fraction. By default, the LENGTH is set + to .1, which means the particle occupies 10% of the flow region and the + other 90% is a color-code line. The SPACING and LENGTH variables only + make sense when the SIZE variable is nonzero (i.e., the particle is + bigger than the line). - Each frame of the animation is created by expanding the cyclic symmetry - mode shape at increasing phase angles (via the /CYCEXPAND command) - starting at zero in equal increments over 360°. The phase-angle - increment is 360 / NUMFRAMES. + """ + command = "ANFLOW,%s,%s,%s,%s,%s,%s,%s" % (str(nfram), str(delay), str(ncycl), str(time), str(spacing), str(size), str(length)) + self.RunCommand(command, **kwargs) + + def Help(self, name="", **kwargs): + """ + APDL Command: HELP + + Displays help information on ANSYS commands and element types. + + Parameters + ---------- + name + Command name or element type. Examples are: HELP,MP or + HELP,SOLID185 (or HELP,185). For a list of elements of a + particular type, enter HELP,BEAM, HELP,SOLID, HELP,HYPER, etc. + + Notes + ----- + If Name uniquely matches a command or element name, the description for + that command or element will be displayed in the Help Window. For + command help, you must type the complete command name (including the * + or /). The help system cannot find partial matches. If * is used at + the beginning of the string, it will be interpreted as an ANSYS * + command. + + For help on topics that are not ANSYS commands or element types (for + example, help for the word "material"), use the index or full text + search features of the ANSYS online help system. + + The HELP command is valid only in GUI mode. To obtain help when not in + GUI mode, you can either activate the GUI by typing /MENU,ON, or you + can activate the help system directly by issuing /UI,HELP. + + This command is valid in any processor. + + """ + command = "HELP,%s" % (str(name)) + self.RunCommand(command, **kwargs) + + def Volumes(self, **kwargs): + """ + APDL Command: VOLUMES + + Specifies "Volumes" as the subsequent status topic. + + Notes + ----- + This is a status [STAT] topic command. Status topic commands are + generated by the GUI and appear in the log file (Jobname.LOG) if status + is requested for some items by choosing Utility Menu> List> Status. + This command will be immediately followed by a STAT command, which will + report the status for the specified topic. + + If entered directly into the program, the STAT command should + immediately follow this command. + + """ + command = "VOLUMES," % () + self.RunCommand(command, **kwargs) + + def Slashline(self, x1="", y1="", x2="", y2="", **kwargs): + """ + APDL Command: /LINE + + Creates annotation lines (GUI). + + Parameters + ---------- + x1 + Line X starting location (-1.0 < X < 2.0). + + y1 + Line Y starting location (-1.0 < Y < 1.0). + + x2 + Line X ending location (-1.0 < X < 2.0). + + y2 + Line Y ending location (-1.0 < Y < 1.0). + + Notes + ----- + Defines annotation lines to be written directly onto the display at a + specified location. This is a command generated by the Graphical User + Interface (GUI) and will appear in the log file (Jobname.LOG) if + annotation is used. This command is not intended to be typed in + directly in an ANSYS session (although it can be included in an input + file for batch input or for use with the /INPUT command). + + All lines are shown on subsequent displays unless the annotation is + turned off or deleted. Use the /LSPEC command to set the attributes of + the line. + + This command is valid in any processor. + + """ + command = "/LINE,%s,%s,%s,%s" % (str(x1), str(y1), str(x2), str(y2)) + self.RunCommand(command, **kwargs) + + def Asub(self, na1="", p1="", p2="", p3="", p4="", **kwargs): + """ + APDL Command: ASUB + + Generates an area using the shape of an existing area. + + Parameters + ---------- + na1 + Existing area number whose shape is to be used. If P1 = P, + graphical picking is enabled and all remaining arguments are + ignored (valid only in the GUI). + + p1 + Keypoint defining starting corner of area. + + p2 + Keypoint defining second corner of area. + + p3 + Keypoint defining third corner of area. + + p4 + Keypoint defining fourth corner of area (defaults to P3). + + Notes + ----- + The new area will overlay the old area. Often used when the area to be + subdivided consists of a complex shape that was not generated in a + single coordinate system. Keypoints and any corresponding lines must + lie on the existing area. Missing lines are generated to lie on the + given area. The active coordinate system is ignored. + + """ + command = "ASUB,%s,%s,%s,%s,%s" % (str(na1), str(p1), str(p2), str(p3), str(p4)) + self.RunCommand(command, **kwargs) + + def Slashgo(self, **kwargs): + """ + APDL Command: /GO + + Reactivates suppressed printout. + + Notes + ----- + Reactivates printout suppressed with the /NOPR command without + producing any output. The /GOPR command has the same function except + that it also produces a command response from the program. + + This command is valid in any processor. + + """ + command = "/GO," % () + self.RunCommand(command, **kwargs) + + def Directory(self, strarray="", filename="", ext="", dir="", **kwargs): + """ + APDL Command: /DIRECTORY + + Put the file names in the current directory into a string parameter + array. + + Parameters + ---------- + strarray + Name of the "string array" parameter which will hold the returned + values. String array parameters are similar to character arrays, + but each array element can be as long as 128 characters. If the + string parameter does not exist, it will be created. The array will + be created as: *DIM,StrArray,STRING,64,2,numFileName + + filename + File name (64 characters maximum). Only files matching this name + will be returned. The FileName ALL may match any file name. + + ext + File name extension (8 characters maximum). Only files with an + extension matching this name will be returned. A blank or ALL will + match any extension. - The animation display shows the traveling wave of the result quantity - being plotted. The traveling wave animation is applicable only to nodal - diameters (harmonic indices) greater than 0 and less than N / 2 (where - N is the number of cyclic sectors in the model). + directory + The directory in which the files reside. The default is the current + working directory. - For more information, see Applying a Traveling Wave Animation to the - Cyclic Model in the Cyclic Symmetry Analysis Guide. + Notes + ----- + The /DIRECTORY command gets the file names in the current directory and + puts them into a string parameter array. Each file will be included in + the array as a name-extension pair. """ - command = "ANCYC, %s, %s, %s" % (str(numframes), str(kcycl), str(delay)) + command = "/DIRECTORY,%s,%s,%s,%s" % (str(strarray), str(filename), str(ext), str(dir)) self.RunCommand(command, **kwargs) - def Gplot(self, **kwargs): + def Sflist(self, node="", lab="", **kwargs): """ - APDL Command: GPLOT + APDL Command: SFLIST - Controls general plotting. + Lists surface loads. + + Parameters + ---------- + node + Node at which surface load is to be listed. If ALL (or blank), + list for 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 be substituted for NODE. + + lab + Valid surface load label. If ALL (or blank), use all appropriate + labels. Notes ----- - This command displays all entity types as specified via the /GTYPE - command. Only selected entities (NSEL, ESEL, KSEL, LSEL, ASEL, VSEL) - will be displayed. See the descriptions of the /GTYPE and /GCMD - commands for methods of setting the entity types displayed. + Lists the surface loads as applied with the SF command. Loads are + listed only for the specified nodes on external faces of selected area + and volume elements. Use SFELIST for line elements. The surface loads + listed correspond to the current database values. The database is not + updated for surface loads in POST1. Surface loads specified in tabular + form, however, do list their values corresponding to the current + results set in POST1. + + For SURF151 or SURF152 elements with an extra node for radiation and/or + convection calculations (KEYOPT(5) = 1), the bulk temperature listed is + the temperature of the extra node. If the thermal solution does not + converge, the extra node temperature is not available for listing. This command is valid in any processor. """ - command = "GPLOT, " % () + command = "SFLIST,%s,%s" % (str(node), str(lab)) self.RunCommand(command, **kwargs) - def Secmodif(self, secid="", kywrd="", **kwargs): + def Pmlopt(self, esys="", lab="", xminus="", xplus="", yminus="", yplus="", + zminus="", zplus="", **kwargs): """ - APDL Command: SECMODIF + APDL Command: PMLOPT - Modifies a pretension section + Defines perfectly matched layers (PMLs) for acoustic and structural + analyses. Parameters ---------- - secid - Unique section number. This number must already be assigned to a - section. + esys + Element coordinate system number. ESYS may be 0 (global Cartesian) + or any previously defined local Cartesian coordinate system number + (>10). Defaults to 0. - norm - Keyword specifying that the command will modify the pretension - section normal direction. + lab + Label defining the number of dimensions: - nx, ny, nz - Specifies the individual normal components to modify. + ONE - A one-dimensional PML region. - kcn - Coordinate system number. This can be either 0 (Global Cartesian), - 1 (Global Cylindrical) 2 (Global Spherical), 4 (Working Plane), 5 - (Global Y Axis Cylindrical) or an arbitrary reference number - assigned to a coordinate system. + THREE - A three-dimensional PML region (default). - Notes - ----- - The SECMODIF command either modifies the normal for a specified - pretension section, or changes the name of the specified pretension - surface. + xminus + For harmonic analysis, normal reflection coefficient in negative X + direction of ESYS. Defaults to 1.E−3 (equivalent to -60 dB) for a + harmonic analysis and 30 for a static structural analysis. - """ - command = "SECMODIF, %s, %s" % (str(secid), str(kywrd)) - self.RunCommand(command, **kwargs) + xplus + For harmonic analysis, normal reflection coefficient in positive X + direction of ESYS. Defaults to 1.E−3 (equivalent to -60 dB) for a + harmonic analysis and 30 for a static structural analysis. - def Display(self, **kwargs): - """ - APDL Command: DISPLAY + yminus + For harmonic analysis, normal reflection coefficient in negative Y + direction of ESYS. Defaults to 1.E−3 (equivalent to -60 dB) for a + harmonic analysis and 30 for a static structural analysis. - Specifies "Display settings" as the subsequent status topic. + yplus + For harmonic analysis, normal reflection coefficient in positive Y + direction of ESYS. Defaults to 1.E−3 (equivalent to -60 dB) for a + harmonic analysis and 30 for a static structural analysis. + + zminus + For harmonic analysis, normal reflection coefficient in negative Z + direction of ESYS. Defaults to 1.E−3 (equivalent to -60 dB) for a + harmonic analysis and 30 for a static structural analysis. + + zplus + For harmonic analysis, normal reflection coefficient in positive Z + direction of ESYS. Defaults to 1.E−3 (equivalent to -60 dB) for a + harmonic analysis and 30 for a static structural analysis. Notes ----- - This is a status [STAT] topic command. Status topic commands are - generated by the GUI and will appear in the log file (Jobname.LOG) if - status is requested for some items under Utility Menu> List> Status. - This command will be immediately followed by a STAT command, which will - report the status for the specified topic. + PMLOPT defines perfectly matched layers (PML) for acoustic or + structural analyses. Each PML region must have a uniquely defined + element coordinate system. Normal reflection coefficient values for a + harmonic analysis must be less than 1. - If entered directly into the program, the STAT command should - immediately follow this command. + Issue PMLOPT,STAT to list the current normal reflection coefficient or + attenuation factor settings for a PML region. Issue PMLOPT,CLEAR to + clear all normal reflection coefficient settings and restore them to + the defaults. Issue PMLOPT,ESYS,CLEAR to clear all normal reflection + coefficient settings for this element coordinate system and restore + them to the defaults. """ - command = "DISPLAY, " % () + command = "PMLOPT,%s,%s,%s,%s,%s,%s,%s,%s" % (str(esys), str(lab), str(xminus), str(xplus), str(yminus), str(yplus), str(zminus), str(zplus)) self.RunCommand(command, **kwargs) - def Spfreq(self, tblno="", freq1="", freq2="", freq3="", freq4="", - freq5="", freq6="", freq7="", **kwargs): + def Modify(self, set="", lstep="", iter="", cumit="", time="", ktitle="", + **kwargs): """ - APDL Command: SPFREQ + APDL Command: MODIFY - Defines the frequency points for the input spectrum tables SPVAL vs. - SPFREQ for multi-point spectrum analysis. + Changes the listed values of the data in a set. Parameters ---------- - tblno - Input table number. Up to 200 tables may be defined. + set + Set of data in results file to be modified. - freq1, freq2, freq3,..., freq7 - Frequency points (Hz) for spectrum vs. frequency tables. FREQ1 - should be greater than zero, and values must be in ascending order. + lstep + The new load step number. - Notes - ----- - The spectrum values are input with the SPVAL command. A separate SPFREQ - command must be used for each table defined. Frequencies must be in - ascending order. + iter + The new load substep number. - Repeat SPFREQ command for additional frequency points. Values are added - after the last nonzero frequency. + cumit + The new cumulative iteration. - If all fields after SPFREQ are blank, all input vs. frequency tables - are erased. If TBLNO is the only non-blank field, all corresponding - SPVAL curves are erased. + time + The new time/frequency value. - Use the SPTOPT and STAT commands to list current frequency points. + ktitle + Indicates if the set title should be modified. - This command is also valid in PREP7. + 0 - Keep the original title. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + 1 - Change the title to the title specified with the most current /TITLE command. + + Notes + ----- + Use this command to change the listed values in a data set in a results + file. Using this command does not change any actual model data; it + affects only the values listed in the results file. + + For example, if you start with the following results file: + + and you then issue the following commands: + + The modified results file would look like this: """ - command = "SPFREQ, %s, %s, %s, %s, %s, %s, %s, %s" % (str(tblno), str(freq1), str(freq2), str(freq3), str(freq4), str(freq5), str(freq6), str(freq7)) + command = "MODIFY,%s,%s,%s,%s,%s,%s" % (str(set), str(lstep), str(iter), str(cumit), str(time), str(ktitle)) self.RunCommand(command, **kwargs) - def Edvel(self, option="", cname="", vx="", vy="", vz="", omegax="", - omegay="", omegaz="", xc="", yc="", zc="", angx="", angy="", - angz="", **kwargs): + def Ctype(self, key="", dotd="", dots="", dshp="", tlen="", **kwargs): """ - APDL Command: EDVEL + APDL Command: /CTYPE - Applies initial velocities to nodes or node components in an explicit - dynamic analysis. + Specifies the type of contour display. Parameters ---------- - option - Label identifying the option to be performed. + key + Type of display: - VGEN - Define initial velocities based on translational velocities (relative to global - Cartesian) and the rotational velocity about an arbitrary - axis. For this option, use the fields VX, VY, VZ to specify - the translational velocities, and use OMEGAX, XC, YC, ZC, - ANGX, ANGY, ANGZ to specify the rotational velocity and the - axis of rotation. + 0 - Standard contour display. - VELO - Define initial velocity based on translational velocities and nodal rotational - velocities input relative to the global Cartesian axes. For - this option, use the following fields to define the initial - velocity: VX, VY, VZ, OMEGAX, OMEGAY, OMEGAZ. + 1 - Isosurface display. - LIST - List initial velocity for the component or node specified by Cname. If Cname is - blank, all initial velocities defined on nodes and node - components are listed. Remaining fields are ignored for this - option. + 2 - Particle gradient display. - DELE - Delete initial velocity defined for the component or node specified by Cname. - If Cname is blank, all initial velocities defined on nodes - and node components are deleted. Remaining fields are - ignored for this option. + 3 - Gradient triad display. - cname - Name of existing component [CM] or node number to which the initial - velocity is to be applied. If a component is used, it must consist - of nodes. + dotd + Maximum dot density for particle gradient display (KEY = 2). + Density is expressed as dots per screen width (defaults to 30). - vx - Initial velocity in X direction. Defaults to 0. + dots + Dot size for particle gradient display (KEY = 2). Size is + expressed as a fraction of the screen width (defaults to 0.0 + (single dot width)). - vy - Initial velocity in Y direction. Defaults to 0. + dshp + Spherical dot shape precision for particle gradient display (KEY = + 2). (3-D options are supported only on 3-D devices): - vz - Initial velocity in Z direction. Defaults to 0. + 0 - Flat 2-D circular dot. - omegax - For Option = VGEN, OMEGAX is the initial rotational velocity of the - component (or node) about the specified rotational axis. For Option - = VELO, OMEGAX is the initial nodal rotational velocity about the - X-axis. OMEGAX defaults to 0. + 1 - Flat-sided 3-D polyhedron. - omegay - Initial nodal rotational velocity about the Y-axis (used only if - Option = VELO). Defaults to 0. + n - 3-D sphere with n (>1) polygon divisions per 90° of radius. - omegaz - Initial nodal rotational velocity about the Z-axis (used only if - Option = VELO). Defaults to 0. + tlen + Maximum length of triads for gradient triad display (KEY = 3). + Value is expressed as a fraction of the screen width (defaults to + 0.067). Notes ----- - You cannot mix the two methods of initial velocity input (Option = VELO - and Option = VGEN) in the same analysis. You must use only one method - for all initial velocity definitions. - - The VGEN and VELO methods differ in how the rotational velocity is - defined. Use Option = VGEN to input the initial velocities of a - rotating component. Use Option = VELO to apply the rotations directly - to the nodes' rotation degrees of freedom. Since only shell and beam - elements have rotation degrees of freedom, the rotations input with - Option = VELO are only applicable to SHELL163 and BEAM161 elements. The - rotational velocities input with Option = VELO are ignored for nodes - not having rotational degrees of freedom (such as nodes attached to a - SOLID164 or SOLID168 element). - - It is normally acceptable to mix nodes belonging to deformable bodies - and rigid bodies in the nodal component used in an initial velocity - definition. However, when defining initial velocities in an implicit- - to-explicit sequential solution, this is not an acceptable practice. In - order for the initial velocities to be defined correctly in this type - of analysis, you must define the initial velocities on the deformable - body nodes separately from the initial velocities on the rigid body - nodes. + Use /CTYPE,STAT to display the current settings. Only the standard + contour display [/CTYPE,0) and the isosurface contour display + [/CTYPE,1] are supported by PowerGraphics [/GRAPHICS,POWER]. - Issuing the EDVEL command again for the same component or node (Cname) - will overwrite previous initial velocities defined for that component - or node. + This command is valid in any processor. - To set the initial velocities to zero, issue the EDVEL command with - only the Option (use VELO or VGEN) and Cname fields specified. + """ + command = "/CTYPE,%s,%s,%s,%s,%s" % (str(key), str(dotd), str(dots), str(dshp), str(tlen)) + self.RunCommand(command, **kwargs) - In a small restart analysis (EDSTART,2), you can only use the Option = - VELO method to change initial velocities. When used in a small restart, - the command EDVEL,VELO changes the velocity of the specified nodes. If - you don't change the velocity of the nodes, their velocity at the - beginning of the restart will be the same as the velocity at the end of - the previous analysis. + def Bste(self, alpha="", **kwargs): + """ + APDL Command: BSTE - Except for the LIST option, the EDVEL command is not supported in a - full restart analysis (EDSTART,3). You can list initial velocities - defined in the previous analysis with the command EDVEL,LIST. However, - you cannot change initial velocities for nodes or node components that - existed in the previous analysis; their velocity at the beginning of - the analysis will be the same as the velocity at the end of the - previous analysis. In addition, you cannot define initial velocities - for any nodes that are added in the full restart; the velocity of new - nodes will be zero. + Specifies a thermal expansion coefficient for a nonlinear general beam + section. - To apply initial velocities to parts or part assemblies, use the EDPVEL - command. + Parameters + ---------- + alpha + Coefficient of thermal expansion for the cross section. - You can use EDPVEL and EDVEL in the same analysis. If a node or node - component input on the EDVEL command shares common nodes with a part or - part assembly input on the EDPVEL command, the initial velocities - defined on the common nodes will be determined by the last command - input. + Notes + ----- + The BSTE command, one of several nonlinear general beam section + commands, specifies a thermal expansion coefficient for a beam section. + The value specified is associated with the section most recently + defined (via the SECTYPE command). - This command is also valid in PREP7. + Related commands are BSAX, BSM1, BSM2, BSTQ, BSS1, BSS2, and BSMD. - Distributed ANSYS Restriction: This command is not supported in - Distributed ANSYS. + For complete information, see Using Nonlinear General Beam Sections. """ - command = "EDVEL, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(cname), str(vx), str(vy), str(vz), str(omegax), str(omegay), str(omegaz), str(xc), str(yc), str(zc), str(angx), str(angy), str(angz)) + command = "BSTE,%s" % (str(alpha)) self.RunCommand(command, **kwargs) - def Eddrelax(self, option="", nrcyck="", drtol="", dffctr="", drterm="", - tssfdr="", irelal="", edttl="", **kwargs): + def Arefine(self, na1="", na2="", ninc="", level="", depth="", post="", + retain="", **kwargs): """ - APDL Command: EDDRELAX + APDL Command: AREFINE - Activates initialization to a prescribed geometry or dynamic relaxation - for the explicit analysis. + Refines the mesh around specified areas. Parameters ---------- - option - Specifies when dynamic relaxation is activated. + na1, na2, ninc + Areas (NA1 to NA2 in increments of NINC) around which the mesh is + to be refined. NA2 defaults to NA1, and NINC defaults to 1. If + NA1 = ALL, NA2 and NINC are ignored and all selected areas are used + for refinement. If NA1 = 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 NA1 (NA2 and NINC are + ignored). - ANSYS - Stresses are initialized in ANSYS LS-DYNA to a prescribed geometry for small - strains, according to the solution of an ANSYS (implicit) - run. The explicit solution is based on the implicit X,Y,Z - displacements and rotations contained in the drelax file - (created with the REXPORT command). + level + Amount of refinement to be done. Specify the value of LEVEL as an + integer from 1 to 5, where a value of 1 provides minimal + refinement, and a value of 5 provides maximum refinement (defaults + to 1). - DYNA - Dynamic relaxation is on. When you use this option, you can specify some or all - of the parameters NRCYCK, DRTOL, DFFCTR, DRTERM, TSSFDR, - IRELAL, and EDTTL. Any parameters that you do not specify - are set to their default values. + depth + Depth of mesh refinement in terms of the number of elements outward + from the indicated areas (defaults to 1). - OFF - Turn off initialization to a prescribed geometry (Option = ANSYS) or dynamic - relaxation (Option = DYNA). + post + Type of postprocessing to be done after element splitting, in order + to improve element quality: - nrcyck - Number of iterations between convergence checks for dynamic - relaxation option. Default = 250. + OFF - No postprocessing will be done. - drtol - Convergence tolerance for dynamic relaxation option. Default = - 0.001. + SMOOTH - Smoothing will be done. Node locations may change. - dffctr - Dynamic relaxation factor. Default = 0.995. + CLEAN - Smoothing and cleanup will be done. Existing elements may be deleted, and node + locations may change (default). - drterm - Optional termination time for dynamic relaxation. Termination - occurs at this time, or when convergence is attained, whichever - comes first. Default = infinity. + retain + Flag indicating whether quadrilateral elements must be retained in + the refinement of an all-quadrilateral mesh. (The ANSYS program + ignores the RETAIN argument when you are refining anything other + than a quadrilateral mesh.) - tssfdr - Scale factor for computed time step during dynamic relaxation. If - zero, the value is set to TSSFAC (defined on the EDCTS command). - After converging, the scale factor is reset to TSSFAC. + ON - The final mesh will be composed entirely of quadrilateral elements, regardless + of the element quality (default). - irelal - Automatic control for dynamic relaxation option based on algorithm - of Papadrakakis. + OFF - The final mesh may include some triangular elements in order to maintain + element quality and provide transitioning. - 0 - Not active (default). + Notes + ----- + AREFINE performs local mesh refinement around the specified areas. By + default, the indicated elements are split to create new elements with + 1/2 the edge length of the original elements (LEVEL = 1). - 1 - Active. + AREFINE refines all area elements and tetrahedral volume elements that + are adjacent to the specified areas. Any volume elements that are + adjacent to the specified areas, but are not tetrahedra (for example, + hexahedra, wedges, and pyramids), are not refined. - edttl - Convergence tolerance on automatic control of dynamic relaxation - (default = 0.04). + You cannot use mesh refinement on a solid model that contains initial + conditions at nodes [IC], coupled nodes [CP family of commands], + constraint equations [CE family of commands], or boundary conditions or + loads applied directly to any of its nodes or elements. This applies + to nodes and elements anywhere in the model, not just in the region + where you want to request mesh refinement. See Revising Your Model in + the Modeling and Meshing Guide for additional restrictions on mesh + refinement. - Notes - ----- - Use Option = ANSYS when running an implicit-to-explicit sequential - solution to initialize the structure to a static solution performed - earlier by the ANSYS implicit solver. Use Option = DYNA to perform - dynamic relaxation within the LS-DYNA program. Use Option = OFF to turn - off previously specified stress initialization or dynamic relaxation. - You must specify the Option you want; there is no default. + This command is also valid for rezoning. - In LS-DYNA, the dynamic relaxation is performed before the regular - transient analysis. The convergence process of the dynamic relaxation - is not written to the ANSYS history file. The ANSYS results files only - include the converged result of the dynamic relaxation, which is the - result at time zero in the Jobname.HIS and Jobname.RST files. + """ + command = "AREFINE,%s,%s,%s,%s,%s,%s,%s" % (str(na1), str(na2), str(ninc), str(level), str(depth), str(post), str(retain)) + self.RunCommand(command, **kwargs) - You can restart a dynamic relaxation analysis (EDSTART,2 or EDSTART,3) - from a previous transient analysis or a previous dynamic relaxation - analysis. In the restart, you can change or set the convergence - criteria with the EDDRELAX command. Only the load curves that are - flagged for dynamic relaxation (PHASE = 1 or 2 on EDLOAD) are applied - after restarting. If you restart the explicit portion of an implicit- - to-explicit sequential solution, you do not need to reissue the REXPORT - command because displacement information contained in the drelax file - is already included in the LS-DYNA restart file. If the dynamic - relaxation is activated from a regular transient analysis, LS-DYNA - continues the output of data to ANSYS results files. This is unlike the - dynamic relaxation phase at the beginning of the calculation for which - only the converged solution is written. + def Wmid(self, key="", **kwargs): + """ + APDL Command: WMID + + Specifies reordering options for the WAVES command. + + Parameters + ---------- + key + Determines whether midside nodes are considered when reordering. + + NO - Do not consider midside nodes when reordering (default). + YES - Consider midside nodes when reordering. This option is useful for models where + line elements are only attached to midside nodes of solid + elements. + + Notes + ----- Distributed ANSYS Restriction: This command is not supported in Distributed ANSYS. """ - command = "EDDRELAX, %s, %s, %s, %s, %s, %s, %s, %s" % (str(option), str(nrcyck), str(drtol), str(dffctr), str(drterm), str(tssfdr), str(irelal), str(edttl)) + command = "WMID,%s" % (str(key)) self.RunCommand(command, **kwargs) - def Dllist(self, line="", **kwargs): + def Aoffst(self, narea="", dist="", kinc="", **kwargs): """ - APDL Command: DLLIST + APDL Command: AOFFST - Lists DOF constraints on a line. + Generates an area, offset from a given area. Parameters ---------- - line - List constraints for this line. If ALL (default), list for all - selected lines [LSEL]. If LINE = 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 LINE. + narea + Area from which generated area is to be offset. If NAREA = ALL, + offset from all selected areas [ASEL]. If NAREA = P, graphical + picking is enabled and all remaining arguments are ignored (valid + only in the GUI). + + dist + Distance normal to given area at which keypoints for generated area + are to be located. Positive normal is determined from the right- + hand-rule keypoint order. + + kinc + Keypoint increment between areas. If zero, the lowest available + keypoint numbers are assigned [NUMSTR]. Notes ----- - Lists the degree of freedom constraints on a line previously specified - with the DL command. - - This command is valid in any processor. + Generates an area (and its corresponding keypoints and lines) offset + from a given area. The direction of the offset varies with the given + area normal. End slopes of the generated lines remain the same as + those of the given pattern. Area and line numbers are automatically + assigned, beginning with the lowest available values [NUMSTR]. """ - command = "DLLIST, %s" % (str(line)) + command = "AOFFST,%s,%s,%s" % (str(narea), str(dist), str(kinc)) self.RunCommand(command, **kwargs) diff --git a/pyansys/ansysbase.py b/pyansys/ansysbase.py index 651d0cae40..47f3ec9919 100644 --- a/pyansys/ansysbase.py +++ b/pyansys/ansysbase.py @@ -40,14 +40,19 @@ b'AUX3:', b'AUX12:', b'AUX15:', + # continue b'YES,NO OR CONTINUOUS\)\=', b'executed\?', + # errors b'SHOULD INPUT PROCESSING BE SUSPENDED\?', + # prompts + b'ENTER FORMAT for', ] continue_idx = ready_items.index(b'YES,NO OR CONTINUOUS\)\=') warning_idx = ready_items.index(b'executed\?') error_idx = ready_items.index(b'SHOULD INPUT PROCESSING BE SUSPENDED\?') +prompt_idx = ready_items.index(b'ENTER FORMAT for') nitems = len(ready_items) expect_list = [] @@ -55,7 +60,12 @@ expect_list.append(re.compile(item)) # idenfity ignored commands -ignored = re.compile('\s+'.join(['This', 'command', 'will', 'be', 'ignored'])) +# ignored = re.compile('\s+'.join(['WARNING', 'command', 'ignored'])) +ignored = re.compile('[\s\S]+'.join(['WARNING', 'command', 'ignored'])) +# re.DOTALL = True +# ignored = re.compile('(?:.|\n)+'.join(['WARNING', 'ignored'])) +# ignored = re.compile('[\s\S]+'.join(['WARNING', 'ignored'])) +# print(ignored.search(response)) def SetupLogger(loglevel='INFO'): @@ -177,6 +187,7 @@ class ANSYS(object): # default settings allow_ignore = False auto_continue = True + block_override = None def __init__(self, exec_file=None, run_location=None, jobname='file', nproc=None, override=False, wait=True, loglevel='INFO'): @@ -241,16 +252,26 @@ def __init__(self, exec_file=None, run_location=None, jobname='file', nproc=None self.exec_file = exec_file self.jobname = jobname + def SetLogLevel(self, loglevel): + """ Sets log level """ + SetupLogger(loglevel=loglevel.upper()) + def __enter__(self): return self def RunCommand(self, command, return_response=False, block=True, - continue_on_error=False, timeout=None): + continue_on_error=False, ignore_prompt=False, timeout=None): """ Sends command and returns ANSYS's response """ if not self.process.isalive(): raise Exception('ANSYS process closed') + if self.block_override is not None: + block = self.block_override + + # send the command self.log.debug('Sending command %s' % command) + if ignore_prompt: + self.log.debug('... with ignore_prompt=True') self.process.sendline(command) if block: @@ -267,6 +288,7 @@ def RunCommand(self, command, return_response=False, block=True, else: user_input = input('Response: ') self.process.sendline(user_input) + elif i >= warning_idx and i < error_idx: # warning self.log.debug('Prompt: Response index %i. Matched %s' % (i, ready_items[i].decode('utf-8'))) @@ -277,7 +299,7 @@ def RunCommand(self, command, return_response=False, block=True, user_input = input('Response: ') self.process.sendline(user_input) - elif i >= error_idx: # error + elif i >= error_idx and i < prompt_idx: # error self.log.debug('Error index %i. Matched %s' % (i, ready_items[i].decode('utf-8'))) self.log.error(response) @@ -286,7 +308,22 @@ def RunCommand(self, command, return_response=False, block=True, self.process.sendline(user_input) else: raise Exception(response) - else: + + elif i >= prompt_idx: # prompt + self.log.debug('Prompt index %i. Matched %s' + % (i, ready_items[i].decode('utf-8'))) + self.log.info(response + ready_items[i].decode('utf-8')) + if ignore_prompt: + self.log.debug('Ignoring prompt') + # time.sleep(0.1) + break + else: + user_input = input('Response: ') + self.process.sendline(user_input) + + else: # continue item + self.log.debug('continue index %i. Matched %s' + % (i, ready_items[i].decode('utf-8'))) break # handle response diff --git a/pyansys/binary_reader.py b/pyansys/binary_reader.py index 6bf502052a..d8e5e77a5d 100755 --- a/pyansys/binary_reader.py +++ b/pyansys/binary_reader.py @@ -26,6 +26,7 @@ log = logging.getLogger(__name__) log.setLevel('DEBUG') +np.seterr(divide='ignore', invalid='ignore') # Pointer information from ansys interface manual # ============================================================================= @@ -975,30 +976,56 @@ def NodalStress(self, rnum): For the corresponding node numbers, see "result.edge_node_num" where result is the result object. + Notes + ----- + Nodes without a stress value will be NAN. + """ - element_stress, elemnum, enode = self.ElementStress(rnum) + # element header + table_index, ele_ind_table, nodstr, etype = self.ElementSolutionHeader(rnum) - # nodes for each element - nnum = np.hstack(enode) - nodenum = np.unique(nnum) + if self.resultheader['rstsprs'] != 0: + nitem = 6 + else: + nitem = 11 - # stack the element stresses - arr = np.vstack(element_stress) + # certain element types do not output stress + elemtype = self.grid.GetCellScalars('Element Type') + validmask = np.in1d(elemtype, validENS).astype(np.int32) + + assert ele_ind_table.size == self.grid.GetNumberOfCells() + data, ncount = _rstHelper.ReadNodalValues(self.filename, + table_index, + self.grid.celltypes, + ele_ind_table, + self.grid.offset, + self.grid.cells, + nitem, + validmask.astype(np.int32), + self.grid.GetNumberOfPoints(), + nodstr, + etype) # determine the number of times each node occurs in the results - arr_ones = np.ones_like(arr) - ncount = np.bincount(nnum, weights=arr_ones[:, 0]) - mask = ncount != 0 + # ncount = np.bincount(nnum, weights=validmask.astype(np.int)) + # validmask[:] = True + # exists = np.bincount(nnum, weights=validmask.astype(np.int)).astype(np.bool) + # ncount_exists = ncount[exists] + + # # sum and weight the stress at each node + # stress = np.empty((nodenum.size, 6)) + # for i in range(6): + # stress[:, i] = (np.bincount(nnum, weights=arr[:, i])[exists]) - # sum and weight the stress at each node - stress = np.empty((nodenum.size, 6)) - for i in range(6): - stress[:, i] = np.bincount(nnum, weights=arr[:, i])[mask] + # stress /= ncount_exists.reshape(-1, 1) - stress /= ncount[mask].reshape(-1, 1) - return nodenum, stress + # return nodenum, stress - def ElementStress(self, rnum): + nnum = self.grid.GetPointScalars('ANSYSnodenum') + stress = data/ncount.reshape(-1, 1) + return nnum, stress + + def ElementStress(self, rnum, return_header=False): """ Equivalent ANSYS command: PRESOL, S @@ -1026,22 +1053,16 @@ def ElementStress(self, rnum): Node numbers corresponding to each element's stress results. One list entry for each element - Notes - ----- - Only elements that output stress will have their stresses reported. - See the ANSYS element guide. - """ - result = self.ElementSolutionHeader(rnum) - table_index, ele_ind_table, nodstr, etype = result + header = self.ElementSolutionHeader(rnum) + table_index, ele_ind_table, nodstr, etype = header # certain element types do not output stress elemtype = self.grid.GetCellScalars('Element Type') - validmask = np.in1d(elemtype, validENS) - validmask[:] = True + validmask = np.in1d(elemtype, validENS).astype(np.int32) - ele_ind_table = ele_ind_table[validmask] - etype = etype[validmask].astype(c_int64) + ele_ind_table = ele_ind_table # [validmask] + etype = etype.astype(c_int64) # load in raw results nnode = nodstr[etype] @@ -1053,41 +1074,47 @@ def ElementStress(self, rnum): else: nitem = 11 ele_data_arr = np.empty((nelemnode, nitem), np.float32) + ele_data_arr[:] = np.nan _rstHelper.ReadElementStress(self.filename, table_index, ele_ind_table, nodstr.astype(c_int64), etype, ele_data_arr, self.edge_idx.astype(c_int64), - nitem) + nitem, validmask) if nitem != 6: ele_data_arr = ele_data_arr[:, :6] else: - ele_data_arr = np.empty((nelemnode, 6), np.float64) - _rstHelper.ReadElementStressDouble(self.filename, table_index, - ele_ind_table, - nodstr.astype(c_int64), - etype, - ele_data_arr, - self.edge_idx.astype(c_int64)) + raise Exception('Not implemented for this version of ANSYS') + # ele_data_arr = np.empty((nelemnode, 6), np.float64) + # _rstHelper.ReadElementStressDouble(self.filename, table_index, + # ele_ind_table, + # nodstr.astype(c_int64), + # etype, + # ele_data_arr, + # self.edge_idx.astype(c_int64)) splitind = np.cumsum(nnode) element_stress = np.split(ele_data_arr, splitind[:-1]) # reorder list using sorted indices - enum = self.grid.GetCellScalars('ANSYS_elem_num')[validmask] + enum = self.grid.GetCellScalars('ANSYS_elem_num') sidx = np.argsort(enum) element_stress = [element_stress[i] for i in sidx] - elem = self.geometry['elem'][validmask] + elem = self.geometry['elem'] enode = [] for i in sidx: enode.append(elem[i, :nnode[i]]) # Get element numbers elemnum = self.geometry['enum'][self.sidx_elem] - return element_stress, elemnum, enode + + if return_header: + return element_stress, elemnum, enode, header + else: + return element_stress, elemnum, enode def PrincipalNodalStress(self, rnum): """ @@ -1124,7 +1151,10 @@ def PrincipalNodalStress(self, rnum): # compute principle stress if stress.dtype != np.float32: stress = stress.astype(np.float32) - return nodenum, _rstHelper.ComputePrincipalStress(stress) + + pstress, isnan = _rstHelper.ComputePrincipalStress(stress) + pstress[isnan] = np.nan + return nodenum, pstress def PlotPrincipalNodalStress(self, rnum, stype, colormap=None, flipscalars=None, cpos=None, screenshot=None, interactive=True): @@ -1306,7 +1336,6 @@ def PlotNodalStress(self, rnum, stype, colormap=None, flipscalars=None, temp_arr[stress_nnum] = edge_stress stress = temp_arr[nodenum, sidx] - # stress[mask] = edge_stress[:, sidx] stitle = 'Nodal Stress\n{:s}'.format(stype.capitalize()) cpos = self.PlotResult(rnum, stress, stitle, colormap, flipscalars, diff --git a/pyansys/convert.py b/pyansys/convert.py new file mode 100644 index 0000000000..7df3944a84 --- /dev/null +++ b/pyansys/convert.py @@ -0,0 +1,98 @@ +import pyansys + +valid_functions = dir(pyansys.ANSYS) + + +def IsFloat(string): + try: + float(string) + return True + except: + return False + + +def ConvertLine(line, obj='ansys'): + line = line.rstrip() + line = line.replace('"', "'") + # check if it's a command + + items = line.split(',') + if '=' in items[0]: # line sets a variable: + return '%s.RunCommand("%s")\n' % (obj, line) + # elif 'C***' in items[0]: # line is a comment + # return '%s.RunCommand("%s")\n' % (obj, line) + elif '!' in items[0]: # line contains a comment + if items[0].strip()[0] == '!': + return '%s\n' % line.replace('!', '#') + + command = items[0].capitalize().strip() + if not command: + return ('\n') + + # check if first item is a valid command + if command not in valid_functions: + if '/COM' in line: + return line.replace('/COM', '# ') + '\n' + elif 'VWRITE' in line: # ignore vwrite prompts (ansys verification files) + return '%s.RunCommand("%s", ignore_prompt=True)\n' % (obj, line) + elif '*CREATE' in line: # now writing to macro + newline = '%s.block_override = False\n' % obj + newline += '%s.RunCommand("%s")\n' % (obj, line) + return newline + elif '*END' in line and '*ENDIF' not in line: # stop writing to macro + newline = '%s.RunCommand("%s")\n' % (obj, line) + newline += '%s.block_override = None\n' % obj + return newline + else: + return '%s.RunCommand("%s")\n' % (obj, line) + + converted_line = '%s.%s(' % (obj, command) + items = items[1:] + for i, item in enumerate(items): + if IsFloat(item): + items[i] = item.strip() + else: + items[i] = '"%s"' % item.strip() + + converted_line += ', '.join(items) + if 'VWRITE' in converted_line: + converted_line += ', ignore_prompt=True)\n' + else: + converted_line += ')\n' + + return converted_line + + +def ConvertFile(filename_in, filename_out, loglevel='INFO'): + """ + Converts an ANSYS input file to a python pyansys script. + + Parameters + ---------- + filename_in : str + Filename of the ansys input file to read in. + + filename_out : str + Filename of the python script to write a translation to. + + Returns + ------- + clines : list + List of lines translated + + """ + clines = [] + with open(filename_in) as file_in: + with open(filename_out, 'w') as file_out: + file_out.write('import pyansys\n') + file_out.write('ansys = pyansys.ANSYS(loglevel="%s")\n' % loglevel) + for line in file_in.readlines(): + cline = ConvertLine(line) + file_out.write(cline) + clines.append(cline) + + cline = 'ansys.Exit()\n' + file_out.write(cline) + clines.append(cline) + + return clines diff --git a/pyansys/cylinder_disp.png b/pyansys/cylinder_disp.png deleted file mode 100644 index dd726af4c8ff24c3da3c730980241bedaa0146e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95847 zcmeFYX*`tg`v!c^*p=)%k*&y@Em>x=mn0EdEJfK8qGX*RBD)q#WY3Z{d&G=gkzHgP zTak6_!;HC~+wYt2@Au|;_kZ_1eLk4xGjre9buPzwUdM6XFRxwIW1#1u2LOQKlD_tJ z0HB0kQUJ8n(4X2`b_M_j0GG5cnm!v{e(zNyqBGQn^H}?h)m19ZwrqMOUxP-Y^>2_e>H!#_=LQ#*Y1IO zkJ^~!gyqD*fQQ#)b+?KraSelkoeE~sq&@s)<}~{3*neIf{^9|S-lxrgA^%U`?ga$@ zy*2~z&&{D5{GYr{4g9+w2jK6L_FSCHA-eJQn~7?IU)t4SPQrSiZWNti;gH=W(T2 zqk81tG0&AzcGa~n^3tE@Ua{|!`Ml@i&J(7d_hsqDTqEiU_y@ZNY$pF3v)PgwdtZ%a z#&BdMpWRgkz@p5KZnb{bYTT`vq0)b6($|&m$)NGVShefIi1+62>2GICS}@>&>tqMl zkK3;54?neXFswYMVeFomcPc2V>K{+5-<_%=vJ}+@EKulJs?Ix*V>lb- zCW|8bT}f6d+9Ed79%0+d(r4@U?1`KWcq+Ax4&g*K?{gf|cfvxBaVpU&bMihcg&kV@ zVb#wETnY|M+LQyiM(s-_m}tzwitDr839t9<+kXaVz+Ds=`efL$n!`obv0sD_MOp{Y zal(2tQ_mUOekZ#|51HL&cr9kwlt$hkAw?#Mpm;bp!2c|O&`xv26#22PZP^{DUioqRSGczrEt83U4E zSiAnMBy=9ocQ1^kdH?1nE!!hJR=uz=n&6$4{tw3vqhPsit>NXo55AGc{k!6@&7b}c z89OW0xRa2v%$mtGd~U#r^HTty*SNcbt1F|6eA`qDt5FLStzlWw7bFHXo-CRk=RPM= z0dD;nkaOrwf8lY*``6oN(Dj^`4g=Ax_ae=Q$!c!-2U8UTSDOd(P2_R&3kL=>Jt%T{ zxkajxfEUi+>mz~DqQ>pi3H7bs7dww8YNvx)uVN>C*WN!P*~X~9a4xCm@R;v*8TnD? z<(lHZ^K%4p!u$4aD9jG_w>zJp?#NOdCByY+>#dy5owjX}jY?w=U;9LcO=Z8ndYK&r zN_#Yjhp(L+KzuW!-2HEFUhK#OtVf)O?#9!Ca+`!vP)|WdrjKfgpnU;_xTryV@D5`O zs=^<#?(vtFxBYl*@la^Z9L9+M?nG!cE}*W;1&XKhGhxE-$VqC%<#GmQ`bo_Z7I3yb zrae?3z`|E2>--)03t_ZZ)wc&@329KYTY3Lt|8lT1mZ9+!+Ix!c>gNn`Mv7oYcel!7?HuoH6f$h(-`=8n$Rt}ksK<05;D*3WO|EO+7 z=?h3E%C^}I<{6(~E^RJ_GGHip2KofYM>~Y~hTWkT7bfbIp^sMGBAR3NZ*bY-=UyAl z{K-vgL&GRa$@@#T+e7B~n_VQUnB8`mLV5<0EP*Hu?n>(<)V0(MoG%Q~eA85f=g>~yw8}pdW+L48ekEkx zu6|Ur_d8jhzwY7BvUh^uoSDLZF}=+)?;f?%9Ge3bL$B=(h1dNwB^&ER7k~{ zX$a0*ZoAgskQb?ax)KgW08P69N==*c5G@V^l(b!fD%$=8Z6Gu?Cc(;wu6p7rZ(EE& z470HARG4sdo;vS;QC{atsv5U4&d;N00T;$Bd>EqB-KuMm>TM_YP}3otZV+g`&@Hs~ zT~Yi3UGe;8m;5KlT@-n`@S2>mi0I2bDJrZ9cOKJ0j(pp)6rICH>3tyc1+VEugkYaz zv|UM1n-U64t(cSQvRKpaADbDpt-!%6DTc90v}q zWCLML3-sx5s4}T|ju+l6cWPzrL4YLf=QMdQw)7BVRL3|5BZDE38obW@Fi4!QGpPKi zpU|f!6WS4nH7K9>(|g)_@0)qbK=(`9hK;u+=VSg{8EIYUR+;BhBjKA96&$Zi(V$3# zb;247tkd+5uJ_$-JB*Y_E;%@Is8nUCuw2%CMjOCpgq{r7VpM0tLHNTP?SHU6?A&?S zOdaMGl;tCPx1b_-=7|VYaW(R!1fc5E?JRj=#hOj`-*r){V)*koT9Q@0q$A}lN^M{P z#4+6Aw)K~1T~S2dwn%OYVB~S9lzSr;=M)s*ZBTTZCsR!sSnsny_+36KhXRQ>UY*+s z(hR5Op9VHSxubYxnsZkJ0)o+NT(bG~1_{y@RS$12_(2OlA!hi_R5dru=KYf&jZep1 zI4@K|fYZI?0SC`)~&QarlzUv5AbpN3x1 zg^ZVA$ooK3`6T2zhG=Mb<*kC>ENizJGnQt>UdNpkFFE*n96u=i)A4t53K^;PFgf;2jJ>&Z5=o2I&4r~)mxWnRP?OMO>M&6qbZQ04xiNJ>< zNU+^WUm2*kogCab>}0nFjM~@R1q9AXM9L*zcp`DQmwDqW{%W&RDHL%@r z52GR%od0fXpPsvKOu-pJSpnFcQCh8er% zDz1}i|G5RUv&ZUVS71k-e*|QY*H>Y~xkduZP-9WK4W$mxF;3~om3FS@oidnlm5&0y zpq8}lSAzBAwMbW}N!2gP!%a?3+GqnqdCwR0eIdU)8PjR3`0sBu#@~MQ5p$&`I)_>{5*HU1+;;pYo(xYzy^;e#@=i}T)V&8oKMI3p`KE_}rocv1 z@foVvyc#irPJ)d8v$x!|0G`8&*qfoHwX!+i(=HsNcKtRKzZax2q{k_K8($#+rOCOH z)ZaVY|G~h$mEC*_O4cR~;_`E7p@n8@k02;`1|{tJVK>Y{>$laX=S;OTlZZfRob=!7 zd$Dtfhpb{(Xblm{PZkG92ScEKyegTEgr4-Fg-92aR(Nn{3sg$YQ^q9T(m(pLuB)~)VmsoB zIVgo{!ae*{ql2?^GlYn;9>1@Aftm-xE(VN(khooCpsD30tNW;9?sWR|6HO4{MnTn! zQ7DK}g8=N}P>58&jZ23W(8A-pBFt16Ag{-u<^rmc;Qw+sh4BCOj{oP}&j0d8|JU5k z{}4oG#I%l55E@4(;Omx}O-BITiW{4Y5XdtDoWp3afpqCzHDk`e5)S%yzP z30S73`!jqBMs)x{Z?P_t3VZz>?7uV{8z(tSGQ*k`-1oT=vTG&=>LVm6V89QhyPpK? z;if_lu&<^@lZ24}IxGx>$0=MSAPR!~Bfm=TtZWZgq(vFl_8K`U?-$g=b7+|~=}#RJ zeA6!fAjsKzJWfn#KWhebXCJCdw#!I+0I202Jal=bx(SAf%=a+Ljh$}Svl zLfNy*?2iFzd73_m*Otp;OJIM%({ru5#DSgnALjquN1q6GqUxm-{Fk~bh+m*V8@1Dd zz8}`H&yNKY5!nYTaqcaM0y$aZ9{FoM0~u?l3Dr%Glypa)==dl?VwAlR2QpsLSSZMm zu5yjvddPm6SrSYf#%YsVA8yI_iu2OJ*Gt^XI-fb z3c%NXV&U3`knKqf>d=y<=dBPD{f< zt-j8d(G{gnYqzSuhal~6nFpwhmNRJ1%AW66ET%$r_nD*NZk2L8XeO3G=6_BpcCBn= zTog0e1?VCeUqVUhK8ep#9JGZ3DH=GpG;9F;D-r z`sUx%$0%8jb{zXln6zd02fqdwBY#r#4HIEoTl#|%7};C_r;1O?VGz3C3_2GO_Wjm%co5|}%GK~adL zgBy#>u@auLd2LOq(UB=-zoz0r}${(6>_Z=d-eGKM1s z$JbD#3-f({*lVvdN8>h@GZJNpKE2ITrMPd~gzU`OeV7fYtV18;0tdMIEBDt1KRn5p6xlm8 z8!3=}2qj0b+t7sC=x>V)@b$K-UJQ_rAH4C!V5|Kd{Kv*MMP@PSf@7p~MpZc0!lmkB z>>DAQ2$0{CI4h>!g>dx5NX>2}9C!23Ze3eDMKTEdpD=Q#1OG@YtQZHV!qcsH7cm|j zdM*Cn&Y+shfaf;|MmL@4d_u8|I>1Oi)r>x~n>N+M%ubm^LLa%18MtW(B=;n9(4rtW z9+jdNQIfrsai44Ge%2%EtyN>oR7{?6FOi;%CYx=cUv9k?!Osc-K~FE9m#{ggswJR= zvj|4=lzzgL#r>NCS;jO5#%a=}AO2_KH!DNHFRc<=XPNsL)AeHZ10pzeb@vP-d-dum zZjbD)nBnYq?it{3`?u2jIV#W|2blE);DrU{G&SMW4G%V6f`!a*&ZWJpRlz9ibWWuh zR+G+u=YK-ijC~s8W^6fUAj-1Hm~POs=+oX5R?{Q3!`7o(;s6Wl}k+tI{&)w z=ARJoRmij-8M)Bjw>n~VlL_(7H5cYNVEeoSmS*fPczXopMxK@+A*>#(I17c}8pbJZ zJD`URy_o^r4-FZG8-19r+2@XCB3R1$_{JZSG>z&@O{V`wVeDIztufCCS|53epU`moz4|F7Rd40se3CF1*u(>nf!8<2tBju}TQ6#ht%V9x=cG$SbySEePy|jIu6R z^d{!Y=ra*gsV~Y>O%Hzf(eTv4w`&14=>V7$z-gcHD3uTtbcfqM>cWQ4T5t=BV@oUh zTuetP6w7W&FuE3^JS;`NuQjpeqK?%fD4WtA4~F2>`QwK-+w9uMC><%J`_k-~w3pzJ z54!Kna81NyAA7^jz!U`#A{#<6*>i;IZKqAH^D{~MQQ%kZck7IJhP z>gVNMU+!&YlpPZo4-?F)D2b`?cg%v>JP3(G=W#QA+tl+LK|$L{X`ObYa8@<=b|LmG z50(S0`%@JvKSxj=pnP_##GV&|hFt~NsN??_%BBgtal_N2kLh;|y`bu1fKfC5Vp=0* ztYJlom+2{*CTkuB^gCu*)=$Q;OLsx_Wp2t$;XQq>0~t9U8{T?^Q3BJV^$R+DqE%0~ z1Svr!xc=-iqMLGI%IoD(6KO}qMDF?6k;W-Z+U-3!sq;7*6ABX?bFv1bXu*ZEjkNeE zdbjU_Hkrb^fhMs}CRUq2N$2svmYm0&4f)o4?!ifhCH6fXVJP27SnsOiaanfs(WSFr z)1x+nMR)j{tamE6RuAyftDN@mj?(;oQ^J3$7mJ?$=ws68Ag^k3&Wus$*g&-31>W%<0@ zPtwEgZXb7i14T(LS(!m@{(9-pB+y3c z=nqXYVn?luzDY3V^ZCr3pkY3CGGgeU`x;dZ?Vr13iMH>p(@*z`cb=#So`!8GV(+{+ zUa*&i+nKB5P^OO35zNFDW<{R8;V#|PQNX{}Jo$l?dyizP+7)!kF}Dy=(pkAC+#|0K z@HdX|uA$wLA*hICzy8}P#82SKOJ&LVm;|bTvduIy~Vj+UkbC_jMwAKv^Yx}0@ zgW_0}dGc9yLFW#X=a@)+&QPHvbpmX`h6gzHp8YQkR>;%@hJHL_FRa$W8%D-i+#~Vk zh3wBO0&`$RNqMEqCGBfo!0&|knjdchzZkpq5BS1h+^))WZ~w5Q&){9S>k z*UQ zXvXxB#kAoyx+E{-IDd?L%px(Gq&F61iZ0AL;0GoLoo}_XkUNElLp%0t(1w|hZg+Va zC8@bb>N7^|m9OqnDMatgGl7qbc6OzL^+>{5{zph72=A$dEe*`9EVXeo{psvHP4r9|fsq|B~8K*ElhP*d3$m~nPMd!() z|27|vO<*b4v_K>QkxpDm79y#)V#W&(_=}umV(>9P+ew#O$-}(3iq9vvZ&LaN`*D0q zyT{ZaTmRywlPRS*tdT9$_|qhuRd7nDKndBZMKWgzM#Y-~33T{Kt6?*_!~4layaQaQ zcPHA<{9AdMLh%UTt1uZHJa~Hc5&;}K$2V%~{`8G7iFfB^I9MR1m}K9Acs^1c6IZ!K zVl|Gi004RAhw$^QK4z>y0Cl5}nSg5^L0No8jSF?0rgInjg(65fsASdG04n<~9NBY}Iiz zwML>slgW4C*<6%MALTXzK3Lthp@3N_|H&Xb3WFMbK(Q%6F=br;+cL_x1*Z&0&!iny z1U53zbv2$PdDhHhqjt5<5xO1SimOpg!T#x&K570Br$H0-;h&>bl7-seONTM>djMp87d8L(}rl^7WYrnVG7wN6l}B8@!(COV!3TB8<#AH#5)oQ*sFlm~w#^UpXe7*A0@NF|JH4{m+P3L! zX@YaRi?nA)*(LHL(RU?C?J^V+KN{HEy8zcjw{3C-H?Yx7%hUx8G10th`v`WbkqyV} z#Tn3VLo&2NXAZTismABLRo~MP0`{riVv`U>^XqY{8UN;Y*8o=HYF)`@ZLVSR3y2UO zgBZGijLmV+0YgZnKrJ66sd$Jr><^XvZovG7YsZ|0>NxOLke|q6b18MKdu`2$rmVKO z``)S(e6iJ@{vHN`GJ&{`fFHe}5;CA*p2(3ROwPEwpkJxtAwH7@D~l$qS zK;TqesbGbO#;@_Ixi{J+Eo<2z%2p2|jotVEQ8G%ZeyLNMK2 zE*SUNob<}B+hFcS1naJN6GUn=G4#eul7BJPM-!*s&f?tGuJ3$xhHtH%=(=+qm3(jI z^o*5K|1-yxGiEf{hKYH{d0b^M3LhsF+PljPrm(nuxC_y}#Zov(9E1iJn1S@``BM;Y zjfHjy03-JkEa|xc@9u$*wh%uH>DZ>wSWTrEInYTz0NInOehiZ)-+eyoRQSCJsVXEU z;J_xb5hA*^{~-XgJ!nBiz9!s>&Eb1S55lT$ltmoG;=z$~d@a`>W@bJX;Sr+f(%p*! zy!DCauT{%LF%vFjkxw$iE-Iiuf0H8rqOFfsJx2?sKn^rpGPX>quOWX5)g)yJ+&y+3 zCIJKpVSnaG>}Op(wE{%TVv8;aBTc{XhMp3{#{hZHe5A8Y!7dQA>bwej<|F^j5BREZTas#+4r6mGY&r~9a!)u9oA%KGCi zxiD=V%*8fZ^lu-9?7b2A6G$tYE(w)8oZq27!522&99m6ME4t9816lk(Ss4v!Yh<&1 z|D_*Ayidp7^?=r9(D5HBj*W%<+_-bziypjLJAx6JMzkK9-={eH@o<^21ok19D`m&A z+McVl^8{rrl4{jZ&avZ86n7#v^hoN4L3wn7K&@lVTBgpv5{oV|%7}mpGzEO;K(3Xk z$0j8^0;fsOf2DIx%}3(G0^(`WAFdNuWf{l9V)x(%DY;?D+%W0M-0k@M z8|$vr6c3(=FjAeC8oRqATp;6}%fl|{nx4b)>%&Ka@@?3IF~aVj?Xvmw&N3Hn!Cd&` z>x!ZP(m$X!ymEZ{=gI0K;rq#z6J1oJKCl(_z+&~l561#Uk16^gnA+NSu)ZZDseFmiROX3`P!ztPsSXJ*AD*ya2F@0Rx~YlQR75dMFs87vBWl zzf#`u&tz0A+cYB}Ti|GLFFwV9&KzqQi6?IU9y~Q_gppkv0>qEByH* zD!va?vWupTmEXP~U1%Npx$qr}O>y{Vdnx4paDpnwAYy;vL$EG*EE~?%Nm*(F%Zvkj zmo9o;peN~U9$039jh)eOJi}TH(JLG{Fr4T)bynf&Dp4%?VGtdw*x(Q4Q3qiN<`iis zsi%K_kWf#Mx^1=yB}=5#9HdG66;_&6jx0%4j|V|I*!QG5>#c_Wh+?i7b@bvx3V#09 ztTe8FWc(SXgKcJTa>%^@Om$aDIBI}jR-GxjJ-R_nmwZ27muah@;c*PXSGto1{iVbh zmNiK07S(k+YA&HydY>+|TNs1_PA!;@I(g^+XZwj*Ir}P zU4miaKqR3(YNxsKVGJ;( zdSN+V=jKzPeAmZzpxLJLF^4GVPF$&;-5GOjhmiWl;l_^xheeC?jvMU9 zEoUiH3HCcrf8IYFmAD((Xs@xEH2Ma0f1+B>wk`d3_2Qe%`*R=-O81`$+04CzTO(3W zB`^>*VtMVE1Ogi_xRAASvFXVb4HUH4QAxP-?Uie+NG-$f4k9tX?W1VjDmp*-6c6+! z&I%Yuck83YPVw;H67$v`XJ1fB7XCy&L zs5m~yyNqBy^d~3z9yA3)14QyFpD!@`P z)UH>j3^3(=7m^i{B)Qyo;yk9nE5-#-U4eZzGukz@lUU_+hTHK!i2iA<^kegjy=6j? zohl$-;sp1UET!Mic#;qF%>=lJCIOdB;I(9bLm5vk6ULF)V9uL&KSN6F;Xsfrq#quN zl8}gbW31{>vW7g@E&EK6Zzt^yJa$*D==|?P&D`M@<`9;~T&gYedZ3BE_@}u2?WIs? zAguNQ3pB$R^$!=T@7;tclEAOT`O~cANGF`V$2X%QOFa{e65KBmXw12-JH2L0d%i0W z@@n%;2+A}+$#_UJ5GleVcy+-y4E6aYQI+R&!M=SoCH`7kS=7$KJMxv{U>(#TW!@8B z)jTH}1`Ep!aLOcFXAK{LPLXvgPu zl3$#;xp$sOc6zGMFY2FsXXu!)tH>j$uj#6FUR=FcD$xvYRUfStcc)vUxh$nn4EbUy ztm><@k7dv4J0@MVTSYl=u9sIT1mnTGuB^`2soNiW`nyQ=fB_#S8v=n63uEBoG^XZB znoD0*I+qR2qA;-$6LSnt=bXG&K!LrU0~DSa5eMvk{gt0?{t8B!zn1ie*)&LR$pvKM ztR8vs4KOQGW#9Y2q#!E&pM`hE48tmY}16tbdyD=ohN7tFx zIjN_Fxvl;cEsI#l^;fSE($t zJi^*#$}?#_1&G4#FZavnVY-ll(D!=v*BN|hq%M};ls5M0@OCy45*`EMdIJ(*vWA>y z%H$c1KREAEYnj=UKMgrcANyvin6IVRV!8$*7Mxw=xmz*z+DI)0q}`Tv1xwYQ$SV($ z0S`}c5@4SDjE-iBysO$$A2a2(Z2Oxnjos!6JNb3|P(9m4+ul%hVXSkGhVxyB-#w(b zWLAL~IO=93q|g1MNXC|hfP$|j_o=YjmfVlRBLbfLP&PVUYC>$hieR31{u#eiJV64(8gP_jxhUGmEPG&gd^HPrA%)DIohqyh)QfOQv=wf{b)(JwKL=xRAep4!e(Dt?<$V?BBr;Jn%QDwDjeVMS5n3S51LT5YHrRd;5KLjO6_J2%_YoslWxqAwE#PZuQlX~d`<(AC!Fj0K;02%nRq1Uhc|kkhhG zE;15ANXjbg>CQb)W0^WbopN!1z_Mr(P3KcNY+)RL8|n^tKnG^Kq0%iT5lc|d`_I`! zqyUc_f!uGihZ!xsA59|HxLjmw^bxyRn6P&%eSY~t6Elq6K>;mpGMBq`%Ea?Y&27Tz zcYtF)K*g4ECvRSDjD;-mO-r7FkO;8P@odK!P|;e{_PVwp9?c2F#eo&#umN2%MihHr zya};lV5R`+;(u@5A_@tE5pVKIR;AjlPel!X*d4#5n|2MfP1{tQMriXppbq=y}G z&=>(mifpM1^p=?d-0(#1A?Mda{jF-TY8z?yFJo&oQ8Y_et6L)X$AS?1O0)DZu_Qpc z+$Kk9YtWG@p`Z3h2RlO&{*rfL`gKn64Y>b$;-j$%maaOU>W%;jUDuH|q|Ld9F5$nH z?Y#~AJ&IEmM$;Zpi|A6=v4Q7qD{uG6kUWwBy3A{j`pD5bH6JmygNWJ`6?Q>A81klG ziRs^ud&EJ-_5#sOj{=g5&KV_}N1W+pp-lo* zHo#veuzb1Viy_CW7@vfmdeF*BE?8eXcLY=l(-^OCJf@R{H%gmr!P9K!+rG29{}? z`)1P~uw=pf41vAeRSe^d-hsR>@a8SO;Mh`SeXtutkkT&Z!6S7B?9H#3Y;hRO#@3L+ zBAkFv5`p@^12>9su^}1fS9JKY8*&32WY!|`n+IT#Sr=RcRs;%4gmWDiAcVg1U(zKkA}9Dr%a z49#$NZ60OP84_&jEVP_EMetc((P#pVF{QOzB;hnS(74|%=Ietks9h7IQz0YU)IhZd zf&2^rMWPbhu@#v{TG=eXyY3OZqhPdwpC@;#vo=MUT~KVzS|e+C=gf@Ofyou1j?2b# z4zczI?VOJX(^&%2{aP?F_}%v>@N}L0S@@$xn7KeietYs(V28mCy_9?33Ti=`l}-KE z(i{F&d)YK!vR7`~b*Sysk_|aymvS{?Tm|r7Mod24w zcgi~Z!VHaA9X3Xus<=-hM)9Xk!&;St4-%`y?Lo3!%ZR)H7;M$n-ukU~L+jm!8v2Va zIGnr-}uSI`SQnQ|02bf<_Uts@C z<6@`?Q;P!j^u2D_<+psy%7ZZ$Ioi%w&|JbuF^7R$%+szyI>y)n4)14q+F??M=O7Lg^6R;8irH$kmng^cH>z8)=#@%oaFiBtuwQ0`TB$q z@!Zlhm|Mfno^Z@Hl=a=TDxAL=rKjmFdNjYGqLhvA0M9x?r^G(}WkQiOD^^>_2a@`d zvIVAi^d;3S&eGQ~hlhanSEyoN7dh8dr7!H}QBA3e+F(|PT;vm=4oY6Gy37p8v=&i3ePZZ@X9Q~Od}$Tc6TnJtZvc?)J*M^*Fu2AJ{tFb_&~V4D zZ7^Ap`uxReOXnsyxb*5fS80s8VN89mf_*lko3BQvhp1!nHm>;V?3BaU&0SPmIQ1D} z7Mqk*H|;qMZK{SC?q0JhIzjm@3f>eUQWm4;F%#IF8kS^=qF%C8GJDbhfm%46#Z3W zH0_MJvlwvgj41K}>;W=dsFD&Bk@ErW2|Rw8I@^_a8aR_mT(gC1hr^yO-L$l>(4Y7a zHWI_ItLLWx#9C1ZO6$$v;op{dy|C*mZVCSzP1z>&;F6(FAYOQDmsBL?Z{=fcJGFG3 z6Ksr$SDVprzKnIh1?f_U`2+UKF0$)XU_PC zGs`qCqvuOLK$k^^bQH2LP^-J@HVEj~8U$@P!5r8CK+@6z_uXJ?EX^e46aX57tdgNp z7Z#1)Up=xDPZP-TTG|Jbt~&1cYICnV5!UXIHheQ^7$Cf;vcCI`dB5+MwKItGq(uo( z04G<99ndxU=xR?)pSTM7S2BP$pKOrqWh`do=^Q17lh2vJgrLQ|f9jnH$-?V09^OxM z0T08-1!eu7wcRiv_TqN+*r#;z^aUN1rUG)D4K2GG+IOFpPjpCT^j>z%e!^Yqu9qB$ zqe0G&$LwUUL{DR1^rJ7sbDaBq+cJ)6s4!X(sbOi$vqXF60fe`_0H+h`kX5HCi`i-} zpNOUoWrODtB^9eg?vso#k8KO)sk~s(`3w>j-2=Ep{4|SJky^q$|n^S zgm=~dRvJ2+Wn_Ml75M`8KzF;=t}<-F+<5ujiC%4OkHS;vHcfP~G1zn4x=PfLY2P>~ z{H;GjDH}GEeJW{qYbub`WtOszXup$X<2>q04*naDXx`)q}x= zll(ND>Zk|0B}@{K`y;gdI$n%eEq)TxfYz4u1>ETT#*XXDQx_Y{t$k!=;^Spg!3dse zM;LaT{s7n+G7=IVjak3ejcaJm|64l5f!1IKxt*>5}^|4lqtPiYoLDo)2Fq z^Nam$=HE&0!=~sMr!mi!G|cY>U|@L1mEE;CJ`}DmU|p8t&J#F1;Dct}D7Gd<35f-a?GAOG0%j>u~lkj#y1;`{H3dS{8CUL7GjcdF+) zjbJ_p@-ijbPm|GKT!*0756rX#q>2M82g=M-zfuPFf5}leQoPr%PFAdbAqGYtwr z%X+KSaOYkk23A_IL$uH)*fSs8%%Uuo+y40-?WBzi4TTrf3ypih4BOdz?&LS~WyDHM6>`1Gj-!9h#wqsa_8}b216Sz+ftm8Cn(^Q+FhpTG_ z^uMjd$kV<$9%y_kQSJ<-#fyc6H@|WV;T#668Yg~(tbc3vcUH2DH!Wybu^z?JOk!Ac zY&U9S+wFX}wpQm?p%`T&*wb+81}j#Nlr^>EFvedy?IGSIke5TD_8|ne8NGj+o3hyd z_oAi%Ydog%=PXY+JYJlT)h@Cu<4W|3pga2GQ3;uNQIvF1*VQ9wnjGU`uPPR~uh;B}CJB9xRwf%3mX_FQdW zM%Wv!$B`tVaUq{oUc=czZ}ViITi9PYDp_FPin4R_-MDLD-e45jx#z?+&q0La*p-!1 z3>|K5ftcsq_X|qSS1)4u7weqhdK;@2858h3JaEsR#yqmpR~E@A`= z(=EqFQ(F}96H1$T?i&%p`bYiu>Hw&b2lEKlO_+hdQx*EqP{jo0H0IG94Hzo=8yZ9M z2Zw7=y9vxQuCCQ%i~}Axo+NtNXSl{Pbz3aE7;&MY1cvvuJpawM1#u#Q?wW`cc2ddM zoLVm!!M9e<&?(N2)c7&+<7G;H*pzYy8~e3n7W_NBxsIiSctE$2`4lHM^3%3idJR3z?yQfw4xO#@NN={pAZ`vus{HhF@ zY!Yp28_)N-VsP=<@D9oe|LOe%bn^7XGNzM^nfMX9moS5hYz zLH3mxlQ!!Y`*&yeEjxDURzM(1cUOOdqmP^`)`#e8=`6PK&#Sy!rnL}Zt8S5M({C8a zXy~j1p8T;Vpb+&uRqQcie{ozI2&*~!DZ)QTuddr$2bIiLe3&`AdG zPLnK|FDBgFlT@b1d%t#_OM?dU|GHIa8lj>~80#!p`er&CZ$A@z<5CXN^u_0Xnl?pf z{5v~!J}pPiV2tCVhA`;fPGF<0SR4L4>ZYq1jY{n!i@X*rpu-ni&F)8kBRj$o`9*`K zKvIU`^X-T3N^c9KTp56#3%~}2`pO4%N|2xM0rwT)_Oc!(#lOyc*k0O+zXJmCV2Rc2gOhI$o}+H3(hF{SCItKu!c1TCS~0)J z4}7*T@}Nc+-~HtzO*6-f{#=EoL%;E7?k2ANV6~{pQ=uZykP}lRupv1YMlrMuuZ0xG zH!7IHDaG6Xmj8k?^E6_>wgr<`+$DX9K-2kLSe)`E<;PB1S-d=jQe_VFm4XF<`kk^C zROv%bT1vEm?PF3@D7GhPO|FU#pJFv@7U#PnyfZ)<@XmPZJ-y(uZHApdRXWiXy6CYI z2L^O{Em#8EoCw30*fH&Eh#^NC8f85Ax2?aFKA|E<5BL%d*uiLSX7>nT5T{4#VMIglZjRX?7OXF5IUpOAm zS3Vh}?!1o4z6CUHK;w7NgA%;q6R(9HAg{Y)=P5_J;Xh^wMv)%8a@saOjBx7dmsD5P6?t0wPLjPD+0vYUWhx=Be@Ghzf)zqE|CF#5$uXt4Msh4 z?VV)fZV}bM)#Hj-7E|lL=d+HF(xiFwah5Z+lhD{hQ~2!@d%@c@zk}*0jfn4E-dU$P ze|Zwb%%TK;cj|Y!v_Q_V=W9BHR^(P&5^(t+CS5Zfv8N+?ZF55C zH+6C4mGM?x>dc#}LKFBm>#Z8$bF`=%O~2`p4JQ(pu8p#x&+*BcTr*U65Za;P=*rzQ zXFa*@b@)U8;7TWZJp{bxuRm{Y)HRO!n>__73)LZh@9=BIi;vtzbw-*oqbO_VoXXGa zF3JvyWfGM z59w|(+Ni#^UMBKTL(nyGpQR>u%Yc>O{T+A~4iW*6Yt++e%Jf)0LQKE3m>r3Ooly3u zq+NZ6cGrj%bYuo(ZhBmmzBrMwIEDLv82j>YsQNeVGh^SfuUQjO_Fa}4$(DpDQI^Us zNkW8~ERkIcLdH^-2t`OTlO+n-Dcjhx%h-om&U^Gc&+q;3z23iFuItRq_uSw6{@kA> z;=d;>AvouVlcQ=Y(r-IB$a)AN#I?i4ty7+(^^)?!vo?x^*a&G}pNWWGA=>UIw|%n# z{bNmWf`k*Fzec^~1htm5zt-Ep9IRPfUR2l?0{x;gcnIbpIrw^61Dhp(>im@ZChzP$ z>`DXPmuh@o*yGks7|UqogX?B<{J}_59q9lzbn$k;&oiXtcvLd=-%iVZC>rcPH|uw> z82X8MJGtOGH7!sl9QS}{lqd-E8g0onR=VA)s{})boqRP z{BXL$oABsx2Q{STsc`YS8iE?U;O79NP^|9b?>u(rkgADj@tu7G=%7?yIa3$MWHrbN zpz$l}5p9DeRd!H|r0s(>fbxb}+OnMncbP?k;0t4>GuuTmY4f;9kXd_L042i_I zZ>|h;Wp&B*DIf$Z^@nERJ7lN>?f_%F_39ks9=j9oo$Y^dt&TSmWSUWt`2NL`%$nE{ zpUo4-F_%w9^Z}0B#MjTcUK=HHa`0}_y!E2Bh@47UX?f0-sv(uvvw1r-(nN2QEEOfl zkqKnHxKYOoM3jvXKSW!j?sxofFNSyVl zKbADTSQCDViuE>S!_S)n7hG zs=&10>E4ot!hr+2W|Y_2K>AOL0SUet%2uUU;63LgJTEHwmviL7}li!%f<;*qcPCn;r3i-V2BJ{;x zn&L||h5Kk>go$HDEcQ;28x?#i7!$6CR-{}a+8x8V za&DkL?{0j|yoMU_smux-c;f%FLEVMzf*wqHdtQ5QKgQJnA<}gY4B~bVv2ygtxr)x~=#Ml*H=?vf zKIpP8F`suB7O3@e_MRLE%jk&jVN{u=0)*O{^UmX`|AxL)UT30WA|sfIU+*{9lsDC2 zyl8>;#J*AN>aWVTDw7fqR2Bch*pYo*7<%wZu5^S!-(Eo^KCrP2>0(RvD`99#fA=2c zB#8^W^@Irk5Pd$nBhkesd%Tpl=jiS`A02+2NGyI#oijyqvB19{cN9q@{Fa4C-HAYe zwzxAxS0GyWZE+*pZJlznW|URkGWKc4BgJ3tG-e8bz(~-$$@ZJ))!|bCU;XB=yDlu? zz`r}F_mM0h-H~arA?fh)q7da!@fI2EXD4%sD_n(7S2?y#ZIOL(XqS^;=$;b+`Uilf zcFNkEs$CXn-A^5^lP^^`7EalZL@#bmKw4GdYN%!Mnd<6&02Lw*4>N1AK1Z4VWJyf3AjLO}S)Kcg|sXOLy7aFM~Z^oXXMDau# z2?j>96~oorr!W9ihsHy^S)YFMCZCt{qdAslM^y7tn89BOE6oV=(nz%p z&=B@R1qbJ)n#0DAX-(J|1-)`_ot327ZmiI`D|; zvL}VHGz(DZ%a#6_&B=SG#%VV2G9yLvl{Z9K+E+YzFmMs(H0(3cti0@;&cu;)(D7_t zak=CLEV;OOMB}76(GJkI{M0CJu+87rXQ#;q+E>Zw4dQpw9};I!&cmd8rH@EsGkA|} z1fz)k1Yl!#V*`5xM75r3r2DJdPknx#I1;U!D!hy^1AaWg(Yz|5!O8stL_y}GvOnYggL)hkD7|@UZ;xZYqBaP6=Eh#c zIHCfWIu=Vr*rHe7>VmJ+3GC2kNCih;IY`}=K+B$bNBnnl@P0Fnnw84_%&~dhzmL&X zRlY!;Ir+dG<(s<(X%iXAUA~;MmrV)nt1dtsaYyw^aORB}NzT+8@S0{ut!wD3H{C^* zN=9hv$6FIf?=QkqtEka|Ep@6%7`tiL@$xOKYSuz7im2lq%we=!i6|tP322cEVYtT+3x+TaW*fF;_ z4T}x3#kv=B^hL(j{9B!T#I)K`+sIB1p*QKZp$>lXTM=CM&B(_xb($}#@LN9dygR2vnOqQw=D+~W zw-{9wg$Ea0nXE?1kt;~(Ds)tet}|wedgnU z;%T_d^03v(JsFN3VOKg7(x@?16!;4@ceAR^sGy2=yRs zv%pZU3tUZA%0+!BJmBPxLHBXljCR_Ry!#zsam^O$N;BSs@TrzEZ0m8Y^C|PxQ=vQA zPAgxE^k?w%y)nCqfLj9fICmab|F*9v#vKA+LNkP)Z_h>Ggrn~=liifqTyOdcjd=FV z$zSED%AFh=xnWG1ZAB5_XsA1qR9VI{;@b26_r%&U*!_-;u`w!J#emL>cj>oFfO$i; zv;D?w57lhMHDdDU3dDd{DY-!giSWJWa%s=djgg3-#dY3KKVFW9oxkai)8Yn1A3=hp z4(?6t(;%XvNeQ-cD&;oI=vEQDbuGBiX=OV34p`5hC3D~?jpKriM!jG-{>MyqjMmg@ zU^DafWaS6cE7zlX>)AjFWyt&T@+YM#}+YTz7B-{Q4n^S)) zkh|;SE;`Kff$wuGnmkGo;>s^;zwmI>$#SSLJc%d$X4<#prj*$)U`9OeYo+WZ(pTBQ zH_yVh2WJ=Tn%|d8kLg+f&W1P**flsJ+4sZK;+tnE)r?e?i!caN_StqwfyCnD<$KmI z1kW?ozx1kLskjVvV_HWm7X4 z>p6rJW!Ow~IG>@oHyqe7BGnH5a581u>CriGKF%xtX0Kw@ z;}Fll=q@EH4SXlO^ItX3F+y2%j5Q;S$(_;-2ajIE!`mYIU2<%F?!&ID;*yUjarf1v zf>61vW{xAt9p_<844Samv%lum)zl%mx@C&h;>KyvXbeR;y^DTRndcXH64w^`_JjxH zj%BD(A@E%ZRMz3hM=>Z1Xj(6j8VjCvMDj(#9sRkf;$JFi~l?G@5#~N(UMqVd*Ut)`c{5fr8qtg z)umyNKmD6wRMh(P{4A}cxaD({k3GFNMwPP?7an+S(i3g^5I4%seCdPvsilE^ZMW>w zBX`oh;9XOp9gNE6w%94X#HxLO^idoEenw(bl-iFfZKU^_5I79ahw$LH7=}5Bd zV~gT4A@BSgy@$5A083@R7ufOy6ne4kdlzsKJ$ttvqV%Iy)UPBZGM%JGH8b;eawK(v z&dgH`p%qW%Hn5fI2Ur1|&;R}U8)Lvz!|d0@HGW^N9WKhKk?4#=MG`Atb2Q#uvoW}_ zQ%x`Fa)!Q7Y=Q^sz$a{0H6?g)RLwa05?gf8rFxO)Uzf-#3mYdgfetT5T4^MXbkcU# zxNo2}qU<8<2lv!@lVog4&aJ2i8ZZ*?S=cQfveBW$752zD8a4Vs{lgJ-SV@`WiZpVm zm9n92oBhXdH#3ok{$3eX$Ia{hApQa;+K@Ol1L_iV6Jm5aP(i zgTJhSc5jqN84<%U6Xk_-t zL>1gf^wJdb!h0E`uQa31%~3RM#vklT3B}yvXHa|Y`tFEpA~Qh^)_)*U!D66?uCd-y zGZe2Bobpa7f`^$@?wm={1z)96>X$+LBHBcAIwF$YK}TvFk1GEZy+n0|yBNFjP^E0a zj7lFnl#Do;`yvp!S5n(^?Z)p2Q=*|pi4YC)W(O!SNh!REPneL$DK@+Y2$ULr) z7O6N;BEKFJ2JQWQDf2zt%j?8CjZ1r-oX=laueOUu8A}4ar(sq7bkfh|cFp6sN|?ac zcP{V>yp#|(tAAjo%g!xcfzNMH>Koj7QYMqPp+=kKMo(J`JiNdXjmpAVn$r=qCoj<4 zv0(C4#FmX{eIE?;2+c%w75=nh5HDsDUrv58t$h~7M9L~N=b%C@0)+DQI9}_y#I#BF zo%TziVsG$*SLvt3VHI}M2!32xxZ|mzcre(8_#g0ep&3seJLnd%8)rwa7FncZoH~%W z%>0GrP6}~>lk{X#Edl;Y6vZviVGxVe zr)FGRA@7ni#O^n>P)dm>8_jNu1{&RO&kRQw8308JgOfD!8Ts=<5?^@Y&Qx zx_>sg7vmQhfGtZ$)3QZuafN>!kCwwA zRMzWzH_&fh>6?a;NE@QP6Da5bM?TpTDQB~>n7y{w_iY{k)zE4N5NGmiT^&s8oZ{T+ zGJ)$>9966a7%4iOx|GYE&y`G7US~?M&hHRn{x2bG3PH5s+zE2G4000ICEW(z`Sx*i zp$%w&-}U}TkNgzzi?5VeSs#tvVXm#LECjE5B7)1H8IK8^q8n^Q#Qb+54>N%#sabe- zU{laH)b!|g;SKhF#@sV^{SnUwMU@#{pZz&q(bS!*E^aH9CkU~y1`!-omKz7(J>h`V zEBe+Bw}7fTT;vYq)Se{|-aD94+#l71eVNnLc|mt$oJrb6&T_T{lqfwG?>; zfc{10svScuH6?>A=JEs9+da$O=>^DL^-Mar+Kdp|b@orB`bpqsFV~}NiOyd*QUBul zorXlvkstC5UoS3W&m(h!mR@);QfClhB7;f~vUlzQa|5XzE=7XQZ`oa>^Iq?R{dPSF ze17*6o(J(vQ}UYwtTdgp0(nQ>GmZ1b>YSkNm``;|33hux35=f=c;JAO`$%h*zu0v=0J?;_8JO_Z_N8n1E{`m10DRly_R{Z2J10Jv6w4!G~~07S^N+s6ZUlN2HtejG#HeZmKHogzmyV(ih|l`IF$ zPgqZ;3;v269VuM2%b=jM2SD}$8wFj zsp^5*9jDDg2W;T4u(=)@jV61aEr8?MfEmPw|6KWIP5b%RDNeC>&T72kWfE1G=TAh~ z_Ihptb7pj=5A@1UOc+UW=ROI$f$-x&&Q7q>5^q4e6z7KsjJ{(5VqV}QOzA|P=pX#$ zic6A`JDua759rF}2<)Uv;7al5h>u$$%}@!fez9QrPs{Zx1}Yr9kBuna*bmr}gy6xp zkNXLRttM;_AN04Or^;(xQsvT?l+w8a#88FQEWDrtFwWQImyJ5!q6n7UaVB>9k%fzOuz6YC@%rc!#!oJ1U8t0=C5K(=fMHASAXGcbs^Sp*qxJP zzp~Ok4C7$qRMF!)8^$?}xo3^)cTAD>9BO4k$)EMqhxb+}5@RVTy_glKe=G!hPQM{z znyvr$J#$g#doIuR-``M-y_$Wyy4622GbIatH*eMh)SC_pKs-qxxxL+7|D`bIJ!P`~Dwa&%Py9WV zCG-cClI!Zs3+{$Qod(9T!fxRAgjRcc`Xr_)V!V_13)3gFZ^tyh{ZPerfh{5`IU)2xqbLQUg;-#>OI}f)Z9I*MP zI(Ucu{;*bdeu2=@6vKyZyu0=ZB;QI$J@!4Qaor$^o@2^fw7TivM!7sPTdcEvQS>@S zf-O&@<)Ir~{7dj+#h#b-S>mVjQMxyuF9C<_zp-O}AHiL1(=sUTnt6h#g*MW``gG{ULOsMd0-pKYdY#_f$ zJr*!*xNNy|ouTS{8)z<_vjy_TgGDNtb?AQ>jYK>lORShi^bs@?=-2r9dcsVWaGgl~Y*FS-R2Mo$0t z9`H7U^p02N`N&`13l}F~>uB#V6^LE5lvF}RRu^FRePEKf0pV1~ntj>1qtx@wh8EJV zX*-mBF*Cj9Zqd67aX?iu)Xfm2K9r3*Ic)H6RM?_zTY%rM;J02g=z4tTrUt2@^`ug11{P6f^~LI-zA@I3 zgRFqeNB7<`o%zMJ>|~7mS_AxY)C5_6C6EN4Jz=)`v<6MG&;ma?OqDi|i6or~_=YN; zzR^tCiX$EiKMQGPQ*iE~1XQ-tGDf{qSC)6`+}f1Z?2#Rl=DU5T0sr={0q*UZKaS>U zc0jc}d6PV*tN)@y=Q#~*i$kb|GA6v@$x2!u`#h>2=yhp3*mUCKLuT;hVdwQ1%zgE% z8T58EJ-PuFDNu*G7Np`LaOWiJWsfyjH2ZDK83X+gak-{K|Iv*$%KJCQmM!AXxKfQe zvUA$=kXXhM8X39W>}Sjz;|FZ_Vl|ohh@GlGa*l5owo@D`x31<+Q}yQ!b4$V1o9^DR z;cp)-RJ~8tf8*>r2U_56*%zqa{PZMt>9<}UCLQw0@_rhTR0xJQ(5Pk%wosyuv5COT zD=k|Dk`Mm7f{F+r8`+p_*LFY3*75cg0S~>8X(Q@*aHuB_5$^< z!$UqS$6%4A&>R>tNdR-afCBaI^CmxOW!zk`Or?P2hiR0&z=mZOmy$0Yvl19F!uf~Y zGN1jK9fP=*djmit-0bYI@j30?Fuu$p6>^1{ulUwCy7$slY^TmSov@xiAo9cE#^Z=V zLvV!U6N=|Q0`NIr>by#s^4ofR@V%XpbSruB-8Gbt7ww3Iu6M4%D!&SxRU9+q%YF>s z5&k1BOwm{MT%~V$ps%lk@SUV+FL-An&~Ycx(?Ydct+88O75PNV@6t&CD1U1WJU>|L zzJ^x(BYy7pBzsrUhkiT3u}t`<+b8PzsYP+!>t=xOO$QPG4WeV(M-pz+vH|VSZyf zhbiIPv13h%wrKTxQYCa&L07N_MP_qnY~aQ=unYWC5MxDPHVLsajm;a9Imt27k0J z|J%T(K0mungZ}uFiwY^Z5dCc|Z}D?(7Z&)*6-``!`hw<^;3@*N^Ob1f^1#MFUp687 zX21H;6*uh5JHB6(0-d-48F@G|bg9T_sh!RU2JuLLr!gyCLq9H3sG{L^$&vLKMBK*I zP&j`rFpLsa2d@0W+Yvk*cOS!vR_G5mn91sTbI#Jsu^**#hW1&0Xp8*N z`!|sXb}10gBNs0g{?-V>`Tu$61e?J#kX_ic1~7Neks>H$xY3#UW8HQQRM9Hl+TtUJ zutws>i3JK&x+PWmXO||r?M7}Djch)erPf!Cs%8VoX-24IIHOzP=pO~>Cb-z|A~@?% z($n){2)8(D!3O}Y@c6|rdu}Acr}UGWAO$fI@=|!HZ=K2xtC&V{*@M+g8n6 zQzKLc0nFV6Pqi+LX#QeMZTYa@bG^-@m@f0dIjWNG0O0ELIo)nrG(w$;QuiB@6^wHN z{dW8d?VcZbHvCLrH76nErsInnGsWUH9<-iD(};{TjySNBdy_mcymc0SmK3Ld*KZ|x z#VDTqn|;4066Si^<&hQ@M|9x#a&Bgkt5XwrVR>{TrO{O$*G20JRH+%0*$W|HFn99s4Wp^~uQB%7@;=1i5 zS>5Cu1c49Sj|Mw;(IKMm+9>_e5l^(I+~7E8vN>WR{6b8aW_4|++k(Nk$Sm$aQ3ZQ(l{@=6P5l12psDt@OQMPtkn_H&Yz@{n$ ze4N07a(dLTxw1v)GoOTuyEVmwuVcGpVHNO4OvX{GuNFf1O4}%nqXXxoBB663rc|wx z$tXCQmBw6^HCbqXWSTve=$vZ}m@G2+sZ3je^*%_ZNQCccByivQXl>lwzWEVuaSRc| zk~t*I9u~^Ov zLio*y+G-Kl;CFPU?~rO(BBf^z;=AW#IVC{V*koNv10tr3l#?wUmwk)2W20gJbnA#f z$CaGQ)n~x|t6kEwSnccab=fH}dm1I~)KhRI{gQ%e0t=zG>ii;hwIIAPKYSZ-W$b;Ir{C?oF3R(t9u3ki14_k1G2!Kmtj!?mbs1zMNBx2F zz4?W2KTQoD5IP~FREYJ?kQlwa1XxD?)Vi z%9_RWY7m24lm|O`1n0D+ZjtILvHGpJ*l``vORD(f=fa$$pq>i?l;+gaxvQX%my zlbY%v!rfWhOp`+Y(U1~u5$SLa2m4jT{LFGiovJ!5lr2mLc4~`196^o-x_$m*Lie-V7A)75 zjX2XZC2$Os00a`}=!(QC0saNq7Z(eLu51mx633JpngdIu#ay9Na#UqRnQ330d-?q)`WOGVLh6?e zY~dzWxPblp&63{-BgWJRwx_5x>Km5--TTL}1TejrfIY`=SrhG&%S@FvCW0492)3j) zN*)~@^a8{c>18_S=WwE&XY;!8w5j2N7;Fn-5Mj2MAuPh74s*@Coh7Utp&f@JjXpJ| zd|C;=X3JzLH+^dRX%U#Paw27sANb_eo|5_Xm-;L%>eMnozNGo5c;theL4AfGlhvo5 z4>2y$dS!&*oJ*4oU5|Dw4RePAR-Ydu%Wo(aFE2tGZg!e33S%sZK?0mu`KZDS?O*<4 zSE*sm;L+S>(7{pn3s+W$1o>uin)wHC9p^YC)~yLYyTX}i-rHyeCK?;udxIO@q><4a z#4`249x?%oJP$2ORxzKBpj(UK_lEXrUd`kx_sPyANoh=r(Ye(9e!+FeWNq&8Giy-o zOA3zxrdD(!C|e=S$%O0}LcPgKNIaZGk0F*arGg66BAXHO>=}(klyzFHHR=I9P!e*d zX4hY_d72vZ6I}k^dkgt%S1z5&B7mP2MC~F8!Q|xhQ#IgIJ!s>}NPM>&&~!mI(||Bi zVL(#iFSr67lvMC|morTJXFPq!)gkPye9WE1^3v>f8kK^L02UFv*+tmsj-EnUv{;ME zNir!5MhI)I9iYj5Y`e>_nQ{OQ11CZUVWtiYXaw^e$Th;vl>L>-qc#0fAc1yKXq?{w z(p_H(KdN*!lo1SSy+AqPOw+Z-n6w>xhC1^4zcCp)*4a1Zhx*dQrxMizclsclKq3Y4 z4M@d%gZOxvR*SM3seJG%Asp@f5c8Kx>QaBLPavQvda?cjc!5F3D$Z zW@60;1(DQ}1n0+`RM8N!8Tfr@6x6&yTQH{y_x6IxLJwTly>NX$`rtt(!`*tPS&?ZU z)*-qM$<3|X=1hATJ3EBEqw8L8MRBbH2Fbt0sZm0Jkq524&A|=E! z^+GyR_|&~%K?Xy^T(OTq|53pPZx%H>J=Y_Q0_QlWsHy`LvTGR7^!h6 zrTyElJh3671ef+H4++>y{3+WUR6%I!dKvhJ``AdD#5lHuQyek0Q*CvjvEA`ys{$H*3EcH!L}-B`;s?i4|n;AjC0EaV^Pnf&CWQYQ~PEot(RUGH8ed zOc+J7-ycwZ>&%yrktT9hTlOEkhKK1~oa!;DC&i(}wp^gOr<`=-hS(5X0^HyEIMD@WJ!H;wf?K_b5eF1y^HTtix1hF){5rrDL$6mOP&?PN(j$S z8wgapz{2RtzR;tyybeufQ+mAhB7)fT?s6JJfUoXQYs#UB2||s`8m>d~@D0Uo+SJFR zeWN8YV0ItV8N3u(aZo?v^;Ud?F{S-~&FeP_GW!k>HF&YeupHmWJ9lIyg&LHeT>}8vbw=q zQ4w5CSqK@rJagmt2yKVN>e1U#u(O-lFrUTd*fcmw|059@uma>1>ySH6Ze|$Of2ws; zX3!sg8T&PwGzJP8GzkK(@j)u^ol=^pHGfHJ-yN{?Lkb4Ic!?LBe-uZ+KZSJ0e|1Bq zN2WnK%W2SV;$D@8ZGT%>5t*77fyNIf!uROl;OkG*uc#A-_LNZ(jAGxgmu zQ;+LP*t!a3sUH1mrc}){;_lhE-cB^Z_ms+BWy9WHpo3N?MoXB-dXh-KKBuoGsHz^J zi%Eb|2_KEHPkhQQY4z!4hN*jwS~^^R)>Xe_0x|WzV$4-VlH>UGcaYJv>q(cxwc8We z)ctRMuq_(kvo+fqDC$ySqBV|E{9lJ97y~X$T^hHv70;rviAMc^qwZ$!qG;dSZ7X&% zav&pKTi}guL7W7ksjyR0xIdMv4M3k2$h~vABI)DT#A#}N0owj-M3#X|Pj}NxjnA|m z5vV6qDSCEKZD6nJG!&5sa=;Oz+>k*mP8m?L<(JMRNd4ZgTRjaRc&5OMo8*A>;Vl)| zc8QIB%+()IP#GlYcNWN{9pBe#DDjh zLDGl)>XO)fk4xN4(DAS*A-Xoqb$d)BE=VF328wJ_b7uWS#Lm*xoRmT~yz z!GBb~zg${;2MV6!(|>emGF5X0YVxZmvo~UcU1(QhA)s^+4T)6>N&Xn2$q`nN?QoUoh+ap6{c@3}EZ>j%I zrPO#;w5!ew(xvVWZx#Wp{UXJg+o365%}vm6_>hS03UI)d@9czkp*86QL|*LRT*;a{ z=Uf$B4%!(}I=2?0h^64%?e37}n9&kM=rYSmGWME|6x11fV--2g!|!xof}UOUn$J-v zwG;B*QasFMIt*CbfP$bDGPY`#1pp!xWcV0zKh+$pg$(gpn=o1u?7*=|3yoi|p4~ib zOifwNVt?sG-FaZDiTe5$KKIa6ljNofpS!L1$0eGDq3AK?{ap&pH0nb|#DL)(6lqez z1ZZ7^$44JP$sdh8zaU0V?duvH3p8sW09i-R;Y}-6ozn$@xz3#w;j7%#0NsP#YYI|y z;wn;kfItbu1=VRT!HSfnn**b#f%c{Em*|O)h%Di+GU4{Mp9_v^CZ837yjB`wK=?!{ zW`SP_st)XHv!>?TSHbV4p%s--#e4D)viNM0PDc=@XbuA)e?s1^?|!*w=LfG(YVFTG z_22wiQB7T!>IPh8#Xz%dtIM0DHL~g(DddNBLJY0hHK-_()5FtVx*nh#(cK!QH=%uKf zpu#sUL7ZSf)Chj`Jdko4^14vaPljY+rEmDV&FSK5z9D_HVs3>{WjiZmVVxa2>xwwm z*<79$lUthAN1(BltbfrSaiQF!dvA}4g0c=CZA8|imLboKE5VCz&rG&|t1hOpw1SA8 zlk)Eo5EJv@H1@c`C9BogXmF>2sNTvi*d;Q?;h4emb-mi+cJKVn z8?CO7XAltKC%F{v*ng%Q9sv8!0#SL7oK0qW0r}yjk{0#Z^Oeu#n-x;rAUWf5gOo&bQbpN1x?w~g0jwR3D!>pEq6vN%{O+j`7P)4%Y#M_CA$7y)VZUzodSO_yMam) z(|Bu2p?5=ZTv)5$Q_XTj|85CZiuzj^s(;KX|4&cV^VWy?sfU?yke73$GCh>5C<+BF z z`iHh^Ur)d8!1#<}U6v7m(wKcSUUY}O6%2vE=4WX6XpgQ;PU_^*C@2*3Fh*EFKkR;I z4`hqG`5uZizPCOpau}!#Ia9wub)P*sgzGpJ|ynGg1QYz*=SjUCCJ!x6G}ce4X1oX|g>AUiQ`;QtiP9+Wn?kyLr@n)ua_m zj)!`pe%bo1A3BHSZ2HhK5(?H!)DD=RS}aWYdYI~YZ>gUSO6Jb+?=#}({pa$6XesXP zaYS>DfX&3)qBqyOQa)uL=nE$>+eOe(pEfLWN-|*A4mxTc?Kejnq znxN6{r|u4o@Y?B}`&zu>7UK`%cdtbv@qRur5J&QhMP4od+@FWx{J$6MOurWus~;(FqG2}-SIL9#66 zEmte}`tS$sn)~)t84AY+aJYvwhJ`)8zP|q?gU+-*mPc5YC4cLL+#g4KgN82IU55f? z4IxkGchirKrr-U0gf}>#iAO)5MP%tr)nyNF2J^xF`K@AKekAoZWj*~E@@XQ_Ez#pf z`%`-&czGt@Q|?CQC7hhBZ#DZ8W|CxM)cS zsBu9Y8_oPhjL$FIW^16Y^H0U2&VqQ7#@7j_y!}8RXn+l@GNuf)V(-U6CL%Z|YITKh zULke2eXj->yIOR1k`vqyO|CF-h!QU*f&xk_a1}nKtMzSIa&j{!Ra)7r|JCRwWcSL& z)pgXjhI4du)Vulg<@-UU=X%^a)1QYP)+p%&e#NhltE7@=uQ+66Tj|wa?>Rero)Hp! zp?q6WIu>GV5#bD5R|D0W<~}ZW-YRRSB?+xKb9;4GIp&tcqpHn!E{!49E~lmPY)w5?~)(~-ohf0S+yHPE$%Z=&X6++_9;o>&;t+M z`0CRw5l$nzW|E=yV4o1Y!g{wczwe7o>8WGlLi4DUz@H1LZ{I+69&6w_-2M{!Be~ zOVZa`1TAv!_cv3wa5H78_d?ue)6@|b0`I9F#5eOzUW&E*q8VwC#Jcywb_wy`Q5xoM zVOzX^lqJ(bcn0kGASp{Wdm%6x$+3d*F@k4k1L-Tzje#hwlxxYg}$^fq3f0i(4 zW2v2jfTA1wpj3MR2Ze+tK?&IPHHV!~o*)uX-EW_&9lv=M@VkXZWb!m(*8 zvZ*9Wm*n(XN7z?ri~Q6W+W(=dbnSck@V0tYZdLFy??O;ChU)qzNcRj@>tVJ#3&L*4r6 zEC$Hmd%&`iN+d%0op+!HlBT4HpVsC`1=K&WwSR^p0}g{|dAvLSxlCiQ@?=d*4r&nN zhL5LiQ6xlhqCx9ccI&)i?1;R9uZV;5}{lxPBie=KWZ3BlJuSUm_^=cTHm zDNTp{JYf7J#ca6~G7Uh#OYg-a(VFKSS#{1OxZbX-Lm8sYFAWCgDg0UcjbXX-hW8Iv zZqp&FiV79@tgo9geW>=O1(m^9*Q$}lRG$E>tA-1GYz#_%8^r>AUe34S0bkLLhp&g1 zk@d6|fry^V#)ppF_NCF-Uq8LiGwo#51zMZv8A3hcZ{nCb?Pg+41`m@s*gOBZdF1-8 zf$uVI^cJjX!LvCq;Rti4U)~j0_^~vgn|X^p_qE^RjCzN@ue0k_8D8;~4n(T1@f;6wTs7^z+{C>=S+3Yw)s#QQ5F~nzt}4UCt7YtD+|zTD`?VgwjsS>( zn02XW66qE2%7`Wr$_p_kwh#4{$AbbVEatsq{bx|sp%?fds^MSI&I(#O3%qlQ1*E*ckRB2B{2$IW$S!@w^{}QOAk?W*Gv4=m6bCl4S7%Z?hS-8F1Tg9 zm<1a&{BjNC)L|jlEUO=Mk?uJ5>ocVRZk$Qy>z%Sw3~M=2-(=!&r!Z!EO9@TB${)PLF_^q3mwIjx!(v1Ef_giwqj zW#F0Z>NZ*bu2%^BoI3$iMLo1|n`Q|LGdLMLR zgv?MEvk@%mXK5Qi45OALm3$Eyg*lFNC_S; z@|ZfZ({qYCP(&-|LTl>mn1h)nrM)|XuGTB@Prch^rMG_e=`Ef)LYc~r|9b$dwlfp1 z;E$0$m^B8YeuK*~w{Gd0kf$>bENj}fk*g($(f`gxbh9%mv0_%SDr&K>S9!Q{Y5WmV ziMiaG!QF5rBb4s-eCva3VapZSpzjLX1Gd&L0%3EPCw_MfGlSHF4i&WBd+Cy{sJhXUQ+`?IWRP3L~#LuM%x z*e0g?J4z5!h$w?BCPHNH&8?2X2(L=|Y6Di6hGRjk5F~v*4}#DCnoKjJaOE!zh^R#^ zX?d!qH=}8z1V_!t@{yWztqrZ+)eT;W3m;75i3vI%{2b8&8;Yp@?$|nF?r&vSK?t=W z<)cy|Qc?V;WBa@rU8<#*o#iXW5X*dw4l{0mF*Ty$^a*2%`{PGu``;Io>FAff*l}L>Bp*DEwbw#@PH+D`4Pg{coqhxp)ieL?2fLE;FPQv>+ikpeP@mX zD53?yxQ8)-mY09+zRKP}+;!DvXW}U&)$0tzX_py zOwp5>Wq4df&b&BJ&ql_u0JH(Lx{6@w?%q-qkexb5$3YS9!i&H^Uz%}#Zv^WQcYOJ9 z+l#`S2@8STt(R|cRO>?0wWiDV#?)D2B!IdbJuPXp>hbbm-2k@RdnVG-G<+Ki2XjE} zgZTy_5sIe&H1&`Xb_n9XUuFi?p~M&_<@RT?Zb-`L2&xzCxD(kM}+ifN0LAdVVHC&bkH9DY1()YL?az zdW4stR?i>oSx+O1FUntA*ID*s*8N_wOH;FPfp-Q;9t;aHp~9vV^m?35Qcp2GI@9ly z4t!PMt z3Bb=p_$~j*cI8=u6k94nbepM83zMGZOuc6Dp%S?7fcAY$0JWwO26!BhB+S@~GU8A;IKlE?6?J{iLp4-o1ivY_yK)kr zh!=5`N?IX_9xCve$@Q^@bz?$y+2>pS>%TH|3o>f$=JZZjaQ|HHK-c?VZ53xfZLHV1 z!*i^y$TY7lnPg&@XI>t08+p-+<)yRw)M}ZK@89V8E~@4*=J{C7e5rf6*zbGxV{i z9nJ=2$Az9Ya*-B$0=(2`kX!cumZ=E~cuXh?amiPXOH(ICz0rPPL! zG4)${ISRSxpiAX`J@=I|+~E>oj@|sUlw}#q2bit^>-Xpz3pn97_2W;!YGZDy#$CO{ zgSuz)^pPr7E&>mYfZtN#3p@+}_k8I1-8gAMO(q_CNauUen6$bW3m)3%eT`BX0K%7- z4{QnN=kNGVgEHr{_I)6&;s6Vg<6TIa!?xv1D`*B1WP z+26bYx-Hn5^r^VKlA6YJD}KD3I^&fAC{NWkZ5I~vuPyMNNW%$ioHS+i9_sK58B^m} zsP1Dg>!vjOr7203S%tu)VQ`jD2E>B?(2J?3dat^j8h(v)5x&%RFgWu!n=L&Ifh(Xb zrE{>QFdrVF(pq#~JRx;U{NSL!bsWR%Lc}cBhKt2V0lvE+1QKXNZ)PTbuP7y{EI3OB0D07oz{!G6LMBbD)Yf;GpjGVI>dXlsx>` z5W~GocS$Cni8WE>W0Jw%3igJyYx=)W>^}1Z&JvN9J$~tGOFjvkbpS@ z_*eUJP>?TOX~8%#_^OLTPaK8eobwsx>^L^iIHZ!wplp#b#O$LXK8O&s%etfBDb~>+ z9CYT)Z`<^W7ZC39{3GlseN1^t`#dK_DG%v)67}N}Y_D!D{3wM5B^mbglpK?E{?7CD zO ztuSP~;eVTog&BlFo64+RDTtL^$P5m?zxIXVHN9Zqef5kH337TAU09O-5I&1s*hB`i zJ98thjfOl`f$g3eLBu$cp9BlFyVhz5^|7ZzSTQO1+{tL{kK-L}vGCfOJqRheVU}F@cA+TV1S10fScE z#32DW2hHK!hNaE1xefkj0&bd5W$G)k`8ic1&pal8=Q4(31!&cGJkBvo z=UFMscWwo+*aD6zPKm-tsybvLw&yX<*P$NOvx7*P0rCL`gqjfe3=$XBXr&z zLOq^FR}WllU?9femS>(8!Djg==ZhYEbmXC#PO0&rM%&S|z7F2x^Ct*a9V4{E@pAs(wEqB5l%MxopuhZl3sPF_^y_C#V8TZabB-y99d}yU z%>k=Dy=SPi8bJ852(>12_)UC@;k>U{AW**njt!KdZpMUrfsjnEG>BI0+5bnnQ6F=I z7xmfi+YoloCl+NH3zxn~I8%L|!@(iGMa7Kw=#FUaJor;7)6r&1Q~*X`*J&^3j>46b zFecE!zeGFg&bF6*prQVoj>zH&8q`W^;!DlCG0&G)*{g~OmMCzTh3U|WL<^?j1T-^c zZsPF3%pZ0)p3-R={MK8T{6cP@#~dqs+~M}H!&6kS3#c7|C#E(8(eV8fn4{v!orlX9 zO)}XbiK;yMyYznNTe?ZEeFYs@m2}%J_Xi}=ck`k?Zy~50Zx~e14%xe})8nEvNPQNC zqXu6hkH}w`$o@AEwK)cjyAYZpq)$@BaaX-n#0ELf#lT+=atWr2F@z35V~;m3t7(XH z@9qdweIN|M68t8YTDd#MzKy9>@-b~e>5U=mD7EwG=sovXr|rvun&uH!yr@SZ$MC}w z@(=2vnZ(mQV!w{$0e53DLixqvy2T4U_Kac%64>p&xrcu!>|L_7=p{9C)s22u{wDy_ zPy)}SCtaw+xITov3k2?8!Dg}(3R*2!H6FD5FLk!LJB1%c3x2y+n_w#R#9SG1trzxD z3r=Uky%F?;?hPwOMR;UhuE&W}Vu-#&Y++Vy^{$_U08uvgS2pBrqo#rdpjP!X=d9(C zjw38<&sY+bHx-b*&f)J`kZUTIJhSJ?>etnQULmnAm6-CC>Dt=`pp^SXtpg0W7p$f_QnXfR+PURP>V|-;f%>6ZGa_H#Yc}WqNwq|>!2it zU|i?KeJa{(zgb~hEAklUlS6>8A!CYhDk$N7*v4wSSO}3sedP}e-CjO2+Ex^kfR#S8 zj<4Z>hS2WTtohwBx@==}7`yJvyngWq&;@?>F+t`uuuwl!8#`m+1nrcSymsBkP#;xS zoYo<^6juGXNFpuS^zJ+t7)hU+t~kxX0TGXcD^fTH$s3HaW}<}7tr|3@FI?9dYY5Oz zG^-!lK)(EMVceL)x1$MBkPQvfCYK2_Id!n~UPQPjld4QS-jrlHRFo^N{Wd!gC)Wo1 z3<1L5B6qq)Qo9hNM+CA>`WX$I771xI;uNiVkliI_wfM z&;c7Yjoo~=rggZm+Y291WxZ}Rvu8ODP`?KQv?wp4f-C?9tYtWF@)d-f#HdOF#=NrXWt%F7b|;-g{A~ z)IH@RD%y26(H-&p5|dTY)fQZiyTTcr=F+h%!dA56zI%vJ$@eSZ}-P!e_vESv0 zBo1C#?$j?5iCg}|DpT?V+iFrYxbaaH8*;d&^LJej(yH7tG5WYaa3QMB{k^3MkNJ@u zA|FUar2Y|FLl*#(zxQ?5tBt7ahx-}(qClUI+2WT;3e~OP#dIQ$w|V)$n3c=|Itrcb zj)-zLVcKGZ7D5wqi*_8BRRw2`S%1-BC*P{e5k!D53Q$}Q+O<79pm9tKB?9kqyO(jF zmwua%+%3;3sI4GyH9B+cSXU<}c!C%4Jj{P*{eYG*k4Jp=@p<+coA#jS5gE!=n;;df zdUy-|1%7?3It9SQMUjos=oCoX5i!gM7lwGcrU1o$i-s;ZxT`>~GVz7gHnB_c_RZXx zTGaL^>HqTVQN#z+Vj)8WeM@~$?r#b&G;4|&E&HJM2C3rf@4yG`a9{# zO$)jhU7WyTE^?q}rUgEYT)qWpvcN~%fIn5(PojmFcYTbkQN8QAX;~ZV244vf#Sd@) z5F9tzhkDePP}dO6w;@cC#zqTXiUM*&Guo1Jl$0f$<=@N{l1g-(6r+S~o4+C`_|D>N zjB_lzHl{~zQ!8qoU`uykXXzga4V?8|?~k4jKS)x_d|3Gy_0%yb1eWEMa-6m=isz5VP{D z*bhR8LqOA`1wF!v{ENNQ>A+^tM5usRw!wRNxZzoh{!u`vsNUkdI{E4`s9NzFj4)}^ z#@rX?5w3{@EDNCuYdkGmwwdF23x20E7ZOkZ^Ii2wAr?lb;&xKkvZiI`J20=GqWUyV zl;M3W^xw_AMSljhhUF1JtBj%DOUFA^=$o(0b>KdF4BvZj^sx2%**C!5Pq%f|_C6*2 zU`n)`72pEjeWyh)`cEuMeQz|_3A_Bx4SFnw)boT4KCy3{1n4?~8pWEN82@el5X^gS zjhO-6)OSp%qixw8XLzOd;ZwvM+hnT9NlTeaJ>^2Cbb;r89MHAgLexYzplD>Z4vqAPrYRn`{L|M=PvoQr_t+3 zMe9Wpc{&|_=b0D+{Sadu-;r>HS`!CSQCPpS;~3MUEnqm*#xQZw_JJJ;cI@7@;OrTu za1wK=5N_O{1?LulRe)yf+Qlj|_Jd*<|D4`e5cTR$7ka0b&O&%l1b_ZwIQy6jDy!Ea z(B!oIs*o%+ny7ymd#x}!jOWcFOE2-#X%;arz2=UlO_%2J2-0`j6`CZr)Y;)H!t(R) zf?!}(YYF#Z`WQv!T4YIiFT6n{ZKynXgC3At_J8Ge_#t><86R>W&po(p+&sZU6TxY@ zcsz1u;U$^A(#&Drqj{_<8*7xgK3=Xp{vZ-T$JHUFp2eb?~vICNyly`v*tZ0pikZdba*nGbPCrqDlojIX6=(_u>)Q;F8* z=b0?{WDvht3L2ZPy=i3ywQHZ+8)J#b4QZ886vp!M#YT#u#4w(preUOO9}A7J93-1| zpU)zJRQZv!33745^IKkO?H!m~ryjtkby9qD+6SUA_?y>x&Rj&r8G|m#@`n^`N$u%? z(AmZWYcYkzV`IlZr8+XZqUJ6Emi?&P1Lp0#p&U>)ecTbh5CwNvFm?Ie`nv1 z&*vDi(xCRtkmK3#RPAXTtJBLxeB7>4FB)RtCmhWkrabU?HKbtL0os-kX{J2c%NQMq ztMb23%|&ZM-kyoVoIghU$kl#AsRh?+O_5twRxlz-4Tw~*BGglX6EWlh-J6y2hrF@~ zmajxAoH}p~r4Bw%ZspI?cVnSL$muY49FdxD<@iB=Rwp_SsEnl`HWctbY2|vMSs0to zj`t)1V_fAM`KBj7Ut=zwV+IAxF_mqY!V6~G?abiRkbkKAv>&y1@U9-v>q8l4onPN@ZXt1QE)H0@25H zF4d1f74DGpb}7)z?Fq`sX{nC_YRuY(O&3Y{yl70}waDXYEIDi&(3C5MVZ@js4ysoj z!rpr4L-sc%NrhR4(u{6SNY(nMzr6V}XW)2*{1oyMIotg$91|tMN-MAi6<7$y7x_r- zEO*|Vpsn_Tvj6RzHa=RBPGrm?cB{5_w?Q1t)q-~mPe2JU^ugCxB5(&ITzX;`Atp$% z?@u48h`L>v4HBhyqf5MaZ-XWJO(GFr zx&OWme2ERBr-{?PI*0sNf3%J0%9~@w0D{MxZ(fA#MySsaxW*p6;4+Pjx?j;WFILd> zzr6!-ZGGGCr@>H5e-B2lPt%PtdYs%edIaVe4?qy1rg+rVYNac`&Grz&+SwK}3NQM= zJ0RDrBKP1doKHvxf*^S6C31QC`Zq3+T9X{@q? zEn^^jN>mMI^p;tX^WL&1~#Y&|t@?d~~-tvtE>mICc%k6c>u;xXLW zU2Tlz15pz?LZ*(G)-*11ZCBsu*|F7-7j(Us#Hvtana}rPj%;mNMQdS=((pG#_?lYUa zG(#%y66oyE!1Qp7Vk*Osx?SVJ=0uD9+7adYl-9m26$Vr3d4DRJD^VSS$irMEn4pYT zftJF%3Cc9SBb(_oAenZ+^f{^moFERxoqrCb_h&JY1Y(XJNn8&rpol0CPqz6v-5X|G zFV{Di)h$4A8K6%TdP%V4(aRh_BtpGLh7QNc@)vJ_>WbgC=GdOA8EddEy{E*VH+t8# zjbA&o zZAom`z~BRsh(ewW0B{;It+nj5-!6VgIf7anZlkjbEkLe?@!tn?rLpG_(0mJ-(lwKI z+aH0=oCjqlcJMLf#)*Ng$Qj>0G)Km>KM7tlnteuOSWbD<@Cf8X#1IZ)9&_h063NS= z4H0=5sRLrr-$CGq7$FGE&ZT$eq}WY_YJF|?DGDo7fKPvJ4zpO*y%d-bqNbeW(OVfm zc)5%@@rs~A!osN%d2F=1r5sbL)G$tHeekl|l(4rJ$6^r8Tp1QxME6{0dmB7k?LmzV zSGWNUaAMP3c9PyJcrc#i!`VrYKR^?GD8uBoaMZO8T-nZH(0l0x#k*Iu!QyW(?ck=u z0xEZ5W;7IvJQ*{z~0J0%8Y3gYk*iu;P z<8OH5Ufv@r{X5Yg#ygh^*8>lvk=z0hkA#fBfSu=#!c>H7xBZ)Vy=p<1BKnG0FcQ36 z+ut60`&fhlcHCUFOf!N;s+3Ktua!iF9bD&`X5wenL=J!dqwQ+}I#}VBA(__n=PU_^x)k06JWFjR)0Pdr}h;fGK?L3)3WQ|)DB3e3sekGp-iMQzH zY^UkNuOUz$NO+^*Q#~0sr$D~{mivP!Oy37|FTPmvt{Kn#SBocd5WxFJKfF>9ruVv9 zvNrv;Iq%AebS4OvS29T4I>lCdEoF6nQhcHzpfZLv4JhjXd!(EGSWkR#izS%L#@nf` zAm_spvx}KFRFi(^r2%Jmii0?(tTFvjI9pvqnhj&uhxlpTdH;Z6Vto!b7kQfIo?ir5 zaqQu(AO=nl&3X#sKC1QXKBU^Z$V4o8}6eM0) zjJ2>HS12=|yV`=RM86z?y_~;mPAY#PM^X9HEx^9sbFAWzufzD!$MpPO)u1Ir3 zr5VP7u;%)w(A?fOi2C>Q<`R0m7*xIIu<#w2r?W-mmps~rwV)NH;75g zi4#{I=b7PL?zG-E0QPFs*JI7Bm48TM!#~4lP{NFB37=UAjc_($BNYuXSfFqF2p_5SKG8f3o|! z&xkiRJ0w>?b+{ZSYt$#WqEvfKfV~;*mkFITH&@~yiV2#V@Bgw!xIYA`SvAcSdR1Ti zlmogIVFgKcKT8ftf|v>ETtA`4 zLs>vtc}XMdcyyj5in$lAd|n`09Q`h!Yws#lzXp5Tj!xPBQYazG)*nI*B$CV2F=y;Z zA;!+C9t^-gynL|M$k8MXxxu;*L4|gcE8H@eMu~z#$DLx+7cjE9~;&Ee90I@ z-nq1gW^mH@|KCdCGD$;RL&HM*d;_6;bu`QIh*Qwh{mux%sqE_mI1fn_!v-%m%@AQ% zbrCkL+b%Xs)^wmED*tRq3DV`tz>)}T$7aZPZapjcxOY~PW0XKjN|~IrCGbD#IH-%h~^U`q=zNrIkR43#lPCtHz8+jMMj- zzyB2_y3cNS$e8lR=pRGxQIRQlkR3fHYdT$|MR)b|Cku^i?47pIVY0dMmE@@K^R8Io ze24MpTW1vhh)5j)=5!>C#b(uDd6F)Hjjsx!$vE4S8+?>!Z^;~eO;RN!j%ve);Gw_8 zo`c*1&IHEe^vu&cq@}<58S<-+Ffs87Z@*?w976!#W!D6lz$}q=0bWY?D-o-rg{7a| zZB52!QP51&X0o~uU7!mEg0NPi4R}$%nXnz|dyQ)lbGP{WmN1oL5a!-u2HbtM79Q61 z(FnO*{}$3WhFIV3z}(R}vba?L6n9D-P{~E`G}G3IK-Y}{aW)AW*Bv9^N*l<)qImfs zL?=1c9Fo)vt{xm|Cj{I7Inr)0W1elC{&t;zHtR=u*9aX{A$X<2em|Z~%Z=H+_ci7m z$*p#7eBL}mM6sMOtogG$F%;g!`>fe`l57@7RCcP?Z^{b~dIG~Y>9D~*aVfSJj7x2( z!V=NH$im|7baPrakGK%SBr9puUuO09WgX)~z{bsA#@lCn`0I(5hyNtpUM_F9tTLiL zi3N$~VV<~C|K`61evfITIF+z%gSE)Q^AJ3@i=U4sM6PjThQtWi3r19zB=sFa!(84) zW>+PcGLwH=QAtUP*d%K@BKH#Z^n>h6lk1lq#+8d>dOX-}#=_72lEe%Y<+HF*YZrky zUReCKDoE#4E<=jvRbnc284*@2ZxiI2R-}uiH1^erxaQ_(rxGx&g0PasogXn!UKs?M z0`W!v7S4W1Q92>u4LjK5!8Gt=u#`d-?gieoAdNxxHdq`qX8uDa&N&KGa+exr24ufo z==UG~eBv=R*(}29Bz9iltmE)tx6V_KYNf=Xa_5Zkyo{!m>v^-P^epC#?(=)u1<^GA zy*P?X*zM%3nKFN(?Ur;ORuXdA=5lV7uT|BSf49IyUL*=I{3W-Bt9x+A8sn88XfjNJ~cEb|3D91bO zM?btNUhpx3HH+nag>(m{bYeBjbK;Ze5nPPSWIw;a5+-&nKy%Z4ImISb(HT<-O%dL7 zu#D$axCuu{c6$al?S;>uXCbba4WEHV9U;UcU9;AI8)K6N{2-bHK@NWTeY~NCOWis+ zKg_TZH?F;0C|cVy48Fbfd8<~H2j%MC-wcQAu78L)0lDgojW%#4&%ai%CypwyZ-7UeDO#Tk+&3V?1CTnOq+6KHi<4h0PEj3R4-Ft;RN*C$!n?4Ph?1%Tc#Ms|#*yIId!oLMkCZsC`Ca3MfMf)LW??wUMK0BcYl}8{dp$2BOW%24?w^c4%qiI1aMZ=|P%M<8#D(&fZCuIHJYT``?m0Ii@8 zbdF8spOI*-;sphXCa9SvZ=STQ6>Bj+uhQnE;>pST>KHT)RIh3`PHqBUg+WsbPVf&V zD=CRYQ5}n~kDg##dur1nka0>*s|v*B+hlRf16-ay^23n!|(|A6fSHUrvk0}9%+~_kyP`ukp0Ru3o#*{Qf_h3i2CQ&oq zs&-VZPX|UMcU|*n&a0Bu`9Gx4xNzFjfW3HiWbAfQU^X%}neyoyrw;x@XasII-t)P2 z$dQVHLquceT%6v&8%lo)z5D5E5`Ur{DUcf)p5kScyO^kPrVB4}B6Ccd;>TQW0a*r$ zE-h&(^;{Rqhd`i!y8tQVT*kFFAnp;xjd$Op{rlc%Xu#KbI!#?4WBi;v>JTEn=v+rr z-QuyR;+?I%FR6pjVDY2Hy`qIZi44f^W!U<0`3i)*;`ry7fmSRF=$cg`RMK z>9+w%jyyU2{6vTmi=W*pG-v-M1Q|k$J2;%7)jsloRmE((3IMz)T5g8!j0X)EVWAb4 zL6d2-`VQLS?S5kgTEM1VGll)z;BHuJ?K*z&IyNnSB? zDcMK`J$wrs3;7}KdL)FvJ_KyzuXA_wz_!F8uRvU&%TVB*i63-;ALjc!Fw3!*um;&o zJyVXM)=o!FEOowko`m^(ctC3*mw=X^|DM6mIf~JIwCdKB4OQY!NTMExeG4@u&8r># ze)UI)2-$B>P|?dZgg-(Eb~q0RHG7~tlQ6FhVIqHUvy$%} z6rJNF1vTY+%=OHdIjnb!O>f2jVl>}xNP7%TgZf$uOXY zu7E=Gd9;Aeg3^VIS*<&oX@H|RO(yJ79;BOQ35_Gux8Q7H56}U;s0T4X+D&Fqc`fri z=W>t%c+m_NWD-c0pt$l?Xc+ecl@`R5>a~-bf%Hxm7Hi_Fd`?C@k|mlF=)Soz@zrd) zE}cdF-(Ib{hu3g0r{Bi4b-3bRJ_~gkPW+F^$?{KvK%Kvd4AkYg*~UdHX>rG`e{>nz z>h#sZmFCjY%&<0HY)%P@@(44_*^*O}9xOMNVVkkKbTMD$(x)`{%~h0Fq_N6IdoxCf z*-#tdZ0I|)Bvowk@SmDG(yC;l^n*W58hrWR_wA#L|>N9~}{{Sah_DsWZ13l8l z_aM|P$5sQQ%YePK<~BO3f6($d#Z1FP3-!s!7Gl~2{0>Q*SGmi#cjl_C&v%(^9YpYJ z4;3A}Juq6fYFEVh!H-IYyEZx7ORVE$|JJP!8a*wzD(LQP1^)1aLyIwxGMI?Nn{-w`>m-KB09&VyN64LJe+(9;%CY)h)BX zj_xAUluWqxeA~bCV}p)P-GQ!}nC^2MxTv3)#o}RPxitw&)>i+|{>Wp(;Fp&mA+<*f zveVupnOQ9E)D#}^VBOCw4f^Z!iUuZ%M&D0MnqT?4BCfDBx2pZLb6;5Px)y3LQ(Y9@ z5@ztA=X3a>r;s<%A(i9h%!!re)kCKD2aheC7z^P)rQ|(#HXdR88*}9E9TO`2Sdq%j zT5u|9K%SI(=bNvnw0^pwC=8K%edaFY&HiTeL$DrKw#tc|>qb~@dYa?VM72fG&%%QF zQ|D(xLbL8hs*Bna(#?V%J$d!I{#wSS@oQ**jyU!ZxyPqy9`v+4E;t=b#k4KlKA%uS zX8ucT{+s!!+L7j|M=hq%l)9JE%$%~6&Zmm*pSQ7<5=Nx?wB#}#s9vq=eKbd zJS)x;`Zq`%E@Ir~ovOSfP|wG?PLF8nQL-}w(%zXzCYGbFsdQl%=+e09#mc?<=gjXv zN>(p6XG|psee1^VDIYdi?t~<7NJdQ|MO(4(s0m`i^Lh1=^Om4o@)xR35s~M~6(yAm z@lopkp3#fXTaf2xkMvNbDOHPmmH9B`=zRqr9)1-h zF`KegR|zrED;@wdIy8t*G2^&BLN5!cZ>TG^Y${pf(VvnYim962!`NoXn+D;VG)Xe; zo$rF1in-)ZN@qdJ9s@w7+kg~U{P&9B4kTL0QmS}A${v4ddwEK^N6R?~WB&;JUgt5N3?{8wt=HU3G1qRA?rTvS z;lDmI%v z7NDq2{R3P%sL9%BO^FiE2s7h8$xu2~VCh!}ahKQa&9S4w0zF4QYVUr#AKx`pL^J2! z?dE(Z*&w&RIL#nk6O8G-JzYeH5DSFOZFL+?M=$BH$CqUTb8u1uiTrf8{RwHktQf<) zW{nZEhdk(o4yAs({TUs{yI}q|QG;5dvW*1Ge(_9eO5j(oO*L40@M@>8E8wPu5(*kV zrA`l@;&A6hCHcuSs)(g>a{^t#9lBMKJzwnSwhF1SPa`rS?eF#IxWW>vJ}iQX5F53f znj8jfS>>N5@>8pG(DvmR?&;!f*4s5v3GxY>w@4X_Pm|f-ls)rbFKNIWbAGcUKu9=d?>OZl-t4*TjxMbZ9v>q2V^%XU7pdK6QTpmq>P zw9ah(lblcCLRSHH|ZeoecSC9Xa+_m(KDAA^BF{mN}s_3#Ku7 zgai>A36`91GO*2D^|B`<8CYBlMN+$Avmz^CT~fy&=(tq)ZMEzq>y`P2z)i#DSHxLP zDwm3$I=l;f+k)f-KlWluCbQZ8QOX?bW^w596VR!R9_a;S;|K}Av;XkZTjlg55{N4$ zRnTQsyLo#<`>Pa7PTFy`>-C|C)Q^**T6q1Wb?t8PV3`mXMV-p=XAPfd0(5iHgVfoU zsE`X#Ac|ftoXFLuI*|l+4Q6yJ({_pPSiLiwLo&_j&fex*Aon?W#kQ-Q^@ zfR*ojG}GY9=#2f@+F3D{91PD{_pi>g&J!+W+q8%gfTa*dI?Q~&ryru$(LJH3ZR%>A z(8g?feM|OHn{eXb;cV*=geBeQS za2wYt{2Qo((fd<%YCYub2Wc$71>Y4OTBFXoX&V1Qa*dHf$keIoopvYa#&{gtsl7r?=ce8u{IYv3^ z|D^R;%d5?Ak5g-4$}Oc!2*99t62$t7{r5OiA)BS|@Sb{7y_+{fM(&ia<)x${H|2Cjai* zPQ&eTlNNlTN?t_ZWnNn5AVOMu8qa(Yb~E<`rBm4?T}Nw`o5ths|K!FnK9NDJn_Ss> zv96AFb5K$`*k>kdOZMa9EF8TbFNqaqOg+MRh?o!?+P!D5m)2FDc$Vx3}VzT9y{x~&{$8FyMGe6)2CWUuu zwrB@EZm{QfQ2Y4{FP6cOx{%E|2lYfdJ;Yf(&X)y(wK?+F3>BpFA`mdX_(?u4jN>{V z*JFmfYjhDYc`HkoQD>7|PcZ5!vu6BKtmmn(|FNE+b=l#vL#AZU%GS=s084-W!bQ9N zpdVXJZh2LDHK+~%x(Yknl8Q4kgxsEpi9_)I|6FlQRC!E?A`N`y|X#S}8p`@&ELPqU*@16lV) zTiE5u$)juB>&Lc;qL+~8y#(Uk9I?yhc09KO{mpPmT9xKc2;@5;vV*s1 zK|}915hf-CVFt!<8&6l5`EC zk*DZh8_X8J3;)&VKMYN;UK%i%QIU{%^1P%u{6=C6UX`Hb)HHnv6CRm|yHEz|Ir&%! zkbASc4{dBEk_4b{dJ~9Yc!<%#3ml=+_21NLa4%}Yi7(V;;?^(;~|9yN0sLEo}g4|{LX+dQM zmWvs>lnF%0KxwlmQO*B^(ImMnx)y1{TshAWXE3jGs`N}iPd?YS$Q zkd>C5?8|tpH5b9azy2Bv&}?ypAqiJuxokKg-9GMIgS}MXM4R;@}0Dof%q6^4- z-v;rp5Xr%OntwVl#}s%T=Rb|%dSOfzI7j;DNH{z5!G@o5xf6K%n94ioBKcqyW-rZ* zxhO}y6*~!eQua_U<04H-97)WIy@x4ka1{W|*`@*%6 z%}XPn|NAWZ3@8IR$A(`Cvo&>fW9G{muoarqZF=%MmXoq=Ocm>htw8A&hU)TblxWjf zp~S@(1kpo0PI=I@oOHIxMOwBho=?6HkOQGS-H&hUNm$_g&Ty{&7*{G z&!qfFQ_)pUpW&`QUVW?cU%pa#lX>`>AG@qgso>yD{6GkxK6XnbV8lh>?+?WE5(y>f zg%cu0*~Y@o&`2{Q7?5gLcTc8Amnra_;$ zgS$V<@$(9Nvd3y%v_V7+%}stVnGg%U7D{xWbM*SgB-oAKywB6^A=w<2(N`Wj(raZG zDfEcryHmi_ASdnY1%UmYyXgCDp5?A!DGE<{n*U>NtZJ{;PyfjA-wg}ljP~`}*@2*q z&C=EE-1qXt$osfY-@4(P6no(?jCcZjgX<4J;*2ULb5H)4O5elaZht$)_BtxHavRTo zH>nO>s0%cOK2W@%$^(@(<=X_et$Lc z*Y5_V09h&8kx$V9_mLWNu2M7(VWVd!?ZWRiDbQAJo5Kgo$nWAn+q9 zE=q=TfXavj?ax!7PiS>;*fEf@Q=WvKzdP>R{_yzj9we=Y*mY_NI=h0v(W6ISg>HTm zRJlK>l=ye0T)ldAVQp=WMqU@KUS`Hw3Vu;)7p6nyS_vliRGR=xTwu5FhN!OoA4ec5 z39Mk7Jg105kiT`HFPGT?x`*aYN>l2Qo*v}KPqvG95EXhgTLBt0k=g$@TDfy#iQQC+$YfcFHlTFx#vsH&Mh-HWl|EOyd`kt@)Cm6BW0|l^WNa zr5~10Q8NR!G!>;H8rfDX&!1vf6or$G6-5C*r}HG!gEUIeWOu|Zo3O{OF^=*nM^-Kb zi3~dgI*>*o+LOj~yU-hA6k4OS?dq8oV%eKFkMk3B4||$P3 zyyp!V1&Fo_hHvNABG(E8MD!l9f zxWy$b0z^H;Eq`%F8V6ZMIAxe@VEUfGwt^~bH z3LRPr?T#T3f0Uq|U?%wmqJ0@rpsk#h)a1h`8mj0w*EKbl;WGy@d7i@*$DvbOaLmzw zqCviRF3r%1BR^QYc_BqZI-9#>Q{d$qG*f@b3C^5PnfcV$jojB-R3-gWeLRUq4B zf(z$Zx@mKkAQ#PJ-Ajz-)3oqzru~vPle?}kGX5aq$4p6_w6ZOCJPKNV_*m*t|58ZB zRng~n0~hkgxkfjM^|66B7d0t_FN^Ez^KVPu9qz*yvSCf8ab=YYQX@Rg%&Wl{fk~se z^VXh&m&OV@bc0JQ8QmQcn8qyZEF+rFD(d-Q8Tx@EaRgBx$>uv0$FKSq-;8_fv11Nc1C4 z1Xk_MWgPtU4-D|$-g+9?5b69>(-l=EFAcML?AZ%`xCB^C4qt?GK8F<)0-h&;yH0nL z(rNlT5~w?`DwTm0me*436-rM@%jw^rBqTKievMFb?(!9KViBWccseh*3JRXoc>6uP zOS$Ho_9NtwrE|L?v94xa?anc@Z@p(DNBG>4CKrF2hZ@yN1zKBc?`9ZfT9BGcpwi#0 zKfk@wrL$%JfK652wC_pU%J{u4shnn(HhGFCOA{SzlkwxW*ugmvKM=+`q@khV_d|2O zV2xOU-pP-&MTec18u^}1_?hjM;hjDXQxR6{B0vvHu)|mV)-S7JIXWmT zUimUD`W!fi6W6q@*_Zp}AR7aE%3$50mCS+tz>8``Crj<+??^67!EPP8g)1RjcCny- zGUk-sGka$0!y>4IenzLjn6|cYiV}_ba+&W-0NkN}L5rbjA)0pzIkY6dWClz9oea~s zIs9z%_uDXl!D`vZrncD6xEEIPbEQWc2p~fE?;LRMT|n_R^K?FKCltx%XweFGr`^tW zvkn;mpZ%>6d}V-et-^u$Fb!6IIj0Qo>Zz5gp1I#4>n>3Ax-p*_$Z&upn}yhGCSl+K z^)fvp?DM?=Yhzz1s<)ssAP}zwE`7x^PuNZcZd!_(q z-RNG|FpGu5n~jcBZa&DWB_(t-VUcyBFWDqafMj!+^Vq!voD4zohFo|l6F5~n7u$kC zus?=;Bbv8A)qFgZV0~euac8Yq|01fYPbX6)YF_h7mDqwFA(8A`qXk;ME%V9|ZoWph z%hXp-<~TTASKrN?DHz&qj{=MTRx{#tAZD#{^+bTZYj=7ZWp67Di3ulN4Gh$PXwTQ% zl9t_9a95d|Q3)y+)<>YQxJM)6&;dVGT)QT>`z;wK50WGZ^(&H04wy|czWeKX^ozlL zG;|_pZ+3`JDY*b_STUNY8n6OYa~a4!T%XaMoY?y;Vy9q}O@tr~{W*Md{U_ar^Am_P zx|};j z=C`f~AE(s0oN8=rq$Af=-I>xaNvKi*MmM~c&rB!GxmJk!!f|Rh5N9z@OEucDjp=VU zK&JwoD$)CagKu8T-Q0cHVm`U^oPTUtWb0j)<|v{9c-F+~Pz+F;tdyvz?2wfNq!GGP zhwiuVaBC@}S@=pC;C%gF=;^cjSDunJLK~sGEao%<{gJ^(j|HoRa1&cO3C%t<_qY<) zPs!3LUVh5c(B3WWtZ{y%={wm|*XDk=Hpedez~#H{B6MVaqTkgojln~ge@VWg7vmZE zs*{d?pd(i)@BL=?>Wwp7I)Mp21r5wz(>Ufi#KDm&cyZLJS5#v^q=GQXu@I>UvxbWW zY4q_+i&D#9G61-0h zp{z`7dK@OF3rFzOg2f%;KF%dS+I?+#Zsi_XgB=87q~+G+;Ce;A4wS0kK%(bs5*aDxke!QZCuuSk5111+RE%v zj?TeF4??oATs1epzJmj5nn1T5##$GfI-bdfIEoS9$-Yr2z5XGF6A4NN zf`@3QOTTrwOPKI8(ekZo1?Qwua$acR;|V;eyZDQ`fh{dNDY3OU;e$7^rl;(mI<2uN z60bS`+82Y3-7C9`+wAHS1}Pas*iCM$O-y2bP3w{0pRi8tS1HS3JXL>(Fyj6EsuaAn zH-FQ5-&db04Gh(r$Hwi4o-Mwu8zwxBn;4yoFA$QpC>Mf{i4otdpD-4K8xPMNcD3hP zXBcN7J3c`njX2SKOi4V7rWnvOdJf3+Xx%Y5Y)a!T3Y8k2)^H#6%8IIJ4fpR(?Z0tC z(oX6DStm9Z8I6?C0D1DWFI$BOB0-G9hbOEL(a9(OREOvZ*L}9j@hNoK%-Fly!68r7 zV42rQ)V>pN??DFA-o9#T$jE+@%5!h!A6DXXUgDV}#GDK+Y3uDQZNl2%SUh%_D|I3z zNA|nmzA4`8@=|ph*8;2D46K1On=adtD~#*q+B>muQzi)BNaZ@Df>}D}C=WxSG{_Tm z;$>T<#HM^$0P7G&?x4}3SPXS0^}-#P1Y!)G#qn*n%{1=LRdBJjEXMXJTy?S2U~od-Heud&<6=zCQ|Y zS>;c3`Y1DczeD<%fBvKgkskGKo?P|%sUA+M*x=jZY2N{|tghzy3VtN6r@5A-XSmKr zHeMdOZTG*cP{)OO7kf1WHY;!%UKi?}c25B}G!w;0x2p8@$rNR|<%h(mvqOW_wSo7- z$%AzV-DRyY_&b&N3$_nWQK-w<^DT27_b82ft)&IE1=G7&sRqeTwH=^pjp3zPWn$lN zaBx)b+-Shwe-sFfZ?=TPBYX=-uH_#dk=g-5rnZJ0rcowNdE2Q$_}x>}>#Vi(mThYl zCu?*xxq@EIQ<{G*z4fwF8?(@-k*)tb+Z`VU(pk%5A-Qve6B#otov_#g>}on+edz^1g1!j%aeGW`xBs5DB!R(mx48O@%Adgx z*90bFLggU=JndCc)$Htaec8N zblspxQzd9H_F3*yzRy{ovICh6YbK-_5yrf{@|YAQ_x`1W+J-mNN`x z>N_j=Y}E|sYRs-t3R{5JT7)P_5+Cw6s|F3&Ps*lORr038udU8q;f53~K#diM=|e7W zixB|UC1TPsZW!gC^6*$$8m&jm9z`O2*b{Cv^AZUqp#IByaPv8{kdMsGLJ9tk}73K(3a^pVf4KT6nNu(qJ|Xr zpQN8w!{jJ2Hy^ZdE@Mp&CZ+_D{eM0m%82Wr3|9AZ4>+5!cV8NcDjV3mEPs-o#qtGK9}4>=?S7w`|W=`&k)dwmi9NI!3C>oSWe<8``%{J5yZbjWN^TYp>@ zpOLeF$^zf~b-_9orC~zD>UIobwqr@v;=t=f{p_@bpc8Mt3{$Z6*G19?*3C1A=_2$P zM3){y4mk8y_mu>=7h2G28IU}aqBP?+%yZTl!hLf8$B;T@U+o5+uEf3laQCFeshmxV z&wx)6BCucK^|DL;9GVPLr)DUscKtS{kj5^$;Xpyo8}H7aT1gt=sPb|jX6Z6V=Jk3aAqdtay2prb? zSz?6##VmT^nSCHtFq{7ysb;~(0t$cdQngtTM)!qWj)S;e!cmrt`jis;kXgmXiA! zS=VPN@qFG?A;MblU~ruQ{iOiH+U!jYj9Z>%8ZD5Y*8HJa9D%74Ryr16kmfs>N--%{ zAa=01J{YR)ZJ<148m0}+RF$b;4u0(cP8dTk0=$_o)j9tuWNt2Qi5D3V3LchWG)5wg zlSr&0{KFKq-#TeDoftbpI_S`w!(-p0{p9fVW24OWPKj5#;JPR-D|>lO&13S8!J5eH z6*BisIsP63?goA}F&TJSUh$x?jYJ=!fBv;}`IXlCN4VtJ|IS+eDHOevg<9;NiU`g` z<+35iP$j>A;s8!Xq{)z(;RaK8?mVRmKEJZC=U= zD~Gzg_~ed7%#Sah_Z=wW_g?Hl4^Bs$e0h_8Y)iY8=yScuw5b0+B-;8NrPse%(;P*d z#g|u(6j>h#IH7_q?hF1Hu6NU+5gao?H$a6V8rXEp^N?S=bJE2JO4G8sa->XWI8Fh0 zSp8s4-hLhf+9IWV*-T+(p&KT=E0pG%1O!#vNdvVuA46MrwH55O*nM*1in>pD-FlY* z^V8s~5-cs6dwGTQ){r`Dg+fx&%!~!{Tecb2my&C~$ZAU3U+M@giE4IOqvm-st2%`G zpo)032PwZ-9wf3@aGgg|iFSw5bC{y2!VWKrK~t)rjA-hSzqoVm(#ux;?TCfW9a0^ zwHI{^@dv0~AV+~uh$XFO-F_+Yz|W#ne5>4{NE?p!sDGUGrRWl`Aw%WSZ%C6r-3{F1 zg2QqnU&TQrsy+J{p+MV87|~Wwr-+owR&U1Wl*_S_RcZu5yAbuBJK@;}8Fi4~uy%ZKg5%vKkh@?P>u=Dp1ZXE%=54J(ZpGkklPj zDZS0?ypDh(+%C-gcs-)-6dyA<;$sw1jEEAV^;zr}PnAl!M9mM43eFaL%S*0F-KA-h zZ)~1BwvO8BnlX1Uf2#%1^f~&c(^!5TLgPL9Yp#ke(R)jAnkgmtbq_l%xXF;O;F1=_ zMP-3qM^|^FDA;2NEiN}?hF;%ttIi0$Kf>akDEI=>dZB^c5d#`dpa#1)WvnoKk<42$ zfxs?9*1Wzclvcq0L-lIF5#>t5t6k)Vd)J59P?tP&7S~fHQrhRKb{n}~t2({wTkLNM z%tW5ZpYztIW5-lb()4v11@g)KUvBc)dO{FUbP)RWnzRZwH415D(GuTLJ>CH;*mryw zHu7cDFfn*TyQRPhiR1VED6UggJ1>YrY zdn?PlUWYb*Sl(LXSgJ+poN8{>=dJ!Dyrid4*}Q!LM26T+*(kB3tO~nY??es-w7WH=UXr7&`j1DsRH~=bjD; z;EdKP?;a_u10AkbLlaEt6MI(+DF&}F+JNp%Vr{2UjFO=MiL`mCU4kST`=Ru^$gyQ8 z=Q=ZJ-di#QnR$I!*e;p=%oXU^XOChYy(GQb z$B;fZ;QjcvyDfY?8@fq)q-FD7DPUP|21{HI2gFOf@S8v|9dfGX)mvn5#hwE<-0AL* zA<=Q#SNSP#uDxA_$fdO#5&gfyV?>x>Y+r$QdU@jzs704D+O?LMAbiP`;tBGb&qyDw zhqUgVJZOw>_OSN@JJaP)AYe zW7u;p!=!#w$&YDvW%Glw2E_JM@6*4mF=$!fxI}Tpq;GRocytEOCkhT3QMKe-<*m=3 zbb0(0+;I+Tyb6D~JD(qqn@BD`PK#*o6@5G{UZn=cBhJ@PP+mB{K0tAkRiJ&eqfA6r zMCfr62M<%u3?Sx3t-e;yO(E?Fk%s&c`_zyUbAPK)O!s0I)`baV*3CocOPZVG>3-gy zx7jV2_2xNQN}Myyg3T5gp{QSu6$wL9tYoPeTQ24DPg?Cqo|dKZ&*RVfYr)2u04+Q3 zY_eoafcP79HDLXWOPYX&aJ0+I7Q!dL^2%pdj}RYaJ=>)L<+)-s2AjV-wH z%2$-4?U9wdlbXe9@cj5dZ+Ux``gVHDJSTI0X(RT)YWM8;gb=(EzL=e-?pqcxYvMn7 zN}ivgP5LL{Z*qu+h;)-@w&lIZotbr6|INfuJpy-d7w@02{XTUb)9;E|aWBT50#)!^b&PiPl7nj$;|C^Z9}XQ=iX;*A}+&({Bm|ukdm01XtJshL8u|x#XTkCKIT&@e?cEH z<+UA0K@hEr{MZDfZ#%+Tau*t|4dmeh1f}q+NH8>q2B?3_sBbMp4Hc((~Fyg!U=D;edDECS0AGhzCslUJ! z(tGl^&_UBjG9F0wS_JKD4Ol3LUoDW`O%!3diun(xiYr?!AR*Zhq9s0>Rd=lFi9 zxcdM_thfGyrSx|t*jY^@=Gkxus1zf7(JK6$r{Iz@srqxO_)EM5`1%SDb92L5()}<5 z=3i-=YO{2&#w9>ID4qSQ;uk1ZibNM9oHtkXQ1~IceO*187chZ4TlMx&=?TxxxpE+< z2MUXhApuDu0t?9g8j9`cY6+{Ri;F7x4^R4A-$r1=0^S*s`4sF^%<8zJgKnzs!V~^z zRpwO_sq!+G!0x#kiaI9N2^#J}5)2S^$A$|R72(^i!10_o=)UMC=bi#RjCgX*o4}g% z{rZ|y>EJ09h^-0q9l=U}kH3&7MeG0sQTz9V79pFS6g4^0JATrw;0(k|Vmjz+!4-D0 zU61H~Wp(9_hrtKP(>5KJ7?ux=Sv60D(XO(yPYKucz(t zqzpMAd0iXBm3EfC^CMc&O{WT9*5N?-%RU@>!4^JFj_mv<6$izMVPzA~utgLe=R?L$ z`p&dW@iDJIATJg4k9(bn+GHI?48s2C?a;0myM_Hr&17rUR<2c^CKK=+4=W}CB;|fa z@-StIIYD9dllQ{ROjaGlfAdIb5&(f5>9w`UcO#J2ok%NkQt%22RB91*SG8FSKuy0} z;}cAIJwIrk!bkhG00~ua*$7tL6V&#_R+pPZ;QZ~M^p2gRdUfN*h1y{W{)X?2z8OoV zXXN~Ss^4r|lIl$|c0|ujXtu?Dwl_r}YNQb(k|d=f1`g5n2pBbUI;#ONUp5p3_SaH31M@^|pH|+tHqFa9U$XV~dp;3H zkl1BP(6+o0qt5!(8?oxZm>o!H;go7(fv)GvQA!++ii~+a#U9|5xFNAq4!U|n{8O`d zpJ$2*pczo(^f}UXAmUH&Wvcku7lT5RlMl*Ic#0GAdA{`We2_9-+bf*-9Yvm3u17pp zgVBzP|CnOp9^ahE4YHzhs@|62^r(vFZMP&>>Nj_L3W{PaN&{w1S6-e%yXf4%1uB|h zMl`@KwA^F)K4t$14aiIZIB$W{6POK#8me3#guN(J3{VdY_8dzayZ+(r*?sL&%B-%} z1oawD7Lf}YqK#qNK}oXYnGrG1)5YkS>Jn0F|c!3k9!(4*|C2cL`iNug_)265UY z{>rqKY=qMpSNw^(r@QTbm6fB!fk!UQ4?Wy{ITWzr+PLONR|3G9nX*asqUgfSlY5O) zE&-xS{Ox93!&fu^!E)oWRH;?SRl)i`M0zC-fP3DvFMB^ePqpzRn+@`5V*9RiD!?se zF)a~9+H`5ig1ABMXUgYZ%H);YKEp|79ypK^zF%MQ4BcVv@PsIGU zyzn=Sb>w~mU(WjuKpa1lsK#R72kc*n5KquqTcg&7JGhjVhx75mHb=Z2dq0g9J|0Xa zC)Fo;uZ3#jnmfd`AdN6xFd2DIIUwc3=H|NX=4vRr<*`I?cHxbG8A7vt zoET{Q2Hcg7KYkP5vHbzk5!cDtbA{Mo_)!)3_f+O9e zeo)=DjnHE3%l?*Cn!fwjl5J7zua_#b0t5crc z^m?aA(%A5p849Urh;LgsvTjp%UN@fwAHd%L{=GScz(3LDw3pD*l^%S^;%F=hITTff0bZ|*>$ z_Ooa5XpKb^H0dV&H$Bz|qL2)xI(U7k5$R+ID zJF$)G!bOsmt^?KE%Xd_6iC3$Lb%!(F6-{=G9k9jOdnnk#^4@Y6wqc)ay2#EDb&TUL z9wqgtPG?`=3c$7PGj8W8GmwbBrQ@I9cOHHi#N1=0eCJiQOf4v2pxrKa;X$iWKMgA& zC^PHL5L2w1dJ>DOySJtKXyj5qqoWuSsZ+cJm16h4cvPM#`d=2$I1jj_A<`2n%|*mx zh{Jcyun7oMfPb_u7icP}NpgDZS>@hK07{ZeGZ=eS?ZPAm$$RMpF5ZsKV9zvrneO?!ObXGn}H|gt-XUbo|5Tl9vbx&O9HicuOi~Kw;=+(H7B{aWR zh~91zf3BA^{cB)YpwFJVz^BWTh=4p8UV|D=5+FJ{t$zc`PdwmS#M;JVniVD^rjxK^ zrx>`>Xz`rk5Tj$phjuZrb9&2Q&eK5GOCi+{u07+I-2R%WXUkD={s(SaKYvMT?l^K{ zL@)kxA$j?(9&Gzv!X;RM85RqcV#~5#Gup`q(xx()y#MmD4M3E$Yacf$kCoWuJ8*WX zfc!$8ww6lsexUSI_^>=mLug{0`z+oxpKJEmbkcbvdWKMF0DFcBemX&bq+fHTJ7Sh= ze+=!Q@g{r3oxr*B~ZN{zp+c6C;ydk@m)}g{@UwJoOkLf z2hQvfk3sJ>*PpbN(I#-|qz9YL95CW2y{lJO}iHup2{D^>ic?n8$CGc!}T z>_kgduN@fS4aB5#QdUTW42N$-3zZ*Q>=w`7nO^mtxtw6>HVF;{&@>*0v2})NP3i5) zZ;9tb&Wj*l%%Kwy&<-a^HrxjG|py>&%@32;wC&Cz|zcRQ>1ksw^v=7Zx>!>R8LS9>aYSe$q=3avibyV zJU=@pGd`pU6zuC}YYVx;vNMWV<~{uEuyGbhmTA3J_#@1mvp3S|!8FUT1TZT+j!gJW z%Zn^$ATYVSc|MqKNySHLp2YB@Bw5@yPq!lo8ti}-~ zGI7KUU3&4j%l-X78pzRXY)^~MyVdmu+jmWR)wDl4-swwwzC` zZ6$@L?@wPeg13g)&76=_o9-RBK4z?i3D=z~7;;WsS9|nJPV|n>6~dPE%&QE_t>r+T zB#S$~s)_IH!6EVVp1Bck-k)21ls#9i-zhj_Le1A)o?PJ%r)ihmK8y+o7KDiMSH9;3 zJ>`y0!f8#g^EHDuhoKAE8`Un<>p%Fn@0WDl!9w8A+PyV)sFl!){>tS81M80cClsM)%Hl4-wW!ug?mxGCovl**`r;I08xh9sZp zX)^RsS*|M08AnuP;nQ($tTBe@0qZgq=V&5f<7_$#;ddHq`g3~eDw+_XWXH1m4oK-B zxOO2?D2ZL#5*%GD3?ciUeiChp(dUNKxzbCT&W(T@TM}(aQeb1i%0iLI7xa``oyH#M zdGU?o_T##w2P-WYg2$R`upo0Kk#&Uw`8jJfeo~k|@M)K^40% zVBUSv!g@%WTAb52KQZE+WP_If4)xKI8@!gZBl>g&2M3Xth_^HgDZVVpa#t8re_8LG z@^6joAIx9J3YD^bwYnTdY`x@~GNwnq9MH%%FJnMm)7jhNcl$SB+6lyr)p4|;LbF~5 z<%}3y`>|J|V2p2<0^sU>w*$nPv5F>xEykD`7hAW$A6)QO$)g-$Ipi~RJt?+;Q8VD4 z1?FAY8r}y5@HF2pAe*Q{eLF2!ag^+*Vajxc*uwKx&EcxPk>A)**De0FJ-&3K>*cLo znF{+(w;hwZ}2Q$~;wwGuev^Uh#X#S*2&V#+>fd*S$+ZtzB#DzTI1 zAAz&IX8vExjdKT|znU)+DjXAxQJI_zO``18+T3I&mkA-V_A=lHi~2#N?`@1 zX?XiW{`B>b{;!XzLZn@e-#Am(4r{S~l_wmi&#%9w>V@(9B&{w|?vfkI&=;rDDWPcT z3R%8lsOXDB^4}4bwMvwQySFSveP~Chz;@@~JICqRN7cnSixiM^E@1Q}TXqXN(6o0X z*AHJ0Us>WdWTFkwc=tTK?XpS0FLvq!%NHXVV!2)1Vh zZIrX^IO)jpa9Q1Vn-rs8td`fTTq6f#e~!t$S&d*HA(sd)xokX7ld&ORB2uMRR+StN z+HBtS#^FMU&P$#FT?-LK}es(zXJY#+Vmk z=mr+3&;12BlUh);27eWtdH>i9_)rAR&SKniwQ*bLsvUY%tL~8xVCTlt=q-2>iSqPiFjC(`xhVf)D|gYI%iq}5+vD@^+OQ#*Z4s#;u__o%a}x_qabid8L}1zM0?kWA1vv+noHyq1}HVGF)@lU&v!>0^)P* z-z^S4;~Fs8BEuA)dAF32?5zBMtP7mk{pPM!>&ehQ#*mBlkPm45;>lMET0u9gTwu$y zbx_0ZzuNZxvk1-T*__k&D6Q{$L-P*N`>+ojz?==i?pjK&VlVcBEVI!7e$NGWi9tJ2 z0ehAsXk%TKC$Pd5u?C3ebI)Fo0+bcejsjpf9JaP$4xfI*#3WZe zGS&=sj=7%n6#Qqr~LY`oMM<> z?8`EehCavlYV?X-17YaOsR3_RO;N%jvBrTd6<iWToR5Dq6`HcNVM3`y>!rd*w;Zd?_V{#D|3r~GskIM!w0=UwG3 zM0?^c)O+p=U^Bt&+5wVHYq(tRcl_~7OLd0W*rYNZ-m5}P$WElF^SDAOtdA_n;rr#jIX2{tpZuP7>I_DjUead@s$wIwaa`Q+!~|Kd z?T8{vo0gUp__*zn)Jycpx2(C`Mfd-eJl$NY(o%Okj^xbq*6M9Rt++4k>s78Q-|;_S znOMWN0oo=j&-HY&5suOg(I4@X{4we1A_HzIK_}4LF+pxo1Jel@4O^SDnL@)Gn61&l zL%ye?knwX2^0(Y}*7U=scXSG#3UjK6`aw3N-4^VLMxvll04BL9YvSIKAs^{p6QemS zpC-oOr3fre_rz7Faa2=|w>xIA{ph6eI{ug6;Y&;ZB1dkZ^=wTh5p3!X0#h>4(X z7|4^;7xz<52XL;Qi-ydl4>x3~Cl=;%pULdY>cdzEm2sDU%(7tb70?7v(qc@EFz--N zk-jrv`vl!&)S6@7qENz&K0mYSeR$V(u50qY1sOrKBC}vV#+F#%T#W@hlMSUM~whbi( zovcNGDfC@8Uv*(9DU@mG&N%(=)HDjQa`T&`LE1pVt#k6L4>K}<^^aA*`pN%nt{FBp zzDSgAr?Di$Z_C5yE}WqTVqc?=Si1o1h@moc1{6Up z!_c1gac3Q4FfFx(+jRK!t*EcVWc!N?OpXX<^Yl+71YJe)r_xR5zbQLfs9o8cE9*=> zd%pWgNB^viwHN+{0x(WR)X^OCXfUmOU2iAd@TLIuCQ92mq7$fo-;!pq(N_3qQxLsd z6X7%l8@o+eZMyjiz=vUZUGEzg-h{~<-Pjp|U18lTJ1m2B2zvot5(E3NB~ONUsk*>f zyMR*b4SLV+p=V@*k1-f@!v5aU)}P18m&x+n8uPj1*E@f%9(;Mb?A-+U1pVKV2K~U; zpVvuOodl)N!QY$;(2-*AWXYkHl7pGHP~^fe$M-7*Ej2i@8Z+&B>k^*`vrY~wh z`AcTC24~0De*(#`RYXgzoLS%|H2;=_&Rb|;Oh4nIyLqY0hFSP!K_Dr~SnjybZ3gQO zALAU~dweN?Gr@N60M&bQw4}0I~j*iv-^xU4}J@~pVQF# zq6SefoCJc^dIVhF>*M%nB^Gc~FcVmAhtPy!7@M9LYS;5U~0#$L7}VI2^Bd| z?zuB@-0h9^{LYX}(Ed|20Z+T6zjNiZ2`J9oXN$K~hWO|@I7N6tCb2#vO!ZW2rw~Ig zYWPaQb3MA?9KQefPe#}T<=^53rBb)wsS&7>Tc zPKlWWOXl=49Q?~?^fh~w49kOMs~4K*G0TvHuL0E!uiK65Svjc=UBfl;KC@m$=Sz~j{3Vy*j@S9{ zVF&Z06)-k~-gdWeS)%(7Q|@(}-u^*pH-OPy1?S0Ro#X^0k_0j~3HuFOk#xN{($wk>l7dpZ9r4`t+xa?rlx z2K4(!EqTBDN3I^!ewuq%mHWx%ZTTsZ1)e9i{<6@-?)YP)^ILAje?bmaIDUx*G)34$ zUUyMy3o}S;7{PG-XneHYBt*&k?b%L4iHdg}h7$RSDJJ95>vBTo$53iLK7G4%u^LFR z=VPU9RZcK{-|0O}6zx^f1D!X5-)mc6+7P+MRDpl39i@1#MqoNI z-#-6n$b;=u0=>ACDk$X2eV zT8d}pKkb2UE9pbhf3rG@2<)gh8UM85P8z1czs-Yw74@<-Y=%`tMp*GY@8bhERLz$a zq=H%CQH83MDHUah@U)@ie!C>tOa&Xd3fN48p4{W!g05P7ewCd_!lSsAEm}fJtb6Z4 zBMyD9Cc(iTPHL_d2M81+rY+35MB~^JxXR0`wK07MU5B`upKie|guQ5GYdiT*t;Q7P zN~(+KTE2B#PldzU_Q)_~S3B}wsf_m41`m4{K7ox(iIDl}ah(RI^xBP!!>_g4`PzPc z*fQ~q7!s)F*klFdFM-6$j*iW3Lu@$5kCmhYK*$3U?Gj9wO<1W@27v?~ttnS!~CoEI0Tz#6MNIySe$S|YydviKj(=rbx>mM=xmpMaq1aWMi04Bzv z7FQ4z^p&f-@{}4B%K#fYH8EVq9k)IiLu!Tfs1U$^$(_8PnxoId74)8bWfE2-xJOc! zJO}e>Sr;Clvg0|N#|tj${y5Z#-v68TNbNXj?6w~RQeblavo$?mV@m4m2DSfT`8uoF zjm-ia)#oR8Yz(Ex0oN;0wT|M{$E?eh7-ye?wF9l&-}H7inFY0NwaIW}7;K!Y&zR58 zW)3YM7)g_-b$%F<{yfsVTBPiK#zJbU~OtHMzk9D3`=GSZIM63)JLNUyMk3 zxUnWDKYLTc36W4Xf=~E(IMghk{2(Z zmMZt6|IE3&=zqFhgjx~`MY}!lrCU5eT=)NOTXrxV+?I#p#i0!+Q2WLnxS>z#6t->D z`M7IX_y(FdtA1)~J7ao{n8#-POd!`Y6#VDyt}!ug^Do>zP#MVB{#B>ZYKKvD0PU{m zL(?z6af!PbMXML2@NZf2&WamB#epEGm)DskR2)?0fvh{I<>cmZ0_A?Sq2OUk^_$yr zsPJx6n^v+u#&xc1x)}~fXt~GslOC|TtF;X{*wPhxj@*_9{j6CX4dj~`={`L1Uu=ACaykxA6)m7hxP=GB<` z3tytgt8!{o8|$ILGHeW;QCkRshgOGE@R1*?&N6HvIv!4XBL>|TI6U-1xq`MHn7(f= z_h**rXgjs~*#2QRZH>}$v3Tq);a8^EiEh0jVP}h_Pdu?LNUSVU6%J_Zuq%VC#@%M9 z`<^R3$QoERS}rWGC8v5~QYWDN)Mnw<Z1 zYn2JeK%h8&Sh+P0I#fy;c-U+FscZjv*C#Ljbi!)yDQrZuUOcc=Bq>VXw}A9 z$!~c@k*ZU~_#xwQ^6ssx^V!a{qntld(kY4z{*H^t%M7GtSosBMwx(ky9FP?cdS?-} z{0~g3qv0}K7#)hR$`cVQf_K(4D{#Pn=0=M)|Dl7D1`NZB#mJ~AxP8h~yE-!>K_%3s98ZM}^ z5bYk9{pUC20}9kQA1xL5K+Zs&o4!|q!rCKZ%mCCmENR2~#C69Xdd@uhpTM1VvI?sB zj6&0q>qtMIS!S7RL)gjUit_3<-CPCVtYFn$Ijpi-hOhXC6CZA#-d|;~N4}(V;vte8 zL&jzq{tMxtlxxomEv)I;fdquW!so`8xFREuZeeH57T;TCAc47wu0{p>HcxSk3GXbY z>{vCs5I2asRK$LYA?WOh=dBbH*=T7W=a)?%WM_ErEon0sUzU60nh69!nq@U#&W`1e zKGVCc`_R$eWqV-%TnNatfQX?Z+XsA_!a?PFdpbLz?k?iWITfR(7-CH4{S-=WXGp$T zNn$%RZ}8{V{J|on6GehV1jT7*YXqQGem$0g?o99|saT9}8JiP_nJ_Ygy4qO*nxM_l zJ+AQG2@6fklRmdr;`X`Z%>#nc8}tO0A-2R3(;)wt2eCa;&&x%K=w0F4czhEQny=1+ z^*!#os#Aqe3$$%r1`WijQZ=}R`puB>7BYo8_cdkoemA8>t(KfZhmbJ~-futSa$LG7 zr~mtgiI;8Qb*g-3?d{y^h!1FS+g^Xl8ch=+Qd`jhr@$jr(-J7Uo2GIGk%|X9nn2Si z5_4VId~&9nm-ol;>xyUo$mO(JXQcTTr{B_F{1Z-TwjoCE>--KqfK#He@a6cCd-hLefTd- zUl32a#LW0;2uOjyO38cL-kh`E{izeYo_&AH1yhsDjt1po61bxaUdLsE3!_6~z|7xa zCOcw-b-FKgk-f{p5dWa|m?CkDETB5xKKgFz$`D&a-kOv`K*2TahPldPPQGPm-s%?A z+pwg&xYcb$2kWpK9qYa*2eqT!>dt4Gs)E!H>nr`TieB}H?*{6m=DMM7{Uxs#P;WT` z=G9Roc2lzX?QLaEafJEe|QXGoeo35JRb5`Rh^gP@g(GR@(KoL--o@m3&G7OXkF9{Jy0p!FHuKY2 zKYuZghH9Qpcc|3rI<8K;6z*M*) zE(KI|Y$_-4^n#LyliCzsd2Pq1gDP^|mNz9uK~O`K9FUQNlxxfY(r2wt))XY&VMD^M z{^K-GxLf$ULfy{1*p5uBGGfO6Wg&j6=Jn5TNGIXIRews2?p!!*Xul>1+1c(*&wN*g zYFBtA*F)KdbEDAzQt_A@&fn=Iu(?#k z`+j1ZMYY~uhXaRNx69Mf`t(r-bG<|B{~Iy`eOr$7!vfTA80WJ)D{>+Ycd}f5P`hITBpQ$EwX+rM<43$d6VKvJpE-h>4S=&-L1`<7`TUwf zIGoU3E#Eo3LS8q3xnscza~$jrxh6Rc8F4a3-qh%bf16(G6C23`mZsYnye1e_uG3DO zb0>`j*&V*f0Hq2~6D7S3YNH3#AMIg!W_@1!O9%hv`iM9s3lZjdwe*%DrB2S*+vG+Z z3gpzKy+>YQZtJijt?W_Xt-|5J1Wd!%B%$U`OTUNH*f!&z?TEY$Vwgxb_Zy9mortPK z`hBh}IGn-{TY;lzGo^^>iErMUKr(ous>iyB!?z1VqREhU%IS+mXRWWV^*O@ zittS{m|Z@r{!@v;%0{#T0kx!3WQ{OD%(ho1{nwKh@LQkeNdM$Hz|!K`Ch!83`^iYp zb$yOf%ENrtm}j5|y%3{&2Q3pE+}=J%cQ3N>+&C9d^)HF3lFYgNdP;V#_-(9ku@ z3If^TMj9SyHbLdQ)&xpsV`X+Tn6Hk9;~Br2+qjCWmaq7~(Aq4kc$@-#NVFo~dv!t2 zDWGlGGhODy6(lI_$QK_m5`%1)!Hl`6U;FmFV;4WRXm~WP5{T5teT_b z;^Ov39)(GY*9iGZuYZ&}=6NQlv>96M@X9vus8O1C;U z2Wdtbn!+9}LPX7lv~z3xDI@#8U$Nqs_n%KQTX3jN>wc^eKw?|ogH;!qIdVdhVWG}i zT9=<_Ze?WS%{9n)_JC#)&O|fnU(`rK*7_PJYBGB~34I;6twd=-9uL_Xy&6s$K|ted zqT}rcpGqoA>@MI7-BFR?0a4V%-& z)#i9k4BpK`XuJwgt>)ta>u-09Gk8l+ zXE2B2GDy4Q+CMUMMy)~3a~CUN&K}>55b6$I`Ln$q&OdxlUmyO`ck?0m2zq%+yZ3&qFrgUx`9ki0V zRsqct2=yE2$=;mI{Rr4P0PPP*c7T1v!AT1~EW;griUXibjXLy71CM*)r-4 zQ1AbK&+~QoTz-0onKS3?y?VdvUF&jtR&g>AhGUUsXOobUC_kaHRgPv7hUw(n$5P+8 zkA#|rkYbNWD4>U#TWx~qy|HrYA*mH4gh~&WbF6MKZxw$3V<2<-DZ40vNar4;i7UEE z__lL)rzG+!1c_y`&`U;Sji%HIre^?_BbKnOiK?tOWJ7};BNt9JyDZ}9@TO+^Niz#E zD1_|!>jDCYextU13EQtyB#7kNXpC)X96!aokMe1ZGsoFi{u zdZK9J{VfC%$^cB$cng--kOA?3gN-pfLA*CIF?M_}#zgNfW^V}6D`xYm@#EV@s?nnY z*B<*?OU$t&hoTvlDB>73HixMPn=Z4h#m^uNkS1zIZJ&{zujZXTc4Ee& z7r8b|3(TZ3VcPQ8dzIq*d9YS%t3f2)ylFC=Ip}F@PO$!K&Oo_@uU%Ha30}p9J;7Fg zKBj5#jz=)B*(DMiWe4z%dmO~QV%o0k>o<}*mBxb!ZY`!r6i2@?+)@Xfq}~?+WN!@S z@@XolA$f+$uQXfa>ZX!(4T#Cfh+P@e{(=$Zy3%hL(rM1QgoF6cQzivfIrNfj1*BGK z<^zw{^$h-y8?wGqiMg|7w^TDY)Lv5&H_8GcU4X{c_54_NM9T$iU$jHpC!Xm#5)IId zgjrGb6+PS)AuOgyQimIB-RS1Q2%MEd7<@MIp2>k2)-w<^(RL2@MHg38<1-aaEN-ef zSt6Y42mo0)VIOuIAHYdw7$N8KS=5}4R0`6YTv$hbp2k$PggVcuzWh!0-EB3l;L9;5 z@t-1sf4}9a8U$@Jb2dqqSe**p*tWPVe3ls_^5z*v!IDcGvsV)X!uiByzSx3l@{Fqe zV(die(IN|kqmeMF-(NX%T<_Dp)igO?HH!+>!^~kT%mmI*wF!g78My;G^xOsl@<_88 z#i)#qu&9EZ+HQ%2S2ZEk=kW}JM_r+VKVUk;OpW{JAUfC!hz3iad_TmkvP0Z(G$_jf z?T&BcBHw2FN}1v`*|tB`@qk*;h!x^Qqn5RF;&kc`VRmET{C$#$u<01F8RIaAcgUqZ zHryJPUzRZ0mDiEqwFN4oI9?TFCsu*-z* zCs%-)QI@c*Z?a5HB2Zj3^+YjEX1^IEI+(zSBR(ty6+4CXUM^v5*AddObsN~z*SBv? zRgNc74mpaKB)CegND%5l^qh5QTFAc4FDt5!Ww8DxG>)ral+Bkn)ZZhBpZ7GvpZ);R%~s8J$9mO2??Y>cg7e_db{&<#2X4O)Ft{UO}06pRcdj zvIz;!UlA)CC%wGkw!iD-FHwvPK9H}V+@XGA_(8$UoeT_nqT9YG?QwtuzYtExX|;|9 z%!CL}_f{{n`Dy)0$;{mI1_BR8DSNt(+qPVrE|?H+I5P2Z_t74!So^QQc~*x0Y&$wh z^kY$}W&w)dz|P#ypJ#npya?2cJJNx)5I0+UFwJQqHTTx<5cv!HIn<|mwBwbcQF1VN z2M}j!wWJzUq2yr0F}7DS%qsnRYy(VXZ6V zRb5X&A6k598EvY!xXIup6Zl{FRd`NHdvJ*f^i${7=A)2`oOi2JSeG;86PHsO^$ z946#A2ysEzIzQ)%{d+n}MQ=2ET6dqD{{a03#GDBj4}XX8O}u`pGvGbrX>11szV`ag zBvHL&Ctx^4={4Kd`CQw4(I2C%Y?2xFzxaV4OrRXf7}{M#;L)r9#}jO}a*c*~ zI+MfZjM(`TiOiF!L@mi5iFjq%-15M9U~`Q|oz+9;4_@`=wKDT4CHn6Ra<&cj)LB(>pK_5a zX9=m24|00XK1S&TWTc=RFF}UtI8IQ*dx?^CjwW4-j^Z1LkDW9BXPkwqfcF{QF|!G! z#@{s}3A-}QKY#w*)ZJaruB%i!T{vUpLTdCHmU+2aLLrm#H|Fc4zB+BpRb@?lD$M-- z_~@U5bHmrI*nvTVnMEqXZFoK$ynPpwpzl$so$W8t|rwWG+vD7o8V2Rn(p zAgFroTByOw=DptB+5Pg~6A1t;hu+ZCbC)twaMIz zSFe?dQ)gWT$_qGe(@UiixgJWd9K zOPf;5q3@D5-;4;G!Rcfg;SC{VFY+phvX31Rv=ubpZQf_?-Q>`}nM!W&DJd?yNT}gZ z3(@Et*L@{9kkp?fxbbL0=?O{aFprkyKldY5p!MR&^WtI^AU%H6gU<-@#?{mAs|r}z z5mfn}6sO{SL}0C2qs^gks_jeT{gs4Dd*xMYC!d5t)iORe{u#h0M+`o`{;~xpDu@&(OF6hjXFFu-;P9@6Q`PdKMAvh%6F{5%v+^t$sS$X*dkdCLu=`Pze8F|q+}C8Tbz(Gvm# z-7`M&p{isBdC0B_jRy}*qI|}l_1Ee;vTdWK%+;?hl=T<2@_0Yf2pC%ZvLcsf>22XW z@vZZ^qIZfT_H*vBpe5jZs;YSwK}1H0(lyHJ3As;FLa?bEHc4u{9@fZU^zdNxO9A|~ zdwmv1ev4SY5@CRDSzax-F-7I@eFfW;?%HIvhRIhcw9il)6^xLpO$ZK%LMjrhnTtMeyPW!tDpZ_e#^0#7^N=f{F|B4TK@@;pbSFd48yk+8&pV>fuwGTQp{9Q9@UH|zOn^{g($-{=1Q@bVyELw zPzX?9SEx_PL^J(J*2eXLMDk{!Yh@FI_!84Tt0^Fk-34W5M{UmNVvyS>0W??gVvqfx zkfsubbuTX2G|GYHYYea9_Qcwn=%v0*R_TPjDz&}WO~*}=Wo5C?^8UIc6j>Ku$K1HO@bVG=&cGRT(m<5}K2Afx`xqP{vFmGx|oo_W-OA;j{@+3MU71r3^ucWTrpOBNnIuzL1prsp9eY+rsd{=8_sEEZbs zEq6XtT>c^^FaI=S#y<+-Os1vUU?bn8A@mliLf59U8oOekRxYJ-rwfhV)QGt@Ml&>8 zT4r|#qhLK1@DUON@a8{;_xbl4lW0x&qI3%mu3z9}H;JQ%P$N=(#r^`Be+wt}mFiUY zz5NR#jU%d*1y$6YqTXjH(l{B2_0fS6{cNHLPJ+&%zeFkJf!Y6vS1*{Modu5nSE-_R z!cyW)ilUGkUx2zmE$|k)$h++JM=%ja#gLi;$~+a}4vm_M8M1n-hvntsBeSl{G5qP` zI6+oQJCJE`REJmgN&WB%X|2Dim8+pYO5OK>)bU+sSS2fd)812zy3b84-9pmvhKyI2 z`^L-B)^+PAd_&!{S=#=TQ8WB#FyTije-*(R%dOeHx!Y*vUs^qGTE*wal=8Xr?nG*x z5q>z@I&Znd_F!?zx&5zIbj?Xqxg(@rickAG7!jxSu@oG-BrfwcB9GFp->TVX2Mplf z;+11z@B{i&sO4|$)_q3`vk8&kv!usI0)Z6S1*oy##MhnM%lUsq9xawH*|xPr>CbAl z5pC*UR*85{S!+{2=(dSTw|JqD`?5=di(ErRC^f5Y4l#8pWPw)GnzrsZcim*9%f)j~ z)XY8Q2OV>iJPhk=L@DrFW`gzeeE;ZW)mkm2D}Rl&AR&8*npI5r)buHqM!B_j-?yn*8Jy$NZ z!8n)yVs?JdZ@V=9>*KZTKp2Mdrr1bq#~KU+;RLep?jtHN0^(Nn?nmhm0B4RR$C?G3 zjy1pO0($I?FZRas@Ck)A;BW6*wHr+9Bw(>cqQT$pY%w0Wt6gE z?;;`6>DHwASS52Y+>-fJM05Ftf~)2cVHu9hQy3eXj;`iu)fnRf(|K8t&iVG)d~2Ty z4iaaF&8ui8er1j^%jh+!*tT+lPVj`!sH$tTmamoAA$M7GkLtx)$D9YESCY-52O|2` zGQMWE`CVq|=raF6n<_Wo<@b2Z#F(lDW7}>1pfb-Y&Q&9KYNw>KGe)Upfb2?ll5~!n zapw}sJynsn?%=ceDum20w$W6&E~usU4BfSz}#(uWtf+#UQCz@AVK;U!!X$GX&V&gvX@Qxij^YYJ`FRI=Z`0)h!o=IQ< z;ORCu0TGrj>HG)!8zloMzTCV1+%1?i8p7${mbK#)`{VwXx4--H;pLr&0%N%s11ani zjK~~6;xnpJC!5GvzN-*dSO3&vDhH6T=V)dzlKQ@zg1>%K&fo+ey-|BQu{d+yLWX1- z5z{N(SnPM!5)sa%*ep^?LWT-=BxB+qsCvvA$&d7IeyO-gF}G5iFTPyRIDMG3!9b%TdKv~ZEXA955`%c3omFHcgwv>jOzKQCl*Bohh$>_fCZ@(6y~-PclNW+Z4mvQLX} z%@VnhM0xWL@yqZG#n!8Z@1bD{-DA+P>0Z;-u*3BzEE4|>U$Sk;P?Y~F3)h50q%VnN zGP1)x`QW^RUM1CA%k9BzUzba|;e_UDa|8;ddL=Nafhs_kOJ#=8-m4MS`4#38lAU=M;b_)Z-eSUFm<^V{(2DvIqh!{B5#)?Gc@l2#opdjA0({G~#-Bj!J;u7H+XDYr2Q zZ9Z@Dm7xbpcW((TxlOU`i=&LJdyyiiMc@n5a#1pbmhC<^cCxGZWb@g|7Hp7qV=%#xmG z0|QevCPQEGm~fM?QG6e-|7lTxFmw4l)+E^ca)kQ2AM}-v;@gjSogfZ~Ai*E}j9YPf z+VPQx_FCg?Tz(+x8Wg{iL|M8NDltd8D^Gs4MAMTmpUWq!_RuvIs1xEfaf9jHff;*= z%dX-S*}Artbx{Ish^6sFD4CWAignz>gLzHCkW$*Bc`<+qsG@ybhRF!=HA`U za&ul}E8IajrA+CqsjtYTZ%4!|>}r^lqh|#=8lePM3ZPzpR5x)p(3!M#$;}1U zq$H%*`+D%%d5X;&#{eIkQV*TvmCQji87!4Hrq@Db;n|!XjiatVrEiUkaklrWLSf%0 z3F#qY!HuLFgeBXT9@mbKrUa1Bi&39*`$Mm^#pYK})po9G6c*6VfAk8k$LI89#^hKf ziS{RxjN6ejI3hmYvVfh^U7SliNHjEvK_sJS6RYx6kmSzjZS`!A_C#Y(F9S{-o6d$y zw4k{!(7^#6^SxrkcZzum0+6FWzzb&%wyOQOE!pY!CG8&Dxij=EN%WH2lgKzu@;}T0 zoKTkAV_(ygiA>ce&msk92gJFTa&j!NMLpCq+P;x?CI}FA4%H*tS7@4sUibaHzbb)! zD)v#f$#gTpQyahEOeW{uM>dl%WER*&C2%$jr|_RS1lM2IUy{N$G?de8&wlWFw+pHD z#8@!NYU4-;$YP9eKhfv;HU-4{1?+#ej*@@vQmO)+Tzw!c;C(kE;N+!VMk$W1v zx;UzbU=X70y{?iaIt{ImXEB(snn?0_mGxfW);e-F=E$8JS+fPchm!?Ht$91Q%OHXp zdV9zM+(`X2cRfwaNBlR#vkZOXJ_@gS9Hv~@>5><*bl2~_rFY_s3MD8fm>#0$7VYnS zyQ<%X0wcHhh0MgF5#IODKw7K5l#iBZYq8j9O08OYOSUd9#M!?Oqp5!W9C;l=9wB@Y z+bAbGXgRPq8InMB)t{`B)4h#IquQ$3ehb{C|9^ z)I%-86;*;DEsLp6Z(AOn)-ta8r18u{OJ&K{L64r~NZe``1`apWHZ(LSE){x6&b?I$ zq|;zE#g|X4sGWZ0Q5;)(i9K~pb^dqC<=kGY?V>S&NeE&{)jp+j_mwStd+R=R(#i8uexiLnGktaS%EE!y2 zB1qhIGNNf(-;e1AnSX0`AWOqI5qOT68~{;pQcFzHA#RekI6)Ke8V;X{}+Y1 z8>GegWTvQz;IREk=F4$xgbRE{W4G?L`dPk^Y+a&u7mlE*ma4ah@j$R&@~7^9xf2w* zhy0XAO&AW?d+AqrwNxo=0Tdv^k_nupWIE}*{0U6v40N$n9Zz~fe^K~$Hrv`b z6iY_#n&|K@-ag^5y^XVCg7Tvo`Cg0&&@33FGrqN5#LE_vVs}nl8uecO=yjxgzhX!aS-=H<^4Nx_dx5cQ1<-66Br+%8HG7m_%gM7>gR{uWIg^V&(ba?*Q#0=FcRCs^7pjz z)$YsVXzPbra4ceU4x3&o(9cp~w4dYY4@8)m@LF)0$kG3cIUNY(S5rRJB%Hmm2%JQx z<*jn2Z^D*pz$CaR6kbQ;$ExeuBPfUNE&)#9CFnzUm{n?`)X z#Lm*L5r?tYw_YlDI8%NuY7A!W`RC&Vzvk12p&Xm0C)Q=1zFQH#QxOY3n2h_TuT%DG zVz^f}e%&$YG?DqiLgc6wTCTZ3fUSP$>j?PACu8gEhc+sRXXLsOIz1%d`-TmJpyaMs z10{;5HspT?;YmlLqD>MKT?GiAf#6|udf~&+ihJIDyfP_Gb~E8GFahFl;>p(^44KsN zIvmPQGPIsjP7n@x=$nZ)vnu;(F4HH)}_okZH5$?XDJBm&Fc1buW0YwFGpp(-M zheH*-H0rtbjkO zk(jTj615OqCy#s2<;N5aW}uQs(vATviBa$uRr+i$b~3?l-VgHz-3(dt%i9+LQ)Dsw%|Ikc~l z%A{aVC}%vbs9;BqRJz~X59E17!c~Pz=(9@yTv&A`e8_W0vHeEtD@}vJwS7BOBImRT zmp7geE+_8GP}{q%duAgy=iYS#X=IevQy|Lwt@66@SoXjy9iClE6P(?@6Xx9q5~+wM zp(R}6F@3cpy~*!ASW<>FgcpwzIYrp{;M(_U)yKL~`*3!tTcu7T24q|I8IAX*5#Yq!YbEvV&I83OT8f z2X(*OWv#c5&KcgnG+`3qJCq}Z6YSuay~g;6XEh{*7Y_ER)b>)JGkssum#0nB5kvfx zCPpsbOQhUWWSCre3nam#k0fLMVOGt!N4FRUD%|BU{;>%3>6~j4Ir-_#4F;Q_@F^FQ zZn+Qo)XlKv3x6 z-s3j;+Y3~q0cTVupAU#cZ4*Xv0gZ(-8FA5lJ@Fl4V-S zDVr-UXDX0tb~yB4#vo}d(#i84)We9H!O6+onDJKgqe25ECHLr^c%$41*G~cy)XKel zp2>!vm#~S#_$`d!?>J6$>=7Y~C=5Y=;uQzvWF`KZ5ZXShg=yQv5pg`3y6CV@dkWK- zM!oOjYL~P|{hz}7#7&a7!`wni#Ow{Sc~OG?v<}OvtK^DrcdhEDu|r&||1CDo=GcqU zNNolF^){6oNSF)EGx;cj^y${<@BSeWgQJnwBO1&+{&C`NDuJ4GAWEC4qTflCUV?Mk z-*#|;yY9Q$mQj_4HV7Y)K*T`eF&Yn;U z4B$|s?l+dAK6h;6QRumG>T@4B`gTbgV@TTX8)?EKsBExL9St}BTYA4fqesBGa;KqN zC8~B-fWW|v;XRBLkp#2Y-B)0$%Z^Fo>yZ@I%aWKU-J2!!!<{C&FN@z{x|{v~C#nX| z73?7-XocO&i@7X=+rJ6Zpgp0=GW>~VB36j)JC!i0)o&UyJ?$~YV59tvY8Y#k( zY;7{|ccco)5PA)Eg34^sv#V&Wo9i7tAqJqw%!KI!11J}wEzzsZaWV2H7TT*seAlGf zgeGLMe>YNCMPjQH!A$5dhL9<%Cd=8B%ko+5VLa|&EW&Xi8TS#GaT2UcNrxHbPs?CbFvDCXET6>5+Kx-#@rT#gw?rAWeC%a(&{1(C1d-_$mBCPHsz~!C>OX>x z%0yQgq6tNnYJsQZyYUxc1V(=9GS8*`)q>;x8CvSOYO+8Oc+B;Mz*?v{upCNu7qgiZ z?0(vn%>L0Ju$Sin-nAi3 zi*G{7yk~_d|B_t)jNt9aD^qsF@Qm6EZ{*%P%+oJO*-GAdAA>`fb02ts@i~#&Q#i_z zpd2y|g*QFiG;UZY{pfl9sgj%j439D}`Tl`4p^85WqJqA*X*kT&%g zj4;>!CG6WDRA~Q5vZ~7ZzpDRz?$EbXYD^7O{?Dk?-Z3S1m>u=i+3$n>wssNlHkx#k zt)+3(S|}#+*7eYdS-i?z9zNt2LQemY_W`z28=2L_Ca&Km^fw#t z22rIF1XS=r4C@QF#K>`aLPgRG+Tp|L_9pXhhJF644=1QVQY5|96;A;6Y8ZdU!IQtS9k@Fe6j zPBt8_!2fG#N6kH}pFH-iw~$~2)}{$LeF*pVIr27Xw+ZXoU#^xd-8bV7CJZp)$CV3D zZPF0B`M&jTR!P4!-pyu`i&J~0F}yVa}d&{AQt2sy_7lO595ZW6yD zU|UI<8({u7faK(<%M)m-a6H(bjkPlGwpz3(oB|V}2Rv}o%bWDqd~LmfU5{uN*7iTI zm?cS4|B3Zkk6#o?G7$Xte?SfY=p)<;+{ORK%N0>-+Q^?8FzcRL%>wHFXPsupUs4hN z^Ff^2zvlo`|L+Q@t@%HD`NV@{49B0Z_up@OhcW7%fh5~`?0-H7V)UQO!DIis-2c6o z-^Ru{`2M}ulUI@rh+5tE0{plC&*lENANzl2HU4*AKG{78tp$I+Wl!0WZmg8l|F6$6 z+I)zWoqgZ`toHxo<>5X6B#8f(XAJ1Y|DRvhpY3=S@^6#g)@Bj%V57)7RJ5h)y*BnAKp` z^6{!=r|X?N&R=<~XTQlbGOg#~6dO*z=sc;m@834ERo*;vtIN6S0hY7|lWgIH?=Ya( zxDh@+zBsS>8g6qM?+JAB@ez4QwX1C$9EJhl)*ABn!GlGI8xtA<*FjHYlqe#;ONpl1Hj9&kpwtCeKf=^lHesBsx*K4M7MBjnsFn&NSx#+6{Wg}L%-q8 zud}lc7bWOlzr*=KKTSBHaiLl$lxa;WHM3`VFM0pV_ewz!$$i|Ii7#bG~RO!T_BETs8=agS1aYzKw9gHRrXGoN*#^K4zzIDD$#44kvqHjWj`7HmBcp(xSp6MpT_1DU z?#ogOAZJtsBkSe>0TGB}Q3}%%E)Vrt6q4({t%uI{j){pukD{(ZGad)IV|H-;q4 zgG;Z~!NSGH>_VTq4Ztgy{TvK&pkhkPZRTDZzXe8;1U7B*x|`omxtal~Kfu?c`YESD$S#jY1Tg9{Um&J<-0%zW&b_|kWeF-jG$(x=NZ zAKmEn&@7|cGV=P@*Jqwym>F@ex>mm~x@Bp1ny<|dp(qFBTa?t+5O=Rb09J%a_Jm`R zvMhrNLU$b49~8tQJI!I5HD4YeJ1-cQpexwmR?JQYJg|hzbpFVb8jG^;vtBBV9wRTR zz;@``+8zX}fuJ*_!5E;saEz9(0(Sfa9S$FMf1Bjq=SzDf$BqXe8oS!1SKc(aCgNq_K~p>ROF1qOkBy2LATh zE^fS9#&scduIU7eGk|to;74D3o1s%FbrH;}zG9mXz}yq;!(fjX0i__mxw)wXR@KnG z|3OA?JJ`89I!C8uGuy>ljq%F*MjrbP>VF!1oAh{qR(16lcdvkhk1ZbF z1aCRd>HIB70*XCKb@a9!-;9>FWPlmryHUI10q~JE0JD_?;Gt^wqg`e4C2RFR8*PMI zJ=-lKAG|n5S_XazpTLG-$@;If)n92om5)>wcW-L` zsV@qPfjToL%m8>UqqS!-SsrZ0aVet!Lvei>DV4C_OqKceT0dVPQE($qg|*+0#@%*x zZEkPpA$RrmHo{sO2|t_3AK@oN^-X}qn!!_!8n4yrquW@X)u>X}V&GVRitBpCn@FQt z(7z~oNB&5oyP|q2I+lR^V4lKD3M^7qLn(<@#J;uw=C>PN+}pQrH~soWO+>NcB@|K# zE*%WHj?!F3!K+!oB>j#saCqm@psO@Tg@Tb#D}{J_dlM4Gsz(+8BI+{qTz?*h&p(_& zhs9q3AJ=N=!VH$`QXUzsg$#=NU^HIE0;X~=?D<+cz6tQj`Jg4M+9>)7Sez^6QIv61k|%$FC~7Z=nG9_T?EqqPD)DEHl>ejL+}y~+ZrnO3kQnV9*D}}E1?&3dEbXk}Q;eD_} zLtwfGaRRFdp48b})>{S0!P*ln${g$zWX8Sf=;-+P0Enc;LcM(Gmu2wH=)87t$clSt z)SgYGm8e*~r>e(-rR0ne23v{_b(d*S5E3T)HI|{Sx_I%81oQe`#s^pwud_BES@KQ3 zc#gT{)Ac&kFRC;3_a6Bzp>pm?MoEE`(M0xfd-baw*})Iqg=*bQX=v0d%kju=MO&F zt@`(|e3m{KJ1@6eFAP4_1>xA(cl-RU{9UvHUXrNUTN~gi;dZ$L?y?-LX$2TRu1}u5 zq#k(-F3C7j0@$VQ?(U2`uqAQs0|A$MTRS`Jy7FDjlUh+D^N7zC#RT&_BmMmKt1^MS zD6*xHfT~Bg1npM(=`9X-h&Crp7S0r-kwivo@D@h>+l!-aS}o-q4AlHStEO9cGywX2 zwW4bS)Zf~mh^pe=*3OQO+T7x$Lmi!+ic3HBP|PKu&W@l#VakI+OMrDK8NB zmBQY7Jb45^Zp^+F1xdX`%}HjR_;2{J9rdPwOv3-jQXi{$Mo}3q)6-S1ywiHU%376l zbsHcz<9*g|K%m$L@)9LyzcXmZp#wp;l~()wya3Q?Rd*=YVyO0c(U`X50QdddvJ5)BruG2 zJ)sKJa?Q2NS)*sYCAYb?wF-jHvDs@@-=azZ)VO`(1FJI35_I2_JvIQ&VHIMm>amoB z1`wBPbD?AJKYTI+13&arPuCJciQjM|dlDM6z^i3~x0QxI3x3bZ3=E7p(AGx7nT&?@ z(zTHV4}P!N(%EZ%_82hOEMVEMX5Zuln~P#m``2w`YET^gLZfN|`ZpTgfOmcY5pV_s zA*kDswyfn)SHCEZ>6rLXb&v&NrLRO)Wj14b@6rCncUib<%OmDJ?G~~%CS9vkf5@V| z$O>Z!)K?cEdP9Ai2N?ftTRGMXx1JhkvETw(B|n06Bplp~sN53&YCQ%Lw=1ai?da%m zUmJ=9d*-9JNWEEVd#N@;1uMj{71u_pmRv4f|bq!sd_YT(pS>DEn&#IRbimlJQ z`Rf4cD`B1F_#wH8S(<*{24H*zNUZcy7SLc9+-iS*eS&I&OM~L0} zcrC%`H8ZpQd0-l1(|1@7w7&|%0qf!V*eY;5U(pEelK%Bm`uh6OO+JmDJ>`WxOX6s@ z4vF0rXp{+6S>LY;_~I+sH!ro5JHd7j_zR&A9j)vshuS<}TK+y*DJ|s$v|F=+O(Pv{ zTm~#ouvEV-n)5xg>S3Z0? zzyBd`ne;t~d_vGw2Q`>qYsAN+$s{y}hQRmC!ou9D;yx%6lwYeermX9uNNezX9&mL=B3H@ksmss+<)G>| zZRi6z<3bvKGYGPb2uMU8Kq=uCbpN2`12q4Umcm1})!ft5fLadl<56JV0mLo<9Yx>b z6tgCkpvh{cxw*Lvl*+T9prGyMhtyRlaeR9ws<*n3K>3Cy!w72Wi{Xt=YF_I;+lpjc zu3A42pujgzh+Ro1pt&aGIFFzq5Zx}Qs;I`}$sTBu1ZMgM*m*Iyyk+8VSK3Vs)TuVVixC^20a zQCWy?L?02B+_6HvF0F9-2zjD}9E4{3Xg#KX-LfuXPJl8ez!6m0<}+PPasX?E1tBqe z=W8CS9MRCAQ#|`XqGFxZ@L#MyB6DZ_Vh=<{3-5Hj56JTKyZ2!nir1{RY-MqAu~R2F zw0n4PyN;*#^8tVzeQ>m}_Tf{(0YkJP6b=10a8WN`w2up|RDo8arr&w-y9OFrL#*%> z95x2JwT95J3k^ll+Q4`QYEnU>kkwHQ)dT-2;hwxCeIj4RT#Ng8qg58_g8 z9y~cK>nSAVS(Dyq*0rCELGvr9&$NSz9TaB$RJ?u@JS*`bGjCZY^`9NP&-!Zni5MhG z(M4DlN>p3IwK(?U1~|M*E@Q3kW%%!Fs9!)s#r^C}TE5$?(AA`b2f^O*eldq_(TE5< zFb~w~yeBt7H4?M4vj@n=cgNmj-dXcf*>zQQeKZL(s}u_DaSPCQISYat2k}4C>UwV1 zElp_tDd*Y##67+W;+wjb5^${VMiPot&wnZ*-~Ah}gKg*L!@-3QPeznj)$d#%lrR6JZKO+%b_Ay=EP?h?BZsEWao=<#SL8qomC_ZQhZTe;9n;g3! zctUG+?(tlo{)W+(oizK9^9&ELEUFul37eDF(TXlsliA=PVsw4xpIXjD%ZyNR-DadN zUB4kvRr08g?WBS~9mA_je&(g`PjY;`cYBvmvibzKMA8qYYqFIAZ-1FQva(2a{1xN= z;q8lSO~)#C+E<;IPHMJcW5BU-ay*wzjl6J9{FNXb_EwMTPF*Ex`%_cyYu?+1tf#V9 zj7Cfyf8Sj;vh~RHSg?A?BA{b#F2u>nX;|zP-PL8dO+Y2Mu+THM_sz?fFMl0Cgr5fV z^_hIQM5Pn26acC38*}pSLBF&#iQT(*r{-uUsPNI!($-lYJ$e)pL+!x8K%1L4Z)Ryb zJ3F7$&|v4|tIxEoyS*>SAN^B}+nkg~w1nCHXj#6Nm*WWElQeSQ{~jK;T3Umg)%35k z`aSwR>Dlw={r&x=VB>6=XmAHFe@uU$5F1+ulm(}Cbw|F2@ZO$i2_X{IYHMrZ3->4~ z#Z6AyF)%P7ZJCyg6Rm01P=JY3aK2~T`sw=@Pd6+Uy9$O8?y4U;TlqvqMSr%mm|3rs zw}ym->{C{L0R>&BsgA=%MMY5x&I8_&+rBk6TK5!rEKYTDWwi$ zF*2IZ4OFULodE@cSFfnJjsFaQHfU+5J~bs}WzmBNe}hWz6%omeDN2Lv?4-K7^zG4e zi1_t_lU7#3k5~lIPMp=XwK*uzWtx`L)T!|E^M8vu%&4lWYG-es?>@Ju>M`HeMTCW$ zySlzXYF=I$#3dE2wRi8{E6VmIE+gB9hK4LGEYhtT`9C~IrpLSTWx~V5S4pJbqob#t zouw2N6?ZA#s<=r9n`-m?`!-2ePWNqHEg0|Z!y?UN*~b|=kD%4Dlhc+YTWJF)+uP106|Gpimt$s z+oNhXZirG-Q!kEw_sh%6b3ObzFE8rOL<<``yWe*kuUE$Fs6)PS;|3b6F@$ji)>!OO zP>2G-quI8r8Y0TKZ{MCX*^(6_gk_V4h=yrs%mP}07R?)S>^tEtCS~{OK|)fxnQz$H z?G+OG&9&AH0bX8y{#dSrL|k?CX}CklogoTGkN$Xhf|mLedc{HNxpR&PHxte9x9D;> zRH&(~&3q=H}zUjCVRegHjlZv zx#cR&O}3=Q{&GHW@Zb%&oXk~8vkJPekNJW^Ls=d_evDcDY?!m+^v z5L9UIw4Q9sVB(Rc;^N|JNKn-^GuyLo-@bx@L42*9+(EjnO_bPQzB>0C?;1+{`t{-U zLf1Js(s|SfL;}8i*OI=UK6j2)N=oYFsZ(>CE4?^Y4vv#4Ixnt3^V_Ah>tJ#&Ub=LZ zncf{zSLZu-EWf`xWte}f@;wiJ&|j|=ufzj)v5oIYMY47*GP|%~ z4i$*Dw$IAryJcjaf*VP{G@>de7Xg+T5{45xI@@v`dxxLv8|~h^_kIwU1X?29xpU`e zTZRx=QBd`u@$sAAtYoS}1yaDXzcfcz!jVBHe&?#E#-q={M%>G zp2^J|+fs=0SYorUF`U!G;ysIubQ!AUgw<&TOJ;DVLEvYN`?)p9@B9M-UKSVkJkdf= z2%yi<3@lDW0r(Cm_G}dd-@iYgnI9Cy2$oz>LL&73{rj$NUcx$Yr!6e@7P`#{D=N0% z>;$`iHP2}`X=Nt&h{oBo43(9Y=vhguyd$=+uTRa;aMztXcc2VGYaee5hmQ(Jj$oZ8 zS`NV)C4bO+hHP1Z@T%dLBA9PAHM^yypRBIBgZO3S=337W*4TA?4%mI-p;CnURCi%( z^V%Z;VLGj|XU(d^c3;+=g|_ok-rmZlrlz-NdiX>{M8NGp_cmH*lPF#t2=8Fqx%2Gx z>wMAC(V(v7?9@!5tmfZra)&D&O%( zDNgc7J~E(b=y(6;d4vc(@K5_CSm55H9`=I*sh=`m6Br<76YG(*& z==rO_KCY+74xS6$Mkr@unjm4QkCj(+o8Hx#>*(n6*f-$=B0+Vv79YT@T_nRvnxsC}&q(3$;JVgl82hJ68EC0a2%oxeEf`S+v?Y4BUwRw^- z^YqZ*;39Fs-NR$9UcUFra}Q6?A6;E`zxw64nZRp;B7$+Mu#oqp z;^L1-M{QmuC0)(2i~gkb$5D8Eob1T@0ac~3?m~Is3wc>kuoFU6^-%uqVO|6j-wf_< zakBksU?9W#%1k2xgG1;T8GrYc`WY6wGJAS@LZD8g*81ssdy$6>+$sWs(>FR=4Qlz3 z*Ky^WZ-~%+p%NE zP$$&Z)<*jJ*=?rBo-8)6u(rNF@cXyiAbw6p|UmE|&`qe5Oa5B^^o zJNI}f^F59~nbTT=iL1{N^RHP`k(@H9p#JFTpa%-vF(vBfEhshR_h}u*xMY%Lh zH+RVzw^XZXO)=!MC4*+nAi3=4!S4Cvyk2|qm)97c$M5+)pYQwg`Tm~YY+Z57K3{#+ zs?(<7W4D3)0)c>B41{J_Cn%+c&rip`EG*PQ`&+X3Bl7a{dFl7ti-MRUQ6Si=h3&l% zl6QoA9biRKQi{cc%Mhr=OO_-hB|T1DVVP%7iB#i z(G=jFJUl(M3}@bvAyYY&0ln9DEme#J(Mj)daNr2LIDnjTEsb5D)t*+jJ!b^~usddB{1p_Lpvg!N? zpRv%{*_o(sXrN;QrB}z~*t|xtug=>vG`6>9+Bjqz>&|!yu(+b3|1vz!el;Vbla>Cs zt?hD7j^_CI_`~2{c|4`wL&m`CY~4s%=%!2dm=mq7t)mDjcZG!+3xz@gtm|xg#f0%v zr2mO?gkM?*b2`x|v(nTw9XCH*0BQa%tag#^82>m_&EX^^CtH}C&sl14BrI#FyQe4d z;>8``eRs29E4@>F#fsQdr!ZWd0>MtEoQi6nP=!i$#GH014t|4X;8k*yhxUl6@~PFv zhb7Z!gilGeJaVLf#*~oy6;_T1bAu?UrKQGq*lc_-$1)wAxR{u^1eAYcVE6o{rX~+> z@1XZDv|KDijp!2Ukogh-Awr#_rt2;P#jLKW5g}V0LcAD_>MgITI=S=3v{uv8O~h0( zi63bT0VdmfW^RphhZ|6ojrkNG5Yd}`!IACtkC2cM!K-_xSqC{V7mra6KZr!`fIfg# zQfg`~Ue6m|uPA#)QTHUi$2}bd0lu)tZKaXXCFuS$4DUckR(3X7;-)4i$eTR7^~sYs zsX22$keN&VE4@&$k1L~peW>JpbW#$9%jF^jkIBmV5}5V6E#?0s-M1AdCYGE|FlID* z4N*)cQ8NrNHXsG*tJ&Gn@PqP;7H!_U_ZM5Y*~>l*`ULjc+S&%S_tR*!e0doDU#h<(}`7 zl8}CP1a8H)-QGg6I4dWo_GVsA&Zz>Il6`F@*1qAScqG2%nU_iZQ$fMP$%z;KfMjio z#%{-Cnu9}-_?-=bUUSQDCop84Ev$nimn<|Ljl{%HLB13V(z)-)`v%YiV@aA{h$hSr zF)M(iAa{3rGzdwitV_}$F^jy*wr|_!Tn^8;iA=vrBFx`1{P0icj6K) zsSj4gM)pN4*7Ns+42gh8A+wDiWz1dzx#E@@sOG9zSXhwr>h|rmlf#^Rh+Q1 zv%9OTJf#0}R$+L?4RL04(U*KaKPA4d4BU&r6@YFmq9dDr2Wx_@nleF{P>6d@PXXn6 zuSZ?v7#Pf5 zsOp!?I2s-aCJ2B50X?9or}VppOOie7O0StS_qw<|0Tb(7Sv76@mVHJ%qpGzH{%)~? zf-bryJ9g}N_`T5mk_6M$>5j)2y}iAl%_wwokyC6#5rhQ)hsjL3e0kUA%~Aw39lQXs zZT1SouWD**-`&K4iNc8goibTkjD7=@4lO@s1CNQhbY3P2M%7g5WD2U^qM8qenC zX`6oRrXV$njg4h#_j~Fq>#*B^qW?ojx3ab{;;0+X9p}@TI?ng~F%35K1tWMuS`Z_r zvY-;CuNJu$QY$PQlSYzMJ}$CC{7h7$&s>itwr}#XA_rGjRV*aDl21-{8yg#0RpZpL zu~2w2UQv(+7FFsZtD)VpPfSks%x&k7o>5vC15qZ0J~P?*^KJhP jd;WasGY?Sv_)`RzS*JGH((o?=U)wEqZz=d@|HhQYcCcr4m`nmUWaQ*%Qh(qlKj6ZOzuGED^?%Jx1A= zD5Xi33CV5@h8eRx_q;#V=l2}P^Bm9deU9HBzkf7`hPhw&eO>2up67MlVlB5#$ zBPV)jok2vgT8>UL($z=D?Jko3K;`#I(E2Wtwit6ZN#PP9VuKr6_*TxTJ$h5@i0=p=RJ%F%`qOJW^`BGeM+f`$X@Yjn zLE^y+-~Oq>ABxz#xwbegDK9TSGgPVgFfOi==@&sKbp*WMqL>4I-3%U!>?1ht;o2n6 z$G|vwa%^7P?muv#WrKi?NaejhAWRyuyNiMG^Ys@{0zxUIAEV-$T-hVtXC2;~=b`8AT!oxt*IqVlll(+Cpy z?&aBmya%UWCex)_{+>rbnHOFS{1mGhi(+^UGta*~eQBt|{T73aCvDDSU!qt{2wmb> zqrfegq2+n!vjt*zj7+4C@UaO>rTlnZtIDO6zccLM9(emQO z2kg&%suxyGoL5y=ey>!Jb*I$1;WCS{apv~zqbn;b%iu>RSNjniZ*Q-bMKU%+QOGdz z95?i;q@>L~%{dx_V(x&JM*{oDM?(m0WIR#?deAWmS-Uq=NR#D+NZRvLaT4u8(vg%) zlfgbds$*e9z2loRFVFUejNg}hfy71bS61eL-m;jq+PR|FmM$(&H2ZWo8$-z_KIfZ} z2rQ1qTa+IO)?FnM-|HM=5i!u}-YV;7nV} zF17eK!+3MRI~;3#+fr2>6EK+glOlTCB%S=D<~Q_5SN|q(g4D-idrd(ZeJKk)axyU> z`&iKXsWjx1?rxJ|=9AsJFWfqwY(MA^e{+4XJD3Gdzg^7YcvMD4hFoEFQ<|#7o8~B9=?A;~-fj(BtV&az z(Fm9@a=JBszkOr2qDQTAH|MLb313Sb*#YoWKjN5#x{G%hoiZ8U0Z!)XF#g3UfwhI9 z&$Yy_3W-a%|Cl34_)R;RdarbiQMcWe*@Ss2{!WdsZ-ogl{X>d zu$OF}(R5#S`Nmk-OOPMzGxC4OEx8?ESX|tCU()3o-~2QN^+eUNI>#*Yh|Ui*=W%2v zoZ~~r;gc#7E$xqYk$z?RvE%QIi;Hx$@b2qtWX$bf>11h$G7+clKl40hue!R(#%PEP zdqcdxzuA(h?bkjx_`3W`m#B(;MXOFEfF1VXdauH=j9#8EzF5BZEED#FNh6-A@g4P_ zD=gr!td#O?B-?6veHBD7*2IclzhFrcf!jdt*#|~@b>@pJ58ht6f_LjbHm`D$nWm0>(y&zDlTh>G z#a^dK>eS5OYe{8gWpDfr@CoHV31C^#IL4yigSN|^{rw&6z|)V|tkuUPi-J&vJ$(3( zo%+LW?EMKP&)t9V;ze%p?TCYJ?Sdn>CLizLzuy3CtFZ3EL8;(xm$qwM;mb|FSmV1p z-z+oQLZ8~2umYY7Dibl3(zs%rGaUwg4{51^_?-jN4PI!@4jGHp9=pW}pb(thseph( z%nck1X6YjhwhBVC<8JcQ5RCnX#JkA@*S0Lb-(+xFx19jte%{g&txJ3>cEKbZfb8kK zmJ0VC*}QZ0=JnI}@4x;-UX2a%!7^_he?q5+KiZ|;M}Ep!9~Obie1?zUk3@ll+A>`2 z!|6(N$GbDZD^mv!Vgs>BvoB!a?d`yk5JJRu-Cz~=;c5AN-!@$1cjnTiJ#2j5woNPR zEfK`1ppyJjLoPx0$&m`$M;3RQhT^ zJL3S|-`*h|Ry=c^DjSExSK-F>^zG{(Ob5c+FiJCrz=Tu7!-2Fnz7IW_ux+t zUgD_sBRu(#sqF^R8x)`;^*3klWct=`f&70&@hW6{eLzc!i@WD3jy(o}%*C!}m&>>J z>C?Q~02kHI0AcLkBBagc0@nyldXdx~|*_dSqp+r-7kK~-uyCFz`;viko0 z-(tGuU6O_VY=hJ=C<~8<0d_U{@JF0Kzg59J>)Ht6jb~DTqeWAHPfrVY5ZQZBPQ|;g zH1lHjnRo=V)~6!U#>U3hq@(f_0Lbp1o`9vgX$3}@K8qeWxn4tv%)IGqW0Mll5J6jS zUj$g{w*2E=?fQ4GB$JiThU#fgK^a=@(^W6LbAm7G<&$IlAp7=3ZZr^vq#Nc-8I4`_d)uKRQbX;LUdZ@LDq`Mf0o&>@)`1 z)z+J?$zD_aGu^;n=cK|G%J-|QcO2@Fx(oK-jXXD)aN&h%np%5vjn8oPP^ws#Zirgw z+6-(DmpOuQ^Nk-tS|(y`t3!=%wp?{VcJNM@TjSi`gr-piI^HEr)fVgWcy8`GeL@mv z0HD{~bm%dNOaVzXttkVl z#ZGmifH52ebtU@UUEW>sx@l*)zVLJK?!F0!egH1h0g#IwRwspzwmuECbaeDmNs){- zI(Y4)tYhYVGC@49t;~1y*juot)zhGkczkRK@ml~{#YWcrbLn@)57@ebT)Xz^1^2O= zGp@xZY$o8^{%A*gUCi#_?U2pvGJp&>z|trnh<$pt0xT;y%c{QFFA%r=_^q;^Snc0J z_Ni3JNI>mM_kpB!7I>1j)>tt%Ebz*Ne@y6MGY_5VtiVT;$3m7K^{C^dKq!YaGA$5{ zdtf!YUfW@-7ZH<>G!I_weVRLo+nhT95^4B5q+s#vk-TYYP6%;~O^KZ`XGD@J)m~}` z%~`8Byy;9BO-xKoCUz)d!V_=Ey1*sWoM!C1a_k#|RherAh#e>4htEg_aQW6vN%W`l zu-Q#X&Diy|DO#g?-$pnTxK>l;%wsbmi*PRU7yhux;4Io)PZ1r zdZp31_O`5y8I*sOA3wX20s#K)6OEN4Q?d4yJYtIG zS{hVd>03bIQ@}o!dwy2veWo{D_4o&%ne8+pF8;H*u2770=zfr`U$Mw|P#pgy6fwfP z1&0P-(10e{1?o)!Ci0lD&JU>d@}Y3*RNA*Uo??K#Ji4e7t-Dmq2KZKh%;lF_cqXZ~ z#TTPo8bhhV{KcSpcc&bvTxs(CRt5vKiqel_-WA?`EC+DR{c39MA_zK~O{Ue~E^~mY zUnNJyPrC#Uxo_7C)nc>Zg(|!Y1uS$K6xxZ!8bUjOb?>{P2L02>?{(LG!lZw8ff>V1odDL=&56YO~Y%LGxd$BR*Z* z2I#ITo5u8J92Ss4(aY!i9gl&6A^t}loamH>Vj$5!e#c)%2279t-Im1vOu{D|D?t0f zeg}R+8Q-3dSR_Jl`#}h3oD-nbHnEstU|*!c$?1iyvw7bGnMg{MpTyrHe`4o8a3D{$ zJVl=zUojqLMr@2q(v}*q0XP8Ag3y2MoZRx2|EeDLL4gEReB(R1Q}NlYz5M+Aj|^b{ zUAytVJUgrlg#P~B!3mrrJ7r-|zutz_Sj2|26N*8G(6^5JW@!RmoON^H>}h{jKv-%? z?Yqh&Xu%_)^Cj1YD&(P@{Cpm4)28wgjuqMT$v*ldwB`4s-aC;-ot~Zs1#V#d+pr(* zF&idtgn(4& z%=1oAIl!~W#OrVJWghW)4~jr}DET^IvRtOAD&^U$faSAQ&uOv&NKSTa7ZoXckJgK` z85sDEOC;6(EvOOUNrC8p@o4xzHQM+f$d9Z~)VsVQzcP(?>algoW9_kPJu_baH_9hB zOFHD%{^OBm9|Wm5Rtr{DRq4#;CRtip-DL}NAdkZD?)YucJ-6ICywFegD<=NY*BPW~@=STMQ>)`{L7nwZ^r9 zTv;@n13;m0w9u}ry6XT$+QW#A9ongXLVC`2bE<~0^96Cl=yN_0s)WIue4bZ@~_eA`+#Dxg9NZ0BOm|+ ze*SZ2uet@pn+5n|`|gmDe^g$aU`v7yHfw?|{)Wpv5^|9Y(bv8>(x2nNmKYfPNH{qN06pbZA#7y@ZEUn# zG!{xpd4Efdhtv4v&sfE0;JL*V&NYMB@QDwa9pGl09niljf?LulL5?-q5#N!p=cG4{ zT`eX7VL7d}b81)CJ{_)vf9=nOPXi(lsh=faKfpyh)g#|Hp!}&8JGyT01)8>RGMwX8(FGAx&#|#;A1S~u0Yxrk+@9)3utsVb0PqyLSogMw9lW*d+Bz99a(g;kXQ8a+;N@1n zwWZNrAb)E?c{j*~#aV%b$6RBE;$1mKWi)f!bZ6a&hgC4l>lUO4Hxei;L|DuzJ zb0DNXXs5T~JS-}EQEmJUl6{FdqvM1-eGKb#6g}H*N6le z5FpxYQ2-Vu1*BpnBfJ!7>)KIZ5D7}@z@6)F!l3Y#F2##=H{{tOF6-7r?6vQ2ltR}R zVnLejj+0P*{~FuWt^M>*kZEjV1m7v9)jq?Qag2302>oZ317a+S7xrXoG9+(?W<_wGci`7jIu%Zg*pr$3!XMKJK?wO) zLN7(Yu?|X zmz%?gXQhIY%NVrne6m4ZARF1P2ixD7`S_gE;mx%uz}4x?Ex>rn^aEa*`VUYID}~5m z^CdMO3oK*+V}?O&JvIRhq*Fk=v$@RG4;ee&-Jj}7TQ%#0NpTqeYtIM!kx)$T&O`+` zg2kn!bXP_7zE)G}i)%y^s5u_d>MT!avdFN34jWvakhur-?aXUs%@(*Pwt4~ICai(Z z8C*y3L;M)_TcoY54jx`xWHL^j$d}{iN8jN%d?3ec*E?BgPphQue`Hp|sQD&Lw#k31 zrE|&YwT{ULtjoyG0gY|den~gS@W`{K?Z{0oj(a{UICyj2WD2GK>7IYmc!x7}I#b4~A3a}(=s{tP=`gfVWQX`6@ zQV_E3kIioPZ4feF_$?N0Okh~asjleOQ<4WrxDA)e4&2$KpQ5Pg>W#7HG-Q!is5`Y} zL-Cv?b}?4bx*b<$nY}CaX^nuuV1%>K$0ohkFupy%t9`<#HNC`$a7&=#jY@gSi(9zV z(g~TzMd#|h;!%&4Wk1&RA5}bR?BAn0ps-PoCwNurtKCBtvIgy5PdBh4Q%Lv~q@}B^ zNODS{m$*bx5vTK3OD9382rc$U1b^fBPqo-tMd|R+FWIDmbiKFSVcH|Rw{8D-3$wKv z^A&8-N-8~Dcae7akQWX&@zqiO#d-1LwaifYAvsJb!#9@uI^w+P=j+U0L3v=km=(57)f7TF6TM-gg_>YF@YujqUwjTR2 z5}4<)j(cNW#RqkzvkI*S53AL+_EP3mr7coX&RcUhA$Rxdn99Af2$`9|xIw_Ies`ga z_ldE-jZh6dm5k2sNqG8GUCeY-e4#PTjP7;Th^|}e*ywHEBL!78(lvZ*&KkHf#VP* zqECSWr~BG~@c-)|1*tMg=@vWeBkdic-*Q~CAHZ(oRz2V|fps5KW`2dx7|Q(fu#i#t zq+BGbiXZ0)Hz2sY=@jHyBdR~nV}Y_HiL{Ov+N~_)S#y=n_(@1-sH<2na({Yt8~5hR z+kE)1gl7GSi$Vqilg*qWtpNK!7FsFtU1EBhDjm8x^YJwKShV1dI|Rm3$o~EQ#D`em z>H>@V4p1lywuF;?zYkN$j*dxpPo_+Z|2mnf6?JW(wUa(wbItbwDyT{si{Gn$uYukW z%c>2?HyR0yf3u}AjZWi+tue(cw6Np>)Ac=fI(8RmFb4;(t3{~|#kaj}!`%+F`SkI{ z{mtv*%`K*15E3I$k+F@qw${_!$Ka(AjWhe zfxKh$GYA6S>1jYt`2_?5#%@oK0~OW^jKe?dMoyAlUF%k5#oU=Ma=9vUw_HgQ%>iFM zl~yvfIYC{h?522;c+c$#>Bc#(qk6Z?Ln8Y7lT2uCZBpzUH#rfeF z5^PNlS}>pYBRhaAEl5R8rP#5(vgbub{180W$R9LQo?Bq_;U`=v%i|3;5c+p3A$R-% z>&|_6TN^r+ktjOY`;3x-fAb!W(tD&nbM*r=erFz&0?1F^>zS}c0cG0P#mCxT0(S=` zQ=LdUWdSb@VuT0yIA$~==J{cHd2>5`TUc3+o`uv}7yjjk2fhSaWGkO{@_vXD*4icx zV{9JcGZ=9D^x{I0i?u@x9|9B z@93|v_TQ$;1=a*>LG;1IUibV|Z`7C}ux~ad<3(+33hxsfxO3W&9`6gz{qszo8EJ^N zuJDThGVDuW(7eLd_ye;wrTicBAGdCj=bpBRq;>Xa9^ihnV46N6YI**75pOX_+t*J9 zVQAeYOFW|oY2A(#k==GeFD6-eJ3O9K9j5|%M1mX%dNGT`HM?MFz_t~+p$u(5-;uE@ zFT5|=&*L|j`I1TL@xa{QuElrzuDKbBw?XSl)9pZ(J|PX6diEU}$#Tfn^vSS43YQ!9 zi%_}tl{J+%7)V|y1o#w)6ty$~Wbn)UZB|4Sl6j#@b7mppxNj<5+w=0+S9eDJG%^mQ z!gCH&`ixf51K>ZuotZ_YUY&35%bu%FZZ=gvyGHDng@!b5f#W}THR^7noYx zcOCHtG!m@711RIL;qpJ4Ffoea)tY1Y0PDz`tOYaKYmm!zTlI?(t4P`EXUM`qcjjG@ zT)$tedt!;4T%QYu+YslvP(@7EwQUzGTEqMFBXZCG^82uv>jJQ0uTL;eXQ3RV)p6ms%XeDQ zFtEX+m~>5#33i79v|Apt#T{^*Ud{)w1@P6rtgb(f_@y>vAI5K;>{w&G#ZuJJB~Q6w zw90hn0P%2dKlUe}0rGu1C$~??#B+ka7BA1rs@c}rBvGbm#J@b|mH+Qb}Mo)LI z*L>hazz^!Qy!o+ML#QIm3aB2or-*k76ax17RA}$YR8PRLPmN*ssMnQ04z*m(1kN=o zV*(?`+?oTnIX0H58)EWO%XwpwMkY5b;`NxvCXrSz#zqWUi96HA=BjuU zT-g7g zBOau!aiX1S;Q-Fyv2v*^aobNaEic@8d(}*cge@UUqSUE)THi6#uH}94#{1k#+eVJv zMo4h_HVvtK!f2h%4rvn~(B{jj8LAv46+FA{vd{Tb$ZL*|8$CUPWE{&Sr?}TiNp>f9 z6VstFI(TtmLj7KbNKPKIA1YIOtd=)qVri4d0qpjBt+LkzQLo?s24z$P1#ILN}SeqLZxXU9{QKHfOJ6xVq9NSQz_I4(U zvdQE>6Gp#~XK^Y@hLM+*aJzMLOK^zYBzzBbc0BUfBr!P>OS5w+>}!};`<$qF&bXBS z)|?WVlCWn!R6zBiw1pGbIVeL42?z-kJ z*NE(X{R4-t!S6y>HYRhE%r$%w%gvm(fT{DC)|0Aw5@_(!hNWXrGaAPEr%TwX#3Y@H z6H6p;?N>VD+w(w~+VAHe+?+K-?4{^(LXi`Q&^L8WjaGE4vp8~7lU~4!^iP;$HqK#d z*MLm4tg+Bl4a;K|7C~8=DaNf}gAqtZL&+VYJTsKAzGzT+b$$AAhYfUz7HlJwvr$OI zw*Ghrl5XU@we>xAlL|t!J@CQ7!K0`?u&X<2@Fk9EYZTz3J{krKC-{;h|HOxe7^|(H zLtY*(zg2TsM(I!}bM-(s1Pxc`Es-n^|M2VG?p|S)zkd&Y0`p`oY!p9%onozhc7GMi zoVAA4IyV%V=%Eaww4|+Qx#vrX3RD+b@f7PTD!yuO^J4jZ0r_ZQcR2bA21uKU`uWn6 z?s*Q>Nq}R`J~gA!z`~eXyN#lZ^RgXT2n~7=GLF^WBtdvMXgvKvwudPCki5yJ*pA5g z92_0F;4W3;lX=deTm2Db{#~R4y<`U~=d#RNxgy58|L~1mEv{QjPE~%(uIYmnC~QYi z7fNog&(JNXvnT0QktqDccR9pPv)zLJR~gwb^ev~x=~JhE85qom;ck&8^c48YW~kE} z6aslqss`05fJvR+wITvke9BXufW2zKw8_#ZvKs+VGuzW*OG{)pi5qgoM6AD)VJ`Dd zegmxSk9@1}c!_{CAG2iI-8{$CMB_n-GlvORx(8;cdQ3CPEh!AoDp}^3wGE`=qT=7Jq~U)Q0WTe4b;t~Q?LSZ%hjMww(Agswym-M7Qr&cEWPPRi z4iLZcTRI9j-Fkj(w!A~`Vca0uLf33r@{&kCyZZ`k?@#$=yM9hjEApC&My!CQQ3s$s zk32u;=e^B$yxl0V>eTdv4b@NGo*2rBz5{m1Bj9OGf;VYBL#Us>Y-M9}zu;Nu!{3Uu zq9B&#nRpw z#&tyb;l#I;|8ryq{v>szvp?-yoz-@)8<4s}8`9vdGE8_Y4>-TC13 z5Pw+#XzA~gilmGy#e;5AOLG(_CpQEp0vdDkD8-D8y3l`jf2n?6&FMy$JQ(q~3x99B zF7j`)l2hckt2NIbA2HZ#wx;XngU>!2ZY&0WMJ^Y&YKA=XqPgnEZe5-pS=}DGRaf{i z7));vME8eBDEK7=$tZ|!s=j4yUQu)B=Ek7i+~GIgo)2*n!K$pj1zdzqP7xP~sb}`6 z$97cIrRNT21|~n&hq=L!OVyhk;o~zK2M|bZSgl6$vmRivqk-T568OHQ=^?Lm)E%o; zJ|30{o!J9=VUvKH@<7E7Rs5jySdxS%v77$y?`>hv;DGLO45zRTm;_)CHn2P03qzH_ zRQ@`;MBC3JBCSH5Jom4}_BN${z+m2lV*+$9+_}@8AJvA-Ki&0Gdb7Y!S8>y^Zo?%# zXg0nLU4S`KuvySxjnQ8kv>U7nC2PcR%}rO11vfphK-f$#Hek<*2G(E;tFKuDgD9n3 zUFrPPW_>)8pr&G-+2m}Uo7+^o{no-Ea%gGoi7s3q=a&Gpj907CfA z{+UF1h*M$;NPOGebU(2fL_is?@B>N-MeaK!XH_ZMZDZb(r&^!47W zQZ9ey@ER^+`~faysf%+)wGPT(W=s@(Ra?sPOTVc2eG9%J(`mk_i~qA0Mq zM_BalB&Lu(9TV|2bv(vh39&=T(C}2D8NE@1*|*R%d?eW0pR_TIZDT!;=`BK+yDh$h zRGBT&dD2U1A7s(`Shq8=RbJr331g^QjNMm)Doy6*0p-MR)gPR8gA7Ts_`FS`@iHvOBsBRNY2zXP`JQ9+`U!1U#t^ZxiV>9|xR^4eoTqb3@#`{v%>T3VH zFnZ%1Xb9LTOai@K3QmbfedFa5-kmWriFq06;NqAntGE8NeRxN&a=Q)*eI4L%T!&QYSd4)F4o8xXuKDKx3VZM*wh2in9A#}g8 z_kZ09XJdq`+Ejri7& z68QD&4O!X0PSd6si(5c+f*^O6zUsK>w)J#aIttzu;_H#^{{8xPl1LKSLZ0~*7N(dj zM;Zy7dn#t0U{9pRcYGL+jFC~Z>aN%1ONd)wSs)4ptgWAl^8p`3tvu+p!KLS$`jX;# zYOER_&XHEc&cnFVFN+QXN9NYj(byylAm0C)GT9GsF5MP_I-fSOcI(QSm~xw#HZGDE zYx4XcgE-b3&tGtTRpyZLhKMrLHa5P)jD(`PM@>F4-Oa_f6DoU%+I|ymV8?&u0FBim zGWX-xhY$EkC$%y_w24h(*9J}Uw?)=;v24ftdrV6?;P10|mnY&x6`yqi1M!dDmKBRr z@SA}{2HukjVTGv58xSz;ueP&#)bsrESx?>QX4Y{yo6XNVmZ#S*ZYKdRAP9-k7sWQ_ z_YsGz@}0StnY6i`i{If}0%{rL_0)r}}lbGum3E;kcc!ZN+#i?ny6H^_pG(JEj z$fA=C@TH;$Y+rfF+|FGS;*6_8#w zZ@jeUxm;9L$L-U=uF*4`m8R}uQbmCHEhgjB}kUGxEnf~dF z{NAnPk*ccevOj!J%Doqn`LmQl-C17fsNXYpC7i+*QvA~ioSi)6idU<=0uUWO9x^7Q zcg&uCS8%rB*G~D$n$fEn)70snD&1GApuk zn?Db%xC9UZQpenh7^y_3C5#EP(FOFcOhJh>7_J_u+`v`a3atf-v3B`cOM)>V&)0k( ziC!T2HrscJc1ZUqLw^DOT`P(i9!E(tNYy%fg}%>(?x@8JEsV^L5oC@)KjfK)1?%%P zFsx?_(HX?K3>@{bpbGO+1#`9&*HqGm>XERKkjd{L5OuIj6iycHVk4{GUwopBXWxY_ zsE^>*!5d%I^4paL1?B^XA=gDRegf66H+MNn;p{fa%ma{dVKk?NWG41`j)9)}U$D&; z1?VF-Aya;Z9yEmF;!gQ+ybWO!Oz z60U6HE*Gr0rs_(KZ%Hw^MI;HtR4#$|&H6;?U1;aD2`5-JVRe@Am6$}P*>oJ+%HTeHD|0WU6Egjqz>*rJ-eOhkp_Aav9C4)r_D82 z)ww?A#%@xJ3d`-d{@#;#4opbon{QbYL1}kR+bNjR& zetCSokQOIV$l&DdZjNB4cj6rF8{x+M9O27R{@I)fCYvqmEXOw1gMHRhQSj#apdu~A ztK}FW=;B7u!v6B>DGoc!Ul}vP!2mWP^N?Gw>pfu(Ya69c_;;E4W>L-!Xbg%+`M@GU z@$aRLZ7Ar*x;JeF3%N3$}{EW5llFG zfCbe0?X!(mi6Xkax_ofC&oa3`!3~e0OlA1#7lo(s;GJ@*|Jb_-S);hdNf7fKB}`HgrDQ&kX!!pl}62yf?|2 z?P#kY#i7K>3-ulAIleI-Ga5$!tTek(PuzyW#xg^7Nk*}fE|$}P^jF$4v2958X-S2B zK0+Ks73#t!Klg-Q0)7;f<7F2cLa@=b&@nVyuX%`jcC;?AV3T>B z$4#KZWqeg!=Rc&FD>gUb-i#-_PDtiUz1xC>@D%4%I($ zBX@LDW0oj#qqo?;YeL3ob5vS){bDSN<>*X&>UQPT3QC>SZwqh6@;94SS5aglYuAz^ zundRpu=Qkn5l97DDm^o3`n^baW%YxZ1%*(4l1!hU9`aJ3Y9mCx&PCdBS=$!vxr1O8 zug@}$JuvtK6IV9GSyTZPQ|i%H92@B~I4w=7p8tppPx>|LUAMl`4$LdHT7yO0s`(C+ zHLEUE{sgfK#NM!W23kg4V{AmS%*m+pq{Ui^O6VvF!DF1|QNxNA@96_Q2G zPs02m)o+n3-vU?MTH^OZuIROJ>G{B^DcHW##=RNx2d_SQvn3+3Nt88kVKuTRwdkvtZNHe7$D@(ciVhs_PWqYEEK+=`e=h!3ti?J!Gx^>gTiuUydhUjqwPFgg0*j zo9KFBYm#~5GnVvj=oa&K(B#h~MjJtiM zG?fhcB!aLu6_maSH~lMBat}RVjnpNiHbw4;{id+llgP)f+${(wJ87d{@9HDbd?l;I zFnUWj&h8*!kAVu!pDlo<^%-ice+6hW&Zb)1N3=R3Xg60`H!A-m^Sw34j5H&PbCh++ zG_439G*>t_fhCBjQ~P^3+aD(Z10ZU(FRA)bq*jKM;HzRSqPFLYF^~B}qxD;g9Sd3s zn>+vZueFS4c|}dBL#@aZ%5W?0?KUv)>=>-Uv?YbillrZh*&EqASoa0Ed4v*!lo>7) zetAuIAP0I-JE#Mv_7{p+tq{rEUH!Nrv=~6cuw1i76;K>&`m*J}7H^#yIQ8oa1vBi{5@XtnQTPAuIj+I{nuEsB zr>9_&&T;`P28W%qyV{m(AJ!Z>xo+QXULL$1r%c4n>z~t)d~k|XpYg}lZ$r%k35dn1 zeSDpEu3-%^`UnMR-lbN8aI&Km zn^L=YBr4N4@$@f*=y~Mos!dyWvHiPNjLqNLd;vS5?$IChW^MJQ+zTFteK%7e!w!Oi z7s}G81>FmP9|rb!<#q(MTWbOd#wpU-d;;@??xD==qp@o(HNXC9jjx734h1J!*a>TH z;mF;`G#^?TbDqc!;R*%SPnC+FKwQ43)xAjOfw;NHT|6wQpr`Vn?F&9uY>-pa!vv4M zyGlDdtN2@XB>-W5G;oht1vYItsoe-wh0C$8+rx~!%eceEQ9OawWZD|ymQRqsE!KEw z!xMZ+0CgsCm+#M^ENoz9o=Ke!?TAc6;6R>om>{P5gqQ>?7(#kK{95_awQeJ_A@uMv z&UyulImrvDHC=4X-=R5D$pqGN6{`RvmvMMf*5JgPz#%XM)>RY59z<(+4SGshy8XQr zMb)V^I4d8F%qVIy!8z)&o5rA{ zSUC?U&93yz9&pH5m}3SXL>Zs$0X=ovV{NV{y5{-LD**ICmmzVvftw@WT>Pod`RHeK zaD?Pw^5EQrh+b|h7@6Ug9`SXov8L@h3AuhsRSlzi%p@G~p~!Uk^8M$EVFm3W>n*iQ zjFCNoJbzt`b#Mo&CgSCp%n6ye!iYjHmpGPc%~J_5$*bWn>)Mw!;!bC*dyir$E?z3YjEe`vCA#VzrE;z{Xl$iSkd>%C&>SDMVzGfWI{kh zYXTN9qq}hw7`N>WHwmUQ>WyEDp<1GTP-9?!N>m#{!qiU(nV-VpGi-9QtmOep4Jg72 zRc0jT##&PjXxC3MecuzsxoRnwV`)obwF?^QDP641^{F(0kq}I%o}|nENAi#We{U+< z+MVh04(j{siY64tqQc*ua75yQULf{v{YkX(l=2d1mDxwmHyv`Lw-GFuj3=KbSe^Uw z4>30J8v987ZTepAKnDIJhbrv651*4YP-`WqLmzRtR$!S6ZkLVFWX4IV!Rhu(SPb!>Gjc%Y{2+DYZH4?J2eCbV5>OuIkN;Dl2!2f7Y)!j|zHk4vPf}2s zS6ZDnvVI4OVH3wnRvM^IMq0iT2_3QbNEe6tkAFVchJ1M!BHM$h0bE2_?BiYcu@5|~ zK%5Mm741i;AM|&<0XK-lRgEAXEjI{ps;I1~Gb{!eN~wS*$O99s9}rv_)-76 ztsk@n&Sl7139|ybanBYIw=38Sf#|IW8w2!z)q-SqFzA zY9ib^GA3kh)*|ceQQ9Q@4wNd>G?gzayn?-kJRir{51D~DIwlQNFe^o1%W^+Ce&K5@ zW!~qbY^(?7u+PSu&sR>r$1EK*z$UT;)VJNDTtbmTc%Xr;C>;8~u8$qt((ow7Ql^Qk z0+Zi%>%RA(H%bRSM135OOuxb?nZU|~m{8F$(SE&xC%WTYL$a-ejPVaaaM^3|s5CXv z*S1@3E-KHfKxMbesi(6d>jmZ4FWrSu)VS6l{Fae`7(mM(`H{H)I(AzNvSKDdIr_75n6$_@Gj3InAhHU? z@T=+u7nNS~O5c{NrOad18|6OXaLx1Bo=2^qR$%wIICFODtkm{O|M3dJ1i-@r47hYw zV()csRojGdz=YjY=MG-vXrf=JzeME{9%dXI2+(7>(2HPX@i~s6%c8yEfCV z^Prm|h>fCYPJ2NkdcYQTFyKX~+2?{7N!0v3RC5H}^&|GwDGt({gRBI1(d$9Zzos%N zO+Z2?baP+V1agcE4LYbhgFss)GJ=u2-2-$(6q$yKn;=RjaN%_Z z8%q^qZ3J~b_&V^)joN#t3x1rw;RBd87)ZYOSORT4SAvhqd5`DBbZ|DVb>0+46?ed}7J)mqisK2by9vA35G zSEuh_$;vZa;vesH@27NJ&OZ)oMzWMEpOG!>=y!QI>w~O@mR>$d1Um*sgmNZCUdb~m z4!=X3I{OF^u;2!31qy{-cG;&K#-su&F~KF<(UJ9>Bnp~yXlAV zuO`7n#|{q=`!WiZn5FX9wuRI4Uz7k#zd+CS9#i>Pnq6!~s_|uOHZ10xBeTSG^LA`~ zVCE4s*9oKaq!m=-V;QUq9>LsmG7eP)?u+Y#A8GE8q4mS|E1i9SvJryEoiKVi7lTBp zcJi*+6dJgkItn^|Bd&;-5@0+$j6S`VfTZ7H*)K+y{pVgzkQx*CFK42W9?X61i+8%O zLSHUK8iLMdM9@Q^U;0hQfF{kz?Q2*uNiU~(=uQ%=fN1$%1*VBI2O)>jc?UX~{Jkpa z+nX*uz64Veewfr@s^X{sP+d@-HTwWe7&m|CNq7v_4g~dNyy>G|ik26*JI%F7aZDKWkF8{c7NO3bpl7D;n!uDi!eJ;eDPYV2Y}=$vaF5S}3G63B z$V1$~`60p;IY0y&DjNW!;T@oDKs%lbsI1Zn5oq7(&Nuf7bsuUf18pMSL4J-}!>#7yx*S66;bcVzi4s z%miQm$o^V>7S)E6J3q&RetDBn4zJKeZ-y*3$_$wha40O!0PR4vs z8+Lqq@kg@NmAhi78d-y<@>Ia0Lg&Any}alUwJ$z7NE!kXZ>Jtms3OXY$d0uma-*i($!DxY$kjjn?1%=VFyf zju*aOh-2mv0(vB+q$$d@c8t_tPQw{Hg=B+!*qb7pUm}=aZ?JMImLws*#Mv5O2l~qf z>uOw1@fIVqpbP0Z{{xKv{+I`0ow%QHgWtx#@k>$E@P$YTQa|zI*y@N(WI_`FT38e) zp?PL;sQMPhd#OwlddY^x@$(b+CBg8eX)K!AQjPD%$i9HtJP!8Y?j~I(!uo37O_{QO7+(^@E`qrw9b0PN8F4O!!WkQJ zXk&``;ym9Di;T_qTO)f}r1no>TK+#5*oHpmA)0<7uX>^`Q}w;paXA%A{0>?zec4Oy zOqp<5XHDj4Lqq0Nl0~;1m}*$0^=!Hyt5rV-=7{^*Q060v${xpy zsW+z5KGRkNyscP5Bs}69xSvE@>=3d0bKEDlp^o}RCeG;g{MN8bYtjqTY2z$B?#jTS zm#4R!WLAY-*}G=g!>9zE-HtaD961$S)vb6(20RpY=OF@m)(@k!r z5B*mK(1&FYx<6c7SOxyg-C{1+QNLsw(Ik0YF_b=9L7S5-cTi<{s50<@kkPX+9BL#P zWt__T17>3KfDVQwaVwqLN)b< z5^zDf#N(@vtJLPxRDryPmg~&}$`8`$j8??;LNJ}k^2p|t&C`gJqiXlCPR)OvtDK5c zmvyL`;8puwta8WNQ19M<0nLnF04EwuUmEDSICX=XnPQj0K`uaaJvsoJJ3%j@RZ*}m zsvpbUZX7m<0EV$4I(YHQ=?RRe;6-R{%pjtEsG)Pws>h^~h#LB{nqSqg>!xqVG4EC;#xV?*9I>J6E)~0RwpP z1+WXI%mhgxSLvVs0fS+#z1u^8jrk6=5I08W9Hz4st)6Lmm@^*Y$mPL{a$_hQ5aHrp z@MdLZU1CIyPcu}N3{t+QI1YzAf{Y71!U07_FaxJefb3|VXw!JPfJ#XDznHr6c&PUG ze+ESxBB^An&?cgJK^R6>YRk;+!tLgq*tX;F!U#w{hgD6)=MJDp8_JHW-PI9A6r$9u z=&ieu-MgD`lJZ}54odLe%apMELdH6b6R=ggwk1dP(kJo{y+k$)_0o<&f8Uh1Y?RYJ zsC5RUN^Fm&RhMUnm4jKEo5&B{I`l(<^g5_(G1vZ^+IJGQ(S8F6iv_e>6~1rc1Ns=% z;bLMYg@|mx8(d@pu@hyCd;$IXQ&K_4_U|^`IIcFsvZ8ISj!cq%)kDwxvQXeJ9k|#1 zg*?*Tniq;uePKftfn!Jz8ESUg)D*S8OWu+3^Yy-4z@28fOW|J1?1Eufhy9PcNg;0alaIp6}In2sJe#@l}&TC41S_3p znkukC)bPS~w+fOB>0IO}L=&EUl`R{`kuTHqn6b@1}bi4`=yIU6|rzuXH z5AKFH_HMLUqwe~6p(@sINjkGx%=50?n6z??*w4f%P~lvvq<`(Dr_7zBv|Il`n$qB? z<}dOE+ihhG_+(z?yb)Xz$(KyLbCjmJU@2l@G40_%EuJw}ri#ey{_nvO4&TCg94+Dp z>{x>TmLhaM-#1LK{9D&!1~<4)Pxy_LxEI(Ffv~0XVlUou9qY_UK_-t}o>~W!L#y@4 z&nvEMvU6Bx8F=-TL22!K7M5U%3f= zUPoWg470RNY42)Yp)`@Rk*>L{W}FCjk#AYoXen&%4Z`t2L+$wp_<}CA!TP1!jxw^<2T-;#->vHs z6yC=hqzo{LS)-Oc_=2qgtR^T&hF?8j(;i^f(f8cx(?#0I1FGlmkT+H1-xrA^m<8f4 zh<%tIr}J}4HWcSK@1r6^^VJF)D&hQ`%DkU_y zVtu)JNpp}?GB=G&gNZ#WC4=Mggn^L=xs465S*$?5n6mRi>2=DnS4nT#=ccn)Sj#?v~P2x4dwl0p$syPQ6n!^lo79q$n+my6*m1bLc} zwM~Qva^`pZy7>Zxe+hc7{qz=v5(QFFf*$_l8oOMQzV@&SoDp;MOOJ%nqo?jAmF(Iw zfAfV^-MTFOdU;RfM)FLV!O5Q z0(fz`py@H;-dOnB_T^GM(+TU>({hRA@C*P|eC`ogXe_4mrmdj*iyPv-^#@~vNcbYA z*ebq3WKZ=`-W7+3{PKHIkF^eT6izr=?q)3C`DNTqb}Y(0hx~(YrgwiE+u@2@aroIu zj!riAwR=9K19aa;YwUlI+AJ3jGq^3Eq34NBYloPsT`wHg!n4r9Qk4JE!oKz!`gf2z z!=$A|jeAO?%Ypmb?TMUQN9Ow$*0OIdAL=bk15jX!eNWz_xtD<{dq(mB-gkYxt`FD{ za5luOcM}eR!{O>;G($mO8D#WhI=NkUA6^>X3WTX+Z5cTZpp&Bl$GAL{YkMU)cxWEI zC9ou5Yf!fy@H{#RjKyI5+DLtM5%;7f>UoY7Sq*2TTdI9a8)DeZJ9Manb5(7J?{DE9 zf6v$#?7A454R1rta>B!SIg^sya_W;v4BG_<$K=_N8KoyG=lk^Yj>%*8;i!1t z)EfBC+;Wp#j(go-czn(wMyE&M{xF<7s=bn#dvcLL{dIOgC2ZzoV-6Kg)j?JJa*)5%VJdOzRz&vuO5rbikRVx| ztcT1-R{32Ew9qX2Swfq~JIeZKn6YsFz?0sm8+7YD_QF{=KzA}dmy)r8=_}!5LigIu z@Q~Sd=w$zqE9Pd8t|)VFJ_^h@l~Hi8Qw?3r{!VjjZp@72CRPmyW_~7ByyOiI!d3C3 z*JA_A_da%M%h^tPuY$fYQnI6sa$7c~6diYDkreYMDN%TV6P_lCo0@)3#rwVvG}q~Z zqG#^cJk4zU&-`_W*E7@_M z3n!3;OGcNu&`^VfFUGt!E@mz&AQUmA!^O()T#eoFgQtIf&z!Vzk71nkgiSf}tQ6-> z{OD~qH%kga692n9n8Mw$+r!J+ukyu1^_LnSI&>JMV#T`NpUC?Wht_wXPOzFZm(@HM zk+%;h_!vOW>vrdmW2!lMbAZgj0j#QdaJgwIwO7kAr1aTtfsZ#T-@xqcIrLfE6g~s6 z%~T%h%;55_R)O<)tl34PTvlbQ!B)ei2~Tk1ze!CTni9)`!SVQ<_?Hc9IocW%Vq{k} zRxWkhF=5=#0_pB)Qo$MT5Hy;I5dRAC7IOPoJQ zpXK?irdZO6;`q2SsAL{8eFI$U*M8SX+|QIBiAr0K1Ol#7z*ak^pnfLY^$P)kooUf3 zSpL}yG+c2yrm5Dezq|-bm26@y(AaoP;Q#Ssk36m1)e8IgAsci3{6B%XGC+r<7Uj;5QfmcF)v_g9N`8{Gj?TkQMGXlq{>)>pF)Y5@q83jSWBFm%_9%egD>l!zJCedYj* zbxtf~N3tLiqFHw>cJs%AR))>=s01QzrZ>-TrvEgARUUKVjnXNBIebnXNOar1rtw$L ze{#+K1sp2m)?gF8+*<@Hd8lb2L5pp{mWn-Kf{@69_tBA?eRxrP8QOPfR1SY=W+~W> z#G|OSN*WTQ9rmTuL+QJMe$EZ9wbITr8}zlDh29;QCQs}SO?)b`Omoi-3Ct@SpE<6O zH^0QKgaWXec}E&4NIej5&_fv{RR846ORGGzMuVsJBuiC4);n@$p?~*c)n-F|u`V6yy3D)4R#%Hn%)Z57Y%O*D4jfkz; zhh4pV1~!GaJbI=$EQmk6>vZZiVGToI-KoOl1GoHl)(o|GdWbMGPnd8|QgE{=mUadL zl;1ix^s1F*zHR3%DUCz=uo!3GpE8r$D6$^2=W?eX5%MQu5QN1g80iODRB-#>k!pjd zhRBz^1X@h2V3qLTGn~OGq~k^Eb9qjN?6_R=%-+r~hI90|`(H+&km7NG_q?6YjYNXR zWXF1S#q@8ln8WFNJ}{lvI}^n#P-XR6kQ9_kJIlhIWBY3P-|cU>F}`yyBjQ%YmlIi}fu7H#wD&Bwk-@I4nG2{t2jS!RWk5Avrk zlqaR4RO-bX#^D*YJ$J8N?v=$<4E}tPBZ_=Pp_g#f8bO%NvwCrq{(|?RU0(B34Z&E6 zkV@Kot79K=dw~#Y`D$#MdhDO4gB7ctu6||@D(DyZB+<0{9P#~{JpN3Q&n?1AA&HVr zeD!>OU6&BssQ?VMh6*3AC7~eMF*h@b^?O+oyImtC5O+5vEnV6yKQT0MPxvwX-DZx$ zImy6AMfAC`Ob_-diRr#hB)gSzl75NfRB`I=l}lW=QIA_wpOcdg(*iu`i@p|dNAC0Q z8L{OVwQ+y+!-rEhW0U29__~X?-Hfu9B z4j$)S1;qY#@lyOp%A6fOUh?8U#rN@BW~n0`k?>Hq@M3DlL@*rjMaAAGboCFkTJ;jI zU;)@B3nTlhUxHTJqec0!{iZ_}N`W&x{&mL0wi1i(hoxx!+9|&+f%ygS6N+2e&GDP~ zJR*hIk5kMAnY@XC=C%UELcUh_=JEvW_m6r+N=pCmV%SW_$cz3=>MQbK`W;on%0R{N z1I~Z$^cVo{rwU6M2kPIl8Gi=J4lN`%CuqCpfITnH_NJ)BV8cAXIb}d(o6!#xjur3w zBkG_Q#J9lm8GHHSfR-S=5;Fk8WHdQt%}AknNB*GWCqCXAmuOF81d(0*sOjB|6=y<> zjBYvc3x(N!a>DO~B%T34rg{1?pZof8{xI))L*qs6`3sUb$k-b7rjKdrcT8P9#aI5( zK)7!~VbAoeYyZ1&tVm?nQ93qYS=)kxmwrZ&0-xx>83Ry71`7a_yni0Kb+p;VBC{i> zrG6_&c5YP7XbZuo3|dIn)-x-74Hu&uc8J8!TaPt~Q*&M7E@zc`))Bx3Fjmp0@sBkE zd%cV1N!B}}^na)g<2+b8MERbB6T(4#wdbDKk;lTxVDnx1ZRGemeYHUq`M`QRUXkUJ z^D;=^1HQCrr2h1<%L3652>aFX^}$~bHNRM;dS3*{{G`U|TAc#3{=Xl0z+;#U&PbwL z`|1?2M+e+GJw8tp>pts_jI%WEb%Wav9*offGdoY-rKVS|1M{OrsQ6DxZ`Dv;~qgQxB>-QKgO)BMRAXzpAIR=XRHJG~;($IsY8e&T~9-{dMa+QUJ3#sptQ$AnBW!!@< zbKUess{TIs9Ww$=ZJIlicMApEBJ6uGI&9#5U8{aBV%np$lY2WBhVPgvg>OrBWiOFca%A3;!3vJ`FoySfxPl9OBDITcmNBmq%(vl^P zS{-UNjwt_f(*v{-_@ocsHfUCTV!`~N!7M5q?d`ddI1D?-Ztz0Ee*c!s@{OCPpyd|q z+R}jCfovT?Gf+jyUDA&uyRGQ?d)+N%XZwkN=r*_I`|_BH^IbU#gPD zckiTKN{v6e9MD|K&)amyh3CeQS@BQ<_bT3TcHzHMrsZjV@0z{pC%!BHT8HgI{x@uT z{_?ejEEnq3hG@-SEPq}G`sm&GzAFJE7br)*?C4Ot-51c-Knn6Q<@LP4RLi};pO##U}d)KtLCS#SPBGoL7Y;GB0WiV6CCG5D>$cEy~8Ymdp4 zIJ}oEsA_}Q75r8n*z-p&T$#+Si<8;U+py0K)OJiW6%hxp2{vKJL+IJ{6pt|JloJ;q z#%Jc8*UOn)w+*lTJg0*ZgEIL{7OaKb!^S3stfwVkjjMMorVdWQimf|w8)TCjDlaf< zIcdZKkyI9`d90`@LG2y(9$d4-XUWeuCO2w%($a}G4Ql85GkmSn)kaqH506?PlUdXo z?{qRwNTKvB)EP(JR7=Ttk{)ZW*ukY}ZV!@1HiDh^mec@mp5)O6dX@y(#vWn5gE;}t z`0B-2ugSk)(~2}WRHgNKVTTW;m!jP1`sKJfNYp!NXTcu`JhtD?bmdR@AVolMZpBjJZcJea)M`HuAqy)070&?C% zaBovDuNyckWAc7O@m=if%1~C=JNL&^5&V?C56`I>~4;2$yo38-3E3;_=JzqwhgS6LEZh z+(2;zMY)OR8bY_I0KPL#RtzbZSCe_ec3v$aZVBuI>pv(jdcqoMsKne)ioPQG<<(*V ziv;U?Fr0;IWcDSR&w-Gsf4DqVC;qC6Yk^U&)GroDY2VkJeyp=_LSd9n&J$3$&9=3t zCGu>A1^gZHvU2&9x>|FyIZw2$#wphGE;KoXZ?HV{-$P&O^w`@z_UlS*Te01<)cugL z;eOpVr{Ya8c%;q1Yc#B{zYI=$8(x&EPSW@{Ci{0OdrtHF>5qOtkGO5 zYAUYp$`H+CP<@ylUj=@;sKxJI5JEWc|2zAq)Ub;Uu8juN8|*<0`wdEsX;y#}i$T?~ zp60SxT9rxW4+D6fZM|fGDE&30&_O2r=7jLqhc%*+mP%hbaQqgUOlTs>sqf@{W9Pq` z9E`HxV6dL)E9sRR2-a=p7efIMXL~lY$R~pR@7&W>c8m5)eC%vXh?Ga^QD?sH>gc6? zUM_f=Mz7AI)~Y@|X-!rglqv-*m3#hD$j&5C?>nzu=IMv{}BTalzj7Oo4fGP233%M?sqYv z@7Dn5xzNHGK%*heP~%07n)Rv+14#k^I(n|h_vF#v){*;y=*Jd*@D&Z(E?6?`e{%B7 zDQmJB)3?2WbbW~v4ySE>Z%4@Dfn)sl;`d@2$E*j;E@OE+=!Gjo_9!MNE1(=xZUWrp zYq2MLuZ{kR;Z2eTtrGbyykO7cpVcd4_OR|R5&{5S>%a=s1Gv(}GSKx~_Sy%&-LHeF z2lxP$>*)fX+mCZki1;jH);;0{*nOW_0X%)`WTNDnFD;cSraM`&CF>F^^i5~3-{;2n z@ER#<7pheS9x7M9(Zm}_sJq7K)_=$qD}%h;ZMnP!tFBM$;g|F|EZ2D<{;2{TM@B%B zv`Gp*h=?1@AKSHj8`7bSop?cx0UZzW=zzzo z&e1*G=`8yM#_-OPBB>G&Vi|&%03;!IRS*a}6~;%kgcW42AkXW7trB}B!7BOAx6|O) zdOi>Bl4#tsW$xzn4texOH#&wNTX^#Keo$$MDU>VQUm}ga>pEVIl^M$?H8wuG&U~-z zGjh%KM^()XT*OQM_l*GdGPxAB`^|WkccE}8$lB2LO}Tn{{%`2)o0T1dEjB#)OZs-) zSkFR162v}$7f03hh%jlulsDz#HtU2wA#x^AgzhQx-vs-r67z1GEACZ7`BI4m;VXkO zb3v~Vh7@imaJiLq+d2Br>VT*2PmEcP4hr9};($;5 zKukS{J9LU0E~(?YYosVw0=CIJ3@JE=14K_k5dH%XLB(s~Hxw}D^|0GDdaLdmRniTC z*B~Lu$&QwejC^ZIF^eR}ox(=({Z|3`?YA9Zh?g;LS&7Fh61RF|hBTBHxZlLC+kI1$ zvBuQ78F_m;(hD5pXZdV9PGfF?x8$)Ro6{L}(FXr;fx?np^ z%EDoc8f-|as}~e|gO-$?+=s2x2aaaflVzLCSerov`Cj14oCSo&@Xj9Mo^We9otvqCo1JL$t*$vh-m*he ziVBN#-OknL8?3VqYU2I{qk5rXYD+JT8AR9jl26^(zwY;m9`cWspqE!$e{thruVx#0 z`d4`cx!a*s%YA+^k7jHe^g5ODtd#;|p&q)PX(lCv)TH8P6Z4|D0Zw?7+RdS6DLCrA zv43thle;H9l>`=bmdmfh{xIhCuVFfm*~OD2RwF^gXJjFbY33aZ;Ub{c38lA#@dN@j z=88tZA0h2Qdrn&E@6S#11RQNa8w(fUvAiRIJ6R`cBD}~+!K0MRcBiqpY-Dl*W|CSx z+!Z2mMD@cb!out#rxs|m$sf9k2&N+rRcL*2Ds2<1v2M|tsiB)IW_tVZsKmI_bu$IP z_UR$;z!g5j4>Yhnb$E{3r_lv)Y0qju!}BF^zlq>b2!k=?0l)Tft`LX^?e4>>c~f+1 z(-fKGNa#wyOietm;|igQ-JckF84yzA+rGH(t6@Xs7jjVoEvogNj0((h0(5R%s^l+U zJuRnOZx*o^tYY?85gT-+iiEKIMu@q`>YO6EDgYJ3#te@iY7n$e5c!%gfSj_X_kSPm z!5WhI{i6J^J&I5L_t~NB^8tBut0ej<`u!;~@4PSPUYPAPUcE;VizXzZn1PYp z-V7;){qZF(CghBbh1t^dO#&nv9trFto@%&(rJy=&Z_^x^N`F5mW9+myizec8}n!dyxdZ}z%ZB?u~a^7VBYMJY7 zu4MV3|1 za2Bz{lwQu1o2xZCiy=mV!le92u1=3V<$DUwNMulUPDMN!kq(IY&8I5l|9eMvEXLU%uAlR#zer{5_$q(jC<(O&u_>72yYQ*T$}C3y+cucn z?OxVk_hb@lqczF`-ciy8kmy_ViJ$F7O7^H-yp>wh+ER#DRFLVEx15RN&P*O2bz>Aa zot*=zDqrlWMWeh4B@FYu61M5V_Bvj{BDUvzzfC<1H_;&A%vzn#(^7cl!_UN!uTPeI z=j&F1@SaN=;p2KrI9yxa{9hj-8)R{;NM=1{7tg7;RvezqW<_w!G|h{Ms(qE&CXh z(@rMz%xJW?n9e`Yk(}aasfklztf$;uBzY{$==4#N_?s0aeGr^z(Zf6Vj~Mv*-lkI8 zD^(PW&%Aa~e{VT5`e@j9@nw*@g-21IUhJeF9+AJNV;`^*rN-w}JC!!)Je5{k~yeT0vFog|yY1$c?kZx*m={@KTzP~hSVbn>gB=db4s-8B# zY1IHn`P3gix4fV>&gr>09^csZ#$-(>y6FWYKkm}A(lE98v0g{UO0GT~l0Q0jb>GhL zB5M%Og4TF$)o;O(Ku%L6+SW@sbljoxW%+@B%r?Izk7ZF2qc;t}A@2Re@E?)&)wlOg z3LJZ?3Faf>t!o`!D6rP_;v+PMtwLp&KG_;BtMkMf7b7RIANoHhTC#wQF6zmOM`oL< zxFb4HJ@>MmGKyjo@{N2bA0m2b7QyL!k`3KJkRyD1A81nYJK$eFMXWPFp7AFwS#A}R zRt8y(W02ZPLZH{@4pccUS-KQ}jM|S-@2-L18ZKNzT>~hc%>qonYsTeOr?UTMZ+!Cv3t=k zr>;1_3Z@J?)6siq#JefWD`b3owlx8FohqS-a~g4w<5xE{q;6Kh zjGv3kU)E=;OznZ5Mk;)iGA!SrpI0F0a6a^uD2nP%9*XsDu!fxe>(EsZ=PS4AT}QCK z(qy#8i4Q`Je5m>Iu$KB*1=TR_AsA6NL3E!%66Eeq{Kx9^!*3g(LBis)Eoa1k*U|1l z!;EtO3aE(G>;~nq{d*`Dyapv6h(6>kLfzCgXmHaPx$^7d&Dl)OgvFs?T3yPt${Jmd z9jFFj%xAXq6HYGVyd9w)JOLVwkBbHh!N|N^82KiJ?@wS1UIyW&mWW}x445lkLrhR7 zh4Rfq*XMtd)1}~sz`^j!|0fP3@SmaA=f`O@vBH^TBSx`+NAWt%bR@I=uF>(xsW26d z$sFp;yF^|X@`#k4g4EaVy1iUBy^eear#n^9R&M@a2ZIRSbs@wk@~F?y8C>ZbIsWU~ zYcH0>jGGOF5rvoGzlr`8Xj@^cAHJVO<@*y=FesF)9fkr)BIFawNRlP{`BfT1nrmfM z=^hY#xD|?1v|N7%5&b{VRd`ig06MYCH0yRg^tz+v*1Rm&x#sbS3Nmuk!s6F`V>ttw zUZ4byzjaY(7|*_smtfME1I%q)ALa0T{YBIJRJum3=0VZ}9j1#*s#tE@%XH65rL4nY z5L$S2Y0>M5nZd>wH)h?QAct8uq!gGw2yL!yG#Jc5+;*m;q`6mq&rDG>l64sKnC2J{ zn+}#e)SOJu8d@@QNrcm=ik#YGs5icMyrVdtkoeH;K|8I8HcZ%Q;2~uSk;EwaV<|$+ z*X`6^F=dB0f@e61?8eRaMHqs@y8e^u?sTZ0xxsTGI)Dn{AECHZ9wCB!7by=8cSDDe zhC3aqD^2dvovnQ)LRQ~BU-SvuLl&FxVz+p-uOwsa=fh0Mu$Ia79d0foLUP0BZiL9i zx#IZAB@qztpxQ-q{|(%FeNv?<=Y@oCE*OOv0U7xt*XAWT3vF>EWY)Q^CbB}WM&;0w zm1DWHN#I!r0hB!tkxr-y-E}Uhb(-N5Q~I`XeygAJfW@4`86M=$Ak#gZZ;#+0^WgS) zpB_&mAu+AxhLzy$f4+xCMkF9zHC;;)87$T3m;#_TNnnR()B z@Ad}LjRQ}%yoa_;*L%`Sm#)Ya+c~CRhYnWUUrj=Y>}H}p)DwRAt$GM4x-)K-er@RI z*NrT4r$}Qe-5gtoB`6ZDlrp(=Y{sSWR4O;Ey!QcxKVX%^g>k?r!@fw}scK1GKNqrR zqwhDt%h2_3AJ4mA4`(o!i6-hrE=+zkJ_QA|Wzhc9=idqgM_67Q9YUJ}Zr z>B?v*PLGMB)+-GR!cKq6Ysq!C92m7+r0(MiVLIl3svQr*$@tmR{xZ+mkkSthF71f@ zbU^eyd*@qmYP~shZ(NtP7i6ChhOid|BPX(XNq3vx9ex%V038P5|8$d+>d5Cl&y=?* z*$X2_0Ms|L8}YDh$jDjR$)ex9+(BX?`o}o;_5cz0-Avn*ZN3*hGUm{>qhflv4Mj*H zZ(ZQWF!-KeBH1+!m0cbFx4qG`XV2E!SHmlCIfDl82eYfZs|^Ze!8b@xDA#uV=^zA~ z^x#G)04;>84{Gc@7{ySZn7Xb;&Xo593J;0ORU%X!s>1T*vM+Nkw)()3azyL#=xV~_ zlO?@6N~G^h~s9+Nf7dbbqZj7HC;2p<{r+2-p==`4966OLmiUtRi#ry8y6+sZQAU=svNZ&ZIsP8a>SsJ}a2HN%-+T zEbP{`qB`=(gUWm5JNI?E6qPZ03fC}mHw`*J3Y0xwag-<7gCRhDutuhQA5y_w)q~k! zY4k%8XjY8kMJYd@OrK#JC}D;+yVMdWDa*XjwFj>4XU6yBwsD8DiS9+HqFcOr57C-w z(pwj&BP}Q_Y6PW((4cjGy2-f4q3Y3huXQr~`_w1hiCn z^Mi7EDxvh}tz?sFIAF+3)2cOv3+e4jnr z#dkYoZGAQ-HUkQ0x47$Y2eK=PtZAa=azJUfBvGsdtz<;)ClXKO@%D~F!6(XXVVs}( zVf8#A0Sd98x^dafl^3Ce+EN?=+%Yz|y(mD&AQr+D=;hkt2;XOajxL+T5mOo!=pQfmdu(|(C|Sg zm+f>{A(Dm^uJEiqEe7Z~f%28B2U8a*{BXnzcXnvg?-O}Dp0)Ri2F=(j{3 z_h4K1jY-l=SB)q!H+|=K$yxiC=ehqN)m}t1I(FHZVtJ2%GSR?+;G3BWzbP-u#JKI_ zv{wt`c@IB*&}LjdC4@}3`BEB@AbaIQ^0W;J5hmjq*2S0e79(eVBtPoiN)#@^oV|oT z^CRO+abN&32SOL-dq};$V^`qw>(+*J1WC>2rQ2+W#<1Hha0(;sRIXbW25;aY$c=`I zN>N1Jp#+(|q3iFn>uB->T2H_(HPlZa_V~Ugaet+2GMXQaTW8lah9}qK2@lsi4LAt$ zwWhvO@YV($52H^o<#gAygW|_ZE&97wP$sC20_IWE6Y+vjyvcci)$%$grIK96zBjJx z#=e_x9s>094*EM0T#)bc)Ho48y59xMg7z$E*UtztwT zeYL5$7w2V9+EuC90YLsa_6=cvh>8Zp|Kp80)qR8I2e%n?zKAmF6qAkq{s4yr7t2|$ zPnlTKi)={26_*eF^1X%rti-?>1+;`;COlN$=rvWhjK2B)F-F{Dq9bzIw(|-|$Inyu%7W)C7=x1N75C(!S2%~th6X5M zHaS_9h{k{J-SPht-(T=|a6vxOib2e^Ar1XzqVf-v+#p9E1z9O{!GEW|UT&I!qOMI@ zWt#e9aHh}R+-tNuJt|sfMR_>?h-#13@!P@kx9S2$K5bXQVCI{@tK#D+7Ky_>gS$yXpg=Wrw%L8e-d4H~4V?i#2fT*5ty`bR&YDbXx zykNL(*K?85PY*_5&5hM~IyfI0yclE>h+Qam#3RN>JyQ+8U2g$LNe?EPB(2R@=r{Fa zx~nJ)3sppcQ<*TFJGKdLZ2a<_Pcp~E$g$&QJ~~7VD%1(ihjukJqI+iIvvyZf;?ocC zhYf+&%C1zf-zxt`VWU6h5`E!U83#P(F*0z9g@#J1bOH=8z0(=Ou*#uP`8L$Bo*??I zi6Tq2Vzz*klvH0+whEN;oLpIOv8Sp8FD@+Hxp2i65uzrV1S&2MUs;7$P*E7R7$F+( zFF^jkjN4+k6vQy-wO>|F9eXc4I}B7lWmj8gyH&H_A8V+4o$+qjoSp--+Xp(6WXEpF zIiU41%KiZa(d^G5x7E-m3Y)U8hM`~Du~YXfE;eT;rb-iWUPZ~shmcv@sCm_;W&PlJ zZL#Y7VKwJ2+5YsFp}KXzjxhWw)xJ3@{K3HdR)$9jF2p}6lvRm3`? zP7;YvOnN1MRhKnNPApHhDedQhsw%F5QRH8*$9^$=_C!W(Q~4h_I@wU_a=Oft*Q?2o9ycX(NRpJUQklbLEUJ50yOlWm$7eBrM zDoVw4C&l3fmhJN&g-F?N8vYIKe%g9a${o=N-H;pH3x>5W!^@d|kKtLTyA1+K?Bs3f zR9(5tV+M_iH!Ww6M(;+ucij(64_R8yRW$nc&ub=Ad#lQ~3WAjL*^koqF zdfOB97tLMdfSlz^K%2a5JOhU-^DJryH|lpH)2igKab-zk2C$S11m3u)2!_%dA5ilm zFpU3W=sI}Y8X_mFC-pjt);Rn;2Z?E1DA*XBs56cAdH{2gMxp^QZDct^1CtB4`Y~pS zIk(MHK)iN;;7s8^` zW~js}jLi&!f)&fr!>?nj6WYbCe;|_qTe9k(N1Rs_VAUM34~ZDIbOvgt~Nl*0+FFhC5#} z9)4Ox}y5%@IwPe{B^maf_#EimO+_sCs~Dym9Vk@AcgtsEeiAPELZqXxtP4 zqvF+3hH`;#{64>RdBj$6r2WT{xD#<;^32?Y(=L`!s+wo+)SeARAzS9(mW|nn+0?XQ zcVVWO+Ts4rAkKIAtwvW33i{5$2~e!Qh5$^v{K8_zFmP>^nDGW}X3|=c68CMiUZs91 zb74^e<>wJxp}h5CSm{*bf>xiH{Q)Hu<%irWlU4#_0~6YjQ=ZGmq`BiR-4N_ls>j)Q zisPFzrw^ov;ULYhNr#XtTP_Y(E_>7amjZt@elf(}@N_OzkpH6|CQHF0e~qmoHj(`= zNA>YE@9G`j=r5}#W4q70ol{dH}re5Nyxfl`)zTVd4f30SjR zg?Q-hFrgcwkJf?c^9_UCrbIGd#5OgaZksM*JuN+K45^YTnorn(!j$XI5Y#y`?K`CuwU;;SG4MoEr7EJF8;aWPBQhEPU?gYOf-U5N zYVK4UYt(0DJp6dJ02diz!E&CBb`n;{70=h{ew!$qCke?D{Z-T*@PgHDt>XLs_*uF= z&zGTuhsh|m4Pwl95)cY~+?2l#4_HP(L;n(gL&W~sl&v_m z1Tt5uPjchQvLb8OdI&)B^y(?1MS~-wy(tj5OWQEKyK-PVbwY-93(;m~i1h=sKyb#+ z;_?54(q|hPya(&`Ki;Spa8P9l7bcGN&J=snBG2cN&>&blWxmOu7S$gE#l$&|cI5k% zMM}7R50+j%^Fk6iFNquF!Grwz`0)`}=O)j)FPygkQeMq@^ZxZ4n%MGsYhH&zPy85Qs~je(c{4&1w0!(2bVlZ?wC!ctSGU zb`-MVfhak5_Tx+>1oUIsr{^(9mzyB+&&xy~jKaHSKGu>l+c&M3*aVXpt35F4#SEhV zQ%HAY9qyijBph!bqA^aX$9w0~A8V_P#gkh~(V{oBNYrKee;?YOPO`6i76?-WbEtri z9o5pTZ7Ocl?V^nwp}u~+4%A2|BfD)So%3uym@!~(tkE3sUMOpWcS3^YowM&CMvXf! zcdB`+NuXnE6D%*GDzqibbSxXJ>Ga0p%7;qI2e&ZZfT3wSh{qf2^d4>-)4!5YJf5Ke zI!5Qg306f%K?OaeKqS9<9CaTbwHX=BnX?EHTFa7NuvA}k#gg@i!$QvB7t%?-zZKww ze@OTT5SJ0ty9uj(!FvLMy+r|S>7rSnTwMmEV$mmX1{-A=&0q8+uM{uhbuO2GzYh2;*g$5>rR0^%0 zrKaT?|KHQzfF*BqH5U1v`WdqP3w)HEx!)@%b?QL)?phhB+?i3vtv6SC8fdBOGhUhX z)tQ$qB_y&M3$l5l{%TSu_tf3{;8!55K5=i5geOBDMR)P?f43QMfC} zy(NTRnKEZW!6CCV=`!4$8E$(eGtstSfT9idXM z1Z_UGpP74bvd;Sk!%qjG)Le|OWPkZ^2fNGZ`4Yl#4j~cSJJe(${D<)He3F@6a~5)K zGxb&brB9!y6{8qO0>ulUtEy^8KMtS~*h#2@oQsP5h772z+j90K7QQSHdkVIU9t!)w zRPJXaL?sM`pRR<2+~gHRatr3^b!_J_T=MCP_zZOyppt)hS|JIvORVxALqj`5d^40E zY7CRmhEqiVnC4|H0C6hhoOEwUY!#7?uuZ>;K`=`{@=0KrJ?-I!P z%x+->j8-1H0_`=0UPbQ%k%sE0 z{#eLT=-*5CTwWX;+!`?x03^61vn)($uGmtjGKrqRP{@e#R-J!q0dP}hk?5&q4(mB) zD+C@JZjw z;Q$%j+4%{S9p5~Pphr{!<)=W6WJT(xDQEDODGgICkUUq2Z96y#`dNLqEs8~N+ciet zrqU?3L1{ZmHuax8dIMgWANQ|H*|q z)gWhO9TOS~d#-HiR12%;2WLr8K(Sm08;j2`a?cW9+c&3q+0nyd{>Rfx8F}8L>B{x; zfo~S7;t)IIJ{y}82P)Ed`0A3a7edX9rp-4s^M143`3e=6nLkPYn{x@hY~I;H?`PBMQnJlefr(;@C?zUgnHNh079#3(6N3%rKb+V#-?xkZ

20tr|H|EBl{a`yZIBUQX(a3cggoxt)?@zEKc2H60?BeWQL_>NC#aSH?bJW;6@heUE5iF%Od5-Ei%Yh zXXRqy4p57EVm{N#lqUPfqwM~?1d3JyIphn&Kc!S2 zUkfFd8iyJnil-mG%#}gv7D#a*w)OC%7f@L!mKo-kTnQR!-^v-8>KW^5eq7zd>qyY! z?dH05XA|cPO!(S0-|PAB=Uz|DgnOf|P$3rccJNC8kW^YmSwH)}?z5EhD~<4TzMeWU z+7sh`gcK~}eyG64bWl^k9}0qa^Ip_@H&LPry8sg8pEz=dIH05p+nVM zh9iFC*qnG_FnZ2hT_~_WrH-DwXAwKwsTW@5vf-0Yk6^NHq)p|Z1+tD3yRcx3<0>rl zBFx?&Z^n$vuR`Jzx#rlsf4g@~ObM~`(?$LFf0;?(gi5$J?(`?}Ls$C5X2RQ?=ghq- zQm_rU0_sSK2e>T%Z35ZW0)Y@bi25_QIRiddqrnCN8g;#3HG23yM194_kL=98GdkxSs+ zx5vws1|g_y(1{;AA(RCc$UP5Va>M2gUZx^Up9*-i4{w)yDe_c{dk5G%@Ylx|C2yb??JKTWU!f z1!X*x#--ai6{&H1wVUKKO)rG658A(ve{~^S@Mr`2X<_saXq8zWsNg3W1i{K#)TiU4 z;TJL_sQPagUJEBo%Wgpqt#;ktVLL}LbKRSs`RGp3*N*eLgGg5dkd@=cf1Y)wlZ;Yf z0MFalW7Sl@%^3<5Zg5{TL#e|@!K}x_Vi!}F;!WAm|FG!r%*WXv5;xoEDOw6Rr@RN7 zEkGoB#l6ij&Xf)bHEQeRwGVa@r8#;9CytUJJtg}-Q_N;&G)E!`rJ+InnB2Hpt0gI< zA-{?~kq?)FK{xph^6vpQDvq{vd|2`VZ@7pi4%xEK&W_u&#@;`jg=O?tKLekkKx0{0 zd=vM9;Hg{1o-#U?p(XW6?H~DBsx$88J2bKU(ts}tO?_pI^?m<_Bo-;?Yrzj+A~=mr z=dZ^pnfe`&v8-Ss9DIOLcRC48CZS!Q=GDYn=f1#a2F=JOTU?YgPu-mCoA8BAoF&)L zYb_hj-hG!|xX_P3v#NM=< z$*yOt!a+v~4g@1azb5u9Xc#j*IN}l+g#vyA^slVmZf@n=pmW(N-w3BjQB>$9pb~yFvnC#s4vN=7CWC-5u2 zE-IrvMasU!B$Y~qqN2VZ+8^>DN$RY=>38$>bm>3$|_~y{+%s*L<6guNibyFd_#XX_*_enegGVO zxGxqKVSc0x_8CLzF%U^KoDeFhz(vF$**KMH~FpYOd<{&m#*d{KtSz zf6RXa>g=1mIp~sznQDA92Zx8=f+t)c=pHSgyctP_xq_j;_6+Ww1)W`|ftQ;pnG`zk zQRH7~`F8S=1x8(^zlZ<4u6X3F@-wIc8)%sQJ$x`%{fex@M)BLM=vql0yD{SOz4=@5 z=v>~fG2=_I;&Er0vRCS~nL~ENBu8Ng5dlr!+cMe)vDm&N$pCIyiG=+3IBKF*u+Z|E zANZTJ{edlzLlFB9EW?4Am~(X(#UZnbhfayrsFxQ1e z4sDkafVDVE)Rp%k1*}Tap7;_Z>xbP&&D`JCRyU!^5q9=6B@oh(Dv#1=5mOL^FA3W_3kh-Mp`+`X*y^ zUjDPCT$_3U{ZJK2k{R~P{c9Xi+Xhs?Es^Kv;w}aq;i-S zYOJ3eF76L14!B!f;RoA-Z^5zfCb|y#a^nANu)lpqfl14tmS>j4{FeEvp&!2Y19-#% zo(}eAzqo2y0Gjai;{KU6J?3r3;xdt%fZcg;Y~-bo-u&{zD=H*dE2$g1wyGR)$3fWi z%oQ~#h-IPMpK$!Rpn(kNtnZ#}QF?sHS8c>6$P#@kymiQI)X9 zabeOW6mX0m;1Cy^fw}RboWJ`sZ3HyZeD)<*H02a>oD0?Cx+xpeHk(_8fi75q&DCG} zyACcLNF|2}QzpQ^ZMFB7h`H&fs~<|49=?9+W2xRl)Ta=0#uENbVy@qU(l@$yB(h-I zc&;2#@zDd=x=(opPMNScy=STwrqAk~GCTFHKY6%WY=wQxhSHMqtIEv9HIOB)b)52L zc{Bt;Q}XQCm@sxC)2Q#fxh&6#Z~-J_r->5XMgr|cllY!`q&aH*F#pEeBfU>n%9Vjx ze4elw_9U-GvsQ&1|Ab|?u-@F;yvF`FCClAM9*g}`E=oA{RS8R>uzhqzbaQ@At?vZS z={|7tnDrhvU3bQS7b+xAdG0)K}Ba%k(dbsHsnx`}ggc>@v# z6?5^+!ux`NoFgG~tA+sn@f!iIMmhXF0Fh=De3B{cIfos4`U82FBba$D0vjscgx#!H z)nr+>u4>2-a05whC|mF0U2$Cb7o}Z_7!?oIAjz z-nU78DQp}8!bwt^Q5Z+(ta)aLV2eb*zo@N;MXR5Ul-OFhJ<FcGLFN>nGk zRxT^4#u}Ei+IVCb5C0k&IhPe5x8dtbu!G=$`qc1T#?GpbtE>u|=Xq)yEUwHGaBXnC zfa$#PxZ#m6_`i|4D!~wNM}Qr3DXK1fOxf(B0R#rjc`479>M3zKG;_Jw1GG{ui;+X7 zUh227$heJe1rTTqKmYiGkSho*vSpuXEzJGX*3mT>$OCTmJ*vf-LJ4N{q%N2JUcKju zH`Qx`hMl}WbxlFK7omagwz;^#8s8)*eExWllz*!*xr;SpU(Gw@56>pVeLv%$+7qga z5s66pph@l?y|VB%>(SZ-Ctg?~F zIXz&A`0<5#Pw8l<1N#twBQAM;sH*8;?du}%ij-jYpmwKcNu_*Q7nXp+o)kFx6+OmD z=gKI{FN(7Tr6R|qBYQ&W)ZM40mKdsMNcL&12lG{UdsYrsd(E=g`bE@59$vy#fppSDw zfU#(A@<+(8XNAi*VDhHV7iX zX5CZIBKBLeI^U3|yrk|}Rhy}FO^0-&SF9bPs%f-1r8*4b69l9k1}z0t>&*}1<; z*;{VN>8ch?*ghP$MPaMS(BDQMiL%ry%dW-}pH(dvhXxBn45bg`;t>xK1ygOvd|1bQ zU~r%i_C%J$=b6A%O$h$kcZ1gMSrJa4b< zv=xx7&N5W0Ecnu z`Xe$H&LGx7Qa(EN8OHNJweA&Ou_ttaN2J=c-bR~_7$M{4;z- zNl)iV{T`AaS2+$6`_wCHVykYl11t&OLf2&?mzVa%Moe6D zQPX>ZTxq0{84_S1%}R<;Q9=CnDDB=^hApZW)a%jW>jG}1ShE!Z*~|K##|Otq>jofh zkyg&XM8_P2rd^SLL)AV>BKAnx<-q-=e2)&w?3aM|FJO7oE#u2c=i*v%_|70PTc{Ush%$oJF9jSQk9XRg@r_1EF0rRIVZE{lF~c!@5PH zRoSuy?XoxGeP_h2u{^p)zUEXJ#jFX1t%c@4Tt>o0I1J9N=(@_+?%e6;c zVBGGv)`y_x{N~v4@z1@OAm{a_hT{C=mzA_XJv$3r{22D9l(vh27nh)Ke@hNoN`*K( zU%DtT`i_S%8%A}2w*c6)S03f$=!0dJ`j${>x)#o>H*Ja=qz|7eD^}F2A4>egMt01K z0uaqX&WVRtpeap*#*!kUJ!J#qCOaD_k7Hmw&9s#@%MUEssvoB(3{2F``~4+!?yB;T z+T%ByfyEv8BuofMQAw{#qNq!-c&2BGH&HdkM+T#ej8#WUip)fw)M|5|H`3E|9-U0s z3zKVXh-7^*>!E>1n!6sVPz(isA<2_BPAU-#U=l!q`eqU+mnS3 zqifoX-5|jP)CzZM=caAHj=(Th)s>|K+91{GjFHWtmpa{Iy$nTe?y4b9{sX}Pnv3U$ zRS7qI{&NjWF1N!rn!rek;R$w;)w2;09|#~mWPu_gCAh51<#noeegH!xm@DY97ay=h zw@SFeFlBymL?K{!>70^3jw+XLq9Jlpz?VPtQ9bnCmFJl}sS{Bxom{TOWrK)u|55^bQjW$*vS;js8ne8SueX|@Ad|)eRInczC z$DCiwpJ^-GSBD1{Vh&^fugWjZm2{?|*XxOHuUK--^(X+2FtW}^ZqX?%^ojk&Ho}eZ zYA3-+sau1KjK!a)PLGzPWI$pCSe!rd=1*qf9`0$$~QeNrTQR-U>hR@mNU5K+@AHz1$~l-{hnPFe_HX) z1U;TNkOlT6`nSxZg4y&vh1kf5A=IJhzd?A{0`LzWpLYvPG;`^c*5$8cq!bNz6Oaw( zgSlL9LowI`K3E@^A+Q%0k2wAr7P|O(*(#q}Rt*sOb^OC%n3}2D^I<7YdkBk^lS4;7 z)F#|HXb~r(HTBRTJoDv|ma~!N&tnx~C*{mOrYl_GU8%W`C6dD2GuO*{=yLH=2OkI; zgRQtW`^QEOG^p&mLTv3~ozZDuHLV5~CSy7Ilj79bNbh3YX5&-y4e-5wRmng=Nb3V! z<^Qh29B8+MUgO0#QN0Q%K^j|y?n`xuzV6G0{UQ%#hJsux8i5ikQxS=%z{aw<*V`Z-w4lv zsHvq;57Q7i}rfWK<`W^@*D_j0szuuaH_aEE-h%+?2VA#uWni)^yBkk8*YsL> zz0u>!V7*b_dQeq?k%!qzF2+A^6*9Nq>&vmKiw4+l$mFv+=>MDqcPQ`L)R7jle^U7s zm5d(Kp1I=9p-r05{gF7|dTgeBScnHp*f{lud0n0%-hym_-LgKpAB*yz0*+e>r%H(A zL^R!I=h*vc6R%AxDB{04**>KdDdNC+7RxnN6$|i+vEC);Ua@1!e$M+=XcU~mNj@3 zhs4pqA+N8lemr9KqVqlwo4Cjk0q&xogW-%CDGlW#;M+OC?nh_u;VdVw@*!dLis+kR0 z^qUIqTAMFRtL;<$PT23SMOZm+Nzv8TwTz~<-Yb#$JNDhxyMA+i;vs37Z8B%SCZ(0F zsB7&JB=a35!@Yq{HXXu*)bnQcJFhiSS>uqGAOj6r4J^{RVnd;Irtqc#-#R~i+Dr@O z(hgS9TF>rJUDmWmn)sNIDp31%$u9A%cg8nUgipg(yv*@1IkT|6Q~+a3DXuFKCbU4; zB8u))-bL;oLu zdPUx@&JV&_D^4OSrr9YmQU0`j$!DBmSU09(i=C$OPX1QIr#|qnoQ`FpgFi0ViImj1 zn;XfT`y2Xg4ntR9a79LR2l--b(pa0253!hBH&Q#lr?UnZM818#+OmGFQ zRN?69cG8gybfq%EotLR4-m0=_c8uSOP=(Uf_P!rC0izWSC*W@Snk*PE!5(& z!XDdi%7{B}ry7U0IuuI@#y@|SsdYHMC#Gj2+IeFCG-&r%pX+D4j5XL)l!m|i# z97OOQ6K`l_kL%MPAE;;f#mBAr$QL|y5_#>wD{7yA6>D$P6fYIdf+t*u%uF#?6dTwC z9l}GISda$NV2A;(VqOPpp)h)e$bVXB8k4fgvR&M9i&zr8|B41a6^BeIil1%ASe#A4 zsxy|pz%MS!s~x$%V2STb(z({49yJ)VZA-efWWQ9|nl{EdW!ejKalny0?;)Dtywz|3 z;HX+{(#9vXi#PAApgyk8{OCMt{CbRh_f7^yO`5%{hkg)8DJ!58N>J^p_qHe%0U8Z1f{pLM& zGYK_eJ?og9@?O2%-*>QCt|f+-m`5$Wf`5^cKGMQk+saz;*!T_4L;*bolalL}jeNqK zi@whgF2(bFgTKG znKS;mXPrAw+we>AdHuJ-S7o@s4&JflrqV1vw8u3q5BC_c-{)-T)nm345<~d=l8i+6 zZi=+crmg6wVOx}GwY4qcrqp{wQ@-DK>AA;fROC2g$6YZ4g6a_si(U1Uo8oy}m$n;= zkEM6GKbo%aL3F%EkLya-^8ldql-JCwoy-2oCfYdz0q=vI zEt&ga|9`&VQl?`B)9v;3L)%5yrUyDsX>Fa*HWWr{_QD#-oOW1EDGGQhYa~3Pc#zwg zjOk)A)U~rjjf@SvgUrXKQ0Cft7>RDWbDXLv{xa>aK1=76K2n^`=9Wp>N3|KhA+!yT zGbV402(AYie8@F-5YslJDGi8I3nhCjlUtv#dL#p@4nSA>%t-TPIgg^y&)Ufws7L=B z80_fb;)%Wpw$rxK^Dz`t+c_>wwAJh^idj}cm9>DsA;2&5Q&a9gS82)tt_HpDUkucP2y1lzx#_(Alfvd#C8;iSRqj3R*)f}y_ZGaud!&ivDxUUB-+Kqj+}Ml39Kg~ZJX#DVh=Qu zg42@Mk%GdA;pob3A@`eocJngz4TLPJ+d)={L4()sZwIu)G5*}mi)nPWaY|fuPZ0#X zFA2;1et2pw5q93>9ePbXa9*b!;O?i3Zj9-&W5e1^T4f8a5kAb~J9#WW6N0;p2cYD4 zjGa8f^?<-t!lu}vaB(66X(+V&{$tP*0 zlkD$>Pm=_Ys|qtjh=q;$Lk*521-s3)D-^8yl${{9|9lk5a-hEIAgyJRx{EBMvnqAW z?0Rut|5*4!pLnoJe2p8?Vj!A z)>yG}9-vG=e8hoLKfY2?c$Cm9g`ddiU{LT$H|CpWMd5_T_TF)uizxy*72d6ahU#_5 zTLXeuJ=&}4olSY1foZlkdMNQ5vCH1l+inXk9ugU2)B0;GywuqN|6Y2>)0k-g_s4AG z^V#FM#>I|;m<9D;)N!ANZKPrCfG4a|w!BE4Ip*~gMTuv2L5HHDt9qFYuQ8y7Jh*WC ztA#mihQcU4lFjg~r())y@`M|C&>1g`KOhzyVF_1#$DK3y*1ixt&lBl2Kt$%l=Hm5r zqFh2YVR*c$(D>;yC*#BPi^~i8;eOzZn4NARN8;kL0@Rs9+2FC%eYT;{MfmTnQlf#^ zS=^Z&I_)L3+7PpL{mFI9O?lBy^~~2n-@5TCANHe7M;a7YBQSKdd#S=cQW(ZxZ@UJn z_JJ#G)HRy`BHyKH z`PD4QCNGuI)B72UY(xY3ZH*l2tr2$On?>RiLdp$+6rvOKj2p6jCE?l2sDEUqPpwu! zXNdoktl2d}OrG_KeV#wHDO0%aM7uh^UmzGS{Ktk@sWrg2RD?OZTwSzl*UgFbb}8$b zspd-P$J5386BYKc!cg}SF3LYXvYQ-TV~$^7ZdFlud|`fl@F1n+>zX#--hH7Tqtnx5 zE#|IHe06VH2!1>j-LxZ*{CaI!^%CSjJaWJvt$R(a>+G&0CRU29SEfgmqHFQ$lK;NU zsBMzEV+;M0$P1q|#O^$jLK?D_hDWMR2zu!BSsiK27rNqtZy}`y(P_a zHd}7J7I$GYGIolv#Mr5k?@*i}oZn9)m-LfnOmUl}qb{_t7&3ZXxmw*ZeY(+!JPHY~ zWYRs?&7E!XyPD=HMf03p%BDk{`b?$HglR9=b-CfFGm6erKn#SHk>?%33`D$sRGip+ zO+_Etpd4YP?w(R6MOzfE$onY?QHg;*hW#U+2ijHOELN-}cFdHm=;t~)@wcb{+OYB> z^T$hK>XRLLj-1ADw5Gr0=Q`wj0h;0e(3WH3FnYzBR#u2?9wLlUk#he^NOep4>5(;=*4BEG*Z&n96ot@4n9_|P=@FXx}oH8Zo_G#qo5Mkws7V^R`WzGP;+uVTRPfpIB< zHIsb$Hi_oHz{1*I(m?_98^t>#|EVmRa?^K6W7MVyL30RR-yj#8Gkq4jCpX1-cO**N zuWB?**)@V04EwqcX^*~|JEpz(|K*kL+PIB%U>F8v({ygG)70AYVVLV^wNslw^gSFq zo&+~ATC?&*1dOEU( zGj+{@OE{~T7$-}EQQ>%h8?KyQM%@&Hv)WM*5{9i&xnF>-?|a5`5YJ>%pnRi6te-D7 zN0$v7KQQKM{lD})M+xHJ=I%RZ-V3KODSKe0!-Q}!d#ug~4|klZr|%C#UuFpRhhbSf zCwtYSUp3cH?91R3V11?Vjlq*XQpYWo_*-(6;s@!GY5=MTYd)<3KGtcy4yXZ;OZ9%b zVoOdT70w*}PP{MU_PREkIn2~av0#FCv5_z1B(mNSI&J~tg6@;rvB8z57cUiG70 zcUA3D`8K>r)hVY`K`zhxKe;5|Py)%9N9`t9tBAJ$%x-3~>_@A23gd@YpNzxUk%nE- z>*SchLKV|682Gecm40svM{T=6S2})|;W7N{3Hy@~QEslq4Xz-QN!}ZYes88-Fd}q5 zBBq#&i%uW~4g98(EmsXo4a+(mMR{>po$kRjzRIja3TRVsqE$_`5l-@Z(%M76CAbCe zO-n0CSrF}y4v+u$0hbC>ZK@Se?{MZ1mXTCL^CPui*BV( zIX#BDbMEH5+o`2zfx;|(TW|sDiA#n!)c{HgA$a^oEHl<|C?V0T1^y}z7=(nUXpqk zSXvv7C({31{7~>1sp&IOU0yqhXr)2@VN;8cIq zy-G@^QVib#9$ay@Iy9IYvBqM%&REZsN!E2q<&Ya%Td)$9mFNm~vEgLvhlgwiVppPT z47nxC>tD@6fSr>HUV4SeEv5XM>H}Odej%T&@~EGpkwlKS-oYD49d1=H#!gzt_@*(* zRnk>XJZ-zK%0dd=-0@MeFXd)Qt<7|v(bX#Bh8;*q8O2r$6^*?*61MJ?w7D=!ag`(& z{273DmYHJ&6bTDq9UBmZc`DIL8f@+e1UJM>6lm+=7IP)raag{2^m)V8|NHY_VWa&9 zHYj;xrs%$|c*f~=hNBP@HK>W2eMiy?7ws8aEd{s#Aw{Z)cSs)Pe9trTY~KRzs!P5- zr5QQhG&60nc?6}7F8=f8BH{R2xg>MP$1&83tVu!ZBqml{UbL%?KaieCKrJ1FR~iU2 z8hRL_(2ugpgX8HP@#_eOh5r!S3%`~$7{Bgkc*uUKoT1Kb6qohM(th<+Z^hw^{*e_D z6wyM^YNkF(qpkA0@{TDY&czSrbGR5cVFADSO`v_(9^?JT>OuXe)M8u4N&APR<{cDW zR$*=)rPNM;_cor?XePeav>sfG6^tBt@rWlAiSQms{Fk3U`o5fer=`R;0+l#KKBQhUE zoai_*>3eqkXhC8DMrZ%8E(nC{OKNScBX`zSK~pB|489CUOEZNtmilcIhsqVjba#Dx z@N~uD>t{=r3w^e*1+A%z!?EE0A9uk~q%JPIsWtxI)&R<~2c>II^6H#fE!!;D^y=-Fnq;%aPFBB0`GC^a?aWvetg z>_taffMAxafYu!;vqZw?k_?6!6n$mckUWY7NSnf3_P?R+=M30m*ubPb>G!=pmHbxC z_MfcwWzal;t3vpA-JJumk((O$N#@jzO)S$+*ynOwmG}lez@O(S%#MnNfgj$a6H!c- z3Ph;1EgLO2)62d7iJJ#cT<=)VdaY)m_1#kn@0f{9rGN>ZZ|S^~`A^Cs$+idUS*<+` zD{kb*7si=+ax-m-wo3##1p5qja0~f#J^8n)#fD+@`~JJKQ%#KVyhe*BW`(-Ze=}RC zg6&9>Oi{Ppw^HcPPVtENzIfS?AlpR)25CmBpKfi<6z(;xD7w`1#NOyKwp;<_EDRUd zJ||uru~v5Feb%H|^7I$A-8wbBY5-s%M14VHcm{@_{W6o;`wh(H_I!Y2tTJ`0xKxGh zE42cEQPy0Q{?Y2NFS5wS)ri&a%Q{>qF|Q(>AFqy>FGCUv&>B4~svrGc@c%SCqa>Jz z2pt=1@gs}lu#JoJ{FM-kBhT%g#4^dpVb2|%+T@@pUR|wOFm-gd6?KoH4cbi1ea-QC2# zjK_NGAcNQ;vUU*CULyycrP8kZV+E+W1L|@I8{b<~b@#(O8a%80H%9#IhttYypZ~2E zL2*p^B`-Fxv*`X+9}@h9<tZX2N4u4dk;m7l*b(;kbL__wExI^~v!vR!)+i8NSuFU>-5;BYpD809dgikq&x@TLQQcaw>N_vfdQec*OqH%Qr=ATVM?49B}@u_WiP!&lcAc2JO zeL*{b_EIrYhFT(H%;%dXE$@@@-U>2Fs%)Wfe5f@x6&1((y;pANOb9wkJw*WFw%}0d z4<_YR^J&dv#P3e+43Er%SIFp~z~qQ@tGl`j%DGK@XGgNypI%`49>)q4G@dgNlJCVu|c@lDm&)xP~C zrtA$2L+5&WIEABe3i~veKoZO6AiOT#>~DPbqDabAXM^_ICNKc+5j zq+X)J{lO$hhsJGe3NBp`aXs&6b%4uKx1+bH4lRF!D_m%CMGGNs%n!rnHH?%Th_GM1 zlc%r4QPIFRZ^A7nM)$OnPd_eWx8tY41ArHAMQg}T-$6BwhO$@YVr4{FK5NDgU-Bon zGJSt6F^0Oo+*I{3ahL6&p!HmTIunwYh5hdxhqdh3pQHV==~-c^buVRwiyS!GTdz8Y z;GhV6)YmreGPdH`Jn9mnWo4o7H1Msrkxi0v!NgJgS0tCb>{B;z{e;(EqQf_*j2zG) z_l$>Y{R97b#JnolZknRnPC2&6Vx14ik<3fv%*IDmD&^B|G0C4^PVMC|3?LndR%ct@ zz(E@A>*@U#w$e))pR&mq4WvPKm{upSmbF+Zz`Fwz%t8GoBNt^T&+@2h5enISmHjCK zqa9(#7g5w5(8d7q$r*=!zJ8l3{0w^G9;92X6b zQR8QPkZO{No$}&^(pcZSf{3(5XLz{2prljo?<7qcvYoX383-$5!Ad+ z^uJdPuPQY`v3I2L3vKMovvnt?m$`Q9%Lx|MS2M(O&Au-aj=OX_Ww{{1-^uYZhKBM$ zjF=m|sq;y%8dUrq%6xl6h`UYfIk#aLXm5r6jO;GRhR1FQ1luyo$E&YQ-?+k- zL(b|quK06r{VBfEkGGRgxxQdGUKF~m$%Dos+*bq7*d&wXg$`89*9yDZQC@pQTJ=#; z1^1ntMgr=Qc;5HtL68fe11T@wa+~H+B0v6HVQzqGH>ZGVBw~i0n^%vD%*x`4RgKQ_ zu#8~?G8c99&=$cYaZjvmQV32{=W?_9#??f@4jZ4W+uN_g@5@)Pm?lYP--m^?NL$=4 zz~BTe5{}NBUs_YSWWxU*d}F?DWm-inTfO&|##QU55?tUYvZII*5B72>2X z+|I!Chex>1)SmjD$T&nbdNF8Oob_aX*sV{@aaX>&YaL@A`oBEtdJ@aETl+g}#9q`L zn0~b3#r?HDSvS$Tln7hF?>UCfgPCL{HN0XjuDwv0tmr3-lbZg5|AF9hPk42quwK*R zl#=+;ZCavWV#p^iXzrO^7mO@wqeaoj8b)u~q;w>!Vz9-YO_<}sSAO5IlZN;qLau>X%c`cPWd_jfC%U+yZ{{KIB=;GS7 zh(zWqA?Tmzd@vdEoE@tr9>LCU6Q64~?H_{u_>q3pzMW!qm$I~-6!2IRSJGAt=(~4v zkA*vfH&VL66Grx0&#RyzYv&20*AP48#fKaP<3WRSd>0CP$gnH4B}kcPbaW7_(FEC= zVLhPz^bl)BHtV&Fp8L>--fCx#NrkA>Uevh|VRqn~(Zkjv@k6Vwg8%pRs6oQl!18qv zwK65)^KTlxV9ffxsB22a9O|oI7u_g1+RJaBmY$2gT_E&1l!3ad;rx|PHfTsZ7VPv- zu$h#Qh!q+Z+IXHpf9Kq@e@m;hw8Xbis2r{*pPplJAI^i5(7JIzmPV;(VQ>V#ll`*k zoYfnAb$16(TAcg(xF!QL8YZRolQjF};CMnR9haG5Gl32)+gE(9A@Tin|Nm&&k_trw zvcMKYY{ySM^0ME)O5!_@nkDk;{!SsI^u!I`>DIa7CTCL$w_7NRUwYlzP>Ftw``}C4-rcx@y``RK3D(CV}lh3k){r8CX=k-Wq}PxY>*cVQ_JF3YMQk% zX1)}s{f13A=!!ZeZ=dJGzil@qWlId!GH;YUxJt3y|4KGm2bC2IIx*byzZ7Ph*2W>% zHMx=dMLikNS>!zWaA#`uLFntwj)JWkt;05hjbT{rxGyA#P17Jjw0Y7?sakH~9KSCK=M)@ab}w`qO_x>V2FQqHs%F>Gi2S(2(01q{4%wrO3yhTKpn7uQ7@}F_oz$Jh{%Xp2C|+Y!JO3Kv)j6 zLshCZcMEiFMKLn`ZYP63wQ?|YknEsHa5FA}*)4_3+zlEdDxZPpKy z?jwH6Q%YxD7ubs{ULCpnx2%f0`fl%rp|DUXxg@Y7{c$Y$4jVADo*(Zmf?#P@%J0t% z=9sy@J{Edz=;za|*QWmf+TbXlJ!qD->uxss;uIK4nWQ~RN?#pF2+VmtCL0Mv-Y=lGUGUSi9=LT>Tbx*moDZ`@-* zJGq|$bFE^YT<^D?*#%-L6&}kty%(djV92+~lMOliYhXvglgQL5<}1c;=&$2dCyL3q z=UY5#>-2YN`;+(0*Ets+V0Nc?xJU_Ts>}ETMiYT2G126D&Ud?SDb{o3yFVMKd6v-# zPpetL(S95<+0^?pFLPw&cu#fZviuhHkJ87QUM<>d+O0X!U;p`nKw?`G&|7nvY_bY-C-^ofs;JG=?X{s5uB>yU9};7V{zTbre}k;fIx~J0tDxI0%y; zA#nIJ-hNL%7jMX;+KohK@G~ok4|wzy??jKrw5DWVGU(dTFt%qCv2hjOl}v9gzqe@l zH-^$B^4~N!g<1!&;>T1z_;0R?VY+xf2?tcC%pR@ig5{+V1S#2r08C$biE?K$Jg}?k zZfFMy37#Ch0WJ<&;M8!m&EM_hOBo3Q`(*LZo5?^_I4bwRm=Zxp@mZOU*}DhF4@)J^ zQ;^(OD^a(uOp)l*HnF7f>Yn={gBPEKTh4-C9XUrEO~N#Bpx^n8R@fUcv6Ss0_Q{*G zdFaIcjf*IhFpS z(-LlMq3c!9Utv4*T!VX8CNp3vM8se32uG1*RzQppTg`c@R^BLw#u z=Qk&3?FG!IGs7#^{oKoHRPr^g_n%)Xnshq}Ow{$=_w8PEM!wazd2y=69i~8VsvUznv%!!&wQ0pyKdeBu?1ks)c1qPj zOv!lRfwOlw7sPz+m+WgB`i-q=FElMewDGa;IXdmF=d)w32fh?T3o8^VT>anKVy{fM zdRSo4$^oF&rb&KA$*>}ZXjM&h^_JiY6{3pQ z$8nUFJTV2X3oj*IpC-R!&2N^y`4#MgSOf;HU0&FwerfEZK3GJ3j`f-v>n;GS)_zCF zt3z*^r=R-y`rW+)hqB-loo9t;dnW{?gqY?K*zZ-y2e0XzD}zsFlqJTsB_{@HOQlnp zI_FzL-A)(EATL_aHOrWPeOak{%Q4%Pfc!ygFE5miiHX@R7^#xA2$=z0ygWl(?V`|b z&f4<|sQZMzJIBWM&)ke}X;ZN9Tk`QM+PLB7#THxD@c!;Y*C7JiY2y}(d=*`$Me3E#sM+HMHEm9;Jnh~1Uk2E4O|EIGP8V4}oW~SSw z(s`v3l3xQ>120C`uX`enFmM&!ttz877DFsqMJnLxt1(bpkoM6NUEWUrhuGKu z7%`c~tJ{A5I|04hh!}1;a6@o0tQ2>>r;76fP?5@tgH#qZ1i$)M1&&jWhX`M54m-u< znUVV$PLaOX84IponQm5Pj$If%#OnO{`nVSz?Yv_mfwc$pe^=NrT(Dr(!)cOZYG9Yr zmK@omK`TnG7M#+1oKQS#C;a(Wiz>rHe)3_ZwP(1;==zV56Vg|>9RD3OvhR9 z^L!h!T&_@csFHhZ9rCJaX~M-}Q1LLDaaGWUsa}6odHD%gWJt6%9 z^Crh+)vZh1U<`6)m=-wjp=Z36lAFb4JD0-@h#vF=6 z;4j>Hed2VhJQO2?7+I@T{`%@BEM*$)k}^>u=Ol^y{b~8idVQYgnQXdG8C|n2$1~*g ze)<&8?*4F#;zJe3g&rI(l){dJzN6bN!-vQ&)uu>u24_7&s1$0n2`f?j)33EyniT4I8fJS>l{JJwElOiuX-<^A?TRyQ;T8E@x9o^=1h z9E&Kn@l^#sd@5{!p~KCF%mKEqlHz%Ne9vDhio#_qOG5-J5~v@?>0|>6(4J=bzM-}ml8j_qBkY}^a(m8 z_oy}e$;==`ke0)w(lgr!<Na1Od~<5L zold*4%=zsyp1-X^x2il>_TXthB3}1dk>xz^MWt@Lh*wcCZT%J#(%q5sR^~>c6B}ey z1Is9-^?0HwVmUGOc>r!PbA7&-y=c=RU0TgB>ByqQmr#juReoyvH62NWeDvsynH@M{ zu~T=JaHq4D;7y-rFGuBu;IA6HP~zIN>}@_=Imzq?15;h2%2R=9gW&VS<6`1FwFlOM zE!m=i_N#NE?xvGTz4iwr$V7dkq*ns1$Nx+%B!;2pNgFADq_T?JqWI<9 z{_SxlHlUvv-2DOl9qiB}B-Ueh!PxFlqnyOqbJ$L4vt9%kc+x|pf1z~62)r10OBQ*x z;8D$Y>?)b>tTsxE(Y@}*aoV11Fig_pZOs&`@x|``s9hL~Q3MG7#IH{_p#`SHlJazryND@zB9< zN!tr1fBNiqaL@{7fm7GJb;z%aBb%y+;B4fCn5TPQJ&AmO#HOE6Kx3;^od1ho*bQLOLWQOnioLG(q8q+6_eBT6Sq&( z5b^^jeXh^qnv^!2^i#Aj*RB-7jCC9_2*PX)K){g(e$lMeN86%p%%Rl_i1crHK2CzM z0S2bqUVPl=K)|={=MJNQ510Jlmxn5D&JNL;s?GPM+}7RnbB36K;by1bj_$B`a*{%( zuWv)voNk$U_V<^SzaU&ZnCYNR4Kj09_9jmR2EKKe`rk~%thA|^`v2) zHw-LW3x>^hUn-;2j*2hI5@fkksme(kBQwx8!!p`O{DeeJg?jlHIbnY$-XGZSvui#S zenjMP<>v)|h5_P~V>k|%$&Uy0Y;fxvo)xQ#)pAobK31Rt=O8!xdnWHd`(^tS*$RBY%MZl`GM`*<6G9h>* zlj1-Nbr3HtS6wtrao4e73mmwiWix0s1?a9pR?eictMpHA()9zEqB14Je^&DjubR~Y zf5-yi*k=L)mRObGP19i-aorCB|9qo6y~s0X$Nd8CEsoi`ro$QsF0_aL0PmZ@(vX;k ztG$T`&L1#-J5jr5rpf8YlkP=%dmg*7IOpHP%herN9RfCYFaD3IGY^M)egF7pX6)+- zQOa6`PAFRnL!rf*tt^d78%Zh&F{3CcQIaBNDk0lYiEJY&l|tFdzDD+K7-sw3Q=Rku z{dKO+>AKE*W}eUUJoo#4zh5_uK^iY=JNO-TQ=MarS(!Fr;( zx#guqd?dVhkh=KUP%M9r!#W93fhZF@k3M{~dVI}LI7y_TkxFVCYwkC z$Gx}JUA#1kFJ_Aqut6YI)jcAxVlwH5e@yydYg%b?jUxo~JJi5mhq zhPMfM%Ubs~9sO-m@I+^%y)82fq*Z1ZC+3o!gxB6Co0D71NML5 zp8M%H+0HrNk*pWhoQxFW^UaE>e6b4RIv2G^uB#EP)#Equ?%9Gf!raZs8yifjvR7-^27Fy-U`zJ`L1Lu4VjG-q za=GrsVt7!BO_&-&VN_Y-H)SyYHjGoI7PB1PxLXQb*6l9bQz{i7WYZ z{s%}Ycw4l!=Fc|jK<6m*^v=65)BMq>|8nrp2k4+4n@vx=Y6LhYob)H0fLP)eeM$Jg z_{&|+X~5_7*Mf;Zr}g*~%G?h9D|cdq8eg95&Zc^d85}ad^hV+MV@{+X`Ow?X0i5kM zm7oG9-qQY~OS~tkJ03edO?pE%V=c)%LRAYA(NU(c@_yGBJ>K;cH)lC5c0mqr3?Y6h263k3?DWvynP8tpQe1#Aefv)s&=D3lyGXUI}J#4E?q;F z4zM$_3GpKh)KUL~yd$U3)3FSGK~`1^hp0q6{B7MiuoVpAx7ms{zuX`%ReLxCvqCaw7O{Qv^#_s7l|RalIB z{zle*fF1CsNci2ZxxPpBNLY@j1P5DfWZA8j`tf>L=BR%r;tj8C;i7ZS;~KjWVEgH5 zlCy;jXLl91%WZ3YFp5vWFfXU&9 z(zHYzx@17jZ!i|DOA=h_k=}HJe;z)2_iM?eMKI9qBtVJTcSPy~C_^(l&$XDE zz3~?gEE?5vMY3z(0f_v;q<=R1uX*AsG~?b8dMY=~*kSn1x3djLz8^{T9}k~Ee!VOc zRXio@r9Ut#otX2oI-8R*HdT7V-c$79xm#6%Z7sQi)6I^@;Cw65x;O3W-*ZH~nqNWS zr3OO;-y}J!lbgkU7E*Pdfe?YuF!s=8zW0rX{L~U{1^#2V^3tasaf2YmZSt{z=?&4R;nVJtbZ0{?CIgYiR1 zg2OLA;&l2HKk=c~?L#k+vwTSGDvZu0!;#xopWh;$en_iK+k881m!33z!a!&ZI4YDp zWxLN{`pV~WH8)Wo#`qvyrwzV7s0tspf*pQ%^_j?Ho^dQj-u#?omnw#wFS0x*H!Y*< zLD?k2JeNn?>sqEsMU8(89AH_wp*iM zkU-Uk+fHhH91Ce!T|ceOIc#);$zF?RbgR7Oj%q@f?R;4VBS&*FTg8Gk_iQ=z4)24F zH36?t1c*PaUQ9Z6T0)f_+Rt8A*nM*QPS}?enMY})sNb%=hImJtKNc_h;{(4R0*kyGp2_4xY48!Jv~e99&iJEo`d8*lHPVv>a@{QQ z*AYooZP!rAP_b)@o|*fCKAyH)PlGwOPg!wK9F-&pN*`fOVQTuBxWo4FWkbU36AhZa%Y? zHDEiHl({q~XdEh3zN{f#(LXgYXRwpyS>3gjv^0P2?&M3A&6*~&amzCHv|;HChGHym((QO_dg0PkkG^NHFR_8u1;z7Cs_-l5n zMaW;Wm*cyS+S8QJLp0&XrOgK;s)Ym&D>A`uWyzeakS@wH?$tNsNUe~Ff^9HFPp&h- zIID416F1iCG~e?U{tyzgQ$b+AWFf(muGU2%)NhS+_m>87;aR;1{f6du6i13H-att* z;Yc&ES#+&0Yez0mCS0!&RovH!XQ+cNeg4PMH(QX)k<^1i_ll;|LjLbTffwH zMz8!6LUerLC=t%Uuix1y@D$qL_?)aK{Bk(0 zRp!NF_Z(;6v1DGbSzxyuzsx5BSEnn2IPmFZBJ+oc8T!Qep{=k zzA#@EX>KK(lioHBPpv4;I249@+*2Z?eM*#U=N@5=9+X@(ScN#`Z~_L{;X7FAeRAhM zKxpHy+vzPI?%Uwqbw#KB@?6``+2z#yRACzLdPAwl2<%3UjB(~2?d5R$b+_f0++CE@ zjn+OI1GnayYHGA9&Qp>daC+}-@RQtm&DKvQOH$#zLVBo8`p?olf&p|-=#d=A3!kXjSn^X6PM=x!q@BvIIqY(M`fZDHO=zet#a6V z=MNyIsQ4TC-|~vhZ_1*Qwci+vXeUH`Sly1a=38YytMaGbt`(S;bRVddwB2d}AX9Z0 zP2${8g0}CyKnrSkjWL@y83`cyz7vvwWcZ3@hg-(exaz%Hg7cGW8*Y9GdW!!BQO=I^ zTGu8F`_2hofh|b2d~vx)34*pOO&B)|nrzYdFpI)$_R!FtPSXTi)zPUVQr`IFYj@I&<5RcPfU%jd>49a+ya}_W1EDSl{1b1-Yac&}CH_ zZLd}-at>G-hu1_`gE3o2WPYonLmR4enR(*?t&K4>)MGK=&3Sk|9%8kJg^56c2i^%N+pL{Wr>gT7ycNTe!uWhzK82N$t~Ea4uMyTFE-wV$Btis~ zxJ9H94px0)pz|(0iTy<}=56R~v~KoR?0ayJ{j7&UnhB$+(^~iF22T;6ebCt$;rEwkyP6k>&g&5iP6rd)r}f6zFL4P*ds}6 z5cI!2qSH+ij(G>>@+4=jA@YksPy_$W{F3X@ zhXtWt*+V?z>%FH=uIm8n>K{hKh9GJWxdBq zhL*7smA9U_(4%m8(!+kL`w<_~bzZV2%Yhs)Aeu;+TZ2&bkpw~Q3mf~I9eGbzBr02R z-tx?$_^}7W50Kpr+TkkyX|hbxB{%vQT52y{rcO$`Yq8+1K*M&GMk+N_(JOwM;_FOc z4SNPj)En;TO$*IB0k7U>{&@z{Ek!(@M^YV4fY`&N|NU_-PWUG!f}X@85CZo1Lmct? zY!1^mfS^vlQuCJ+0WcGy+k06K^hr+feh=}Drcn9(ic^ns zgeCnQcFt8rME+{ZyI;JU95iORzr-FuHr$WA>~TmHFbreKjd8w0^HX*(QlxkK?X&l) z47IJSo_WXBr_NU4J54x;bC+*)@b%`>a$eOGkIyv-Ubroq)2`-73;M$Mfn_{j!(v@! z4oS|5yNxC7?8JwXHcu-2n&NTgD#YA6m3*r=(~{PKG~RPJhhFMY^!-~7Zs;su*XX4= zvx*Rl%}7nw?c4aXO&Mq^$JSD%N*8M{le^nbWaLkzGu3GQ3*~}JA%b**U_51-qG@hA zUI@YYN+_&d7%cf6s>fjMx{4$yj)W&BdQZ-YCr^?ViPUIkPOeL^>10WAETeATY15=u zhV^dmB2v$Jg5&?Y;x_ZED1MgB%3pBdv~(QZi}cQSX{Z6bk@3vGT%zBUgNmgpG`|#V zOjmDgHoCpN2mbj|Fl)DCx|{yn_j1Bax{5_IKXx6H1?{mV@@ROb?O(4M^rHNgchQG6 z8^>bQ$u7)HTj|P*Ij}w4@SIqbo92%cZ^;pUPYfx4(MtK$1|1&?``?Nnj^N{(lTk~(d#c5>N@}`>H8h6~ zrYz0nEX#3R3VuhWxJ$Y8x^dy_Kwrvt@hyCVhv)U3Fw7Idh)eQcfx`S=e7a_z}J1s(maZ&!d_AqVyEq>oAq4D#31FY94(XWZ2b? zrVDg(v!IWN8DrigurSHu-F1#|KtUSd(ogQu3=DtPa5hxqT{yvi5+G13H3#n5g9{x; z&GcO(dtSJH53PvydoEZ*p;4=FyHdl8&*AT0P`&GAgZvx@iPOn3*~k zc2|k;pOv0_o)@6J2p!^edA>sT_1gu2p;pJE?aXq`MT$-i_$prvZy!e8{$lBavFCjo zBOTclR9y4shSr_q|9DB=PT9Ev7t?LLKn9B)nzZtR4LAG=kg_qhVQSvhS*{T@D z!%S13PJB%GQUbRmwSN2P`5jXXtQkH(q;ay${c>3C+P9f)zlM)$5|u|_r1XA2-mMlE z{A&=M<69Blsf-R5n>mFGbKUs?HaY!y%itdL$YZT+x&g0L z^&PJA)ptewA^#6-6t#S#ql90_z6u@QYIqXQ%n+Zzqr7C3Ub{F3BlTGQIv7U=$w#O8 zL_)wa(-XsXk|2Fip6iO+(B&iSUAe4!u*KAAoTKM|@JBIx8ixQiTX?`3PmO}62 zZxq``*Q_J2Bc8+JrXOIuQoj-Mc4S`%uTFP2hgVp@I7GlY<)_o>+M7y1<~uVGE43k9 zSh{O=qUf~E{@42k*R$o^-r?EVEqad>oat7Se98B>q-FJDMy=;f^QY~McMn2Vnu)o#0rnwd*6dW~*p|NkDzPd)q7Qn! z08^8Mzx=A(X#X!CNSV-NP7K6$2{om^yz+iPGU9#QHCcU;dHO(WpiiQ8DyFxIkGvZ7 z;@E+IP*w{6KvPRfgH7xB<2i236dz(qOudqeN=8I2==_3yuQduC)v_I12w_k09&af4 zp!cgH%O+PCj%~~?dd5+)+&MNEcNmfS_JY*F`c#)#La_Aw1!cOp4lLF498x$rZ6WTPbXdK4>{_+GwSd0P~DGSVicwl>_bW+3j0 zt>GJAzN`%5Iq|ZXqaOSv87rRsK8qtPA-jjYDkdG#y>kTyVO?Gku8ITM%poesCVFX| ze62sE%>fZ~iYNMP?oEc>!~36?D_!yH$EnmRIe+`FIqZC(&^vQ({y?U0O!BWn(ik7I zIgO9*O(#+QIW3K^%!g*pUk=_ML+>f%q75;x_$r+p+ITD_su+#f3RktdTRAqP03-Z{ zU+LCXKHb38yL3>@R@5?h_uFjl;|zbTi{Lib+I@Xrt)`?Pa@o^Uoe!pAge2II@?hVG zg0h(hKnnr}JsZK*>7??NW4_Ex*oBh%Cf|EtY#2xFwQc1ED zF47U?t5`iyN{-CHs`$@e~w2m zlY1j${BvSB^@}PoRA%W;1T{sQkC*GA& z$h{-{D0r4T$c3+XUC~AC_o3S_or@+B_=-;bdiMPWZOklIu1pFw0q^j}8<8VZ{KzPMhf z;~$1yU{@>!tU#VidkuZ+Pe-7(OIR`9RVH~b*n(^&zQ=k5S|aO0nNQXbKCX|>B_cnG|xOcOdVc#JM%N z@9M-;*tJ;p|J2HeExxTA8y{UmJ3D{1CfXQ8?Jp8)&VArd>!E$YyB-TaiJ01tblnD%rGP90sr;sDI@QY(bY<%po5rOxDcXp%?$b&;0`&}KQT zn)rb=eF{L5cxV=WDbQ9jF2jdJJ1GyTJ_S&h<~`?gE5A|h8?zlwmyK#v z6F8dFRE|UUZBFvYocOk|W%WbDsl1iUJF`=B4aamNe6iDT@pgVBKDe{|Agv9`Bol%& zQO0c|4$HCIK1mT-x}p4Um=~^cr=t0ApC$GD#b(;@)qds*ajnX*VV8^lxSpN!M zqh5rvd0%4AvsqG^wVjEeju$fWdbraMA%==o;m6{A4j<&tis3kYn%THdeR$m$Vw0^3 zfRw8OY8_6^C=AKA2w>4Cx{OT0vVKj1zGBB%@hZ& z36Ge`{S^m(CB5v`YUU|nhg2^O3wNG()IIlDm7gj7T&$5YIyJwPDVei;W5Z)$=X}pW zij)XxKnqi*;xIVtWN+ie+g5H3{|qpf9(v!w0W)T(F6^)Q`**uj6d6k?XPU3tA!yug*yA(&+0O^f>-z961@3{~{mYWyn{_VqBTiYkhWA+#VLyvqfVlROVEK5ki| z9sIoN(X|!F8dkzIYawaodkMZzIw5Ezx>d;Dx(_d7jVz7H(gNVZ*CH*cSZ_(Z#0SA& zR@~+mP9{mf{ghIHkF>@3T#zfv!pooVIh#t_(BPxFc$X3N9>AOYtKw{1D zRF6))G$Xv9^cSxH%L-?m>Jt{RecrxU0vlN2boA*F^!;`uT@Zft8X%+GGOT`x24`Y4 z7z7U1{Zo8VO3#KQ7Vtrd{QBHK0e-Bwa}Q5p_B)>RfVD*kQcero%_CH{AqyRh0wDl0eg{^obtjkUW`NUMES4}ssWA}~v^*CFuJk?R~*gAY)* zt{E*SirJ<%5&*6 z8ad2m3XtU&5Bm-cD30}*+XGpzc@FXdZhJ)1LM!z z__w3Txeki>PORc?U(z)Z^G+ZD)cxi0ELk8%4s9zjmB)Z*^# zmSEv*-59}Ub^YQEdroi)z;Ap+nlhq>PAWaTkX-e>a8QD+_Zp~H`ha;5ut_$Yyt{T0 za-P+c;vVOrIJgKNz+^$e%6JWFza4C$>x{8NU`heZ=tnNCxQGDX6t#d&2=qEc{7YB) zeIM8Wo)oO4+GSfq)QM&Rh+bfuG9tu`Hn^?8Wsf)sz2qv81hMub;!}ghE!f6HvfJv! z;-S0Rv1@%-p=#xQJ!zk}U@Jne91Q>AP#2=Cm|zhy5dy<;j95Lon5w&ob`j9rhA`sm z%IELkk~R%$&cAI%uBQ5TB^MmFC=iT)Ij!|d5KH_1$Gkh<%MgmBC{Rug|VN_etSs%BIQAo(XlXnzKZfu zF|%*1i50Q>1}i6k5cj>I>5osEczSyC?+1ZRw& z!}L(|B~&IWckDKy$AqAs3*5wE@JnwIxfwt>N;_z#4D=w7DZ`3L_l@PCwks4tU});! z!w2+*7@FV)1+z)v4QnsR7MxyNvsWv^C~$Uyvv?n2ObQpCkT}6%vEY7&o|O~J%Jy=0 z$U!q`2DqUi+!IS&@YbyIHBUQE4H;zwpBoDZXWm91N3v9j>L_wD-_fI!agTgmt6}8g z_zSz2>u{BMKqwhjdGGs;=fk3YlQ)6pnl2m0(L02ui_#OQgutR@EzYy{YEY+KUB(5I zF1F>cdBL7vBEd~^9~{e!Id6(le5ORmfO^;eX*Z*x>93Xvt~g0P_(1tuPnvUNYRZGj z3llpekzG%7?-Sbcv6M=o(XNi~e8f8|8b`iji+jY3IF|?j03i>5ju`ohnO`20KcYC- zCBAh_)n?v(v31jJcyBpWMsXfxLad#K++ziL-S7NF=)_Q$7+Dn=?6`TZn|72cwzxPP z>fY$hd2>ZDK~+#>)xMys9E(_HPIb?^Nz%p3({Tg=>r}TOSN0EIRx>JOt4`Vy&EW3o zQi;u`Opotw)Pihk>LzU`7GSt`H_CiO1a2}?pwZF70kqX$9TC>rx+4gZrry#Fy@t!Y zt#lE~&DJAQeAnf@E(7$NAGCnJz*s-d-A*;Mu!ztulIC0i-Q zE)R0?;*3kz#L#m;ZwK%ZPl_SEHpmCZ-`tH?2j@Ix7yN9xVc_e07_PH?jSkwD#s=YPheXidqq5j3_ z)NujXY&H}(T(lJmtnTzuYE}RN{{H>~1ejM-GusE_phkaI_qPSzh%=42d*GBW{@62j zgXk#XRIMDde$zxWoIf-3P2?lDbYchr1F>WXXZ6Qu;^5w|k5YE#2wp}mhaMy9<#_-w z?RiwW#=MM{>Pvrr@Mz@nh-^Uyt%_>pBe{BLfYmHbd%pPRqP}y2*KaD)@h@^&c01UE z!9}AAYTqc!y8 z6mj}>m+WE#efvFK;Z3Ci=if=QCs6OA8CK(*;gUZ_5|Fn7>k#B7{=~DrG6Fvc3isfh z!C5JY&d>+QeQzsNakf9cI=h;AT+$i2D#vt0ETh(ViES7loa2{NMG&Fpe7=FQr|q04KaGi~ar)@xe`Zu4iVfe_KN(!L^gLfua|V zY+oGs-y;-RT3GPHFqF&r<=;Y|=wlo8QAR;mFAj)Czq^rl(U*uKe%sera0n}IA^=J7 zm7M${keSQlSa{V^_Z@ZoCCYF+r!zHqBnWsZpf7VgA83(MBfhesnkU|VR}=8 z1Q?T=+5{6`pa6bDlSvnTL`{EGt6tBx(cvg!aJ0?QM14PjsY=bp%CK-bl+RxJuwx$O z*8#-AUvBHS5HklDyJ727`bhsLat}?8=sjn?E*2JJAfR7hD<42`6*?ke={( z6!wh(P!}Eyu-!B?3MiZ}26=tYW_A7~8h&35Qq4#hay?p`_8LuQEf#066wcd|QA8&p z-NQUJVT%#7gXiu}=^loDZG^>ktX0^|0xud(o zQyL4ORCT`gUc;BAiZDeG)3uG+(tUFc7C=AnMzE-fc8Qf*D@VQ;o=!%>frde6uR4yM zEZy6i`y$H)(vuKAYFnz96?zmJ6w!vyOopOvd47rE%<`;Y9q_(Kjr(T2i2K>~RM3U> z0=wfHQPuXmFmQNbtB7~%>}ilfa%(-FuX{e-_8&fkdm_!N^IQ@!;RFArSw*OO6I*=S zXH7P(j#&JxoaB`X?NGDqz;Z#XugZ*I7tpnxepiSuK&r3O}sR zkO&?a#h-l0wn+v3L9Js<{Kf;-f50}}rpVPJ2sxd{$pHo324}q{Q8<#pV~j2C7AoyU z&#?>Pgz*eAyD2Za+Mqs1m$ssml%}6`)VcYYDp87cW2J=Ac`Qs(n{%rw;34+xuJnGu z^ZoFR5mn;ytCpuCJ8_H!Zj)-H^MOwnPdrfS#uZd&=Om`Uz*RD|GJ?ar=JS~+T7x;@ z!uCBYMr?xSl+8o~AGi&9sBg59yR{<*la}C!(ducqH6fB)|DVH&MMOLRe z24y8LARzEdaM0;FIEEID4^z9QyF;BYVQeL5!Vy}B z{hK6Z`RN`WY^jj;kvv+8;n#`_+PiwK4*WR2df$om6=bm`;cR-XE>8^v`~UyK@%iPr zD_A-$d%0Qbtq&UaaT8c=u;Qj7M!(j9*!+$Px8I9*RAB@oR_!4YGXIt6g4~J0zkbM@ zwKD}1|Edi&YDv_fw-gaWgcMJsaR#se^M*SP@tYrAKRpnKPC32$H2Qu&XSVs75H8D%qWcji`wC1og7`tZj zYFWa03xJT0kzQ1Lp2K$dU;h|>85fBsmJyQ`ZNrvF70IP>o7&L5n^BfGiLwS_=a+xI z3Rzj)*_0V7?SleUyB-ESDW2X?M{Y37OD~7F&y}>u%CV#rrpvPx{@r zCK~jt8!skRL1Rdb7csno8HgqXn+6J3t#rqRFYopmh*kH;5Cx#ITX5zPZgEn|o$CaN z1W}Eb+B1<&a2f|WB$ugX%wGkl5U)Li$ZP`nQ152sFv#1^9A!D=-7T&zaO7{h!P+z9 z--Zx-cjP6hSh;Jfkqzpo)L_+`)F30}h0DSZj||#9>pw4@k$Pg*JDR}6==vo;AscJ_ z!0QNKgr7o{SSoK11^+74H=cL}hy8NIU+ec^aA7cy&X&G(JmTIz>RRx}O=01OP5Qa4 z*4^)!Phx0wn^ZgkqN);I_bIF5OrV*c&8%xuBVjN6u;{&^wIRZUb2BqW3#JqpR8RTJ zdS4br`d$cWU+Cl-#@S8>-Qfmfr-Iw){yyxF+Y2sV%~~278rmQOMmyRTR<7#_B5~e~ z$`DQ>@V#=F{BW97^y6I?DP>~)%sI2-Zl7=wTKVq8)v?IaDbnRORPs&aB)Xio@{yyO zCNC_*dCO`y?q>S~P0m1~0WU>mDmRvIU0RJ~o9Kx0jJL)XctwDn>28T2Ru^)f0Q)M} zJt-7iuGoinOyrn5BJ41*IkGCy-RFD8Uo<>Q$K$<8X}>~AV5U%Bg+T3;JA6xWG0uzc z{#7QgGv{9m7_@+f$+fDeUp~)k9ngi*9VV&y`t@(R%OQT;2ofF-UEzTdJ;|g$zzZP#)=mDN!2Y=n{auq>JC-kFV)T6u3#RbR_>v-<#3HLYdFw-jU z9XME}NdMA-Sj(Z#OZH9_3$EQJ^f`6!f_9aaypqUT4eeth5cRQHb3wN6!Eqk3?eRC& z5oNC?8^IhGLEY2Vo8}bj)w4^)x8-N3GGsQFXp!Kw2SH7FR`~UlxGDBk`ySxEY&hI$ zdL(U9!HE_J{FDU2QxXMJ{1-zfU_=OorkP%AYTH9yvB=+Rl3x|hxis*f?hN%zg8hN5 zJn5@>PE=#CYN;o>E-)r0uh@X=D;7053&+iw#V%}S>allM-rhlAP|4R!@e}Mzi%EX; zTuzfdSH7~gB#v_k1ES``_2_dy<8^q+F$5un5rzBE|JMHz3FH&>(2#deel6>YZAHj$ zuvPCB^{K>g@}k~8bZswD$f`7hOKD(9awV|jfq5D=P;dnuco*-tWHYqSC5Y&Nh5 zu^@8npBP>}ohi#@1jUbNT?Wpf-36CBVrxe5OL2$z=*}$XLa=rHYc1fOKaLI#5qIA5 zD>CMrh}c&WIPvYkZrt%OB%8LL{xckEQ}oHwnm5NdpPvzX4-rcR6?q@veTl0X;#*M7TagSY=nalQsk{bZ9iQs{ z8=k9yEd>Zj`MVLr7l?K3yH(S!?und&t;l2v;r;e5(`QBDX$-l~Xcmy%d*8H9(mxBFOChGb;;~G57fATt92$ro5Y(-Ejh*)&IWmQSQJ&7~RzglG`#wbBfd3Z5* zfkvS?Hu~9mxUVtnpsR*LZ{P!boMt3D6lydafJh_pH;?%YYNzNk7?AwewuR?y= zd_b69Ej-xHgVmpJpnts=C5P;+dM_s#&hhk`aPu|vQp!UDPd+C+x=m;b4C>x(IA5xRee-?6SlQjNOso)a=H zhya$2C|j`q-!+qEq3$TT)0U%YS!KMq-?GY-^UI{0^5`H~<*kvxf4my?kqW2m!%lB) zHE<*h)*GGm*p5#M8UjWF+S&9)h5(aiJEH5ihd!otd(s_d%v;;GU>PnJvef8L^0zfJsn zhu^XF!v_2~QooBEgb4-vzaKGk%;ZY}c@vPt*tOf1V+fo;;>q++ysddps$!ARx+Gr| z{$j+bEmi&_c$gMdj6|+NVppTgOKcEn(;bQ_ykf@9tG9ornznG;0_o_P@5FZYe<$^BaSQ6QK7tNImYfw%O;c%4P0lRK)~-R^W!~?W2b3K zo(`r;a&a+d8dG?c14!Vp|NN0$s|4x!=I`qXJFY&Acb^O5u&`<*k=3T%oB3=_euN7o z8-Cp`V(;1$Q~l)MgJrD`8ty6&wFU{CvazA#RA&1_A!5*4^0Omvru1n8A8Qfq^~hxr zqGfFJQcR>Ndpa4JebS%y-Z4yK zpZjOumt;j&$7p}YQ#%B3;->wPe2{j}PtpDO8m}SkajdN!eY2WCW#!g- zKCgLwno@yN2p7<>K|OuC;YT0GV@hpq%->Cp`$TDcjbDiMsZkvYADdifLOV)Ppc6(e z_Q*ih?_4hFLJ_k?XMKKfq~ci9UFM~zFwbb_m^49&`1ddh-n@R(?2V&hcawa>*xBFt z6~8?=0Un7oR@CG3Lc|gqCG~j=U+xMmpHy!erQPX zs5IH}n9GGh^%i{%fA22u90D=z(h4HcFeEt}U-YXPpX| zMFire+oJTn4z6}^y^4giE}wKJJQ6yOdu{xk2OGST73+tF_TT{f!A(Mo=?7#(K~InD zVw~ZJ1|8e-f6zcZ{)?~$8NG2@U9;hO@a-+=v(oHucPS{uog<7L3_F_yil!mmi*Y<% ztFNo<%0Ythd2@w455cdcdLvKb%;C3VyZIIirGMI6cp=Yy+SQf60R>74_mUvI68p2h zXtJZ2677wquSe2XVS%ESi9pwTeXiS(E&38Iu_`U}PFU_uwnEUFzQS4<#GN+kfmR$} zFvPGk?9@coY|!>y*>b-mZgxMI?VV2-kYG@jFKT*?3=B!?C|3BWZJ)yiFrVb~#q2Y7 z;E9N3Sm~gUhA?2XwGKSzvXZ#g)bB`imWvW@{nK`**^STVem+TewF5)>F#OdALIsCnRBR~-L6=AfwyA8js6+26GBXY{(c%0T`GZ`vFjjAZZ)Tdw~EG@P70i@ z05gUF883wEuC?2L`qiqwB>YB6$dB{76)C&Z#}dyh%{0TzMCdHOljy`T^|{C}&oH)+ z9YE$3oIZ-VkIAg28Q3kvtzCo*4tCq*)DfO&gC3qD|EZS}Xa3mlg&zN{dPMo3xvY1a zC!H_c*S$-EGb>kQU!#q>o3bi?i%ewYNt|KK!|o8_$Bt@^DgN&_BRp@8uk~65J;fb-5Bw{Gnh)qp z%a%R0bg3hrd4Ozn(4uDTbxwIMf@~Hbw1uT73-25KrcEE;5}kSh9makwz3q(pNzyAM z(v=w)ku8V($n6lhuk&^@`j*kBRr@nn=nB}|p>`=)dR`?LqqDB_I5Qc}wQu#&&~F;v z)~l609X?}WKGlt$15FKZC@>RZ9pR8{_psa?|M*r!IWCLf)dFTjZlM5l@>_yr*4h<& z@9mGP`&Wa81NHvhqyvY`)7OxocsL_aPI-ixT8bF4T6)-^~Y`>Skl?!J{9vhChnBdrm^nJ z&vE)PZyHuSuj}5iJEh{b=fc4gg4@fOVRy%i)ZkxUQ9P^0`&bqsP8|c6Jh4C*k@$;N zS^1AL9)nZG$cKL3!zG9oREW1I>iF@*$0=P~6kRhiIkCu1+u*^%y$>nsno>9l01lXb zleL_bl+wCvk+;lnnmKCGF@3Rb2mABY2w9_MIBorhOvSlwfk6Szd86d2xHHxdl?ZDV z|9hdQpOkm*+vnCmo!*Q3;D@}5Z@4TqFYsb|rUXkdol+bCj>ghi8@rO!Kp7Dmrh6q*pW695czuMc`pSK7G zb*qCM=QMypt^j<-yk}~ifgTumE%NAP18fM;2ixNz092uXEr8&ZCJ{0z3F;dsN!L)l za*JB&Jus%QR)TY$IfE59uK7>&LoA;@evE#0EH-ayA+aSt;&3`a!XOXh)N*Dr(--TN z{do&wj~l#7JIRMTDWr&g$gi@zK4D(lh(^^GAmVRpV}S?Ck?Okk(@q7RWfoJ){qSeRQSSRQH(tor=OW z8?ptM2a0dS`)u@Rd)nswx`ywg8F46fqv&ZYXSCt>#GTrS+e@>)YOVe)gPsY?yb{kz zVYlw2x+yU}X5JI*-HpcSpl1Cs(JNTu5ZtSwu06I360)N{y>}gX0On;Vittd-8`WnN z_(p=3|N8paOHL}cxiR&q1;%g(pZ!G=p*6ey_;YvT z`>rRKiYjhgrkq9;(JuMxUY`C3#K^&!ZA{xZQ(MEIvJtxzHui=6jz+%fX5 zAoNv8#!7^$dnMdcX9bd(HVS?qr}0{e(J89k_j7g;(wbS(Akw(9cJMQw^&7n$B>}gf z#%*kPkLtSp6XKf@Wj+CKHY^NuTtx+rpRhE-DbpB z3*6uHI!t`&fXOs5kuQFR4w&Kw_mj;ZHtwNC5NByTdFZ>DH#R9VrwC{cORI$remU5W z+7TfT@->W?el+&oH*+RPc&{9p2^rcNWj3#pGLui!begZ#!64CA@`Y(Vlu&gMR8Twk&GIhi zFhuh?DE=r#{IJqBY+9I$SEHg(E_>{%nGTd--1)y_im?06n-F%in4T&j?H%`pX&Wu! z#87GSvDFv**}FxTZk$9K$!4uuf#$xf>I_CoHs@bkF089v$dV_uwB0?TRWqN!8j5ak zQt`Wh+q9N=YUM9#>!X*!lIa|`fc4hta z!{Br=xG9dSf@SP*4j&PAFqSCIB;($dKlTwCPn)Mz$+A!N`Xm95i%LtX$UG3BgmA3$ zOGA-$S~BpTvTuW5Gn!?1wJHg};=*^c-W2~07dm@>%{5%yc?r%vuRJ`=mN~vbu@_X# zgu>S42mR~^*6gnw+2T4S!mGXao83%zbeisB{u^lKK3a54jL@mFysG1*+pM)cc7`mv z%A??O5j})r9>5j7R-xtpK#euMwlf`?Tm)N3(Kkv`{lqF{+5mNG{kRW?cwC!o#9!sl zN9@5?X;mtYmprMmQn>9;!yniQU(dyb1Jz2`1h&tK{2)EuYtIAbpO*E!_! z;i+)J2y!eEwGOeoiIwkDSl65&wY&t7dHJ{b%c0B6B0<(8XYNp^bLUMr{G-_HOdO3j zb?l^Kzbe#<#P49M+VP40ZdaV>t*TjO4gAOV=FUHs5`1m3F(G2_#*}?XV&bileZ0x) zYZcx3U|Mx%JBhY1dfbH*^({78Wsae6S`w$q8-HV2P82B;#Z}!!?{a;5TSI1l@vZHu zM7%KZ;Mc_t0sDQ2J@vuOtV(1*Jn|l!olQJfFHyog8=*-_ui}ANfVQ_l-&ZSM%h(tf z8oP%hAmh0XpuJM=On#6wTv|*?`Uq^-@7LEy9ikmP=*v=eW^c()M~r89YRG2fTKO$@ zi*|1F*FZT_BFx6^FmWIZm4GEcgMN}yvH$l}XLzOH!EV4$HeQ-jH9O>8ESs|P!Ob#P z7q-AOZLazKo?nBISTQ4QwiPh3X zp{`&r7#wQIwx8-SOxm^Ebx318Et~oXZ+e(Y^-sa6N-F(BUeAj}58Qgu&;EA3&b3oU zb}{qGt=ZFvc130uJhc!(o!vtE*Hz2y@kL86PL-*Y$ipo{w=K0vf!8 zD@+J#RSws-L@5FU&59;dAJc}vR#SR_>gZ_IOd&_>WykIBX}FFiw5*RsirrvS+xyo# zYNlW?3`v`pQkmu|o#ap6SKTp|@a0-f2|eKS!Re%%pfr#~Sd;^0C-qYl;Tn=<;V0`Q zG!vl+>gXuj-}T6^3zoCBcouX9iM#g*OFyL?!%Lgg9W}M4brYASE}YbrY8i~EPmC3Y zA(1GA%1rbk=ra-c0|cD%A61!HKWIUuosU`+MKr&CQYD!gG38r{g+WwEqz-%0s?~`- zcK*h){o}Ey7%PYJE*SGoHz|GLBV>gk%HTZfP>;7bS+&&P>qc=%xKjz(pTRWzt8;_0 z+|6T(K*Nc@cHaFrwk)9|w<&0=;?b26%26XcLGsTG16nhObs&T9$>)GtFXs}fZjMya z?ML#ewz|%+*YtcoQ_`7tv{f6+#y7sn+_0wimP^zZ4m1=VQ!-82bK!2li#L)xBP>mB zKNJmn@YZ7P5FL&iM*sER5h#HLbGlb16gzoj&;_Gsj?$Vz2+KU5YNht&%bdF`0Wxl# z%~cIj-uE6-Eft&aFLW!xo2feP(w1KTLis(JENcygiwT|`N?)?4x+39ud@O5~${QHS z>y!#;ABfzpcZ>LG0`P$>oRtGm(*%IZKNfoz9}JFRfad;#kTLlAS0v!w%R6|VGhLW8 z|8a*cRZZBnA;#)x^DV@A%-7o3q4_jcW4h%>4m0Su$-L{yiH1vo&d3$$Tu2VOF(dxY ziTlag9!NDU8r?Z|8Y@quXF0PAdu_QRnhn%esAr^XzxX{0b7pxon(oIb=p0XPC-_lk zdQmYA6J(=$6%sw2P|(R$vV_nc_xHBhnGtoX#t9U%MS5wAtpeG?Za?3+7ruM3ebK-Eq4IU@m6lovY? z2cnV_Yhqb~#4{t08)REtGa1sJ`A^R(0EmH0geZJqQUag#~dtmk5nm?Tk zBFN6pPv+A%)Mi#$Kpd#7r>ShKG}y_|?UH6$kE~oe6~DyKy$Z=m>%?Gw0C-UR9UMUf zY8L`XBB&Dta#;zyWDtl1*^#QxaUoXaSS!B=PTIm3$SD#_t%$hf&rC8S3UoW{TdE&V zy2xeZoVlHqx)*i!;hshwwCP$CO0N@BT}qa!LqP4Sno87M;wWZ9jONq3I8bxtYTege z1CupBdA#Y_lE^EP!;DKoz`;utol$%fG_KJx);hZ|gFl{>eUjI24nv{>s9gHc257fiM7NIL zta&OKcB>Fg0cB-58xsUYax>fiYU!gCP&k zq%J;Hzm$Ja0S%B+P~E}s9e8`4(RbN;XQGP(W}cUx{-`t33LYDX!4}v{V+)?bFz#}g zy4jzhZ*D{>x=A$;ew~zxHxC1cpNRGKuF&@+A!8Ee1v&5}xxJ`z*Id_!k^~f$mu~M~ z8SsR7(&p&>|H-gqSYasHoS6VlPd_+uMvt!Z5*&~^PQqn1g+U!u>`F863fqTsO%qFc z*jAGz{I3!oZpG#G!C*%wOuLgPi#!sG`L_k)*XClD(mr(}!M`VG%6z;%neEBx; zovjAt_~p0hg-|q_`0h&^YR~0=oy={oJu{lf~w`KgSOzQsISP)j(~tw1Mq33GO-dOP&Oc%B8b=D zAT58B!4Up}z#&93b61`tZ2029W~TWTdJF1vg6?>?{$Qi*r|s_o%u$e=UA~fdTCb_KGy_L`J3&Sjmc~RI1BPzP=f|hKGA8*!6r1~-tWhfm&wQ#vg1b_aS!IzV zaY>NiV@M8jqtFW}&9B4@zWW{ME_eTl%~j&DDwP2x-)X^g(3q(&3LPOzfKIL}jou|% zl>^AqF+`sUnet*i1Kxhimy^<4Sx+FW&%UB2WPD&${*cuW;QsV_bA4RsYpa$gO0S|_ z%TIwqYQ+xLD`$|&l6Q%_34WH4Dkm9}ieZ@i%)SEnKJ;CmYZG30#ypK!zhbw9!lOWu zt4#=$yl;Uy1jmvOH}V{W97$wajKKXruB^XM%6d)EMh2@g^zcW007ZiEVSPPc%Q1hs z=eqoX$2{tU30{FyGr+KS7*NxreVPN%Y>ZFF5C1%MRXkMO$nxUK63!{iOe zF!ObmZ|Fe|(yG>K)1k?^_4vP>W}u8!-E0hHtM=$y?kd%WONjyfWHeO`xrH*PUcwT&UR zt@XYY*V0KL;rbD0!AJrl08omX3<8qml2_qEe+;C5rLZ!rv&FTNlTAw2+~Lcbs8=UZ zMi^X&po1jN5QE$HQ=b-<)@7I5X;WobjPtd8B(f5c)rsx#r^!)H;PXIm1!+52MZ_gM z@LS!}346LJ8+V(_imUkX5&BC{9Fa&6&)&j%c?t$YK5E!W(#_9`>G!U-$HI zh09|M>*cD1)pZ~?4y#avcOZdo6o}m*#}+Nc^7fw$8UeSwM}J2KrOG>*{{()2x1d>@c`O(s~p?b`wtX@lx!9yT!qETe4q;I`83 zM(13%?J_~JCiXH)7*Q*Dy&G5cBnf=w=1Gz59UW?P? zosB)8^$db37XIXkdlcV_x<~k#0NkwGAvSFc-jf-!s zPxmTm5k3AWz`$8%gHh&6NNFn`V|OV&HQ4LHU}snLfy?~-T94zWM`&)@`(Vsk^`7Or z*lyHtA6ZCdr@>~rm z{q3Uwp2|B^;82xW<@A(mVv>iLt+mf#zq$n7CxipD{Ax>(qRm}Gpg3PQ-q0>5`)IAE z4u{{mHZJ&gGDi*4aZm}x`xjI(%j(%YK0C>6+DB=^?-d@bX51<0H}$sDYw>6#Vl39C z`OeC6W+#X{d0$YmDb zY&)jE%d9-Jn?v9Z%BF`Y%a-A}vw0vmu(Yh{B`IW+$D!XG;GeJwVf4K% z-oMUT8_X9vkse5guDMYn@bSuRq?f-8pMjy#CjE!hNjRVf2#udjTt$<6wzThff0IpA zi zyvy8)kITe8#}hzhRwYyorsyWivJ9^4rfNKkCT(tberl_kbJuFqd!$Zm_K)u%)M^;Q zZ5c)+>kJ|qCaP;`^u!JLz$3aV5~EW0m@*#E-BEqgMaoaLVrn4fyXM(fqr~~AnuIhcnLXd!4>de zoiTM{%{sURMRN_eq{B%r1TWOuC9O)%l9e_OAQFfhgFhhTDm_>h37 ze&;%j2;$1VjdEjdni}_R68r}A&mcLD03v72Z{jB$?ruK25U$iKwc&s0qcQsXA^PTR zt1P^WCP_s~Ii{hXBKtr96hH6^dVOY<^ltdbH4}>EFO#qL(x2Sx1aH~2ztR_f0NhR| z_*CO;NEtxljNq&ME;JVY2<*s|6Q;jSmJ}hj;9jpULAW z@tg?CZBmp!zyUS`Aq<*Am`*-I;)P^X;?_~&9AldM+~;mL+~(M)Ebnvhdz~=NGrxyU zPh9}!^poEYM>Ph7BJC*BY>PHD8tp;yQ2wmwsKyh7H_S-d0RXA)<-m<-AusaOdM{P1 zZ%;ON4*cvrAX&J6l&3%v1svk3B6idnCaO?hVvP?|2WzMUa++iC7C*hYv&ejd6zACm zs&_^j`GF)Q07E9urq)axx;cdkeHXm*J3wU^*+@PgNvPz>%scC7&~Y6i%lI9w31-Rp zqogCjKJ%@xb|N)lR!Yx6BHpXhbZs=oI!ngn^J{HI3ejVD+1x1`)UK(<8uz+fLHK*u zLZwTeTvSw4qW(+Ol>@m@7`*}mOWZOg=>7zU)0v+A}OyGyC|V7y0N z@=MfUwE3H_h*-RU^tqr%OvvIBC~T3v`<9K#+V2qsXM|NFFQJ#^@pa_62ukG$<3ma8 zbHg>1z*9FCdYMz)BNs3@uYA&vkVR36OIuER2$Wwfca;O$$`(r&aiy0;FfuhJ3Dd8I zKEhWD;*mG`0h8EzKe5d*({=9;BxYcyPk&9U@E_(uioY?w-k@5EQD>PFyZ%^2`TI0J zKKxI3AGQDp?@K>E>_{t!RSny5qvfTVu;bkaLvE9=Q+H&F2@yA@GAmSRkmHMW!q?VE zV-yPc{g+y(iwvQ9G<*az%&YszYr`y2j~)Tj*{TZG&|TL`()JVd@z;iKQ@1bz?73At zOyYiyB>kQOk-eruSxt%~?A`hX$Ra2hLI2G? z!&C0H(E`a#98qu4%7;)vo5a5JmLvJCQnp8JM2iNj*LGuVdk3!Gb2z(12lXg_(S$!O z%(f(m|HG! zce#yLGkUMY#?%IRbMC^xSci%Asc!|&3%wpq=awfsX6Is0P`}&C=!d&py!^w30|D>n zzrTObc+paoj_vzxv1cG_?OgCxG<&t47FSJ8e!s}msNUZ_V1$qUHavc=4TtMMA|9LY zXW?si8tv4SE@yjivL*${6$h+q2tH<_B&+>O5^Ha-Xf23ffy`Ft}D*tVa zYrlp4UHm7o#kzBYk?X~!re_ENoOs$pQ4uU)hLV1`N$aw1^e^`Tzn_gLWFTPEIq_XY z^k)6x_I3J_cd*BHs%&d1x!(ejRuWn&P)ixQDFz%rSH}t+Ht{@WDjVqf+&&nl`!Lah z_^2t}*_n*GbZ69}&A>6lRt6h#9(|Uw57-D=g29Xl$e@d^zeZmn z`9=sf0X!|tnKrS;k-n}Ycox|9FrLZ}aHAvAsDOUA63=Rk>W$@?lrJ@4ER0H=(;P@>UlPY;nqE_Ngh5K(T_02H~5F zaJ>7SsEse%hNFdjhhq>8ApOw0)8$0-P8akm~g0l&!{}_d_8y~<4;c^1y`z`)^wXeF; zYq=u9II73X=Vzm=T33dp8*KP=R^rINc&{vLevvF zT!k|N^?Oc87Hi#p(>o6pDEFsxR^yK$tQW_E^Ee5t(XX1y&p}Za_*pF>(eoDN!Ko)pXJY;vti_^t?Y&#d0P1Ki790Q87OJ{DCDDAD`-Qh*>? za&`GI0_>K~3m$(ulqps%d6x|~iC}3!{nWCKop02GRq!zpFjl#KvK{6{RrmAC=MUBY&{@7I4liCfiJDfF&#s=s=Zh!CUjpgVS zP|K)JGwK|qe;vqs_+Tn1Ij$sP313D&g{X!R0!Y|r`2GVNR@cL*T)HQ&4=*8!0sS&e z5hF?d{zm-m#t1=?#Pq^QvRN!aC6;bbg;_;zCJ)Q~q4FGS;w~>eNfl7+R=sNveF z+nGE-RixKA#*dS`kWqE3X4$z-;EMyu?~sFr$SKU|Gd5z|R+}tWYDh0tNWnuChfJkk zhCgu3Iy_n!uD#HvEgR-X1Wo=suq28y%;A7ED{x{!x;@*p7r=tWcQ#eA7EatdD*+h* znoBw(5sphxxPAl-%)p|N8R@o*u@qAJp~~wV0x51+1z#bB0?Eq92B}IWL4f;_uQBbA zp+7;-=hdzcLjgK!0}{kL2&fRBpIAAsoSMosZ*5V+0L-pT5#>)2m)q$5H_ce2U3V4t zATJCl%g2xhI$xP!5E-F~vSlu(jmsM)Pxw{8(d$T@l z@2AsvWL|kBuClZE8yb=8R6a#c*QOEgp2d*!oY4U%$?$O^8Ro`7rlKZ}N|RKo_By|CzFBb-H_};t zb9pTGIs`fjnkC_8^^R-Rj&zr~LjYyUF{)-0R-#j;Bx zuSK%3ON^Pg%vUEw$-B&`Gr{ zoGBWry>WoMqtQ=c0Noa8jNh|HGdkG!2zXKqv+ zcXgo4GK|522#4g>ginc{!_oJP$Q!&TB@sUZrft5mm6QI=TI5gMa|yz|CXFiSM*YacecVU1>m67kg2s^Y zA!PCPCKvm1SJ#HypN3$HaxR$a_)$o!)SW=J8BNb9*%B$H`w{L?kmc2{G*Dlt?y*yE zr>4#g?%xuEj*^zzEIlws{>T5yZ!Q}^6f{GCPUy1R}0DH-ROPhFEnHJ zkAqXT|1`KD375+rE@tgOioj1f8}9!Q+}0X!ea*h|{e<6YpZD6g0rJf@9r;GZ*}GB| zHkd@khZ?3Ons?R>HB2*8W09#Yj1pyU)epW81&gc1(J~1m@?vV)`>-SU7VXsO-c z*lQ_b7}CZ^i2o_*?o4|X!TB@CY1NrkLN!xd(Uj>wSTsz$fsd-k_wpc$tE*v~Vz$Ug zZcq44mRn$(`?m+V9HJ!}yg6IS0>+5PkVJ5BqPo;FZG`-?$4b8|f|=|&ep^nhN(Hvl z)d7ER1XpWuptS~quC)Kg()?V?iJ~D2EJRvHiYx(YGkC$DVo- zIzD<4zPeU6oci1*{%Ls#A?VfY+-Eht{UI%z22f3?dPO{k_`W+l4tP}}(9w}t%U`H6 zs;_1$JC@e@Q3dztA`+ES#z2!prl)B{v9cLc;%*UnjM1QaJZYxXHpU5q`Y~3V{A_}G zM{HrYtOd;9%U{fi5odn>1$IpCyvrr^QDL<=_<^w63l&Q*+V#VS!wy{dXrt~TYRElT z_Va$aGm_OgN5huLv{=Db@mI^w5{1?{ySn zYrsc{;}}YBK%1~jp|0~uNfuZ20nFngB5y1u?>Pg{3)j9KS?6lD}(#}yCh|T_cTWvjcmn zedmVA&Q+7HjmvKMY(F3S<%H{hG)Z>Q=3Z)|8dbT0$rXrHtg1Fd@5_b{z1K7c+m@;u zE^@8*9#8P{RM$)BgcPjplE3OS=ufo~CBhvU|C%dywcqCw)j(WCL}U%DDHp(5b&#|= zP#b^DV}2|Fuj79G&Da*3mXF+$#DbS=LtsI{c3h7A_?7G-*|aa2WRh|CtAsGrs~f;o6_u=yE{GPE&PVU=)iGhpo?R*$z<>r zpD>t_%QzT<2u?y)lSg;L*@Dj^EARhtMI9cOuRJb(ho^0bSsk+up`{l?9Ju4q4YBD zJ8$3JG=jfAnn;e1^L*10AY>z+C^nn0;PdAADSVP3p;!?A5irB$Q+)GM#?Qf>F(Le(&(M*bT?@+v~bLfV7HUAGQ zdLtFCgCm*UZj?}{=7-5NOB;0B&{QP@uUom6pJk!>{23i zsMQj3fh@K=RtuAJxuw+N9d`xq3Zqvo}-tw{OW`87Vk4+5jjxC~FcHpl7Phh))|n-EKn&{^OWYSzb25`QLi z8eN#ZX|X95>V6qX*eqpYs6^q(?@|7#n_RhzQc4Zq-wTTBV0U`Q`;_1xmXpn>v$4`Y zKHQ*!AN}gLXeB`+h@ts42Otljx7nV}>#VZ2pceSHP&7uL73}J^lG?P94iG~jfG^8V zIr_5AjJ7R*Xd*d)r74(4yneGb#=^Ed zxV_0i13J-zR)1LlumqG1j4y7(lQt+`7zCkGcS)=0Z%)IpbOE4vRq6uGN*tJ#)$mw(BHm6^Hd*I2GDouH1B-V;{|x0e@CuwV>IO27F~X^qBABjmqjT zpc;;IEA+_W=gJHExrz_z2qCk_5T5c$*JpHql@QaK|44F7Ty(v+sm3$JWkRF_y~b>S zOWXV+Uc$JXibSxt-I92c?qC6G97dzAloi=(?*Rs<(tTf@5y0^35}%kMwtH;)kDsW$ zkDe<#nE`$?9936&P7F~*F^EdyrGy(tM_8MeCRz*-$SkSTof4$b?rltHywn507x0kqkC6$cx9;V2lIq<3I|+H5nan#y0D3wQa6g0&NSmGj@!Z6G&pU~Y8DLwyi(j{i5iJi!pATJ z3znllQSST?>A8_{5PRLZ7^5<3%|+Jeum&N(@8x8N1pMcszq*gqX_ZZ|Y5_Xdj0$ji zf|xrgul?W+oGBDDZ_v=*B}&$&B{*R~EaU{tFwJn4y9v2lvw93jVuAwI{Y6@6tvK`n zdsh3_q-JCA8?83A^b#{bNh zX+$u!$?38V2w>nw^oPixh4{x~h z8WGbU1(Y)<=5e0QA~aW&SG6YFilLVB3C}?)w7k-uP36{B$cZdy32g=m47#Y1l+`vP z6B=H`$cWs5H$dY`q#h5S0C${Zl#bk|5@Peo=wtIW9IR@5C|@E2h+JAuamkEio_%3m zyjN8Bi0{nh#(%?Ykjn&jA~M-~3m-Cm3GI{{c9>&uIGo0;Fy$;Q;U0MkdQ>w& z{Z^!xHYQr*52*miHW(b*)Q;0JW6LJ@gn~Mg=R~s0Ip037&XdplkJRidB&de3gi{*0 zpxNX*a>A1L+G<~?9|0s1GC(9GK2`^)BXL?wMR+zX#H7R8GA6e1#AmRu>XPc2S9fbAtnY7``>!e=z@L;PfIeq)@mLQ!UPqq!{Acbd3AjlE0M9~}x-#UYknxJmy}|+} zGhDT!H;EH&lpPtwyS2MKLMjIwl-A=$+or5>y$MuTJXrk8x9c^?On_XC6%sZ;-kO`g zXv^e&`>YF(2HZEpbcy7sGcrz#9t6*Xt|#Dr2IcvS5(bsTh2gi~uX_*d?A-!zJJv1> zjNIJuP+k}0sei%p3A<^<$m|fjDCWR9G}Rzbpp%1o_As(9K5rwfo{aa)i99?1O-BzC zOwEx5&H=IJpA;CZcY;JGKB^bL%~`s9PS?_LE(-%0$y>>91<7ShR1~%~qj)5e#t?B` zdZkujB z@AE*++ill6I-r77rDN<%%WOpbyz^FORaeSNDj2iL)9a3 z!L)(*kGDEs8>bERHLd86h&)@unb&2N{qKN+c?mqS<6yqIXerd7wlvk1UO1OccW&Xl zeillg3q4sl@qQG;jNEZWcL#O2Qi*~)6nZ8>@DCNmvD2L%8ow^jS&F0@BFTcWI<0=v z3_j3!sP{s}e7Fz}=IosMN}$YYUO0Fmdhe(7t_1gBHpxAE&JzF3^Z=`%Wx-)Hs=;Qu z^n?lXssB1hzpo~zEt1p*F$f^CGN_Te0vG)H*VP%VgU350AEI!weOR}CpZ-AaoDHe# zBwa6ehZas1q69dQN%a&Y2wN(HEWTc>eM4QdxxS>1BD`L{wbCe4w`3ceAV%_c@Z%wWV@ORsl}{3)Lxx<}Gu3hCOOC3}i1s}&2r=AoKW`TakA z#(X~D;W-`ep1i9x6ngr>HHU#+LoKoCtyp>cLs7Q=E^d9hNiy3c7 zFFACX27EGEXqKMbOOV&!TY0m)s8*fAa|vX6&%XpNkyU(9UY>ggRlbbqR1zY69g>o z=Z}+1lMF4Dm0s8PZ_GNP?N98)U6aI(ePMMiLpgjq(&JF}kbNp(r~HY%XOYRTZAvt( z$;<*Z*gDBs{tv8mmSR9%-A4JpWAAgZw5kkv>~a$pEH1b|R9t4n#j*(;BVMU~8NQK< zGR)?`hyc&_^kG+YRFs(@@_jdIIw42l+z+j016^f4Z@wA^F>VkfTOUolyWibpQujF9 z(DPeSak{A8=6^x27{$+?*y>ZIS=xEW6v7$4~*z6zK?LmPSU-wN(~U- z@S2dRxey*m%j}*;4ww_39{JgC2Rz~Vm`DEvHUakZ9g9;qjB58mQg%^ZRaranV!Keo-M1Asxv`bCdr>$g`M zrcSCHn8~KAxy2u3mhV20(ywGfGQppT*$l~L*|iy4VTB79ehhC%9^AwEEkiif2gyo8MR^ju{M0o8mB zthiLf$NTyB2#1>T_FKE%_=f1EFV*s4K*cfoD9h^?2IU?_gbeOhbOc}ss}KMx8BO2%OGu>dd|JdHJfbI`^?RlV(95B=o%MT1^Th%w zW`>d@$ZSgAY|EZ~H^e23>{1ue=K|iHILiQov`|K=ydjE_(M7j_KQh0oTXivYTrNA1 z@kn%58$#V&9-?3b^K>_8#j<)qsWycFnp2j#`4=lpMUSW6Nl*jO*pjyq#hpJ@OT zCZkkmu#zHT!i(d?*fc)wm8%*c>petzU>QI2p&iP4kBby5wJy_Qws51Vv5N`(q9A+a zgJqI2fvOn2pw_I)tNg}_+2QNKti`zlyc>t;`Ut5`CKYa@O1Ae>!oWWr$KlYEE^H`$jJ=ZW-gVou%8=c!sg z5wiN>aSG34mFzvAt*@aV+~NTOx+Ru_QgE5|`NmuiYjdGg&C&#*!#rWIgz`HFsMPBu zkXDjzPgDBeaB>*|xb%FuJgeSl5Fm6!M<%$<*(pi#%x>K9N7hG=To(An7_QU_QcYJAI^1fH-9Mc%sjJ36<3cAc zGn;vb0uZ0_ji&OyydkR61fq>tYO1LtOH*o8C$d*B>+I04RI8F>%=V!!B{(abj$-z5 z?E2Az7{9$LhJtx2mXM-*i~A_+()|0295}pwzz|<(o`$ZWaZr7|KxYO`zWup?H(7DW zt(_O0>FbO(sn!cp`WefbxassRpqHorPdOsJM}){Gb9_-7iS1;VRHdRmZ8259KJy+4 zw>ab(mn$p9bLA`RYX4NgIbXX9|Lbs6pwlTJrmtrj_j4`aVvwI7DU}?rw(D|vymIiH zpKMH_Sz$CA2hLBNX|}q4>OK+r8~=zdR5Ol~s$9P7+^7_gkeUKba+TKnRwS|YOkz^I z0&8h4Nbjw5Oh3aa%la>Xdk41dK z?X}$DSY63Ul5vV9ZB|j8_OT z03RzT0B5X_vko_C>O1dfAv|%h0aw`6BEIH5UJ!*M~)9J$VQ;eY? zDG%7TYy;2(WYPmM^-dy<#eIW?t{as^*CuK;^6MAi9PQD0&YIa~D6L0$qYLRNg!T@D z6xNNEZGbGVW+t%jqY=n6MZk0Mch9}KD)5~s*vy>tqbR(x)4Viq{ZdsGgPb57>E|Bm zvfkGwptA*;&sc8@XEdD>yP*_8aZvi(r~jl+wL65szMVkpf`%+#hyfo7p@fz7m=GTP zn46vn`E4ak>~?oX!WC)VhHkIx?lp8ZFhkY!I3Fz*CP{9jq*BBP9dO?%O{(6lxm! zQG|2AS5u`QJ?Q;(<7dG)`qZbQPW$$H%>>be6b^_^SCrC&wUOK-dIT-wCR9`RfOeEO zi>+#Gw{d2{*0yv?@tw*!b;YaQ7r{FLxtN=ghUfb(^`CeqRddA#txf2%<|>HpYy`1& zVXcJy7A1109jCgc!PK_J` zzvDSs-m0i;0Kluh_=Ew}C$AqgpN`=+pz2hH@zS|{2z{@q|CNFAGGoelGk^Y)jD7z0Ube$!)4;1|EJph=LhO>*nojR@YWaIZ&ri-;QxnUUTJ}}mxNG`IY9j^wRy8wN!s!B$SV=&@mo%q^&ok{;{pvE$RZhD9z zN8r*N{=^$gkh}moFZ}mOY1wv>TRSI1hdi3Ro((HevdQe3=40y;R=%G$7`F+KXBsw^ z&q;tv=5*O12&jpbl)kjtN>afExe-vS_q?oJ{kN;}rx1}v?b-8L6q+3Y7?gh(%E1}= z`nrwa6)h;BdJpNl5-hyd@ho6eMZp(G%~yMmoh34&dfYWb`SDoif;h^SD)A{4s&K98 z(5&wJo67$uI8xK+FF@QQB%Z_TyD&Onq;)8=acDy3xcAc$OvC0{D1MWq&S7(RU;H=i zYU|SbW`zZ`%(KO*&Isp@-=@{S!kw1(J9C8l8x|o*7=-Mb^m5CzW`@e>hw;RR+s?kTMq&-AkV=-Rz|KLyE1EvwFhVgG8x&4C6~cxgX&)hgrkmP z5My0%eLVY5)#F#9WOfK8s?A=pEr8^%x1}m`8$u{v%yh206X!6BgH-ro_w-!`%PQqu7!QXe#>e`>j)nbulp_0kyO|2&X+diO|Y9UcoIv z=r0$v^7-J5j*8w$L5)+$EJK@f!i;zy_PNRgXp9|S6Zr3pabSLis#@ED;t-|3$EUtO zoB!~(M96Sts(SK63=IO8(mE>MBM6WY=oBt6jfMmD||?kO%>-W8I1np+jfZFKm{uZVS0eu zV3r>Q6r1LiZ)%#Tf5MZ$3i{`d5d;J+(PK~5R9o;(3RDvIwY771oY1E+RU#XJV(|Pe zU01UHV;&ri+(bm)(Gt*rQ?9v`5O}rsfHV)QG0Eh{-~23gLz7yDHa_`zshRaV529r& zJb05=Wtx*vX2nl0&WsEg?2!e<9W0^lJwh#iVcE+wR>=tHeW8)2Cm-#A!Qrv-wc(kj zJAZn2zgPKk54PyXjzAECcpi+rFF=E_onS{&@1+fV{RP@)YP-!V+UIS;fGVQ2;M&cO zE1jWTSRbo6gb>px8G`u#QLurQ3S%K6ovjTvqHE^^d0hldlA*a48if{r&_aoFzan>( z2J{VWbHPg>)HE08zp+-y<18+a@4}qzE&|qvjS@)kT9*>n-{K^;WQ!OQTNXz6`Guok zoL@d#+OLSZ*l3Z7ZTOjkqsHis9f-07ArbWZGc&eCeIy7GmnT7p@}KZLb!s5Z8^Qo; zJybcL;~q%+PuR>|Zv>MbA6YCwC21T!;F^rKA5sZzdD&OKsho>!RpJ|3AA{~iaWv%n zx}o8U?z|}4?@|MQwCn-8?;mK6#0J5~gusWr6VS&=zl$~&4L0`;fs!cZeMpAbqZ!Nt z@~I>obU>Jwzj^4EZU6y{j+vKsVgCK!7zdjFF;~z8^>%u0IhitM=vzdTY-HwfMtwsk ziXzjTRXmrjrLJuzBlnM@&#z3+2NE{CvR+UKZBzg4%GeDixI;DC1U&J*2IliK?dPKZ zmj1xgN&KF%tx2soRZ;Z8VgtF=C+WBSE3wpG-ci=`8=l}dwo!S_xtV_^mj&=H&sIPF zPM~D`sE8N){&*$K5rkXxCL5siqF)7!Zrj2~PmkjvrhcRt+#hdhq-BjWbi!1*(1_pO zevR$!_J6H4?v!`$_90sOVFX}NdCu*JF=w?bjSUZ?!AQ6_m)aYXtPU!NOa~kc--IEa z;K`GF5pa;9h5hIM*kQsw4i4c!w8FSiNOQ*1NAzoJ7t)0?zf44WASyUCE(0sG6~m+n zOX+^gVDPokZGY3TU%OaZod;Dq>%fB=z`N$t{#wr})Q(JX1*O-PqO~LH(+Bcsd)2+e zTm-73b+Gn0^|2ID=6GEx|Dz1)6& z(YDFa=D!In;haMqee7Y!?PqukJ^P~9uZTdzId>Xqz7S6BQj9;l4w}p7tFgmB|2JSs z=i6XkMa{PKcv!9!kHvpQ2nSFC`%Cw>4*xl=@9F&MT`?JmX$3wEAX&tG2xZ&5^4pvl zemopRN3aHjzw!CzI%Q?{c-o}z0A$=*K%fPDrMfMaOFHGjKU(DaN^VmzqkTxWP$2B+j;*DF=_w>#f~sKNR); zXSQ*Axzc8C<>pWSxw#a@xw%V42Y62)zg`T#-*D*P?-9S>5SW!wUsdJr_W%0L73Rp> z+=Jh1=zskm=;!=?vHyM}V1K_0pnkvq|M~J7i~R4ON;!9s4RbsmR@txD|NAu{|36>u zmHGeNcR9{_7G}Hfx}w|h+CYs=CU2pq*PH5m>qRE|lvCkGp7MVF{vG*_ChMD<4e#Hd z{PN`s&}JUq=R5Y|)ZOh5e*I(QxZGoz%P#^y0?ylv38r6*o8iYuAc= zm&Wx+4@*f&dCm65{eB{YEv<#F*7>dj6&maLPv_}g?|k;`+2bS5kNy1o_S(_V(8vW4 zi*j;uq9P+-*3{H&ijx04_*E4Pi}+o5qMMza-9&fx1>fZk6aMb2?P*4ua}}Ez$v^S4 zy~p;Q&BA^9^y%P}##K9_`tNI;y)CSE-+pPlC3*~Rj2_gd}QuPp%-#sOeg8k(BIzZY3m z@MJa&CXNRH(`0mN%5m9u?90<_+}y7KzGh)w;8g6|)5uBK3~8}%mxmGduOB_AIQHYm zMIYkk7m86qL4of~e%G4JPs<8N=;Ac<9jFT}E+f=?Lpq z{wwb8t*yzLMyWcGQ9pW(r;xEU@M($wBxEk??Y;UW13%F!62^UC=y_Oe$2#Sqp`KnM zFgT_L-vz^y-NMAwUiUzFbb5NPyu3U!w>0!{8?RsCK$Ml0eJ7G*+5s-Ujf-mvZmHqr z%de-Wr)4~TeBNBqglAz^bmjSR1qBiHmulhBE%s%@2|qs{YO-IQ?Mr+0s%T;rh)3gq zDPn0qHBjVsq4BA_Nj~7!j&$-AQyk{#hmNlAM$`H#8REEc7Firf@MHNQB;$jo2)AirC1=i2aYxaT?m%<>?96AvEM)Zc}Y_ zbwqZHiJ6xNIHyv2i#=E_qHXFT1n=Cwojpm^tZejI1KEA&!+FmkPCQn)Uf|^9By+xo z-tOYXG+-wJNHY_@?e54=Nf0;o$jX{jR8(w?MC#gJx|G_HZj$aj*PoM}4eWxuBQrB^ zEBrU9|H`bwuNX)c2E)SxI%*a0DJEN9-h!~PM@&p?bZksgLP8x_D28wwjVxJMSQ>VA z46yio`tl|ElWp1}53n-YLKrw~rMX>-MBf2qbQB(xIxN2C>vQF)!?od#aQ!=E>?4w` zR8?= zJq1XJ$yHUjj<@C}>gwtnV3OcD(VDzx&coBQ9rh2bQYl?sT{~Ob@#g0z@7%pxI_rHk zcT65n_B-s_Z}AYSprkIV>)Iw67A>$xVUt-nALsYHm>Wm&gqX)#B;R%(T<%I-}C3syPQph4YUDKaT!3m zQzM@u<*u*1v9Pp+=P3p8TH@fr)-zpAO}cOwqr$=(y`&<-6*pdK6vHN#yE-i%{O-#8 zBb)2%)NSn0o%Q_3m#67#Yu6q{M^iU1aLGEJxK_N5isF20Ro?T^AHvb&<32gC{U1d| zC6P8))ARBS;cpq8J{_v_R4y6zw$YQ=qHVHwQp?NB(HP9~$~V{atSmk1@!~li0o!yN zJNt|FcEj@3{_92=ua9~BsDp66u&_}7`LiKJ4o>*;ix)z0`MUV^2J1H&Esx_};n}xm zS}W1e(oRwl+WCNTRzFi2K;qoKJq2!!Bg794b@kWoic)3sK@e2L)y)cBo*r@Pp06Th z6JJj8Q-f3FWary-JaL%cp(E{)le2TCc_v(#y!UK7Jb21{EF8hPTIv;PNl7(}lu7UO zowUKqfG*Fvhn9ZQ2+!EW)HDvx-19ta0qcu)(c$n>3=T7c3%~8q7$bfJCx@Ez&1E_5>HdTmavHOR#Mbb7!|Y zEGb{|`j}&Hc70P*7m(s8S&i^#W|aZuAMf!9t4I6n`}*}O97{29klooP>A5(f-f(?m zWhQ-a(B`dau4+q5OZ4JC^MY|83GR?}iNCpZXPR9@bl);#qwPV7BS(w@CSLIH;X@g4 zMA5Vu9vWH#o>>Dd!aY1}yLM#+1);-uWp!@cxDmZLK5p+19A_iNmnmb{iED1jDJhdc zLNT7}FJGPmXK)@Ko=K3KE^r;lc=hVlRR00~xOF$!}VjS)1fNGZb-0$uo~%hCxNX5LLgU-Pw)A+FsN-RrAd}TdTNM z>%6*jMTZZ*)J}91Gf!_2>h0)oIko`kMP;P3N(I*)eE06%!NI|;RtbjLDI)W1w|{IZ zG(>wY7YB*%15@c21*|vq&`=2wVk5U|;=CChxgsZLw+y4Yw2PgUCB1gd8mx9lIF*vZ zK3Tk&6;sA7nXjmzu$8u2KtKS%OCPPk;q>;|E_ND&D_%JA+A!O*2pzc-?aH$WysJe! z8l9WzCMMyUnwnX*ZyyP)yfuq+u#);ED8hp^8}Ud!El{2wzDZ8ED2~4QUbbM!L|glG zXW!HfB=`huy?OKIF}(~u`npP+@*Dj_LpS;fE1P&uj*|UYP*_OU)QlP)J|7zs(}8WA zdw;q_{tksisD{Q3JUs25>mBkvjCNL1(zCASF->#x_(T316Z$x_CIYh7+Sb-74Gj(N zTU(<6EvCY=?-vvpk^iozciSM#{2szL5nG>8n-SaO+8!o8a#z~oAMWn%XuqMm7nGG9 zZfk3692&~;7`G1^nox9hcCM|jH~exRXRJGw)094xj3R*E<`jQH`Le1iEnpT6GqW~f z(Qk9Q`EctE1-Kpc(A@+6LYa|~4>Br7B3`XT>B6&7+9A8hMsD7TU3ZbE;wmaC__t8J zIR7ZRd9zAT@oK)~6j``s>$hbsf5qv-`t$Fxf4`#HJzA}@=S`j?%fziy1fA;+1UHy? z3>?G}h+|x9#Ty|ZVuptGJoc;d3knpl*rhc!*>&B?d4-=LBjkM`}UgFLu+Thq)0S{tdUh@Yh^RPiG8 zt`Fa@f%p^l`m_%(;iU4Srm4vU3thBPP;lfSkFfdcBz-x%cR$3b-*qZ>#rI_# z<=+1Gd+9UJzETg7y3Cnl0=@1s1`EEHk)e0jq}B-76x?enbeE8nRL6?wJn<<)Q;nM{|!g=l3E#WSYGBi&Cbh2HC&KMVY=s$e;kQsx71*~ZtEIBIY z*cCH1Cz>$ zqN68HL~>6taf%zG?T4~Z$Z!#=x3(E;0`n3`O^N~{!F#&fbnWWZ(T^TI;*TKpPuivb z1WAq9c{gH{ad;vu+~pmw`rTdXCA|tYjzl^?m-`{b%M>?~zeUR( zF-e(nwRRJDVCmRdd62*>oEOtJGD?cTw}RnpbTYktTwGUI_uzp8@yLSWVqzMnPDSCi zVqYpvssU`_%`5SgW!y*4m3Le~nXmvpGsv}%C1n+uLKQXKpui=)prByQh7A_AM+VOL z3kwTxr@7&b|1farbe{9u03k&NduJiKs_$l?ehp_3>&3% zW_PaA)qOHHFmNL|IXNRUGw9BpL<9^F)knVeeA8pN8R@exLdBz%Vw!tfaH#r8@Gk@p z;v5HVnXRp_pRiU!rvnU?1kDI3doNxbC8-;5IZ3Vo%z5duWj7-tA^;@7Cd5cx$Awja znb5K6Z~*-Xz+B?Mc#2VOWyaYKoa7$?{06uu8t-&?A7G^Pxi>q??S8SU zAKg3Ef{U`CT{rG_YbQ!a%c^5!;V2Xzo@*;M{r0ENZ1->EmB0Ak3Wq-m{j%Ere-Tm- zd^IS3zNE++rsIIu9n6#f7i-o;eCV2b(oy2aN_eqMmNa>p@JqlE%tEtJlTzC>|_1doyuolY}_L!C$6Mq5)u+Z-edp% z{e(AxdeJS~pM~tC=Q~;946!o=8%^8-m*edX%3}_FgJdh})8FZb`iOwYuO%g&IK`h> zIUeyhMB?dbsi&X@K!Mn5T3BqeE}UDvOr9}f6Gxy;WqJD_E!&Rq&=;67j@_>oKmoU?T4Qfcdk-7Lo?QPI&OIH09#5dZ>(sX@`Y@X44i zyTNTBT+AE;VK@#ECf3^CJ|o&9Z*r@TKt}FOo}JMD?hQhgBBe0HtUPgf&~`DgS9lYs zT6%3O-I1CQ)Y8d%>H7tCovQ#DkOr@%X#z^jR@wdrR#B4@GM2oJJ#s4x3`x94V%s(y z8trPHb6?7jD+EADXdpxc`|P%h!UUkZ^>VXNbU@`*?dxpWz_rN6&_qA8~+ z&#^lWi*5m>lpB6GIk`tT-22R#IFyzV@PV3dtXBx^N@Aw&K&HOuWX;FdrxZ z5TR}tiEJY25ts>JopPGoz=IWy!%HZDA&wmt`%q+=G2zHa39Y@o)*~JR?@I2-JL4Pe zrW|@2a<$fPHwnCd|NcxjXXeOfs-EcG-?9&!K_fjq9mPe9=m}qZ5s9O!iQq2CB!^X1 zE08%vX#WQQw!gM^+9?mXOy}IWB(P!VOCqlB?%hb496ar-SFa-P1|rjK%BZ_ZYGNOc~Xs4D#?R$acLOd<%1Ci zHBj4T(weY~=WvC?*|TR?Y>+yDx_R@~ty|kn3gSs^m6OXWd*=ybVJRP%ArGo?t`_1QKx7Z)wt+BYyfOgP`v)D$U6pavGGlMs(?V?S`*?C%OOa+k2)s#)*GonKy5y3bdOP zy6L|wux~pIGU~_L;7w#x2HB;9zP`Tv$Bc>Q-+x_{V(Xl?UYewUe+upyAhbjatyKrv%@15UrlFVZ%zq1s;;RY2urt`st1vSRwL{p;p z7?$vpe^V$5^FP}<08w*4K7S6>d{iXo6lBlIo@~^Qn^5P+&&>To&ZUpmZR$jF!}OKv z0#^raim@T#AqZG*yvAm1n2}(9CQxv$L%XsEZPmfHl}V zi+Fg-o10CsmaE9(N@`j)q^xWEW zuaOA@@7}c(vwRhG`OM33N$4n~L<4tV98Pf2M3=;#J$nEQEKmq^`f|$0_0^%g1 z7{Y-KvB4Og$6@33>({RkQqY4yg0vp^@I+d{Izho?8Ozsta??UWLc#LkEBK|;nO zRuk1?KfU;us&j_gW^*Wpa0WyS4GsN-6z9ZgLU`Z3i-IyLXj*seW>-PZ#(EV3~z{6ej0*7$lwf^fWU%I(q+i z-=Q$afr;Zj1b5r+MX&=qpG{|>K2GFL`Ah8hBEJto1+!quaL9NzGjgU#S-;=!^3NZ=z4_)CL;ItIVs4A;-UK&%cdeR6LL0*nPVhpnees5^WW z>;p)mr2I5v;+PdX8uA8##7L{C5T{3u85rEbTCZ8NM!U_EXs<6g)DSgM0?Ob5*9czd z$20&UmJ>zQVi~zSN`sh8)8Yzq>BPv$yAUV`&r!8K;{j~Cq zWSJ#|gp|=2&JZu*0a(#T;RrSLJK(Eis93Rb2Vl7s!b(P{+QIZOk*DS5M<9SC;0Y#W zWJnQ%8+=9%5)%rcI3HgCBf#b_VU7V%2X>yes;VlxCmTNs*_oMD7}k>naX9GKE#3OK z1g-mwXScuQ-+9J2PA%k7&|LdMPBcmM3wTy)gL=S$CE6F;y3s%p&W+Q;2k_>kJwDmW zSX5%}pT66>t6Qq$)CFjozw2jt=V>HDAtX@~ASe>=#}TlH#^i7~2ytnzDVOfY_0zAX zU?fUF#0SGA?E_?KriNYu)u+^rZV?p)V%K0G%|1JmiOOD$c6x}Zj8FYHIzOkHZ#65E=9E32E=$>jP{^ETguN7g0<162+Q1O5f^y<1y1qYe;{4pJz9CP6|V z29hJ+pE^ZE568YHV^Vhd`zt^jm54P--W*G~lhrPX zWW)Ph**(uk`SEK8+50||H$IC#EpN}NEa_by{mNXwI1>5{$e6~-llR`Ww(?@cHD0;! zL2;BtRUEl>DiK4NG4Rlk!dvnrX6LrAZED(L@=6LNfb#mcKluC=K-oI)gf#!i3;Dh; z?B-rMvvBO3z+PEdS@>^X4p@G*e6gf)9$`#ODzpXUP58@S61Rf#AmSE950W6;*}K zCr$}h)SpK31H6Z6Fle}Dn%dfdRKVZ5!6_I6!TGfuXJY2fOmy?9oq+MEt)ml1Txlp( za-I`eRK)5*XhQ%tx1OG^goa|%?cgt@NQ@5)btAIgdf+ljV}Y-!c`*;5DH;4>qFO@$&KluvGUp z=9@`{P-!Ryb?M(fs9dM46xL z$li%CllUx+6krtpkWuz0Vl>$syS-b8g2MTvs}Ly(H^-WHYm@G~@w3&iB3~9x-vBtsPK9RbFEFtDOSu_>6!qVox zuzUIJSvANG@!H`bpkKulwP0ehc{T-gs1vONdA4sa9>S1?5O;63gFFBg1Oyrs7r>xP zI!Su>l9IL(fE?j5coinM&7R#V{u=@GEKp8=LK0w%ivFn>F-%NjwSwXG?S# zbk(E^bJjGhLF*AHr+yG&*Qg0PoW@D^T=?%`y;|aff(^Joke5oJ`IVJ|8RF%?8O9y^i;XoSq^^8PsX1>u8(-`Jeq7I};94w1klvt%L7ZW3osEVSY)-@XR@c!1 z_#lR8p=?3)gOv#Q27#;5e*Ru2QI^}o-H!s9$=SB}0BpshmUUr_S^O_vK!Du)$Am$~ z^{lO}p)_P>6TwB7`S9#l*&TBEt}(OXM0nH*n#4=ItDve{ak_>34dU38dCL5&am{;eA&Z zgZ`nbOFXmIsE6&u;SwUNN@=(cOm1dr>8_i-Ui$9yxa zr)sV_zZ<85mQ{T<8lR>cX6082^YHKx`>4`JUJ<~h-_rGm#*ZVm1Md!^(3Ua8kHb^K z>e0;@&!+VVL3X)at5E9qPkZv_zu1%6(|f=&bqJxsNX`UcQCyNUdjtWpmE~t@W@D2I z_pUMB;l=akbo6E|rgF9Z|ih2M3G_eK1(qLr-*Esjo znbk^>d`fyOpdw1X1RX+ZULzFwC-w01`+IK@4ZFjq&we zPIjgD>`Yl{X$3AmG1>V)RjCLy1|~uqSEAoB^harGX(cPQq8X5gOQio3S%>6V$Q^#v z1gv3QforDO^9%J?iNlrX>C0mX_QcJxYZd1-BbDe|Il8iHz5^j49ymc=_#LSCJ=ID2 zJBfGpd%+;|HR09c7D#4pt$wnJfp^tJp{eWjIL^-D>E1EeLa{{K8O_PgoRkz!hwx+7 zkfTBP5w`irD-~fe7zR+@f+0KoWAkQ7Lw8ija>f`0+YC0F4&IHsL5Ca*dX&D1h&3H@ z=J0Dn8;hq*kvb?{Y{$^BFd`Yj2L7!j54{&wjd^rP?AKwukyesL%hstfNplEB3wUQA zzHZdr@haL4T^C7ZNL8d^3j`@1EDdm<&`X$xJ8=~lrh5bmPw+%Ge+1Mci#KT}nK4lQ z8K~$}214^ew6mzbDM2@G*cB)ILnc=UX_f?IC+Z|v<$Y2Pr-7yU)I1SlzvC#E6SZH= wamxQ^NA&NO-5*+<|Imf~#}4S~hFKoH@;eW;I?lS{VkoqOM-QazKXLKD0Dw^pmjD0& diff --git a/pyansys/cylinder_vonmises.png b/pyansys/cylinder_vonmises.png deleted file mode 100644 index fdf0d324d8242535b0474c4bbbbd85c2896a51a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88778 zcmeFZS6Gu<*9DpYQZ0loieQl51StYi)BsBFpp+np2uN=NLZX6(F4B}Py%#~c1d*ml zlPWFrBE3mZ&dT2Ew{Oq${CDT%LP8|Tde@qBj4{WYNszXt$|-7AY6t{!>h>*!E(Agb z?vg?%$-$4B8pcx)C9ntt$0)qsgCNAPs--K_DmpcmMz7Vd6FZzFGXa1AhKrJbd{- zuSfd7`~MdYqrr*%xv~7Y1A+WsKiu%Ym;V1Z{@=a$&*}YtVdFWDzXVkNi2^ZhFPxv$ z2ix8ky1Ke>2g30#yT{KyzH;Ak`@!(x5B4h3t}~eOLL@f%g5P$}$zA`Mw#et<>S_;SFi~@$C7)&^utn%lVXR;LtM^P9I`RVhw!dNBJGBOt8e}ac@ zM#%kQVUzU~ET4ZPW=(D8(QgnfWFl!dRC3X}BVJ;A@Ssz6t^32Ex!R91o9z7JdYRQV zA*;}$`U5+=fr7I!ygJWZ=f2%O{I!zapKqjRXU8w`Xy}#C&QGPo-8HF>{5xgbFsjca z4Sy~Qt(~L&?grwBKB#+(cmK;#A5{SydEezxj6B0dk3lr?*#2LF0p6zt{(60mEyruZA>qMi%l!D>AEq~dKU5LMbUxuJeu9ar&Z$oYjZ!|e0f?Ng@1Cen4Pka zo#LOiR8$*|!JKB3VX$Jk-<6y+T;ZS=XYRun!>9Lx#j4z6$?$Hir%*?-+=!&X#A`L- zcfVFf^kVo8c-`i{ZSUexz2K71r%0*A3cB}dNa-ZWc;wvw@;X|;NLW=>HO=qvS5Jk* z$U>Bs{5!DQ*@uV2IXawhxQyG}$(^Oah|}!y>Iei9bu1xt=Y7D7(`>2;1lU}}B{*q~ z`{Iq}5aw)>6V!;Jt%IdvmGG`a>6@sd4T_ID116%oOa1xGW_~;U(Ohawa5!<5a=(VG zi0@o89WI-rldc@iqjli`tZ^|+Y8;dCm=*>CB$UURAGu8vkO;!uQ4jReV_ zR(6!StkV_#Xjv~u8TSQRhoO?EucM-JpX_h;mDy;`?vAfr`wJ7a z6q|D$Y7WEY@6KL%a5X$%C!Ks}4VSVx-{oXiZ2nQkpx8VqUcz44swMOti10TD#dVvi zKYO#a5G8c5{yYN#?)&3k*C#(OzHb)}v5kAT19m2R^7G5yspgR0o#Uu`_%C0+L@S{1 z7^otm{9z9~{;CVyAXhg~(qWjvdu8Wme@L}v5FMBLymfnQCb-@d%@lby&b+WS>!&0q za@-fci$5B=%x_$h`o(>5{G%**g21NV&%xpp+mn&EPUUL9BQf(D^ANZG%5X3hBBFjg zXzF$ftf8yVFjWx>66@ZKX$<$2*M+|vP5JitaJRSAsx=4fk^6{4WseckPl@8p1^w`j zI1%#$v3( z;T&;``3>?AnW{1G{UlphW;+t%I+J8oQ22eGV{rWCo-22WA!XuN&GmW^HJ{{_RSPZg zJM`p7)?ee|;_9h#nSR)trBUuUCUY0-FDHboPn_#aQgfT{3=2hq2UbR_d-d5Hz5-aV z1&Jm)m4aD_F*1KgJnj%CAf@yn62^0FUz$c72%l_rK7U*(G04Pm+mwaq67%TQO?@v6u3U zOW_6u#*xG7-H>U=pk(fG^vNRIcWBlPQ^?6=up`ETT5NY&zmGc(oVbipAk zw48Iw=#oEFmo9Rh{TewvXztrl?&^E6Z3{BQ@)Gm-)e6-Z{>W)Qy{ztPw|NX^0qmH# z$4`9|QuM99b5)C32@AmjMX5IesdYLNr58aCy01@sYI8gR2=CVJuJi2I7-G8D9RC{0 z^*=sQbKR;nJhR^K@CE#F;dxol(1Y#8o3&nR;pJ>H?rq}A{_I!hBcma* zp*RINtW>+~fd=tHKdv{@G)ZTJT~vaz&2^<{C2qZ0+Dn>eTqgMg*753Z#R7Hp^!TKu z-^zF{=bYE8d+Y+x640-h#>B*@=k7CYFu2(K`}WHOPL=ScM^7ug*2de;3+!*srn^kH z^nBbMR|6TBam{B%mB*}VZRgU|FfIWe^X<@hOo>Bg}mhSr_6%OKFtEP58-g8Mfjv7lpXborkXEh*E zctP%qTFQfeBV*P8n{k0tQ)^~H}OPdQ|3(i*JVaE!YdQ#0%31s`7S zXU{~H!TCy`Iwu)=;mP`SJ={W1`eKsT_{C0XKfw9op3BAn`2Uf2mc|T1cg5$D{pY<; z{FQJP7rD3sK~PxH6^+$;Wh4Ff0}YEzZv(Q*23IXG511thC=zv$)M@0WSi75o=xxDz zKv)rVB6U5Rv};p&(!}zQvPF7`I{(5Oq@Q(07z9)iMSv^ zh5z)Nq8I4H#lBoU{VL~sc}B&_wgR=jYaiq0zP+XY;#+J~e4)S4Bu>nx^E_wYtlid^ zD4xan6jT+9ScWai4(g93&f6r921pyZ=5EBL|Nhx}FL$3V{%JU(mi= z>Bu$;#Sa?*2l0M9%Ff zZv6sdQDSs|+-Nyh{&>R@_uQnQB8PkuLRKR}#Q2N?NgBbz~gM*#+FW z*XtQzQt24x?ErQ-@WZ1Yucrsk{mzawQ}5Xraf=4@n_noxaa@hpnkEr|H>O)vnr6Wx zDnyD2C2G-sl*DX%b{%o2Y`?t`Eq}7_s&~ldHF|w_)J^N#9!NnV^QhZGfY8eT;iDVH zt?_W8;px}IHcQtQhiz_+cti>c?~Pb~&>q{db3F9kI>i3^H8!xnR_DHO+^KfulG~q& ziiBfcw+q*XCj0%mGZIh!@-$l-j8hr0xtTQ1yyWYDwCAE{0yfsR0S*1CPxb{I193Im zBTiVQ;h94_6(FSL@O#sdyw6kr3j-zVgGf}*>R2tOZxek`|16Mn^pQhM&Qnc6#8Xkd zeLLvO7P8dxgvZ*r-22za8h2aE(4K)p6Wg&G4{`eeL2K4eFWLQXfy~Y%M$Xqb5iR0D z0SVU|&8J7aQ2oNYA235PH+G3(0SL%$q(TTN)LLAMn1Vtd>T-NI`3`- zE_A=USq{*l?U+f#Tpe(!t02Q;Q1aXbZ_m571k@TYfM7iS&4Nj9=Z+$McV$>d;&F>!gv*etR1Q3JMjV0{=NVP{a}C?5{PP7NFo% z;%R}rC@=C`9hE-#HR5D@w6~!Hi|3;sdpsTHzVcyEH&-_k@H&X^cWd>B;r07-=VSoq z++XI5xORi6W4XA3KG=6kgAfTOmKTX`c0Fk)JeG$dU1!>^BM>%S$(cC+!!YGA)<7r0 zzXBKXdS>Rn4*<+uAa=5TSvCjjlv*~!=ebm)Q-So=1LRQNjIHxu8UDaI4;U&VJJ}~V zPe0d^)u`IlI?uFPjChsePxhPvjkCaDAX-J>_{=*xAALN&zP-W&U^0N;uz&?d_-+a+ z74rJhzgiH&VvDQyLmUBuNg%=`P}La#IJCcf+@Y>X<_H2z5|lZ1@ICr=j#br z5ujD{U_H<&8uOu|L}`EfXl?jI2nG|(Bm`_oZyqV5wb2Su3T@93+#75S%>^4G(qDTO>F zf)FT%0pCR}eISMhQP+uDwE)qdaXaeaWMg0?ka(~SEkwCpKYzTa6*(;E z)>C3K9uV<^M=Lp${aq zbHmfrL_Ugt_a_1u;LZ#di|6F09)goYTuM7#R5e8n%Hk^Li%D|6OgQ~NhB>FvN=zg$QGhHgEAa0zW6fiT6)NHPRm(?c##2@=PTf z4}ayY0Z1hY1hE!S8Nu5?)`9H&N4bnt z78ghC!Z`rtPEu4&~@9@uiw z!Zx_nF#UxzoRCY=@2%Uv1CwiEHV&BuAR-Uc&cyN_$QDiD?hq>|qSPOAX=M|)>*Jl3 zxZtw@L@TTOldJtjX0nzHK*T;J${}JEvoccIn=I#>10>2nehHw$nH@Fo4$5HNm*7P6 zCI?h|q8^Z<%Pf|Fx5KLO5ej&g++VmV7b_Y6qpKivXkm?nd%stndhs9# zQ&pgx%ssrHf>LhwxhpE>$aqN@j^sP)RVTBbK?e!mK}1950b0lFl7khOL^AFGuSR{k zCG1MzxD()e*E*Z73xoD-@=xCQcb*TT=4gRGfP_M5C5d>&$fp|+D{Q7p#3i5^ z;{7{ke))uo*5D78INu#05Wv+-8IU7F09dF1u_~u#7A9U)$jpin@E3KzIe}#U>O-37 zM)d1)fK5eA)4YUOv8{FytTxaS^+A7#Lz|M|vGmPyjQ2>ukikmQ(VZFp-i+%gUq5JE zt@8stou0Mwd*n&AF3PU=h?3>2@#lnZE$9!WNXj2!wvArP9x_+R9ukC{l-a ziRny~KKw>S>O?OU=>0b>1!lFeS(-_9zG3XBqex<NlZ(Q^I@vrLE) z5ovK4&d?Pep2QdEW-c6$HhoN~FK2)n=EpAXe4>Q-8<#ye#RaTU0NEPE#Q>*I8agg6oi30O?QtRziR=pgi5GmAMSlXJbSZ_f zz1aJY^#Z(X6{O#e!F?VGBeCiL^e$w1UeK&28tn8-rwr}_fUM`8{uMD*7J&pLDmM@- zxN20C$g;bOvzsjb(E_ZR@vfRFr$qXai2j_5nwdFbebi_wNGAoLVg!*TKrP(^7&Z4+ zB%ElH63fzu0CtFGn2xS4oyMEXP$#B8+mfiH0E21eBQ9|6wa13_ubEUHFyrG)={_Q_ zfp_NMtz;DskFl~F5PGu6@doKBRc-_8iMp)>wzJ&zENj}OaKg5WyssRLy`V;{a zjsJj+rlw@rNVOZ!xZodR$O%LtWaEScnm%4h8%MCHHeoU5$w?oqCzGduc3&i^)-@{qCZ#fC9zyo z3Sr7DG^zX!BteLj!0A6%k~r9?03T;GIKHznW%(_f?I(@P%ZSEUd0Ti6oT8uy`n5RT zFB1OjeaTyRA9CNI|HVUMFYI^Cjo#AR1G*a7gMFwY`e0Dl=99>LZYU%_$Rh0g#5GHD zmUL3fG!l2Ce^y*cGRBBPfHSxFcMs7tx_fJ*xuz>Ta7(3Nj40vQM&u`3Q+;U!qX2jO zavDV_>u6RoS~FPj{^9j%lj|&vNP}}|M5N*y2&CcPmw<45rbgA<$F10b!xhlK6*^MZ zs?#T1k-ej&PIgwV;iL68nRux3q(~)ubS-1R#iOz0Q#}xfX zB;}!)@@W<&cT6j666;r6t*|11tLUf;OVt!d7p-HL#ayZ$gz4^`oBs^zm_J0l!Hj=- z8rB}g1OMi*vl_{%2?1nZdQh#!Mkh3n;=_W?|JrwfaU|^UO38`Ja76J58dt-xMx@DE(0u;?k;hiz|<|_I@=vUu%h}E%&p~ z3loT@DhKMPg=Z&71hf^u;cBH`Eg0=oE0f-uMAp|m#4i;Otx&9}Ls~GpdR8HqSX;I- z)q?tSN$DYwKZ#!z;(u`=VkFoft}JL0%;GhbQTBb1mH?yw#3I+=J$$W<#qcfksQcnB zBT9Gq0`2RC%3sn-q$RGiP3s*AR)JWCt?Se*bf5lnWUP&Zrl6b!t;5Ds^SAl#1Yvl0 z`uN}%YRA_Kb~+p(KzepOx_UiQV56K6f-yOC8)JCd24JO<#NGuUwp+u-i_r45H||CwOHX0Y-v zGvb#&UmA3SaixY*Uwv}ba~Fb5Lvpov%%4jL8#(b4%OHr_Il|W%uu94z?{;hTr}g&m`x(8SSmzMCvRfl|g2lPI9u*hzTa1Nijs_ zYu2-7B`=_JL)>YENrLCTDmtok!u^p~kr?^+VPeisHr%av^kqZx-$?9gBy6Ac?MdO2 zmRVhv4$0%OPEx4FX9&JMwR_EB;Yx(HsGATUH0!~R_kEfhwK7m;mq*ts{C7rLrAw!p znCo#%!3}}TOJRP)({Q80&bJ@NJz5NR83j~ zhmjzK6bco%UD4+>$TgeZE+(pUdf(OC9u?w3&)%ZPyY52xLODH10$>ei*uxjk2%JDO z3h~!~w%Gh$`~3cVN)A=(6T-DDi17#p(_g?>6DJgMjV51@0!#T97MbhT6}&n#hBLb> zZ}z9efBkTSV7;vBDzx}HPvcUr{xQ?P$os+MF@ifn6; zTblaYfUDPhC0WNiACdX%()HG0`FuF?X82f7G(1X&05X6FLOUKn+LH|t-Q~UzPPZh; zl1o(&q(J*(&oK`5tCl*zmShNn$G~(7SvL&wEve72cHR3QdYD=?5=NyR`~9<~XYOBQ z?Mf_Vx9R`%{ZdIqyS-A!i%Y5+8XEMg@4NV@8zvKZ9r{x+ZcIO(y-K-e+jd;Je8GYq zN^2+%0a$|_I?7Dd(l8Jqv+3Y( zn#k4baq$$uJC5|8OQ#5(W(iTI!IVR-7$DV&0%>FzrAm%#9{gefq9L~}LLr!&;*j44R(tC1(k*0mV+VTP7ME)^U7Vf4Fv`i$|SttiuO0tY^Rl5uc1a>p)x>@jX(dF7ttZwdns2Z>!wmTU()&lC`N8{#R^IK zG&nXR=ZEoK!j!Ttolz07zDz?QK0fjjG|E5`V z2x9MCbDdqYf>BXUiM;Ejyg<~)M`-BT3iA7%vL{N;OE-0=t8kv- z(SZ2xIX7xRqV{k#67D@~i!T8n|E9erqwRAi{Os%s%%>B1oy;%JoxX6geprhkjN{dd z=LzyB>8M^wyDgt40qL)IS25Iz)*S40GWSsgTiGM#H}c#N0BebkBit7%_4%A`jAtHT zldhwA|0ky0=>SFlDBhcIXJ&MxIPIJ%I?+tl7WJ~3<+NcK%cW7A9m}mrr_t*Tcf~Jf z8C$gVKm<)ZU3`wJCOa-ZmwshTk7g7RUj5)#%cqj!G@@LfpZib_otjTLJqR>+!#*?^ z@=xfPax@~TebU>EN}brjTtH%Ln|&_gYNWJ}VzzUNUP@=_=nL&t4hyLPQPu|j2T9bV z{NYi$?}KCMdEjO(Q>Y3D!~^;U@o|EYVR_Eg(bCWU1*N-!oHkms+SUI%*y zZVleTM_fQ4j@Xz7i5P2_uZ^8^h_hODz5)v+f4chfW6CW^|7nuM{Q2ApTK5QYXAI<) ztfuN0c#+Fy^bj8h-Kth;KAs9gW)VmeV!t|^Id0zF;j!_0-f6I?ikyg+ZH(XZ*!WKehR%23O4Iv6A@${6JI17Px|Y%Afwt*(&D% zLcQP5!lU~OsCPGRyjl5?9v9`*WJlYEd3t;(J=@jAi#z4?%M9}L-+>BEduy&^u|o<+Y(-2Z zkpCNj6Gx1A-(6)TY+e;ROlPuj>gEoL;LVITjC2gW@M`7z`L-0CsaAuQCe|Z->@S~_BIms!JlW_IbV?3 zK~0B7UE789udEz8;>{jV)hZt!?BoKgC2~V0{QNsmKEq%-VCB3vory$4(r4k_%ZH#T zNo=V+nYQ?MR}+zq$Y5{T9%RO??ay09W}}0izRCqXr2Im>VUU(IK2rZQ5=@^gK%1RtOE8;nOAX5P1=jS2-v#6E;MxKWS$YT zhJaDLJqem7nb=z+me!!X_bx`jNEZwo(D{cE-GC;-8HFQ7dT#Yp;J?wqbW~NTcUH#| z;w2qaLq+X+vre6aX~nAB6x*E^F+8%H*7rfOit=`toQ zve{NT!pX(zsz2DLCr#b<>ea&G{7#Q_l8p5@6Q;b?MQfK4EpbIxF+Bun z29=Lq82T!L-GigkdxgyVPTMmDN-PahxpZ6K7}+z5*@&kXfS%x%mUf} z{_P4pjo!8O^lxnB;G{8}J=JItm?Qz0M=CnZ_LgP{=Qt_r zFn%$6UgzwUl*s~0U$0p|i4~l>*O@G#!qz5^u6hFz?tyY|IH^;tZ^GqjxMXTcN`e`K zoJLvBO|5O;%(guZp$%B<&DH}wyIjYy8e$)lRr1jr*HNNZ58Uj>pDq50AISallY}+w z93v{B4~BLRT`z48p;s`h}T@%H~LYW#Os zAVIWv-EY7jK2d*ez{RBEsw`AFj3=EUW6^?V;j=1Kdxc{{U)`DDeHEVlbmYA_=mWxoW>H2o2IKU@65Ai}VrY={j3VVIn3n6yxJ?g+ zJHU7uamEI8^g)7vUh+F(vl?yUED_i$_pJ`81kba7MBxqY&mWfG3*rdxLmkLd4_lte$8lGaST z{3ymoi1wi%_2a7-b0M(FlvwIiLCOX0J&6`LH6)uEPs|m$9a_5X2iIoroqLJl;_WpbofrQgR6UMpFrxVgS*auc&=4-5^K-w z#jvlLb(5tBQtcY#trFpb+=z&y0_>Cjm|ZhD^u>OHCmBb=7|B!ubwe;SbJxxqc9QAW zO_<^<4loA^lQ#cgXP{01jR|;bbFcrnN84*I8UUDJY!S>Q-2kxp?Dr(;D6tmxG}$-E z;b{8a5;p2N+0UCb_Ns@pC5NOX?L|YZ(6#a>s14|7-E(wQiB~YBg!P1ZIy7Tl!S&Km zFlvZfQ8%_A+UIBVMQn;?2$a7A-6p$w^x^oYRgD$AeNOUGi3H`Z)vT z$b2w9hM%gZ{N8i#b_KI{PK?!J&n$YmKhVa#K#Phs+|}<^qecVH7HJ&UY#%;*LX5TH zAqh+CT!#QTyZpD9H8r2NklSysgsc&Adu`8r3vyEq4Rzv`F2c8RGNKs;l%LFN-lTq3 zjjZNGM-A=TolboD1m7XWe2l9we4%|9+61P);N*&6Kyd-ob=fPnEr#H@7bjn`hlh?; zxug$B_--%2U?4$20Azy(zFvyF-*3o(l&#~cB2^j>3=VQ!tuJB*iqB-Hp_+rg-M@O( zEUGjI)?i#NkB-ZMES)CtB){?MA!KRD@9-NR6rnSTT2GbfQ+US>QDVQ!r}v%~4+b%e zj!(g$i6+4$+`M4v!h+*bX0@YiXL(=|H_&L}_^`@ziZfYYmP^Og)wRI(b*w!KO!*vu z2{T(T7UNRg0=!>hXCxZT3lV1^!Q|X`FhvX+5yqvK(ID3m2+*U;0OOetKS~}H1^asK)WM*XGuCU>-8pb_G>7=(SveNq3jR#-uIi4yGXmd{W?n}Wkvz9 zVQ|&z6uFh5vX#vPL_mM)*_9OnN+l}I@?ACK0UEa;A!XDbn0GmPch!smZ$&X z$aJjwqBvI1jXi{M^jm!dqp*5`^S!BBFM8a^5j^V)D}0wi)7NO&yr#h3dz?dJ4<<*C zr$wA}o*hg+5Zi+Ke4}AApu0|V(JSpA;p&r=BQ9vD^j3VoAF4x~Z9)Xm!8TCD*}eVQ zIL=6@eGzp83bNF*wXsQh^iEaSdl%oD;><~ z7&V-pt>%|gR6fzRLQ2@@dF-MvT{>9)^x26!O_ZQ@U|T$FQq1Ui34LkDG;dPLRZSRs zPYG9k;MD!=Vm3($$%!U=T$##BXq8{ovVTs2LV@NSdZXM>NOU$r0l|MG9tP>ul5`xs zMQo7*=lv@69`N3Kj`p{vJx{?w2bYQ1w8{nUvwo&3BY#XqelwPUS0n!Qow5f#?{2;< zM~(zg(Jv6Eiz*$>KtHtN(OHdn@x^CH^6vrS!j*xU0QA1nUOVFx9wGN1);A!9cRqh8 zk2b+&#)(BOTCh#O&sp*Y6IpZHkgY@|2{f29kGpYr3suUs2GO)CKrb36s1J&E|2eSkNZ{zglK%Y-!5$K&Ejqe55njX|M39!|=EB8lP# z+1aHf$CYdu$yGRq*O|-lkb8^=S1#li@dOf*=U=WPKgv{; zr0DE|2`EN{fYA%R(Jq$j6FhymrK{B;4Rak2J_*^A(Ka*DoTM9evSDQq7L*|zc2(yo zMEbmhNYOW}`Zyvp*A?7ao)o*yF9(yn56B=v1Q0$wpDVmn7jU?ARN})+)|O|;_}Q>n zQiX~IN61v`%Ku+!X*xkv<9tV9GFcBa%F;|r;pZnsI4KQ_4UKlrxP3@zs|x`}go}9^ z^hg=PAjB_R?kiQvc*O6r+E2F53VZb$PM#uP7>=M-V7KK)tDm^+NVRaEJm7->x>IVr z{mhHiSTvIr+8`G`o}xe~XT<-#_Oq&c#m1j`d=J0dza)JIF7`_dh4 zNJ3p_Xv26kb8r^5OGDWtuawOoAN3)zS6)7T!KsoqHDXNLEgZm!hFJuYT*jBQErRhi zTnSVF|HsB_+iOJq5G(2vYI#DC@d)5Gt?4s)qhMucmFnrhWOcQ`_>*6dk6EG3s8Yji zo}UFjWtB*)3J=tXw!Tb;{6}>N-%$kn{BW9rPA){yH-24fWXW{@Ii2_#ZaNlS@WgwA z7j-;qx=8oOqu}^RB=6kZUp|?RW*7Zq1$AgpV=<3|LODv}NkWzMDDQt&G=7I~F(Y%o zdF*itY9Nm8-HPUKUcjNoLJqlx$=YH9+Wfb&Hc}g+rJ}iuZhB1hHogZ)7a` zR1#_Q(4`N*qN8A`>5DVMBq;o%NFPouL6p^EX<%p@qnp|Eslwr!{wF7%Mh^|NX?2rQ z`1#3-7taRG$QnU4@&nN+t>DtQ{#-S71=1TI)(rV9P7=C1R1s#Jt2_0$ohjgu^iL^Z zMT1IzV`R(R8N@11%fGgZO9B_$j1_&>aJ%7Lm$f^()DtZs*KoTQOdpQPcSlt1%Bm=n zf{BALa$d8$?)WXOCq~Bxewy5h<8_velb=Tox|cBc%X(1b0fs3aEoGxaD^t?uUuaE* z0H_zqtHu;eq8F&p8~#O|TTYWA&2^%EINk*erl{%$CI{#5*0nJRBeYPGq+gA(a_`K9 zr6ye9@S-#R5d2bj^>Z*erF}oHm>BJ!o{t(V`!XKq?S4_?2SQ44YJPi$FZj+J4+T3~ zPzQ366&x#_8*dkvp% zd?iSQ1CJ;Xn4ZO!3g)>$lSMVZxnh$xiIzHlnYyPWDcgndT|95?8lcQ=~6)_%={{QDgVO?un; zO?3td;ts5grV7V1P67%B*iiT@7=?_(9a5{jdL+%k6 z9;zuC=Dd2dg+q;-mA8M4d&lG{wxNqs{m~i8PBx=k=1#n z?OL;T2hA+?(9R@!DGkjB!A=36f67lcRlj4gxMf1}{%F5>X{gpnWE9uUta?!qZV4Q% zrQ?m4L-$fO*^b_kLdgF~7LKEiTcU*Nh|;vZpZQ9-GYSZ$8kfXKfnxo9S=*B=8sxSz zO|q4M5&cq=*4<@)v7VaH7fH1v(aNwSM z$d1Dgx^HB>=7~MwY@eEZ>vV|~nBQHqwFbd)i8KiBUMyNr>w*h`lp;+4Z%&4~1y3@_ z=T5eoRi#Az3719%{-Z(=q|8MhCG(2v3FAl?1p$EA4^Ok4g4z!&vVeS%U$4Y17qiVg z-gjL!=IG|fi`1&Co0qkivrtGtukPBAL<{n1dM;1gy@BgsSce~s6~zc8u(zO$D< zFDtn5lI|3(5P6&HJh%UPY8fe`%@wpkA-^Nm=fg1iDtm(@`uD*o?g5Rm->3g!q6Y7C z(XswG_Hf|Rfb>87!O?pA3c57sY-%3+#Lj3{h$8J%C!V>m)|O~U?L#!HMAMg_{RbC! zg2bSzF?3-Bd^;)g>=im?el!D~N6S^E$0>n4m2dl_Bh@WLk2s{*#I$N#=_lmT4@=Md zf?fe5rfI^_7VuX8#4e@L9%|Q2-~DbNw(n#|JXNHqQ?mIRY`7>#I%Pc}xpr=;-G_vq zvw^=QsWYsW@-gFPo|RcygJW$&yhJlPM!Row`;gK+GEs4=ZQwAn=}C;ef+&j+BlEh(aI=OwP~S=^KK6x>>i$DnA`#sv3-fifi0%?IsKB*@F_1uLnwsf!5ffgpO|Pc@%O z^l&RKez*LtKyX$OEfm-uYxx=M-;&ly7!m~~h(UsyMUIG7_FqI+fC#a-mR{N_+32-lAaL&|u5;hK`hAJ9zxJ(&Q7olZ+!(TPpc$dDCitLKh5qr9^bPnpI33Yg6#f}GMIw@wL%5Y zk}*&8Jxcs7uOIKH%oC(;?)?!Pw0Ip+r#PGzqAx8_Th(p;Mcgz%`Feaj#ofh0jWf>l zN%ttd%}8%v7%UVZ$8WqGKI)c$x>xRPz26iLB+PY~o((VNocc)ZSGg9kaSbUiy4Zcu z!x~lj1SJ*KAh@?vNv8fa*1&YSDX2WeWC!abtB3@Y=$CZ^P5ZxH!5Vza7jNv4qOsnd zjVo=$IR&EZ570^4zxeS<2Sqjfo;26rvRY`+P|A)XC9vjlF7NLL`MF>pzlAv7sC(iq z>fD<(H06&X6be(nY14;%`Sjeh{W0bDIcv3sjA-#m)Mmy?9x608iSZdqNHi;-%@kfLoe|&rYb&N2ms}MP8xD2dBKtDO*9t`43?QJ zV@-=U4-Iez-O7!rsr^a^PA~$y_?@|ny(*gFD3aoLzc*uDirU*M2g`84Klg3YUoV2Q zjgkcJ)^xqj@L;xd^!CKzTK|cq(AMu{9B^b0L?#k?iWPGmOIUs4m+e3jWS*XHDNk4lPL=Nt-2C#-f9;765C zDph|n)>)JWb-O**u4ns)P2%0k2a#5sm7|T1!k{MJQCVs;$Mt*9URJ~x_j(=gl$ucH zsZ%U%L@2lxMnibQvf?=d3292J$^q>3iYn?OI|fC9 zy7-Xt4}wX$CD=`QoRajVL?8DhLcq-e)ZDdH%dn}tWQ#-dZQUN`;*D|78aCACk! z{KMWC;Ip}*^2ho~IH#mytCMY*XI%<|G+Sr#wWv{*LS$nBmHey?S_=e5Bg}K0|8&um zIEHGXat|59A39JtT|_dv7{8%@g4fhoeD%j?wsgv=iw7~-E4Iv9U!%cCk#lXjY$+W} z!9Xw%sGWVvI9dJ9_5!!Kr_bjht(>3!;i6wcY2TV7B|t7cag`3)eGL z0tl;P#yfuz&T!HR7@zT}4kqs;A9PiSEYE*fc$^?vx=0$TluicX$>qmDvA5e6(=&6W z`f%w9rc)Nzz$fxT4|j|%1h<_TAd`bPke;WoM~yd`_wT)d=PKe>wJmwi3J3d*t@>b9nm(}FWY>{h{xK6Shotr0(KYT?cqps;eRikN1y_P5Hne)SRAom6!ZHaf> z6Xom+6)eimq`n`yNWisFVyY7vfYRa;98EDO)_gLny75ve3(Sopz{GtMyTxy*!_h-@ zK=Rk6?4FM}F$d44M*0@(cRAQ>5$mfmbD4XPbS zi2P@~6`b;0AmmQ+wW%M!)+!0j{f656gap<~|J+JaXe49zzk!U(#1`QIsySfF`s21$@F z^C?>aAy4|R@g1S|J{`#$>ydnKCj+5-UeJU)Io(i5S-|kBliVACo!>K?zf?GM#vC8B zo^c%1-+{rbyM#|`CU)Z%uWQZ72KgO|0)eVS!Err*wZPSS%6?F}gS?+TKI77n4*Bo! zpW-{pd?Q88FW@!C75!y<5nr)cwiFdf=DA4f|CulriXJFTS9Rz-KX3Uo2m`5_W9^Yf z)qi|bL7yCS87ho5J%6;J^637H@LS=`E&Ay9*3BJ+{g?JZZVG#2beDZSm0KeYjW;4j z0}^RS#NeH0Mek5Fth$2!ijBGeS%L#T2YxTCjdL>#+Ket6P8*4Al98)DF(eXvt%ae0;4GJ$_s7cQ1b(sWM5gkHiW@Rw!vaxg9TytxuYG>%C5+oyCmuPFxr*o>T zzhwO#&y;F=SVH}=q5tlvm7&;LJy7J^QEj{=XI)b1(rPTn^F^JP3QI>Q^O{OrS|JAF zipDUA)F=n}w}e)Qz^a5>yOtzFA90?8#Ym*Pp!qkm4$Ax&YWn<&`l{_;#Sac)kXX5ds?Jg?Dqp1WTd}F+1gZR+Ao9eYm!}~oOE6L__NeJ6byh}zh=0T6#BHnp*i(OS#|oPgsK>grr558Wd+YUslC-?`GwFktX0SW9W5s zB}oSv9-naWX6@Sa{77ADRstE6H+7-E$5Uz4FS^WajktRZ1g zl%ugoL%Srks;%BHk($AxDC_oluB%+uF!n(`t)%dH5_8Fu>u!UV%}w@W^<%!t*ba6^ z!|c=e)ISA*VIi8=bG^7#ll-aXQ_x9O znvO%dc9F>Ia4SY}Pt6P>ceakk$gp-#Ug?9+MmH-B6!r?F+4wPy@j?_B_%At@dpQ+6 zWm5j6AQA|P63eCnI+Rxjd@|&r&W5_I=a52T3Zs7k{?Af6iJZqXNtk$kLrFd9>j%Wg zF&2Al=q2sUGsdlV(@Bo9D4Z{hDR(>4d@8v?SP2JZV+u;xkw1{Yj9g&c?PdH9ybg_o z;3%a3nG~iKNZ`VlyKOQn0jYE zJX++rU_9C?z(~}90TT9ABBktW&WCU%7VtGpm44(RWczox;Hs)jBQu~&s4^aVbUaT6 z=Cqp1md71xr`FyO)+|nz#7hK;fDd&|k(K^Glzn$R)!!fgy%$-Py%SM{3dM)4OBofB z%o5isN?d!!y_G#Hm9o1+5x27Em06Ne8QGhNdvC_Q-1R%RKHtwDzdwGD$M63hdf)dr z=XIXbIE4^*@ZYs88fVD7jZ<|Mm$;G5KTlAbUP3;egNX$>%l}?WX2BWj$L*h;zR%Oh ziNazglSI8hbPCV(QwRH3FugZkyq0E%^)LBhm0Fr!!mLX>J-2S5UeL|mT1WWb+N=6i zOf*bzbFFaEq@Qs?_gvW;-h|nIxHoGXu|0xZE#8Pd+72&ua?Cz~Fb4{Uccta6EB`xW zaG(_CC!$dqC(gK-<-QT7M{(0Xor8IC-Oc(qtPaFgY%KU@hsq{~9_a|7DKT8~?97mZ zQCo4Iu~A`A26~f=meFPBctkvkYN^xr#O~zoPkGW?6nxexr12K;a=T8K*o+Ty_z6&4 zOu*;{^arHtXF@xEE}aOt@pQXEIT&_M@QprnHiD!TN1^aCeu4Ww)BQwH;o76qr|8rF zzJj&2F*uu#W0BkIqc-vP&ZlR`;D!YuV&|PN9wI3IUdwIMv?z9V)?sbVN{~()s}@Sv z+c9j)JoufJ!)=g}>1Ei(1NU_xN!DsOPjHbV_U=+VN?f8kH~Li0@HgHL#-uEe8GiD02g? z27B`w>cV}eW~XLC&iqDSFm?qGI5NezYolO`&+f^?(hXFHSkCoXLu4)&!D_{147yf& z6)f)!Y_E+6xZho;%y<0y_{hjiFF?-k3GvEg=K7`)prVdl22iLV^4|W|r-=du|AVlwsz)?p!8vcvN(=08JVSf6ZX+S2y7fd(&$8zJ|HSf_}ccYBd)N2YMB7;d92+{uEWfhO6n-X|w)ka5PI z_P>3V%7H37-ppLBe6H$h-a5nmdOD*@oUeZhWe^iD(yq!zE|r{bMSYbxZ_e`(H1 zP$J}*MQ^W(eaS483IkGCU;a|3(M)x>&9$0w(uGj_*~y>cOz?(IzOOCJx|!Z5)%g@% zcp)JHCJ&<*vD|SYut`s+$kNu z_}`LPYab2xvCh8X%gYUSs`pni)w_pPj3uKjzxVY9s`NH6qBj1yR}wL{COR#Dq(zai zW)=<33-YHt!l!QZ_p&}1V~MR=LAC9}5XX=crC+tZ_lfpdqqTwzyS^5VS4rn*4D-61 z>bnW*KR@Z(0#LVwzMQGID8~V0WLm(yGgw)8j;H9Gl9zhKn)+Ux4aYcDK%~JCv!Brp9|&o-9X2%`Bv^N34`K5 z*y`4=%dkMU<_V%?NPK#l-t5&g<4K(TB{rIJVDSWKVNGF9j%I3zqW(mE^3!88SLN>6 zJ;WQm8uL!FFG^N{21Zv&$+p;Y^p{N|QV(Ee$bPx~IHO}8=CdZL{Cx6Hl`?2jd*x+Y zhJp45_1B8$WB{gSGgF(xxpCPo8bp*if+?Y!ZDd<4Y#w)gspA_<%uTPDo-p4}A0K68`Xtb)S^`Ami^e6TxFO{NqtyQf)|m zR8#n@GtqTjG1ulM#2^`(^KPL#A@;b#c%JfJ*_H&r5Vp8=@gJiGxQq0KZ+dFZ(1lL{ zm6|CPk6UY_r6Atz^87v6OrHS&!^eim=Ji3-_P$b~ctQAzRuMRDj;F8Ede9O<+vZI>7(0liKfuNtRF(y~BoDfy;AcWEgyrkrI zMz_+6f%(0b^0ap&g0Qd?Um%0myt1ZL{gn*rQu4nYs9CN1Vq?TIGEs1r-A^U5ey47H zv2JTM*?VI2Hf-ce-Odfa-#EtWyn(gS3_UkR^m^4i5r8|fMoG2B9x74l#?a+t(r+j0 zSJLMHAQy{vIwv5l^%+%V`cR;K4zNN@HYV?v`Ujpgp`P8Fo-S6Hd#e0xfQ*mOC?*BG zB9G2c$qAL!mG1-{>pbcLOt>MVv{RX|SkxOs&e^f*1W8Es?F3;;041EP0zBf%@q>&$ zi@fG#M#He8sW7#R0b~6Wo`WtTpcaID6vNBz1z=1L^5rderOZ{!-Sw-oK61|{^5mly z(J*Jg`#yvQ2eD9xSTA`WIocI^WvwQc{W$N@7zVqPCNiVAKB`|3GI0*goUg{~R>Gk! zWpoEznv)e&{2xI{9IYsC2}#nP4l3{UDz~>(qi)%~_1?TE$f`C3{g`DJctA^VsY=cG z=B(3$$B%4u#u5aIg6GZ~Qdb+rIxjJ1JB%s>8Cs=`&Yg={vv6^UyD#q_m$jMpChsBr4Jsmp8T!vab%*G!?!+TMe8!zBC}l=JH47Z_}oh!x?X2;ppl^$ zk}YL>7;XL%tLexsNwKaWWr z9*ndx)X&pf6oh%@Rt4n}cLn5pE%=~A)jks#2hLr`55tnBr-tpNAH**=k$%bYHNKgQ z6H}0uh04HY1J>(m9s9kBjla11Yu{<^Y}p~l_OFy@H|Uo3ZYcqgmY{+IOqsf-_Te8%@+%>rS@;Onb<>ngq;$YpQ${cfhVJ)AMTW1N*kv zqg3{PKXj@9KoT9`rzH9)BoSBV9?=NDbvdwxLv6V3n%g&Zi(V3g25%(vIB>=u-@N~l zRkVZAfdAbe9r;X7AH>^uWS@$o2=_&?;WDhzohf3p-`u1-aOJ*NqkQ@#+N;Y(YUPN& zDtyy*ZjC`Gfs$$M#wF}tiIhrHg|(_2%QNJ=je!xd(K3na5}0 zHyRZa(eWeKGx+l0c}Kl$}s8YoH@iEI_ zRa5-UQa*imB&%o)N+-H`YLJmC+3`UeZ!eQDy z3OM;uS%|_ET(pS@tmY~&aJ6g_O9_84Wv1hF@9r;ZW0$HkAj}@NB z$6xNtuA&;8Jm4$A)3T7_%*LJQ(h#B)!uHmYmNCOLgJ#;6@f$J3)$fu2-SmBA-mdP|Dl!^{ zFde`o(<#c4x7@Q5A^!K@+Ldo>8$v~mboky;cZ@(H(Eu#!AYd{IFU%79;2>;JRx9+u zQLiCx3S3k{ft*(K?WxA!^S7@a2MX)~iH{{UFCC4wEco6!b#Z#^IqWhy?ckS4>@2(L zp73o!_LKbj+gr;Y9>>50s&>I~Z+5<{W;2lz2AHPuVmH`$aF*vY-K+*K;^_d*s#{0Q z(1ut#A|S;Rh!s7r-UEJx5f?_u>EPj4miGr%2I*&LYomcHkP*wuSIgr~SrM5ckLTT2 zJ0b;lDt@}{{7%S?q-g`VGODnYpx_ja?cCMa7PRZL$rd6Ien7XQNWs;Xtm9V?+eK7`AV2Mb?JsVz{FFY5H<``y0o4Ebii z0&+pvdN#Qpna9i6C$3NZcMAI$+RE5j3VRv#B=N)jFH)~fQY%I10OBs6$UNgLq)6nz zYvhvFkBcKB2kYME9}`@z^mcw$%E-}9idC@M43Rj;Baj~%F`()tOgi$BW(*~(vXnPH z9Ux6@Tv8;*sSfQ{I8_uqd+UFMw0VulKY!#xJQM`d=#9fog^hur7v+@xNVKp>+^Fsr z-m>kkDOCTdeA*T2Sd5MWxc7jGyp+hOM7_DH{%&GQ$PQe!@4>eJ+_AO&(Kx%@h*Y4T zHv8cte>j^pHu>;_hwMY|h&mq0uPpMGZSM`~<+#~gK<6#J-9A6VSj-CVTUdBrCWoE~ z&7uDtd;Q0D%!jL^)Q4DnB~}+e+6FjDm;(-6yEpwN#2@ImNkftj4Z(rvWY~kgg7D6K z?}cvF(f2XhsmfO#G0!~1Tik-qfz#;SpxT_`m+|S}itAp(Pd|UY!6^Kgb|5JLM7>rQ z>zejvyY9X?yCM@6dx2hpVh%^Bjm70e9JK}ow_NNIc|vCBDE!1Qkhhe+Lu#e}ILy%8 z=HxWdnP1*;dM%lk{;Oh9$Zb`p^W%WvrQ@$Y#lxPTkxuXk#SyRh$diA6-t8b-cexa^ z2L9w1q650upA@th&By7xlruYDkXE}^5qc#j&0`%^aRal_fZzPRON;Je2fyu~g6p5# zNdVctL1{|1%c{bi)$qbGZeaZ#p0}z58RsT0!j}Ks06EyI}7dK&v0M_3cIo1Gwg5AY!t> zsS5$0U<1SRuSwxR#`&Dp8d6*w?3_Gl!c z=5Qbe)CL=6$%Qh6NW-Sj{7pXWb(mrNs_5OJJ(ADm&8y4{GY0G;H6Q<7o|5tqb~3YN zBro2Zn(V;YyvZNZls2I|o+@uPT?8~7J3|2qRQZduslzoG3885X{uZrjFvgyY)FM@V z#cztgL8NR!e)-lHGmkTEx>IAOsx8u%fYMTS?Dj6;ZN26l(%|&`BxWNI6*_LWQ#Swc zkk8Q$+|!v?S0E3rTL=LB+GrniFw4!3fDI)szb$ikGMi^pcERvJ_U}O|2Ei33Im4Jw zpOxJp%=E_4sLzxWyOa5g%X&N1vh}g>SWk#IW!)+I%x0 zEj0cp+K`)(eY#^GK>SlJk3E`qN3ub#RNrn-lhVM>m)bJC_d-F$8F6ha=A*KWqTH`M zo7eo${VkIifcK6gk^LIkMWoL$2TfZkH1pG5a9<&Bqp1}#M(ua*lb28oZ>KHnHL+HBO5Zoku@g70 ze)v~M_%e==ac1%&8AO?zQo40HBWj|=&P!Wy{Oaub%<%xcK4c7PMylwFvl`Uhx}`lq z=g_@LAf61v>#koJk2_KyWCq!(GU7I7P^5U)CVi?P)N2(6EKK0Otmv+zBwEEV9MA~U zcwF60d9>EcS1J>Hq$Nq z?JUc83Esm?kIziYjW&rwgU>`x>-(wPdfY%r%NVh9%m~25NeSP7(*d1(vWl|rvMrIO#Ml=5YzVI1gA!Gd82I~)>{!+hzw=Xnz)@pozue7Pa6s?^> zz*TRbK$vYJTyL~+5c!2=|}{UP&NFd_XRfR zBc{gf@P_$EAB7Ilp|zp<%svkEUSOSi5Wvw^C!XowA=w)ScVp>JmBq#@w?Wm`ZKQ3set2G71}QNZheSe<8#EeXm2!b&pD_*S4+&_ z+{u@KmgWlcVl92>ktdXwAGhBo&X4`aC{SXEg*i7Bjjc2ft9F*Lrrc=x`0(Asy)JKl zvDZBnq+^>)_HSvd^E#_T`6W4h88nQ`s9Ml`bTTW4tdRbeUMOcFazab%T-9;skr{dk zskf}ic&^j+D;DQJMf$#@yY>DIqVBzDt;^ZBM_J*PP&Tew3&M57q9%p&&mSpl^;|jW zz3Rb9(pX|hEC!e#L+JU{d!*IzO1A^raS!wEZwk_E4`KNy9`VVx7cX{6)%3O1P#&z^ z;QFX`Pd;z{Mbe!d)in6Qi|nE&qX(ux94j)`m+5FG)`lSc2;EBSr|CeI;6w7w+-PCJ z5Z7wzhO$*IL#acM2d${y>{n2CGd6+@xvj;=wB^rP%rw*hW4sT#pqq(KYhxl6 zD@Zee2eVSG{~J|XndEz^;l25~rFQv+LuYH}G?g)k?ayj3w{C+*!{&5Ch9zW399l1@ zZ|^##iL;Oz(Dcc6^25C~gMd4CnT*?dn)~sTF;vtF8p!I|FAnh@jgJMVnr_!SPHecT zC!sa2Xh5V$(5L~fCk=y=(Wc5m@~cBf^t`Gr9WsvC_U&^80=Wm_CkC(4;J=MUErh}t zhV4wsej0t{mqY;F^l^N041sj+0@ozVOUShc`G1~3GzaR*1G|LXhq4{Tb06-9<(E;c zBTuHZT!rha>mA%-Sm=ECn%j1|Yw8y4RcCAtW2y%08M?DD;t|kLG$DM~V1vH4s};o0 zZdL3*g^y7cYFVq=QwHs?K3-s0?zM-G{ZTtgK|mXwPdPkLwtM-%bQD z63)e=Rugf1DRE?;_NAQ-#3tULltv-m_l5q=y!I2K-)9HT0SPvod%yI-tMNF)B0l?X z`}u{onOpPxbC2;Ffq9)wetknf3(nQ-}qP!rL-b(xRcA^`4gBr>+A|iIew+082lLEyt1sKX3(dhqu z5bazj?YqdXe1q&35z+-cf=401v<4i&-vfFw@mcHZ%DOMo1pjzHxVCxfO=p=oO zwU%>Lw~}qK`{|L3db18mLT;5_85`A6PVLQAx_^!igpn17+yGLL>fX)ad^#W#kxxWq za!Pl=|GU;`4iGK1b%urrz5Bc~;GlMf>Sb}5IcCaJ>tiKL!-aVl3F!Na>xwG3MMDHb z&CfXIe)fcva!woll1P(^v{p+NYm4Nh7-m8o8xqq$rQbI)7?Gq*2(_$7jF#t!YJvmL zHEG}80|(Eu^z%^-Y?rX$*hAgX`Tk@h|NE;$2X722GM>MVN_hxUcwPb}b@ehJ{N2AO ziWid8lKnnXJYof&R!d64{SDvHrF29k)4!7MJ}#=uIxsv6P$a#PWIMZHa%()bwbT8^QN{WJa|9Nq&rmvKY244~%b& zOS^1EnW23q+CRNKPvoNmba32|v{sXJ_Z0Zw-yaMlLAA@9Y|XOa@FDlN>w9>SPnDOf zOKmq}-duYgdKM%$`n5@F*V^jxOho<2J)Whh8PvT{b^0ar?XMpRQo6?NRt2+DqU(rP zyx^X<2polRKp-s{%Na707e8_gDCp7jc8?D4PX8)Iem}bO7}~JolKQZf@wzxW>1$oi zYO;+GM__$t%UulU1gH(Rgg4Ad(|lr}V!(*3F*$uVujBJObs_y4!sNf0f4SR4u47cw z!c$K{eS0HPInL?89Y)he5VpSiHiWefJN9g}s^hNXp%#_Y&rd3pVfOD27p#rd6=Uu> zaY1hM^)An!FFyu(mfeGS!bs>6gu1sU6x!r3b)|B?K=x1o{=>$7hT6p^2sPwu;r<)g zPB_NgeaE_yJ)*>)wJ4O2cIQ#9z@%MH126MK58SRFMmw&dRb*kYJZV1i%h!$IAMGa| zqYducXBxEXE^U;qmz^3a)4Tgky*|iovr}T%i~r{nE@|APAA13y25MsY)duxRrC{Wb z`dn4O-l|x#w0S!N(d+r+U54`ZD&m=S-bbaA?;N7Pq zFkyblWF*d;OS6!5@4;i{;9F+zULq+~ukFg4#TUUu$E3o~9cZL$rI|iMjl6~cX_EPk zp6O<``t<34hF~20+f#4E3c@zN52(1<^$sum{@igfhhzZA;}tr_K*Mw?`ZzOGau zse6>|eF!qxoSp|y%RQQNVb!7BwkEG8Zb_e+`g{WVl~?riqpq@7h)Zq2>KuqaAueye z*<6Sisa@mJH~jwMzGt?cBlcY0x2C`^5cp#2K8<+pI~)5*)MLaFmP^H{p+#`|xx6>u zPF@$KZSate?@n|sc6Tf<4~$fTT&z491<3g;CzFcOb~j^kuZIUv&k2E zD5>0rKIh2OQtE8+y&OUsm)!$$_uu-Wuraj8OztmPNd^ei7fF=xM6P=Ljx#W~4b%qS z+2mQ_A*8K5bdkzn#9jGRQazEZtTsufMe?W2Sg_Ex=Z~7z3p2EzEa- z7tXwySp+E!^E;6BZzdMx(%oO9*TwIuuC*i)c-lBZ*H8QXCeP_uyGX?~A#nS(k~m0pR<(Wy>ZPqb33bJ1dEUqL?_v#0kUGOEUXf?DzKn%muSMcjVTSiWjpT zmk3$m&e?W2y#i1|<5BtnoVzuu5*gAM#3K#tvd*26)8kV=Q!e}!%@&(y*-?+rBA9sP zA4{FIHBh7y!M%K9*Iqm}*#wsBCJq$XPt3GAWT-SzsH{n1ESOeGoi`PK0SWo4y#h5a z@~P4)3?y)og}!xGgL$2Ot}DP|jHSp<5%Mt14g!4eY5Ch@z~joGFDV~64kSpE0x!<3pf3AAVtUM9#!v!W<%oH=_!&Tc{`ciP zBSgR4-XOFcu{F3XKk3xe+DFW|$=X?YUnK^Y$|s%1&a;?$PvPS&+?1Ct(a@Sa=GgUx z^=+0&+N--xP4=UGDFIE<`S*0+97QwXVSHoTYd4d{)zgiFw1CxsM40D~M+4(^CDC_+FsBs^>&$C~;>fKC8$0YW= zb2eo@9YcKXvH6uZ+YGH@yE%~>K@#4FZESU9^AH81)B{r?QUxKC33}LxYP10c+E~OY zx`H!WA1rwy3dHz2n}bnvTaEr5Ldn9%xlT}N&n^lnC8l4@%Ese0xbmGpc(&bTp*y+x zzpstuWgPhLE1LcL6`@*Li7%==`pADCdzsXOqcawUo2}d!mudZh>Bqtkmaj32bNSiZ z;v!7Xa*VO|3wfmJw0_+yxzrfckXNAMPig`Jsae>!BELSHouKHz2S*_outRK;p2f-h zzTdciZrC`by#qwI$K8rrzV!Ohvr0d=O^@;LoctFIHtv(7HEC9NVafXs5UPLoi2@*Q zfO{+f^;B2lzd3@yJokcEv}(9LZs?#cRb)G0CH*yP@D@v>^)e}fKAVJ@dDqp`=WNF9 zdlEW(lk40J{I)3RI2xoW!d=J8a7e@e;rHipn~~S$H^;^Mm7VsnC{U-O#`G?H5NFF* zN)BqT^vM%s1S}FRRf}z&?BrCSf_UFNUq<&6G4GKU@6wG`j>uv^kP+3}6hXr^|CKX; z^JnxK{iYqF_sL$qO!!yH)BESk52_mMZcms!izKaoP}+5%xQjy{M$#a~-ee#REHE)q z)^tX1Om4hCh&JPlCxKYffo~QSmDu$y_Q1W+C!D-Dxb$&R7?)r6ku%8Qr$Ca=evp?P z*;FW;=5o7hDOfirqRQvEmL4V9B$cLT`YZ?{t|5FsiuQz3Z*i%_noq+Xm+QqDmJ>Bs z3y_d$-H2LSb<|)9YUqvY8Ea~Br}d7<9v9A;|1AL^5HqIHGT!tdvg<4lQNMNSL`uu+ zD0Eglk0P}znNL1VZ{?!BL=sHA06J^=12v*zY@xew?B%!5tZyeld(i;#tLgYw)28bl z*03BO9df=X2)H9{hOc2DzgWXWT^Qb@D!ZFj2h;aBAK$Y)$jhNsbY8$1M}4HHM7JqT zjJsN6uFT(Rv5a~s!=yB}w-)-4Qgr0uBSvc3r`s;tFj7GBf|oF`l>MdPX1GxD@21Ke zHd)pskSbOZZiZM~@8ejs-M`;ilu;vMhVj*O_9Y6%P+B3HbBgL+Q`6fy91>Zr((w+E zTXdROiddUBB`5~@>@~!^56G@GL7$Ho4z7j$;AN?sLz*9Q==e~a7n{z-7nn>9UwGmQ zSd`*CGGoJHU9=ggtL$KlWCvbW*ABzB^@#yokdG3>_WgCYz!mH7hd(~%{O=<>5QDQE z8H;?D(UmTjU{USZ(8+amF336-t;Y5%8mA@+HY}F~{A#b5wr%$2YB6G9YVCBJIcMnN zbNd;r>@6BsSj`%ABK6Na4Ct5`@@jR=6R!TkB+ammi|bc@jnUSZ6OmYOlgAQcfvnV9 z?QXd*AjLFOwkjl@?X64Y4t6Wj*L+X1S#KnXh@>VaDqhhGaVy(VeiRrM+>=!PfU8K3;)8fx@W1bNjnKq*E$=i?=^ppY3R)0HIB6O zvW9M7@guYgOe#^>Q@99jFrDpZo}omekb>5qVf@d*rE(W&Ol{^C_=Gq<-$Ph$(D^=# z0>UP7J^HhVtKR#SxIXy&vavH_KVi>XP96?RT^Z~^50=&i8^E!TkA48DUn8$z%1VsW z{wi92_e#IPj{P}QLs-Bzt1mq>RhU#k$cRKXe{x-XwfI8_Z?$y=i~+IwAg?)xPsJzO zGj#qTSlZwU&>^o2Gw{GyHQn@|*I|1P92Iv8{Sax2dus(vwuCr6D5a;%2TZw6eKF*g z>AemJ2aMa$vB(*$6}$9aC9ZBz2!o0A^BZDYhO)$d(z~j?g8m08?^!4oZsvI*g)Ec(EvizV#p?J@Y zJ1FW8m(MzXed+vD(402pijKlS;^RkaJk$c@(oCzU(ri#{opCmmaMrbrmhtycVPIQ6 zp9=~CBq2b+Um2-wmpX7|r!U80FBlVZ_#b2++btx={cj_ib|8nW%%7kpU|OecHu{ip zC4KgA{Ui0)2U^MLLI*MJ{SP)DaNUS@@HdNvA?j|y`K-1aso(f`3`-D z%)tnK2@Cv#U!O&p!j(JGD;^(^BQ$UZx}T=!{||3=^U5TGv?ajj7*Qswf{NOm-vJ>n zu12Ay^o8!{+>oayj_;vTun`a8KYSc%KqEHrP6iLlgNZ)bgWr%RZu8BiyA21_eADE_UV+d8F}{pW^+ zn2N7-v1P%t_b1T38{uKW@L{VjVN^d=ePdYYmpKc=EOnuL6CPFHS;K?3qEP+Ep*CRC zbTbZ}p}P!1Yw6*}Q&AGX>h8_&fQ~9AJLUDtF)QpJSddxI`|D!f6DwsO^Qzz=w2+x5 zx$E%>Hp6qmiJ7<#I>wZkwRFs0Ohd!}D-e;h&X{+-0j~$r)^dhM7<5XSR?rITpD!6C zY~N+CRro%fP%|YgrH98&Ig!~p85%|WtP@Wy#G##@ket)lCOPr&?e79~ADEK~5Jasg zH@3*gp-VKKbrMV-+lSa%6N0OY$MAH(Mby`&jfzE^T+9Rwl-IC)kL!b0Z>53SA3WQZZZwlL z`FV6VMMh73Fmkf;=Is5YNRpr3z{}mYzlP+kINkR_B_AT?&B_AmgXW67S=W-$2?AF# zm*-xTkH`7#JH6f^V$|lA<~LRk5&OjYpq25%!!4$?&1ZT!5&S=iELZF{!2uHEx$mxYDJ?1m5(XMAd4g=|Z9?0uJD5wyjb&R_Dg4!b&I{`e9nqwzrK@N3js=#F zHJ&cO;kcTUpbUqKgP=XZW518vzu4hS4<$VB8mQXH9GzaKo4cwYuc z%=*))^Lzfhj11_rdI9PPtUwWEf~qlSc(F_*sg(02a+oLSg@VqVKfO^j(EL#h+NVI@ z4G81=yM`-MQ)DK8wrw}yjp4qN5y~Mn^t$>I^Nha>H86~{2MDy?Rucz9)y=T2AkBa6 zw2#}Ym=FOVi|%A!T0N(htLCJ4Q+Pr;aqdgsTJ`aKgeqSCf_@S79Qb2?N~`rj5TE+< z2kvYM4TqN*T;x#NT21QgNTOkP8+4H|T&`$Ks)HS4q6gg?W7PH6K+x^W`1Ruu75c!s z#9F~$2Sn4w`^w8OyI-0>AL>F8Cq&ZyayHxE)VbNk(f-@=Ai|QtzN2zDN<^ zYubF|xjdB@(Oo5_*&mhE5}F0E(CzRXQ9)wVJQdO3Dt=aO{ggF#ihMGrmnU_o#OqF| zs_{$UexKOnd>w)@;wI_?kM*vO!~H$8ML_B(8B!$8?*KW0Sf{4gJcm6|Oz6bXFXNBR z3a?lgTEC3f9BIffDFKk3rxUI3xj-ue!#)P-^aU|v7tTi@m=R=uqbvbr;C~172Gu&s z?(IyKG)-2WO=PryAD_ZprwlPFAd6nxg}E*FivaCrsbTWFH5#ddy|)3s_#!C^<0*dE zk%pEwMrWJ`quc#*$1j-Ct4CFue$zVGSqA#Cc^Wgw_GetY)tveKSPS^^J$ofOtFS`0 zis-3LG|&~MU>jW#))u{1Mo=;zB`SqQ29qi&*0ixd?FWCqlFKl(7U(5UhMXW#_qzD~ zIlKAeaO+Q>C@R{xR{F`3t_@6``y=v6>$<(;k;(3fg#TCirC)=w4j{9+K{2H$ zlaPQ!&P=_y4`x15FyMXUQf25ci?Y*_440 z-j}9>$#W}L`fg(cZQ}6Pm|=Xkn&HHP*~ETqcl)|p@UdZjs*52sRET1{jza{RWp!5N zsZM^>f(+nvb;?NaMs@T!P=td zTBD8TI+LSlgAO@RtXrw=br7T%QnsjU$FOm`@YuOBK;BN6lv7-bIsXq*QdjYO} zJ4Tz&vMqMsP4Egbdy_8M{6Ze+RG<9>YP=;*JAo#xoYMh&n9oUn)5Hi^&Q_G}ik*74 zcAzu9$U+14b?X+#xfyK9Azs^ZT<^2jRz_!w&BrU8Yn z^qiWVPmrILrPAU(a;oXHj!&k_e!~&VI&o43#-vOhy`$oj;h$+&7JML1s}S-R26E!+ zIJu%PbY62n?WW8+<+HNR+m;$_W?O|!2W~wm#m)4oAbapEP9Hj;{D-Fq|Nlt${02%3 z4`z6^CowBqL95ik(>UI?Kh;QRiy2gxWVj2+-~;pE?IqEU!~s!)D+kC0xDwEU&F8r# z+_)udDquNo^Xvy_@SuHzBa9kN!|j%M{+iJCYejUi`i5hTlX>OO#&y=bZ*VZs$F?#C zOgcV2Qw7Vhm6|@7&(?CAtmKWYig!_IbI%!5Mf(aY;QQz_5@jzS{mugorf%HU>N@07 zQ@tpt=7YvA0Mc9GgFvst2J))9IaFUl|RfC1j501MZkeDju~)GW~WU&j1XPC5A416AC_sK z8rj|+!w|vfRxm=S-^D-XpH}~cqJ|EPl-libpfm*Zx5D!x%++-0nie%4Tj^Yc5w}_Q zO;1ucT`RIg)hT(eh8rNJRGn9>%e{S~50wPfZrS?HfC_e8_I)L+J7~}v5AeZ>xPf#% z<5IiTrJd5AyTJ8(_zAhDoT)RIPUAmv!7$aX?5fZ=9BBXh=m$DILFS+kv;Gxy4TGH< zqz5u%1#=O3?{*m=wV4^s&74`LU4`gtW2>Bu=ck^p9cZ{fbJ_=eet{PWOyb5|pcilH zZgf-XGmv&{7_I;nkc;n(lQKumV7)+k1Kj-__;qkhW&q|ci_u(?^6yLS0XhYccnp&l zWH{_}BmtXeMda`E)EL|ZC3w&V;nSV7jj+WVBq&MCT* zHAkxyS=t*L&U+oe6U+=?5Epyp{b5kH{lRv8EMZBd+@%ow9yRxmyxn7|Y#YOF!DQ~AQnaQ^0n>8yI zhg%s5@$?;&rdj1Lka!fN)eWp5e8fpmwHOX6z;1%lC{Sqy-o|k9Oq{Hn23YB9yzD{W zi-{psfNue0QZs8;BX>86gc|&O1aN-akWd};m6++12m+~+YL?vN^k%s1eqQfGbh z5D1oG$*u5LZ+Y4TFBP($o0%#w=@g<|Eu=QY?>qO^ zRJjn;{2KOVfS6=Z+8M(<0*PRjYXB@R#IVrglRAcM8jM0lX!zmXIX+s$+-MN2(vFK5 z)ZgJl1U?A$bn_%z@+_ig4_U}0LFb_Qg#!SqY1S||g3euW@BJJh3qG@>{G7Z`Uy-h| zs)!S34zTr?WqID2+qdpe8KHhCu#Oh|^u~4}qPr_-IKhKVr;K>it|$tBV(>iLbE$a0 zDMkNy`4J#L49K>n7Lpkhq&ZVhT5sdH0E`O&37h?bF-l?<2|fa7^ZlBO?4iL!)(_A?yRgV6>A{~eVG}WkuPO*H zpAFLMLG8XKJO3z3p|HEcXDUuUX|X@saua*IVfA(A2rv!=Orj8K;{iORtpnyuE-5)` z35A@E%cn|$IpVwg9_%PLAKia2;@I|Sn=zIfkLS9i(*6I`I!)x=sK zM`P0rW2|MvKS^)s+MGasnJCmT{Uz(PqyKqpssuM(NO}JZPwP^^=fvL~=SmT%4xUyv z4jJa7%^?83S&?kBr^O@hT_w->H7}#7*A|05Wry;^4;DWOXo!eN;UG`n_iUR82^e1L zcYMcm(m*uB0E#%OzAa{>4xJSe$E!y>aWSAQ*&!zg_j_rySWpD1C~lk_pJ?M|&=MNU z(BArC1l?RdB#uB$j6ID?C}Hs(cAS-yih361rTisR6_n2Ut|LjggQfCX;Pp`-_8tT< zl5y5Q30|Tg5l*TdC@7d88l;eboEUA!;Hp5T!;Q>2yUnq!D_)=^z+0R6+Ktt|4~Q6b z*8A^zIm#xhM8Su{H!cnUxOL;{{RA~&W1D`a>e^b6Ru516HiVAKJre)w3G-0CRp8Fg zN5>nc9ZZ%p-)mtXp~^F!YstkBJ5`ItTZnG4`_vlj&D5|!Il!?mfP_7X)AVWkWI?dE zF-VLmTLpfba@h`?qHDe(ClibPL(Or`pgte(b=di|-3Rw554Z=UKVBT6d|Odm^<6OZ@K3&#OTQJ00zq5ZjG zoldWQta0!b`EI##eY9Z=JIyt>N9f41Y6bG97g<>RO2iSvvNS~4fdsb75I3c|wR&oo z77}#fE>YaPln#RP(o-b9DAB+NV>N(#bVMu~9uHSg2>ok*(9DZQmD&PFxJ(T00RHea zO&pjAYHqg8$*cq|^*lQyp7RwJST52o*w56K@a;yQ?Y1W+@ntRB0 zr))eRt@a}YA2Btm`i7~!G(bdlL?%Q{sG*h0ohv>0Y8-!Nh$bExMaSa;MSqf*=c(G>@`#C*Y21Pu@GDV zJIe(U3p7Is2FQCSn=YdL=Gs5Wrm+gphv8(Jx7Ow-vR1?S{6zXFRSd66~dqUhC(T0NL^gnQ) zhaX;EUHTZ5)~z)A(jw0{24(+bIY;y#v+?<##dY#CUH~SB#hZ{(_{n6au#T*^=GKyE zP)w16Z(c=E*=azjeX2kiSBb61%k2hvem`esU;99Nku34fhbG^_$U}9OlTBqo2wS_e z0v+HZe?*1TGN8@G62Eo7y1aH6JZi1G@7B?IPbm4uEj`a?ftO<4G+QEMPrQdC`sTOx zPc%{h;><*ny@oNARR{f-_wNcUQ;k_J;0UU%#R+kJ;Y>M5_khiV7`iad+?zRs1oKiQFHr zr;bnI&I=5XKP!*hY&tx2V1QyVEjw&AVhf;b|Gfb31c||zwvWSztQcHSw%ys5@JO*B zX|TlVT0A=hIx24T3Cq_^EIPGZw0qN4aH6FFpBS4eS%C}30UM+H<@0mSKUgm1uSG{qmSt)lmdw*xbw~cKX^DQ z6I4w9=;h=W_VNI|6avFsk^9_|Z}k@EC3ZR>7s>;u+pjxIR$!W6BJoYH2*Y8qDo$}3 zr)>pVG#CF)_~YC4PI(3)xmLJA)=Md3s%O;pN_GqEW)B^O6tCLjfLyFV)vb0;R2dPm z>AX4WHU90CW|b~kx}auqwtUz*d3iFTpaG(p@-0lVbIt*I{U(kv8&u`<#S_TzPW6WW z`d%y^vNd>2hMrSC7mWR^oF>E=;y_<`B26{uT-*>oeqxuDKR8}THmHR#?KRSEzm0nG`?J)}(iLSm(~f@PdZWG|<_$bV)6}xYp<8em`$jXZO{z zsIC@m=umbudyZB@>T9cS%6*LLvG!AUesiXcUBFqA8D!bw(sI{oxy-B`yJGW716z6x zz4S605b;8s!RT<}D$qL;eK2_e7$i=e8|A2ql$`qx;0$R>@=r)`6%0gJ1qbL+%mP8G zoPf;cT4((r8vyOs8`^&KDkpm_XF?vWPtZg@nPQpYZE<@!Yu@9A-vv9sN<>xk0~^U0 z1`K7e3enU>EcIgCx&?C|c#ExpLzZ!cM*xCP*{SEQSGmh(8_%qsonwdR2N<%0E-G8% zV5fG%q4VMxok=wQ;mD&=^W@#ttqn>cp(blCC8UzAm=ATAyM(Jludr$Th| zVGf7o)p$?PPiV!W6$rc?xX@=1V=z8dY3q-;!jt16pFTds_z|2#9*S3kpyD^z$K28q zQbnAmb7lGX-{s^A(vi(#s2Tib_-K`YWQ9kZK$vq#o)=a~a$~8h=x69B3f3WG;A^4I zBNCRMVN=S?31nVji;)r)+hC3WFtB9ObAjMm+#A{a6778cjrWd4dzQtaT6|!3nDXZ) z9UE#B-u1z@*&hIkx%N}@Q%M|oYUi^9S3705Ag#g#VlqenagJr9=-mmnmJz%l8z8P8Bz_Vy-!8kkXJc^+!}&1AYL!@ zC1s~K`Z~^++A;-Q*2@lEQREk%wHxLK750Y?JL)_hr03tbJ68KCz2p3Fxej3)O+3k& zy=#)j ztv-cd%-`S9(2eYF!;T>s&{HGHE819&R%qJo?3`;d#_g&jl?HMmfY zAMjOES4~>ZkB>Q;9w7i#7b5D@S3T(fi+lgXD@@Cu1hG=u>(i;6?zc#6i9 z;64DQ0#(;8AA!hAS8kLx-?M-IMLbQ#Da{cFtav&M9iEE>(15h+qdiiVrTJVO#>LxBc=zn8wEwI$94=-~w zb~c{-n?IYO4{5=IhX);ZcwAX~a+JhW(;zDlJ8oANmH7Gf$4J_^Se) z;YRI54unkt0+&T^H$Fm`QZp`74GFxjijhDHiagUu)8>k*nMK)MJ7f;Ng;X%zh#dQG z$_1sh!`Ip_N=4@Yv|>4~qZAt~ykIUBKhX;Ev~lZNAR~xf9X1cfpx&G8KXYIz0XKkh zl0zRWr>|qhQe?)LlB2zfKgS!asLy-WWz*B|q%%6wI_8!Mn2RVC5)|?r#;={@;OT9p z%{DV06{oouaqV|Sh*D|&3~ju-8sKQR_Wb$^@o9WG0Aj-yLbYY}t9GZ}9x5p+m<0eJyOF3F{Slkxle z+obtDlvnc)+PuF-GyVk;2jT;6)L1)B;A-|YV*Z6S2<}@XSlGKJ0<0X-*3EftRjR`Q z0GggF&jkoO*f+01VkcR#2Jx>Ag{};m6^{U z*Ov!yf?G$533WeAh!%|IbJc&=+n`b)d;lOFW|0Hihe$z7Bep!zYt>UbaAXQQ%-V{U&$_eM_ z%*Ch?$0V5koL3!spK-pQg=xBzUUWkVZz#|nfAg+}<-<3Vy}ZU=u-|-Y-)LoW8Il(O z_WKc`!iW%}LVC0UQ~P6&pC}}-!zprM{9KK}y~VdshCKbDpQwhBi*~sDN;AgdG9q+( zI}K=R&rHINLa(JbEgHFjbj%dC!?d74veJVUG|1sZz@h_q84cNgAJvqk>+=ac;|Fw+ zHvHxuaBrCy(}bOpQS_dSaqSUBBUIhD<{DJ ziFni{E~P=!?k6nzhP3`>QiM}VnjkCTr|pc(FU_cD&9B&|lu2@M%?mFH9%7TvMc?D(LirI|Lz;bemPuJ01xIRA|1v4w}rTXgKeko#N8IB zwyLs&E~}_vf%2Rz)k7FnN@J34m@g3Ug*2nBjMBO2p&a4GZxAL(DyYzb5-UZFlxlwj z(Yw>0F2o+SzX-d8x+20lh5c2&xjmScAAJ*FcV^y_U!W{SaBqmOwR%Ec- znP6c+aY~3sqq`A~z5?k5@LsoXb!7tbIJ3Tda<8KDc3lIRc(BR7Gnp==1o^@*CRgN8IyF4W5pGjkD`~Ii}B0h}~z@ zzjWnW7x#w3coer1+$~9a73?k(ueF*nN>EdSb)y>-P@H7iMj;H8C}z zIG^k58(DK1h@Nbi>BGlT9R^Oi_d$d2*2B>gWsPP9Fc6#!@{{#%Gc9sNi-2Q&u|w{( zQ;eJezUs7?sF0(mnP1fA~|P(h8)pb<{LY=E^3L&m2*i&&q|kH2Pqo;6$3?W^2kt2cEY4Xn5}E>N13+PQs#);@iMhewZ^lI(R&E3aUi_9yW~%yprV9 zu;YzaFIB$L7YfK-d+6PpTE^hI+xL?WX%qS1$6>-vPdKo{O};R#vEZ<9dTy`8w92*) zNDl=oJPK^1^(od+*TrFohx}phD&|xoL;36*3$gU!*5 zvFXd#|7jhqVIGslB(9(B-3OnSVCeqzj|m7LX~t(pQ@_2fa0@$oj=c5_h?G9sQ(BMi zW51RzlD2K}vAFM`7MrlQby`X3;}$Jhp7t*n2QSwC)@uz4oSZ(=Yr}cdC@NiQ>%2^i z@|DnU{2Z0{oYM-Nd_p6kOxa1pFEJif(vh_xcRl=FtC8ic35^jt$f`1{B`s3cXm&`hEtaxgr9q zI9=@3ywk?#r zM*qzViGBkGIGfqC&klAjWDb2pJK(l3{nHxtfA5n?gtoJ?!cE7)?`Q?Kh*E=tSkm02 zbm!l1Lp010*i3j4fq3ZWtb|PA5nk1Jc&ey=Ybl{#rY~C{?{mF@i-H{qBnURp>bw>w z^CIee6-KYMK|JVzeaQ(Oa-b8pG7Qb&5tp|#f3hq4l3yq9jMl5;N`?dM?cQJgG%SIl zQ_T#WGnF+STI5C99s9LRd$3cG^dZ3Qf3HzK9voiaHE!JYd{rda>)SF}%8LLsqQ|Pc zw^>4+_UIcH0|7fj`V%Zoz4~qe;Ie5<`c>YscM@ty$r#8BF-OBctwH0swnJaB`85d0 zQ2NhJq6#h{RT03SSO|OyyMgiPy<9W|G|f3ui`q)n3lZhh^x)!~3%5iTM@5)dc?NWB zoN1#o;8R1`vIuC4=I8+521e)?8$Sjds<~EgVD==98w!TP!=+tOrSmJ@6~hAlLJgmE z0CGx$Ok{$&n!qL3p`K>c9oEi)pi`eH-LJ+WL%%*IFCGeb&>=HlaOJuUCM}x_{92T+ zeme(YGwRB72^RpG&7eWJj_vc8LRYo4mfFO^3h@E`VNP{P2|yyNK?y3D+Z}7eywu(S zLj`<*BPGGFY5Khuh*wI2gGU2R%Nooh_(a{lM)nt=vbAascDe4oKG6SA_^| zZH{}ffV;||lp+-m7YB)H-LAdleeV~$2aWa{7?Z|c_TeowyS83x-+1*a0I6AE1E$?x zex-QqXLZTmg8g-V&7zl35RU`umw6m5k#KfiVX^S(_$jqDlY$aP8%brWhThY(Wx0_7 zu(%sb6)Do+)ei0l!W+m1G8tFZ2+0Qdu+qHN_cuN0{dOrbnEW-*h`Z zN}d=nt<)Q;x(#bp~!AK`{)K81ig=}#qap_YKAJOFL&4!Q0V9aj+b$5q`#8|}0U+*j|JoqFnO`{WH%cmN2>wkWUdPYGXE4UF`!q?#80dC1{>R>EBnD?oI-T4 zdCccSE=SKSTJ)1oa(^~QyuCX(^_u3K-->St+cE`B{zWrY@ep=vAA#%-KOrEfF||E- z4aA4)Zan{f4RP4^+f;8}?E+SAw=X;Ebdg1Bdxz{6Dpux&$yBg`!d2i!9FA%v^q)&} zhC5jSSxQr{DB>?(nQv1|gS9@E=)u|w60GY*+I(-2C=Kh(%_v(!fb2sojexv<2}aU@ z_1>OmIXrU*d*`V9hkZ@FJ>xOcJ}fgos(mAupaphDmFM^~al4n0Xj5*nO_kRGCKl35*AZqIVjus|9S%Wi2cGLx^1fAr|1Ki>Q4|1OrsURLv->^WSeW1uYZ$ z?Ka}NLA?IJubP1EbCr%yF{V0kwm>wNM&0r(TXyY~b7zn122WC++o z-&=~X^BI1RvQS_V=rFOH1TKj<*{GkVTiR;4jkEhcw)Vfi{Ub>LY<&)e8S0P5`t!^j zwu>b-3$g*tK*Tuu26pm&5ZIMCriJVDm9jVndIxY0vE@v{eqL(IEU1W@yEuQ!3WOPJ zbGd^lOvcvs{T=7FwM9h$5DA$38smH!;v^ueNCDa|)7BmAO5*-XHj~K}h*JgmZkwcsUdGf?ReUooi0H+Ooc#R$fr_ZM_*X!FV zDZ_&0qOxfn%Rt!^&t24lTXG)GV`|}AA>J0%1P_jNS~w<1%^!OSagP7;318Ls?Lv;u zw7m~DnTexSHCyLO?l?g79;Tsx5AZpXfPKJQwQ3td#BTNx;^@yhki z-qsI&4T2J8?P1sL$N8R-@nT}|1(}UHyqaH|=wbq9SNWVpxw*z+5J{ z*}Wb~&sQo&=gXXXZg(T(+o)-*EYzeBz1I@%lX!G$JKKTS_};FSuu|@+A@M)xE$|A# znl7)5u-~{R0z^_^PRTi;^=OtTkU$+W>3X*%E%B(qbGr-YzPWZeEuf|O zGl=l5Yc04l7AXfbJP~<|x?CVpE;NCknr0Rcr|#>YfFA8@J;Li1X<$St6s5U}>}`c# zaT7+YcM=y0QlHtCwv?_GfK!qMT^w4A`aUOIu{)fI>)|PvWJ=>aWSm03HxxRqw!d=Ad+F+cHL5K7 zIvg2BcNJy7RgQ5cMVy2-^ln64Dd7ZK*yy$gfSiTWqs&8aGR_;d9= z->2UGM}v1;&=*Dg9QQ6vBVR2jE>3hqywTM!5GR=53S@YJQuKC*+?xu^ys5U$7ER9a zWgs^L?brS5)WQ120s&AF5vcYOh;G|8O`rflZ;eYLul~WlnH@<>8we1oCFC3IoZX1y zx`W0>?%vQ^N>&N|U?dgYPQ+_iI)^8BfN+JS@f)|?L3%|C%!6q>tk~;|5dDE=iQOO8 z=mHK+XHMXI1c&C%%8hP)jaX;w(Tr-AYi2C(2)dF`SB^+sW)m)Ym&O98&|clb5uvH# zf^UWIuLub(BM&7tkvt&Vdm{Ubm=! z>Rf+r%JU@qPrt7)MhYryQ4+T50c;(($uz7Gd&I`~1XJ!;K_1D2<@aBn0=|{RR~>SF zGl(P81+pdk(a4Q|Dt7Ra8VMx|y_K&m`7$%d%1CRd#%g<~D&zujeMyB9)R89MytvU( zyWn%EaeSe6;nV?%7O&su7YhCc@mAjkim24p@IBd(wIgikJ!PyQNLyd8OC3m)7!R%n z9Xzma0Q&89o5q`MJ1*=USO|HwVrSZa_y@*8TC@8Lgh9hRsls&b+X_IP;&cWvMwZkN zGA1_t1A&iliQ_Y(&|u{k@@x)u`8ZVv+9)VKERZn{KTktkQzY)ddeHl zkpodmlTUuxCxcP8jTYh#sq~2`RJMx>Z4RyD^QVe|VcawVG!eCBB*}05`{lq@mdYH7 zLO0PG5rKz7OO*!QU%)7G({rUar^Se=iOGZ&AaU}kGd$0RxIUeF6WszEhRQ2=s3XeZ<`2bB zoad1}nW9FI9;yE5uhIYg$7RVfr~bY&dVa*W7-1kCWxD>4_mHu+$7>d`0vo2LIXWNX z;Ta&i7El~85HB`3@S!~o2wmO^OkI-$nUMnyMG4N!#^$H8TF|cN*0Ya+6!P;=z9Yi6 z#7}z9Hv$)+Dk4g*D%~sYKWC^FYXcz^Oi5?58t1)|Xwijb3Q7gkClZ)w~p; z3}wt1YR;{xW)kz&m!pls3=+t z#T(q&z?I1W*_9Z}f4!4q*QVirD@{HEGwHfd^sO^j466Z>gEXcg-m^7t`OesC&#f*KNV78sf9oJj`ojziB2r9{jqL{9a5pV9Kx6*~ z6}-Q-r=kG*YK$TZqXuwF;}QB8SXmxsbP4%Ww3|S4ImmyixJrTr-`H+`$LUgfAVXFG z7St44;q?Jl;GOE8X9#=)<{!{w;-GXh?^V-+!*B7(964j2cK&it3{YedK}FEEFTXqFgV9rd`r!Ly z;(#TP!#?bg`O|*{*9b_fgO5~B+EGyVUA4AAw4v2*NeV}T$TB`;wE&(H_v!l3X_~o^ zd=W5wPQ#G0e2UwRyGvXuPC_oU$N~Sg>PZE$2CiBVfqpG=|6|QaDe3{NZ{cTO7=egc zBbA~|TjTh^pRDgl#EFY&G%6|^?t8WW8pbE9h#QbUldD2G+fd#Bk4pnQ9*vLKb?+R4 z=Xo0t0EYp~?MDe&$ouccV?651D+SzuqhxApdV&*G518yrRv z=LYn0aSheer(#b}p9Ohzf8=WN%s@uEAM~^ZcS>W`hoWd{#xm$V2cI}I5U})a|BZzx z$BA`8{%b#_Kn6PyP1FTZMTlEfb$DPfh|mBwdS?aPlbERmFhj?@)G>lPlkYYUsd*{d z58bm!BU7a`okwGL(`C9oz|f>pQbbr8$bC?0OCn2d@BYu%aa} zdP<%wwi8_0PKgLyMl$MUCD*3Q5@Mc#@tjY+5QVpg ze7b+Un|W&~jKT&AnuNfE`NLcm*-_p zj><~E5S&MsY3p28U|*j&UmOO>>7qhu?Zt!Pe;7a&5*&S}Z_c*ruu+;UHc5FQrmay# z*0GxdOSLVdyg=)9;}r+*v9CZi4&T2U5aZe^=w`aT*0ng76_&P$qOJ9R+{V>v7ag|! z`3EC{0`c>I`SsLUA(~yxvM1ZGWZ!y2aQ!(6AO%}p(x#WXP~*6cZx(|kCD@fVq@p#`p}i9z!L@;0 zwz&H1DSNnIizdhTK4?$LMC~hjIvSy{diTXIX+s*|_(r=~6@_K&lXnvG;{o}P3HTpo zCmh<)nGx$T|B)9SCCa52+jaw>*bIPT@eo0=zw`E?DG%U(;PV z6A*)&&PZ2ga8~0p+;l;u22Ma|Zn)>;)G4dokfMVw_jT9L@M|>t`Jkk{g=x-h4a>51 zTd}VoYIaEpH>+z@UT1s78Owq~g%S1J^A;RZmFL`VFs&TW?)jWn;C8cn7`qCp7T}IE zCyuwyzPiWX9*i(O%lIhQWiD5AEpSS18b#J*-vJNW_!fNxBO6)kryke!D=-EIRfx{f?T!vZx&HUMm3 zj4zlL#`nLSlSa^Rz6EcCcksT?6$`!&?=7lk`78jjG)MS;56Do39;T>Wn+kx<@dYM= zDITBz^dzH)gAMeH-_F;>2GJ83Y|R=^wj9Ty7+gO zH((Iy&ZkBhy^zZ94WT~MDo?9f+yzWV?wnv+{VK#07>^tE6{eY(UC^H&S>p$QCS5Z8 zDVGGuf%&e1250*TsNjX{gcf_4ncl;%tUP+%Mjy1mj0>;D{)3_5%Y0Nlh^ycf65m;U z8SsdnBrp?uE-^ucmdN9}Jsvo2M?sU`IOn5t4)-_e6@l?NqM*z{#Qi^@xJX)IxGd$q zQ0J+RQVJM#N`7YoF^h&8#Et9Ibff*paW(X zSISG+`SGfVLK{#a*Y%U7)(%aGYC0>&U@J`BfdJC4Le5zI{$()&i*3yKw-MMY$)WvRsG>a5>sC;EytBPT|V7srHamx zkoV?v0CUA0tW0l$3V7BnL9{i!`~Yj1@3^w&{QR5}oqQJiP{g=hCAOSb=C5 zT>Tgr+pPcmOYHV9R+n}jQ2{zgrPvTAN6%l*Rb}$MoUcu+RWhncGR;H@T;;6aMS zAxZsgkg~WUMhaYB0Yh@Wp)YQ0oB#YM^ry}Qh^RZqG%}UZNZrlbX9PH~1Q`Jn6|?JG z*83w0XF4;x#9!0u`hZT@BkN_sSQ&_fwOfrd=LF2IO=N%UyT?z45YVqC#+w>R7AW56 zrPCJ=X)Qk1t0{Ua*1p2+)(awTmWR^^rToe<__aM%TJj^3-02@-QYJD&h4x6V)^EwZ zBD6pF03d&PnRxhg3jkeo@{_jiRQsn!H>`jNp!L%ayskPpIVwHE#_hIeT~$9jsY#aD zRg1l>Q$}Ph@YJ(m-k8|{vfAMJ^V+}EWQ`h}$^-@|QBC=}a}P`Uq9ym2v(3g3*sV3s^Iz4 zApk6NNtwbevZ)NFEVw=ma~0XBT0w~duKpgcW2dX`vN8;Ot%op!YG=UHUeXwH+!@w_ z{y0RT6LD?8NlQavy3T)uY|SS>^X!SWZ|A!-wQ{TVd-uzFsiiDFnXFm&=Lr+0O*?W zd`I>h!B#yJYk0m5?sl-*)EB$(LKK`AFON@N<^M4zt_k#XHqT_^>ErDer(tMAKBw*X z7S}K#xa5Qt=O5WzA@y z7jT$D<%mGX!cGpq5-k*@xhCwar1)z1tYA~yk6hnwd$~hvS4EV!EH=L4zVsrgH+*ON zkibLMGA%B7o7Z$urR#9nxTqft%{Fk%{o>tW0JDD&eYiN)*c*e(q#w2w4_aSsnDLw7 z(v)q1Ij^*dwXw=YbVni?`_{`kQsHWTXzV~$-@fA-YS&XfB;Y3U-;{Ul2MdTsyURh#kck4DpK#5>;Q`n(H1!3K+gJ6(7;8y`R?~}w|y1RhoEk}}`pr*3cu9C8jh(zh!W%_WBd2!NcbrG^+ z04xkdiHBzO11yAnN$R*`**+F@h`Fh0e{pHTo4jgvZ&H88Ywovn)9Js3v|js+kvNtL zS!tiCw#6yWEb}N>C5~2vrn6hOIJhl0fCYU>Is(2&ixV`AEb^=Z6 zpAc2X7occNTIj?3w881oqS_kHYV^t%KzdqSJf)(rPsA+(prGrF{TrNl<8hMAQo1Sa z7c;k;rlZY#8c^(t3ODPn<^KFwB$u!jGG_z^M%R0O_pVve*btty zEj}JjFrk~9{c54V%lc+QrzNMJ1!flW)`Ssm&>X$C3JX;L@`HEN=M$o~?|)dTTf; zOCCe#vWxCV+taA;nLd>1!3~SN%ck?uauP~hh`={Mmc%^zg%eiO?xu%9O$w%4&KSwY zQ*y=iUf7_c$2a^uvVni422^A$XC{5-fGPRLtC(h=b0CQgu%v%Z!G8!c7>h#lIM^J^ z8kWFM*_0eZr9Ku^+BUn{a0N240QNDG$?$vQY=uD~IKY**TaU9)8VZak@{*vwP7gU= zWCrbi=>{4?d0R;BJEJGGrefF|#1y}f_2$LG@E}!yuOFphl|%rj^qmBR7LVQ_4OoC+ zu_EUU)GO%KKPl)8!fu=k1{C(MfHX$(kw|N8<6)tUdiJ;ABU}A-&@x4AA;xY_$cKr4 zfIe1_C#Wt{_@?j|4zUVy@Q3?dJo&?B^fh~a(%PMK1||ZmR+tC=x0|b6&E730`^z3# z9x*mC=Djx{F7R|XYlbVJ#D?JdQLoci&Uq23k{TDS$3FKfzCI-U^MX~@Yts}6I?XaXID zu4n_H*h#Dqu8WIe(-SFGca)ICl!ejR(>6T)mWp2QuJ`r0LOY&hv4P<_wW>@>9ljz^ zQ-a^{<>1omxMi(0J2nDQTcnwuqLy1Q-nSZUd4M&;!)5QmoN;4>qvMZb;;l^G3BzGq z&zX57-Ah*@3n!MCZ}9pLALS%YEL_&$R*5w#d_*58@+fdxVScR+h6labbZKE3xkk_p zmw~jW+v+rIBz$&6xR6v76mCNivC@=he|=8J_w~Mbh*P^T`5J~4cPXBOvCx0Jk5s>i zREvSFs>QkY&-qXUeGY0y@WVOl zoID{f-A*A(a+TjUyG!8vA}^E{i`YPG-5&qCBWvbs`S#AkRVza+UYcb%$yI{BpY=!p z+{Tf`mu+OzBt;r7(450Bv{d!IFeq>?Ct|5|Il8sZay)zuUSzIC5wa0aPM@CzwTiP*xgTva*`F9nIuNi;3q$rwlv%lb-MP7}%)ElI_L{60nLeN& zI$e#Wu!B$Kf3KAVUX>P$Mjs+T9DQzR1wDD|V@D)R+*6ZgG z_&D3P7~-UDKG4*z>Uxpgb`6jX3a*sUJF)aZD>aSFxr^u_dPRpg?ax;zkBvj$Sf0Y0 zVu)rew6}_Qg}C4{gmoIRult(w`3n_aM-ft8TQ{7P3H=ADQ*vc7lejRHUzUC|Y=T?9 zA0zeY1^vs3xxcU5AI3%4aBwK*vb(*2uQe%9U?F+Z)(*j+#HakkfxY;!2CwYVdb?ZY z%T!|Kv&Yg)ldH6wLMlht#ioriruee?=%6VwWo2smjR{gKxUXhE%!hCKJ%8~%7n`Lp zV_RIKGnM758E>=sANfTdI~EJ?dG(;589mg32!3h2QDaloAF>m2ThLg5GWO*#HGi>( z-90=}$-TC;YpR@l$>;IA}ACzSX;350)aC?Ckgn zx<@e|*Xhesa=tM*td0Q1%nzcco-?h(IrUhkvwgVKWAGUhn_%~Z@18w7TqVw<`~_7A zNu^Y6x?m7L;A-2-%nubz^>&DJsTzuX`jFSJrmUVIGa=&~G-TuZ)$O0Q^DlO{s@F#D zWU_;bX+#}e>cAoEMEHN-*6XQ)3>TkBxO2YyC$Fh%TE==$3tz%0Z2_OR*)&JjOR_K@ zZ97v>-pekyVtDH-U~pe|aF*T;nf~kZ5y9(6572_oA_pg^JqhQEh@YKH@2^fe?K)cf zzY#+?wlbL#@HiYTd(Q<0z&yIMdA&h9RA_mR%p(_Ry+6~+$8I=`O9Rn)2Iax55WPl7 zeuQO9s>X}p9Z)*EfLfvB=>J<;QA&?sGmL6jG_`7~W!$Y&h}uNF+`5;@dg}BApik<2 zwmjr9_H28}hud6WYSG5SEspJ7^AFrNL@<+mc{p3r6nt;4a>>nMjdjY@1k)MqJ$!y~ zxW}2qQ|t`k7Q0B=D)6vi{*z&Cnb@UH7?IN4jnA z-l+FqcYx#=MCi_Owi*dI3Ep-K<73=-$SFBFKcA24jZ=Oq895X7ehMb_9mkgs$a6u% z@jF9O@@gd~Nc93gCXR|GO~KGj(KQ>_SvWfKq4mLsrGUzUSM^bR>s3U{tCO7xWlkPw zJg2z^q@H~2)`tedf)Tku=o?lOqI;8;-V_LnQkvc!^C%F4vW;yob+#oD@M@3r=F)W) z(`3|gxQMh^`c|Ks6$rc3TU==bxAT9?ojK*Vn>9v>{QE((e1+5^@trrQ4*{2TeLUNZ-E~$MowxNvn;<8}BM$92E-gyv z(&$XZI;-hbK0rvh!d6O<&t-hkPQ3fnlcS)^nt7l#QI8l!u-6aWx-u7!rcaP_L5yTr z9o_LTn?Aka5u9cVe`y@FLN}r{|F?%_DNzFqbkHQQV;bw(v8%UH_tF(=-i+42ObA)c zuB>o22sGnHr9dnjEm-JwrS4-L{aicNh-&XlcBeX$-(l1!H)cIFT91_}h!CPCJhm4x zwX%am+vS6Kbvqer^DJ;}&-0;#=BXgP&=vK$IQ_l18!1e7byWIRK_|BYr35w@Ouh3j zK9J_31_TUeZK|nebT(j<5q@8g!K_g2gOk3eG{Yx8=ps~ku9bL3Uuf_jQH}*N&B`_T zvSUoYIE^etp}VU#I$!Tg{Bn4p#>$LJWJ;O>_38U7)R+gK#4s~$opIh}Pkjo`8SqSL zz@IYL*=ghV=B4K1>13mkiiqFesQIUDM_hkt-f2Z6w=7>NPA9A6a?&m?W)Ub`9xB{F z6F@}sZNP0AFh-h><|)AnN4?kvXHM|h24o=X4=H1P4UHHWSWPvP@x{rKRETdHok$F% z&p!D9KGAPEQNDLn5fibP{hdxgRdUrlz2wGf>A}%L<;C*QiYV7)YPZX~AjB=NVwNw`ON$2M`cYKZyxO8XxZRh);uj{}^p~w<0{xepN5}lw5-VXQ zwKHxZ|5;Q*wDDc)o&R1W7tJnd3Tc1Bzw#YSW`C#|=X*ZnQ#I@g3;nHP?PWhmQ5dwv z1I%vSZ^r#ikX@aF64x_9@?w2gJ8Oh0c$I=@f_ZwbZCdU!@i)`0;D7lP;6C=b?&8vG z12biOYn39ENz8~RhF5ha;ppm>eJom0pHhw|iaX)-@TwYsS)3=ZBeI< z0IWVZjZr8pF%Jj$+BXpq#3NR(bVJ?`8A&HF-TzgnU%PoRup@A@;#ni)#ZjB!#WDNf zckf^g9oPp5yS~G*^d8+VC@kk$0nvzV6D)n^=U!~az)8?W*lfwxs>C6XoCPgn#{e5d)x=Hw|AuNPH73d3@Uq^yZ1@@IVUxj=fiST z)-m-1G|Rl!Tj_uqm*st&W(8swhJw12MB zr(a|gX-vgc^&S83J+jiX#l0tXc4E;(<@Y^c0FX}q90g-fl9T7ltdJa2o;Ad3^+QDf zeM;6bk97R4fT2;_n{lO6E4$W^AOcG2QQQDGrn}E~=_+T`{weK5<8nJ~(5jwmPS@=$ z%k5YX>UpIE%=l^NLJNuJc&hDtRVj<~zkK4O*0f+@W-WtOWIkG-!2;EsfeZvEBk%?% zy!tVHbR&O-NU6=keCXAJeEEk3ya=kcflESo{F&_=g*Upd4$h7~?d3G+rPed1>G{j!}J6{Rk-_%I1&d%m9y zUbVoNs9@~*zEVr6?G`Fjg{W007jujcod1LGU#~3Vx2+L9IhpLh2${pX*zCDG-u2?J zo@l8gE|sR*B`Sfm*R zys4aCDo)SZ6~f#612}$ciqSIZ=<|!?wN=wA>Nme&9&rj~Jb!-8Ga^+~y}#5^w_*Fo zrBiTPLrK9q*VY7a!^l&kC_lanJ4Qc1?xEdc!9i}wu>@MSxWq!=rF?$BcvayKIDESz zd^wqAf_EdBi*up(u+*n(6}Xg-_ALBQCXRwb7gqIt^&%=-n|#XY)+vAEkza3+25FT26S6`=acDXfpATlU zwXjMXMv7NdROIJFK7RZte&(U7A!&-)9vJ{a^%nbI$N56zSRs|tlsv$Ri60^koVw1_ zUnW20$yl`SJwtr7nC|&wy=vi*n(DKNGbDDk?6HxK&Q1tB-wQUn3u|a`1nZ(qM3*S% z+L&X3iu`i}rtMx-WNqbZdySD`{t&(Gl{F)H(<3Qgj`hEyf$DsAt51nX_I~7~mElu= zeB(Ngx7NP&;QPbi1j2j6wHqPM5m&-Cf7({|O@T9Lt4|vo;!lG>xS=kI{xxl|*lMLI zxJw-s8VjZ#bZqp&X+ld&OAv&P&*;?0;{3B$uL_o-Y2n>@dSWV8`489j2Y>tkljGIg zJw0!Cy-*JYWtC&e1yW!&S?R_fx!IRz_m8k;@3G#{Ak~Y^l!|hhg16b3IfsaALKDw4 zUY-IdlpCPXm0+1=1;`ZK5RBk`ejr^c(a#Ucho$7=0JHRg{K7vCS(O90nxyc=JaOuAkUx(l)!3aTSt%0*kt z-hwwaifE3Ld?A?Ck1t#av zm}e9L0UIxn-uQhhbfGuT!x>lZ8n+OTqvI3W>HtwKXg11lg?Oewo5ER>uxWMz{`Hs8 zNVg>WllnT$FatdyDuNr<9DfkRZ{T?A}$LE0avwGbJl1;65YuhM8Y;% zXi&7l;k?H$)fF+-0i*BRgGc2^mppma)RZL{KbgL_wcrLK;}YHc(^ZSY?6cH)H^ra0_6`$flWCNh5>UA4#hqay~BlDfUz_igga}zr1vGmhx z^j|mSp2?K;4K>RdzkCgec^t*(se$Xi2}NHI55F0xR1YC5shYO@%H&+$9L*Z%nWW8$cH=V$sT8U|cazt9^TIsD%=Qm>I4GR;8*}o%5i{2G zTnrfmgt6`GT{j=kJr|bn5>^%g;90u3Cy^`*v1AF>wP)jR#=%H@yCI;?SHI4+PI$p* zm;vk_#|=rw58OWk1K)+v%?md|?xTapjlg{_a9T-2gO8JwGXZH~YB~je#y60uobmLj z&HT>V7%GAbj3^2cyLj#g}+#rVUU0*fnO z2YFM`CE-F$Y(-*-iH!PtnU7=*+-;vh6OL?q8!hx1sadh{SeKED3lyddz=46f zHBF<5W76o`V6oal_~OBl-89<0XUdF|O@n6pge(RmvCW`JnOp7ACHipnmjFn8YXeEo zfY~+CFNtvS8cJN#1tKUU#P}Dl&n4al2Y1~< zXK(NPfjdz7$QJa=;XQvZt)Z0){?C&TR@TX8T&Knc?Xk>f1_4Wc%5@$OX&4HA#9h+j(z89^;~Ib+#8>{VLDuwp72QM$>MzAfW5L zt9~7DdWrOEuU_8W9o@h*KBH^Fl7@5DpLyu#V(Z*LN3>r=%#ha_&Vos`PWR#EnP+6kc=cbRleWf_EQ`IU}<8 zt97$iS!d)s>yY#+x}85H+X2aNmb#N)Vd;+LmG$DU;nkJEyc6g~Y4s3Ccw7#+$=W7afSvT?<(2QLX4z-H)| z&t%*fzQgmRBAObmzx&IrX6@@3i2U{jD>ysV9OqEwd4P+H3nXw`F+sliPIOB3G8u=) z!-F&s{@iBa2Eya(2do`F$WdBrt6`VEkidtzC>YaxOn7lEa5Z}y4NvMx)P^-eTHX!8 zvBx}SK_{0^R_U5-g?whSLUG9}kV00JbM{{*bZH{uxl7sMA<+^WO})sbtNG*65&kqE z(S_{Owqf9hRDPVoBgr7fL6uJyJ|6nfcwpZsKp_rnuXsCm_qXeA2H@fhUC0YLL5Dp9 zoJ1o$A9=I7^XzW230M>exZq_?ZEOVK@<$;x^sWMl;BaVC;CEi?Ao5 z6xV*g9q3h01rx0hj3sF~3zAh0o@i@ptE1@v256soxCk*`QY!bu8QS8#LCkpj6S*h9 zf4f7B?d(JuUn00pHxgTz5MiEmv`c?cjs4>Hr2$z+V8WR{#K8+=^g$^Y2JRyzrgKiJ z;2f`SR+Ik2oj+yX-&^=RfxV{z(Kf+-!ojopt4pMx2eR%HO{GA!%TC9M;(zG(ip^P?}^(-v^`Rw-*Oaf&50s zJ;Th-D{o*R1F-iZNUry-nP%&2TEQZ9qsEhxIBvnIJK`WS7b35#Yaha7atOq+ZUazo z-qNx?N#KxX__i0V-vQ#UL$PNuZ-hohnS)Z0k{9Vru;xuNR9?j*?5}Lqv6~8-4z81( zcMPI$jW`rP-ti@yx453g7(_fzS9iR*vg~&U=hDqBf0J7O@G0}n1!n^uO!`drum)OH z&$|_EgmqGx1?OGCB`Diw6$R7_+UR671~8d|Rtveqelm(VL!HmhDse#-CqF@Aw^nM-x~sH3s$c^x?a?^ihv_z;jlSyf+9&E|MCXp z!}n?2k&;FT)6z*74^_m=Os=2JuzKXK82*jI-+|PagjDMaHUvYVzJ%ogw{Ji&Mx5tZ|M(RmIO-+vQql0(Ja#y6yY(;wLZaRm z#!DIu2gVzYjErQT3Qz!%-KFIHF<|{mI3Ts$^wnof=W^Z|5wIs;lzD^5+QosQMC?~E z+JPKt1%PY7-dq;hAb74bQ_BSd5rrHJy2`pH;Qmv}`2L`p!y`8VWBeV(Sa{}<%DIuB zJ-wLqUH9nGC{qGRkPSXsxRPfNir)_BSZSnlXH!LELUvGNb?d(yAS+lkzvZ77cuC<* z6S#|3380n{yo&96nY^8Q^j;*n^g*GcFQ;z^oldc6$vD^)SBJih*x&g1u`|x5$bF(5 zNyDe>GMImYQ@Q>G;0W^`EK9j=ox&W?qRkYQw2 ze?<}b9CxlWul1LG`jXZ0mY(riLEokuyvyh|Ir!(?#U`?Q!Sv)sA|3QrocX75*iiUC zJCf1ciIuLQa<->Hn&+c;?It*zW@6g^vgoI%oUFQznB5G+MFbEUcD^YLTF z_wNs1{u-4&{gc~e)_m^oOncBl#2a%<*b!lsiji^j5ZqyG@ZgpC2=~(>GytSWHs6Ag zvuJwLX3L=`-wjnj_36Sh#<#-g(%LWeP&95fPjGF=@JeY8a${Ca5wuAS*+e%1j6EUb zf#|~$(3e}-5_8tpR{Ht*aAHFy%>SM$D2Fi6Oa}g2-wlm%^1YW>ZkpX=iSI!-sJWxm z7e}A=qma^s#`4XPZb~Dl7kDH}`8~hV^9KLi%Fu>)7mL2Bc8YXFxPjjE=;@*K1z!F! zTy)L^H94up%=I81S^@FDz}5bLY<+h;)nEMo`(As`jBF))L}lkvG?Z0FWK~3FW{7+3 zb}E!IQ&ATe*<9C1MuW;0m$I_MbuZVw_jfLRzTe;D_xSZ+eLjzS?|YordA*+NaMEJ8 zSLb#B7kgp;me;H)PYZlco(v3Atgymx2F|6H=XsvJ>PU&V-mejC!MFY5NT~l?6ZCRl z)E9qsa4K?Y*12;GWOI>|?oCS?sMqFcTyrbSA5Sxu`$j8*&F`s(R|-K=G}dLgAm?-q zajd+xae$sT$coG&YhUn$%mplMc6|U8z z-`5r3q0kh|!2kRZ8>WQn83h9x^N9E5#$wcXzBvX($J^uh`taF1_ss_6<7iykj5EU@ z4ug@6FuuH8`R9im5MJH`g92wOu4!fW>l640>erf=hNZrmSOYrL=%`EB!ZVA;_N6YU zz*1QZZC_nI9StUuYN!1=H>`#RYswZJJHmZ#BMhCY6!b%8-IlLT*|{UqDLf1gjTcQY zEXUzqup!knYp9&|&jxJ3=TqjN;7#fVsun@O|lGt`@9vYVsO#q$KIKC0< zyQ$B2XAe}-ECodp*l{vuK>k5dhgibBjrgblPoX45YMFu)3{rs%UKyVO&Kz*wu%sM4 z1%Gp9Vm}f*fDdrQ$<28x#tEm`4R*|MlDgT^~BvjNTEH>)l2JdsEt>~$KD z57EI?J`U*V`EN~U2CL7h^njlcY=X#_MP;E>mrnQ=iLaJXEF_l~hQ5z4dp3p3o_8{A zf3&ab?p!}o+5O0Q8T>$0wcisJiSD_}^+xJi?ey9hgo@47PH6`NxIxWQ-T2qMRXk0J z1q2@l3zR>PSj5xPHGH2D{~jMeE(RevX~&OG+3!{itBKD!M)-bm(dShR_r_e$@`rNd z+~qB?^zn}dkcA+u7qH|#{_-ky5eBZx3_5&C$8-h9JNVc@h=!JEc2>85*FpDoZjYHG zeyQ-(3=`Co3B8odMUJ+6w@vw^d!iOonK(|z;}qZy9y4`~+cptDB*JyX0COJ8as@Mv ziN=8CiEaP4JQL)wkKE7Dr^JMK&pH}%{n6?;mF&?vwS9aZaCO0tjew5e5-j(k z5bQJK%1c?A^9I3@)|ZD@9Cl%wa0E-(_2N}i??u3^%)sD4_VY5bW zvE;6!PGmxh5q;7D5)AxEu?nd z;+Gvsdy5l)Gru8l#IL*HAHE-T1$L#;u-faysO#*EV9*FKRMg zVMeaY!m;%>uX~F5rI!k}YSY}V%5yT4Z|Ld*>_yVmoPinL2ZTwz&G<#xcrh8*<;@c3 zuJ}*t+SR_V$23q@dzkGocG)4zOXT4;0|@w88m4GMsx}tuGe#^kQeuRet!Xhf8WBm2 z#|kpNw`BA> z�k)F!zTszIcp5mLz|ms|viZahOVx4z#IR4iy)SPg#ZGskxO&U=LEpd;f{zqZ1+WxXM*XS7mzvi9EG+HT z_w%ftPUC$z&TCh-G>+#$YKu@ zT#^478`a-pc4l%$n7lORr%I|HwH>?W?)GIbn{$1aOszkX>Aq`>^^uEF#g+cVSeKbh z-7c7at?7~Io5*GmI*=-{RByQ++sqRSFz^4=B72qVR1dnSIn_GNu$4Y zud5DUuHjoB%~S>egp%#&qaVc5|{BpQCfB<^P7Qk?M)J>5&sEuIFtlmz*QTxJIgu6w7zC}$nF|mOK zC`#@^8dQ%TzD?nEVvR$;z1t^QoHXu0VR82{13)U&cPakGF&JF;<81*tajbv+rnWt# z5xf9qISI$AR0&-iZVJj0X9lnHQ?-eqQ4oOyx>#L-?PBrEOBX$6UIZMeK9A0DfpTKr z`PL9!h5}Y{4#xl6=xQeKLXjVMp?pg5XC_{WV#euNubCDU>qK)VOA{dHe;B)x9sNsI zUj=#0IO%3dvb)WQ05+{eRX>bdHB=p{PU0#gQhxKSH5<{{0CtA?enm08@bvf~RlB|pNHmJx6d|}_w zluhU+)}CA&XDFKc!xXBH`aO?_>F0n^&WO^9U80(`gNRTz?J))N!moe>By>FuxdRxdbF~xE z)#%p$N=P8vw+;9T@os6~ZEEH-Mh!hjv+HHo17O(TginmI7KvjBmrtLR#kLu0nE~1E z;7920PyqUr?uqGyn6R&v;h6GcYt!ZE=CQZ#kRzD5)Sq$D?2g_QFo&sKke#qZvQu#! zYtxFtH-F!!$_pRTpTN)LD2w$?xT>!+G~sAp{#Ex<*73^oIm&%_V}=@)8iyUd z6zdhs6B380FIqcBkhA`Cq*vaRZqPi&jLt8Xyw}p z`nE^!K@txmsW;8@>=Po9&Om?zQzm;6!?&KUSgkX&PIW=U<5DNxIQy+2Do*)qPf$Faxl4^Onx@meTEMq$a(Yr+JMhQwId+aMhDctUUDt7 zRET6qxa5J_zRC9YZ>;LfjNLcs9$qem37qHIa1d)}(jb6^HkOGJ+oRkYcF8a=e7*OR zgx>Q*Wy^6-@ZUT>r7{ry2y9ET?Q~`#pXzA-K&(ci1pMIucfn;WpkKve6=2e!6;4T% zMS*766*gc|`0&nSYa3Y^r7q&Z^$o3aygf;`-7I-Uiqc@KYiZi=T5)2~dk;^djz!h11EL=1eQv1IZP{!B(GU*wv4Em0S00!>PFfyy;_hU;1%AfF*8Hcc zujJo8KWX5A;fb&MX;G??kjUAM0&W_eEP7Q?nnDCT-0N-cR|Dd3R$NRPBXc=vuNTf^ z>j*E6buduiI4a@5+04bcfN%oSq7OBR-Z1CIuO)KGkL`;?VqBX22*NX4f8^Pan|CY6 zm**=1;3)|J&p-Q-vfDoKz}{L~Pv7sq$+<$T6=@>_H=(&EHF(K4U+PP8!!6x{%mpodBh|6Rue#IaGWq@i z^0|LPw@a{bexcb9;g`U|T}62!^H|0Yhq(&EE8Ou*WtBLc7g<-V0Pnx?6N(jteMsSS z6*#0P`ZL}TiDIR8c9s|ON|sy(hm)*IY{%E?C1g>m{B6U$@MA+uREtqsnsQqF`of41B}Od$Or7X36aguU93j)%i)Fh~=Bj+W*zPmt*|1C>wz4Jj;*B zbFj|Q_j~PYSN!5|fuhXP6+ZGWvI`GBGuj6R;ynGX6 zVekA2xCIj~P!Uez0QSa8S1`^5n+?@ER`yhE)%S4#6|BjHo>Foa=;6I2q3Z5{X+v-C z$5&ZVLp_UENXvNF{;UYR@5;c|4ruodc?KMuQfI!YzdCf4zIx~@`Pr2N9Sqa$R3Fn5 z%34%00=y?G;L5A-dvE@Ixq5f8?e3TN1M7xO>|E2nI2=ioXVcBrw^4X073owg{8 zT2~*ewiH*VXZ2cQ$hf`#-IDY>&|Hf50r9)UKZ%z@Q9`B=;Th7^9J)g^JKmAKqJ9T< zZ8#g|=@eWn1n)&NG6s7<2l?{Gy7!Aakr#EM>~vFRfy{80+XIaYoV*p(#LP8`LULO$ zMJdmWH9ALpe{UR|C%!W)z$@^6glMM>Nm@h z+P@>#3_A87G_nTc98nct7<4~MO7054otpjDx;d}47JQ-NWJ~41-f&`d(3!u( zboi>S^F|ml^dLfly4#8YQ2Q0HTP3U80YRTAm;)PiSOzjPg_Y$zJJ#fj&|Le3)VK>x z2+n3Tj%8+kAIErvU1)MMs6Nd|+aeHf0@QTI5ZMNnt>Fg}{EpTA%YL#+Fz~*PG)^OM z@6qq_*3jJ^UKISXus7HZEhFHX7c=;71xrirG=m(y=ld#!}5s4LDJnhv=<4 zkFj;MPihoNDZV_s$&AlzY=+xQy5!^7>jqAyl|9?>qe}iWE~LopY_&WW!=XnA$vf_l zez;OV!*iu%p~ z1J;SL0-W@m)IFz8@L%vb+%&}1)OZJEPW|C>^YCtR6J&wwp0Ie3@ZorHPQC#Fe$vuD zti;|jY%-fk>pVjf&~wHkHNN^x9WA=BFVAP7hg0A}gM$e!rX0USnH%W)O(VE~0}&!* zTW}jU=IGU3e4gHngKeI-?W3bIoHWlQ?Kn<33!g=6j4QKxC3AQ&m|c108wod2Zf+}< zfq8-lp!YY&ivXs$Op~&#sQuYe`fq%ToCX}x$Qn)tphheIbmheI!zVE`XWhVol4;EK zsnZ^cO$f>sI>P>+zDp4L`>r)^uHP*qXPG0DCb)&M@EwG%A$rk zx7Oix8&CZUj@`j^zf~2~v1Kfcx)-R#ovB}7@Ycq(D)emL0@L`XzrO)a_@#7dS_3s& zFIRDG&$dwLdt$_*qep?7a~$%%ED1oS<;ABc_de&S18>AO3-T1ak@|dRHv{-23zxVK z@7j#hyrbG3C^2#R088(S70Z!TNzu1w`merWl|H3;&+hcyRj{*{3Xw!{{f%Kbasx4iWfurBf z4qmzy(O>+e=j{{hJV%8?>6P0-sK#gyr}q9Z^3(lv@r3+<>#|`&Qy~jVZ$}+LAESBg z7E}a8yc_~o9U=u7o^P7s=Mp>{>sDWI356Yv(vYVLG~Pu(G))?e>#dHb5$kFgJ%>s72ld!6Jj4S5^BqW#`CN7RU_Fad<9pHwCagtu{& z^nVWl#SW%Vt%;npJjfzRm=N(r2wub}h1G?@*{bqH*xf1&)w}h9YG;2R7LcQ!^;l?U zR!($kdtgLO=>f`3NoEVzCu4t)_*xwaSrBH71@GBE@iW;+ZYN(Kl7TGMd zW67c86mTKfJx|I&mG51RlEtd!Fuo=WX{~dNJxO8LaogX|Pg(|G=^#laeD-M?w} z!%{+*2Ue%LnxlvS5WHz9OS-#)iO$)=2G0cTpfjMnnRL7jov$>7PT4#tc46)T(lo3r zs?K5DM-I}DJre+^G?T<3jn|8Ii@iVDnzMN|jPN?7dR;sM=$)=yIeGHbBMF{O3qiBb zU{|@IrJMU2mi02c1mNIYZ{OzqS;F0{O>n_ZqS{Gl;wI<~I#Do9Ar*zJO?=@zAPvg; z=_35DWDyg#3`pa8vblv<{K5071km+sR#r+eYc^RJc9 zSO6MCrSLyL{N$MAR`gKCsg^zVjPfL(?y^gXboJRaVE|0T+-CjqV3R29+jd$04&=|x zq`^-0|6DMB{M*N_wQ~hsbdL^YbT4x$61VyawDEt*i_4L{=CCS1AMpk406P~Dq^LVf zt17;bgiFIV5~Ht>Z#$5ARutFElK?x$Hh zD99Y?r?}36AEiG^Sxo9e#OI{RG0~q=+|1Z>zdzxT3JBxa@^cq6>y7YMJEMdd*H!s; z4p8wJSk{3`-WdONX1Lrm;#@L!P)DRRI5D$GKj8ML$$yMH@p_*#t*;q5X0W5t2QNaG zv5a)e?YWA)UN2TunjG!k$L;#Qa&bQEjo}5gJtBML@@pJwdCZzm3&M&7&;Q)ZZe=B% z!A_kj7H$GYh>ySs@#D#Stt~I>6_H)o|B(a^XCb6f<)7Bm80{5@bbLN}a&W+LXV;$# zC)yjO?+5uiyAu`IaCG;XyuGo&80vNSc}TZH@0Jq$*=F0=z=v3{#rP*4xc;ybt5lS* zjYx(I3NaV-;oru^rnvy*-@MSpnR_d?ytd*g=A%~j69)T;JOX) z^som^^~YfMV$$=T9UlAR0$u$&%Yv*v7L&^aBWQpMC3g6+v*L3d(d}rkjlTghAB*Aq zWbwd3dtB9xven}W$i<^`aZQ#+WjiwzXgQ`bt=$UGpV~NMb5-8=QxGZUh!!S8^@z?l zrIKtfYr_DP5j7H4m>lZB<~Nlm3^YbvAAzK5pmCpnq7UIZw^Vvhq4mnq_^jXlc(uH< zVxl9}$(~6#e9V&`Y<YBF}X>^2*Ry0;-vNIW|*Ezy1&jbWKlk zWJFq_2a>j9y&&3+$JUSsksEwkCv;Ii{Iu7oUdZoo(3zPGl$5&{YH$6pmvQ@JGi8i# zoOYxjsk`hKy*z*RJt?5t4Jd`AbKm9`d{&L3dTETN^X^f;S*`4AOU78}-5 z{+bGNcvpEiA0moYQA~S0>72smaU(qPGoUI@oq8=bxbPS?aflPRrPv4n+$fQEP=+o1 ze7g{`IhDr-%pE0}t_esa4DU;%y*8HvX8NZ?Czk)VBxX)N+}SFiRmB5lYy)j=UFzM| z)|#hJZ}Tu{>KUZWVIW>MgbI`<@ zQR5oLo~JX#gRz&R>8u^bR2?Yb9>iPog5FuO7o(osM(Ka=WA7DD0}$?JeaQ8VZLo>A zFa9X-H8#f7IA-Z~KH=Jf>-x;%v8XZ+y&7Ha7;aawOr(2$nbQ?@;*S z-0y!j=Ze^vs}%{tLGNRfU+ns3hl|80X8-+#lwm3oofC76}XCACMlWKlGYd88-u z_a#*APz&LXz?=zUNRnf#y#g4MW`XJXL;KS)sm0^5Cb_||nofM>a&Aq*1=fvu|xj?uTIz*lhL}Mp4NsvQ5y>KUVTaiakw-#N^iw)ntc)Q6c1m%+m73A z`L}mN8NbwD&7ZZo8YY4o4b~Ig-ex+8Y=z6prtaaE-RE&)8qSLW@4N`N+pC71ZSnM; zp~_$#iB-Y|5I#l3>uo#fK8Tcq3NY4URN#5|QXT^VNpivii7a)4A_p1JIb6_Q@u_|r zzavH6VH(8?W?-x~_YyYUp{2jJz%yFI#P2q$@&FuH*E1dvDuNP_aqXr<@pK{p?^9r6 z1a1FKUj3M^dTfp80n`%P_Aa7>o0ZKmQ>Uk5fi^6C!>Qp}F&%#}W9Qg0@dagA|82^8 z8CUr-Hf_yGmC=hKD=pYtp6O6s03gm8o%~A@y3#z_ohIXfYYR{gl|G+jRC}LsQB@rW z0|-2mYrey;8gviaZs>dGWEe5=ZAWb!8knQaWBx-qQi?SueI%h!C~g081k`d}1XT-7 z((3N9!|dXAHI}EBeM%!?HKW7oRWs8{>UJ-9Z^uE9W8$gf#^A`<5$Y1tYHj8DG` zL|&L5(TT#KyD^64f3D5r98Np?V*jf*UFmUHQE%_D3A{ZTFl%(x)2@FgA-%`4Uznr; zq4Rotz4+QV5AvXfa(xL~>oLrYk+1|4mu%X&R7ba(Lo1}InVJP!>Vdfc`SlUq4dBd) zpZ;=eO$!guNs!T~6GgQ}pAJZPw%u)y2Dml<7V+udwQm0Z7R0Lq(=gt=gU{leP6od5 za(m4iI1yKV84Rq~G7wtE-N4DHAN&3OA|SK&cfc$WB3<+g&L#R%%NNN&a=zBRQPpeyfVmjbb%=)M_uNq3%BE7 zxQ_^3+heW1UEl0)>`seeJNqI@jTA8Y?&2BpMmfGIplzqX?cf}y|T^DBb{x?&Oh zaezuYymS$vJg63v&iS&8F_;C*V4%WY2d?YC4j<$MmG5Q#mrAwy$}3K_1wez<(QU7$ zc61CYbxDH`<+{H2yrDiHK8{-bXq89>j4@Rx@5xNi>NtO1=J+6N3p z>@YgNFd6iL1%3AMHHzs&b=a<}@-;8tm$gjw+p ztxp@5`q~OvWZ4|)EtDav{z~|zFZVSHpt!lGp7g|Qj#Pyn1*etei5sCp>>lpzD4)IjXlR`g>mI+^3gQb5`dC?&@q1qqTLK`$Mtzo zF1&(?{EL%!J(J)ye2x^q>i1iy7p8*sQr(bV$Hg(>5h0Yc8izbDEX-}GAkz?+J2l-HEdW&FN<9zU9gvOt9c zH+3fFj^DR$Kq`uK(HynGsI`a)t7ZOSlAcEPB!RJqJgO9S#bc9)+N@@Fi_%MPm+^(x zUg-n|l!Sh&K(+Vp1^g3Wi~S9#50@2TXHdu8cGw#*WL$KABaFhNycPc3rW3yN>U{;DI6jolq}pN`OS+C@{raIFTjAB7hSBkr4cpFi)tjN%Y(coJV# ze^V!M!!6qhE1n-#Zi-$2Qzid)e8loXMMIA6zD+Kwf7VD>OfrwM<=!KleqeD7Q#bDe z7IVNH98!l|8K@7~t*KyQ5n;KUe+eb&#{-2L(|@K8sB2p>bE6}(v*j>ni7nHE2=!m=w-@nd~*B6+vXRzBr7l_LXRel>EX&6_G zIB3mX0R?v2=^q>l`Y`D-P0l8~P6#^h{3yftFH<&Q_0uk}pPdMd@UQJXDnBoU*&Maz z4A;~5|?4VLX}fM1xv z*#)mOY0Pwdo(@hNSdV*@Q48I5V~i33=SP>rq33b` zu%$$^U3eM6&2&T=xOhT|164~=!i)=yifdTrxU%DUK*|})fz2RemSDM!c7$!1B*7(OPt%poC5$2PRkQfkXyK?uA>dSys`(p2+DE469o`r^w zxx5Q3f@>4{%*oILd^ZZ8M?`ZM<+{Dx38cqX-P*+&wEfEVD% zJgI(t_B75SA<>14m=Qw;ps+gq_?S!43h~1CA9B5D;kx;s@7wiB>64f-aBjY{+J z`qmN&v_?)4CFAK)QWbUn2RP^dU>h`7DtuAiHJji=`mV(31dSl$km-ngoFS~>(D{xMrW^9? zq7YDqmj^4f(m?-l_)vgZ)Cs_?pQ<#f@3J+?!yiM>O zIgsb9KcqY^X6RD=;J+Xbcqa>CJSC$y7sGp9f*GHOT@F4`3o_I`;J9eq3vc% z2u-l5z0Z$?ZY*c)SDe84If;%`ovL$pB|H4b+R(>E6A9inbsA8cz1EPtR|_pjbo*ms zzt=J}*dJAh5=XB=B=)>v4L`w>#h>T2+xvZ{rfQ|Ov!1hBG15{~!5dFzr^cSyV1e|* z6vT!r9%1V!VoWqHv0VW%{R=w1G!bCvlHg?LkP{R-T}K{dTa6WB=ymTlET6vkc*4id z#OHi!Z3G1O06Wf)R%n%u+dj(~SAUkswz#ROCHLx8LREN6b372JK4PFo0^7qyt!#K+85MS;dpoeJo>F0DN8Qrj|1^n`t z$}J~R8V;z;!1-TPiGzFBaM$w_0BHl*nu9w+N3gW_WQ@vz1SNYOVb)}inYhaDsQqah zP|XeNmbSaEi87ksx64tH&G<9M(ig$Eif)f8Iouks$YPIPF$(F>C$S6z6Uu7_rFLr@K~>bSt$xM1{W-gBvy0zKpdF6gsw-5$vQ& zT{pO*kPp9bGX&oGHuI_bX^SlBh2q6b(ChGm{9RHhKQ(Ln0RylD@T=9I*_fNgjGn;y zeG>YwtwL=xDgzHy#c_1-^|IBZS+Ai|VU)lclyIzP-E@>8_tl5mqoig@W-BYV;y(NW zvEzOo8+g$%l6B+A$&-JQHGxELgK-e+G<0LgquhPmKAeKDOQTy^!5M*_RTt&3(zy0^=mZ@%X-z8sQyTC_r}XMWpdMRyq7WVw|A#Sv0+Yd=07htb z_M73y2EvX#c#v+0g}r<^DSh_4@UT1drm=?hf<;>CG+Xd5Nw&z?(c9oDmDJ`URvBr5 z?iKt9yY$sO@P*-6An+XM$&D57sfoc-b|ONqc{Bu}>Ikm?yKbS?ORt4ddTuY+MqY;2 zgR2O+JrI>s*QTGTGt}Z2qC&`Id;IG2>s-6Hk9{LW%yK_yK5Tv-AkBOAtHOX|v7?t0 z<)LI6kZvx_eg=}EcBw9IRi|`6!hqNsE?U2yOrHnA4V*++RSF#G1AU`iKyHX{LlwCJ z=jIb2iCPh5cH3~dYjSU}#KohzD_Xc+6TEGi`38)%_gBs1kqWO1ln2}esSIF9tG5SE zmd1zZ7(dYEzJ05C#DB6pW_P_p;2;Tg)akS( z1d0KqE7bqN02(fvXmnbfsN_fOS2Tor%_le6LG%_JPFlAj?hOPJS)?R{j=dn!-^T<) zx1nCjDvrbB()?n@Ei1P4ozIlc4IX48%ylNY1Dz!*nw*;TTw5DI_a78}ev7>0M?f4H zTx4=f7GVZc?0HWS)Q=hVBt#O7k>9ru=AwTdu`OQN3Vn!~BQpDB97UJEPvbaw+9s~7 zikJ5@Ady4o_0~+!;|HS2`w#iNxp`Epn5rMXtDmMn1r5JXSd80}&jrNdkwu@#V3-IC z2(@5ox}CCczNf!x+J^&vDF}30x|7Xgz9h@j?0!=-r0dJ$%ahR~I9J_gtTZ!x1a`c8 zN1YG$SgWRO0$gJ+^Y~qi(9MJ5K$`&)kG_^IEL^Sf8aMN)$#92;O=9=V<>cXRL#?MQ zEWFW30M%#dO-Hsmj8-9W32)ARsoq*1ZnL8gye|=leFu59e+Due0@Lq}Kd+w# zQnxpAZ14%3HA3lDJjD){> z^M>v^CXL7QT%?^*1YyY&iNaPG7sKu`|x;4+m0agDD zx+^~`WfUV$+nzCcl%35DdHs09l^r>!xL-~V2?WBGHo zA^*mL`wngzG<;h?9)f@q@W#f_)w1iq&8}Rz;uTY?KB(XdF ziXL`{O`DXAHC}r09;y4`>Ng9|Sy0CI+-Ifcr9R60xt%IF<49>E(LlZhgLgb`jOeu8 zxzjycC<1__XA3x*13^A{kwY0=S69~sBVicXyXK%@Ht&I}z5b zEB2hc=1h?}mLY%W$~2}7F=pvckC(nDSqKp84J;U+y+HqbXq8O+e1=U?vHZ_+PMTjb zkGWUx$s?Rw!$j&|mK_A}(FnJMUV`P(&Ev$wgcZ8EP)u^4?8^#<$eT9}R##UWTpm7n zuwmdoSeoaPGxZK#VgmjhasyUEouJ7MxwYUcFljGSNbbKn88p{hKg9Kqf^mmlk;70`QIWR1d7n^3eN& znd`tq>0Cdyu{aVXiE+UWzu)f;s@8Q7>9R0}6>~*W4sR?BwSxUfY8x;LKzuhJ;+{u5 z4GklfeAtZ9i4d}VCHkfhAU}HG-#$s_s;|$wfrj&c6bYB|qexhyq(6`r?si&U?YtQY{a_o7H(d0;WNLbzFLmU$aCvmhfy1oDk z9B>ZLd-aOZ{Ha=^%BR`UdhI1F(WP&hxMXS@`Ya?rkPv}O%_ zU*Gt`kYlHbPl(}ve6C>ERF;mM)#WtXJWF^xgddEC?s z7rH`00!zRJBP6&4dVkkPaSfpiNZLO}QOLV`eQTZCtvU2xP$p!-J`I(6|2WV9>T(U} zT=2vaSDfTS!wnI7KuLxF=w6VYqH|+K8f-c7adB{i&B-Sa3OK#%K>pp=Ok}-j_b^}1@HGivryZAR>N*X@?lE*Dy%!o;U6cFJp4_PMC{0dASGUxIa?g?S z<42lsFR+0*&=^>DacJwBKO@!Zl2Ho>0r%hLH(D1;cWr;oF$&lc`7byDr+)edaLO5W z+ZQ`}Y~46`@SxZCS8UKY$bnE$Qd+I0fiiEv1Yu2DKi(HJdLy`%#kBP9Kvc9Hy4a(o84eDXMkQmZ34^s3>E|2_aa6y29KXSfk788T%ccS*y6AU zDf@T(!+gJyDkxPK3R@VQAk^utOX-IdnNT=&SrDvVGw_u?dLFgwp+LZtq>R!6bO%Gs(~tPw*jBH+=POWM)1^WHd@ri0yuEy zW-LgDc?mWlub(vs&F=3_WRber<0yUqRuh-@PZWs0VSs{yga1;=%P(SR9gp@IPDnxE zLJwa0z?!ps%G`X-K=SZ4!M%sP+(^_rRf5uB&6Kj{0$WRZMm7|yLMQ-%JhO&os+*DK z;=}Ipx9&thML+FBWtx0>I1cjVX6<1wWus%~0%!Zxcug=&AB^0t-Gzp6JoJH2Fy@HwAWF@-E*HGzF+{`Axzq_C&?}w*Tl+h^;ya+iWFC#) z3o3dWeNBMZ*|_TOr;Q5lA6DnjCxAv0W_4iY1;`k{6FodUCd%3+Tj?{!`>U3{#ZJOZ zOiZ9PU=3UPc{`wSlQ|+HV$af5MW7G0nzq;5iBDo%og2U6`Q0d#Z+v_6yWGmXxYy|p zdRFA;7&t2OMc;~l1x{t2N53a{B90i89Qm8vH@X&`XuYTe4R@m{qJ^%+aPGe`gul_w zcQJlp8`ehMbWHnd_h}DyDDwTvi)hMZC(t%mW5xz|<8#@s`i*?8pImOP^3z_qYXvJ~ zK|Cw_zNP%B|Km$1QT}nXFp8*|5L-R2?A(^d#tKwp1bGL<~_gtue-a%%?v`e;7r~**Af7kF+|LpB5 zU<$o2?w@XXMO>hTm1t?&n4P*USdnA-`gC~#Z!T5$?Q*>y>26Mz*cz+DqbK`h6i;n{ z#}##L=4!?xnTSMWet*nF2jA^o8cN~AAcOS1J5VGV{!D^-UrXUEms>a-k*~{;`CPE) z=`Ge^EVQ2uh^`G=g?sPZmBWzTucpViCPEjI()9e}#K@kzYWFGC|)N_hW&f)?2<{ zZD2S+E|&!@k5bSh)ky*e93Pd?Qn&w)<+Si@11v03wC1pDb8WCq6VQazX=OE2|HDRGgymtJTElEG21U4+JWIu1?qbHS zTdW5;o2UmXfI`K~6{`!~wC?go3SZ|726`?BIZvY$D zQe_4kWSNt0FoE~o`GCDgQVsFWNjp3?;6ges@ipDfhU~!NcNqZY;IA^ds;neO_8u=q z6IH)?WJpMxI#5xc&R$s#xo-M6b;T81cW>|EE+L_HszJ=f7GOS2YE72g#rs}rwCh4@ zd~HF!T>vEdkqdJZJNYw&K%CIQ1PB<@&WFA8s^OFdiKoUhz2Mz9h4hV`&#)GrP?-?soA9*)(uuXbiAccb z1ssO3m(!E~(jp@G`T2pkb$wnp*epUu_d@@Aj|O$^1KYpfwtD9n&{gs^z0HH>WD&U& z2bE3(^*j+NtgfW*+Mp02sn2)5cmV_@K#(O5Do~kma_SVg>W|R|!Dc2wyYNmlA zNVlgWXKBF;Fe?inMkO%v#(r~sip*U&I!yGAf(n5^a-Cg+Ut*E6dDEJQp;T*sllSIk z7t4G8?cy`gjSXLKG;RyqNHqXUowB9*KypfF=UKd5y=Mq@S@Si0$%Z`T*Vl-3b@HGk zT-dZ+XD=PrM`WJ6MbJGwXFfA zIhTF)%1Ird4{6zjgw9jTSeoR{0E3hIhq**+EU}RIWUAZ{Ixd6ot>(WLeV@Qnks@;k zN>l1gUvihmY8^)diI_$Ain=4kbcHxDm-A>M8n(-}(($DfT|+?x0IMyzXD81Phe4Z+ zae<+}2RC)D6&k%5(onzU0WWUseisJ^AXUY}!gn#7%6AKE*|&}8DI&$nzXuOi?SksI zhs5Dl+;<@hZYH2pnoaapZr0bd`IyM@c%pGmbf%3lPFU@v$5{R%74s%*p?fy+@}*P_ z%!z={I0Y*(6n=}!Vx<94_SdhU8DcW}P9`>w7ucv~#S|0IHwmB5cKlwgL?lXjjRlRhQ(i^LWGFS%n900-6^-*w>_S6oe!tj>qk496gz5K zWKaHk3(dLYVMUNBq!Ru(_T;%Aa4b zEtN0eULbRsSX94J@B@Q4_x)PCwwz4*(Yb=5s?^rf(}39HO5?J53fBRr|q2)q=;FgDODcQY%m^j1+1qaIkfz{KDp6=PdL+}5o9O;Q8 zJ*h6xT6~aNevjC_GFl_Z^?y-}_d)`v!vb?8nrK$Bg$5Db!2q<*Pr7%mK<6u6+R;%$ z=UU!9(_wRCQi0d#D&|T%Hd3;b514t^619zUy(R`Ys(u+=S0U3QEJI$>1C<=Y@{<1aa^ zo(9tD+1REXw_(!yJ6SsPTgU_n!7i%6XZJ83M^$NMy9C^<&-fMp4G{Ixj@!|pgr^>q zJcdYet(=kTrZgK{<5iOVf0jw`rY9eRly2}zi?qUeW1SdnT}LUD#3-~W19CeNiS6c9 z+1%s@ib6XiAC(eak}3YLm$;>JnFnQ_%gTE%8=A8V;d@ir?1)uOae;d}&dYUMIi=J&AZLyTbwE6vl97XLOE zQLDyB{c?}Elh#d#rmwR$$(?6h>BEj)BSs+?!V0uUid~mU!z)r^%3{DRzK8n7rM{01 z;$Yt|D5wCm{}Zmuf58^JTNwCs;|w9SGFj9}E9^?GuRUeZVJK`M5?mtI4jl8KF~>HJ zX65bpkOV$YSl(&NVCL&C8<=Q9S4-HQS%3wy3Bi75i&*KGxwz-O(l^e6rAuiMClypwxWGEuHvNZC%gPqei?SmlYd?Ri>`8MQZxJEb=z=5B)8q)0 z1M;TS>7{A_tNDDzGPAquG;3|`zXA-pl*9{shyYoHF(||8x5(^sjV6tK#6MXha~h0V zrci!dLWU6X)GlB|mpmwZz6*JFme<qIzpCoo#B}ru59DRwj_(FxxIdB?2>(c z`YOm;-ED%>(6Xp1@NV&zaCdvwFOZd0yk_>7YKrC!wZ!VY84>~yTtL8Ma`NQAUo@#_ z0Y6z{!Kv^mk9@Jb2pLoVg#1S}?FO~s%G+G&Q>Ryi|C<`=Efy1&RT}P>n>Q$2ri2ou zPIIhOVgwRdu$K#smN(bH|2%Fd4aQ6n zD(Y@TgLzJ7nTPLKH$Bh${l5L|?|J*}KiYTqa9!thuCYB( z=!xC6DL2{9qK(`%j{|jZ(AwrJ$-Ilw;$q7Csy)><8t5&ywsXyh9dr|%qS_;~s#H-i zqjSROW`I*Q**D%A-GngcK-|&Cb~#5{tCi~PAzq%Or_>68T|`-PcRZ7MQCVrFH>WI` zfNy*B{BF)@c^++FTRkqub@GHbX)%Qvw@M#Y^`pY=W?aw+%x1ptf5ir*dVI#{*`;HPJ3HCh5(>v z=H3b8(f0!_trnk2$scKyz`jbs1pbKSoVpWP71C&Z)c7u8=)Mcj2#LQ(j#lRC(hgB= zRjet8AO|OM6_gox^f!8WXuW*5TYKRs(9ufH5oM-X3oxE$$x2I=zwl-jC4Wv6{^XIH z^J?+p@{y=9Um_e=Giw=_tklMc6{os5gG@WT#L zpvNl(v=v)=S?HJ#=V;*!bTHLP(>Oc#*WA=ylKFP!m=WAYVe(~-vS&!7XXzA=q0{MK z_VA2`82GkGenC!uU(Owx^B0dcczGXnA)m1oRuW>)=}T}0AHS(%*Dn8WyV2t3<+wG{ z#fnau@Q+Q#q1H`hliso$pRix@O66Z!wlvf)vw20qjb$^B1il%;Q1o`MIQ|GR=W)Ty zcxHIHal2!eQ8lRN-O%Y{XLM0RHFnI}dS|f`+mh%b>|GPGmy#dB-CR~2?Efe2b>tmn z52G((_l>^x`(uCmwh+M_y^%L+vkxpuh;=b@*;hiB!oCK&iqV%~{G%^nxkldgw{QCx z>Bu|s#w~(E?V>vgF#R`I^N$yOX#cd)8`iov5(}|UMla_dujU^wdYfP6vXQ%!*u!4d zsV<|-j8eJ(Y6<`SwjC%P8o5mg9PX5m_?xAa;GD!Ux|kpTSbN;}hGohGG(T2HgY&nc z>&|SyvDT#dd$O!+k9BfNfOW6r^Z6r`L@@hCH@D@l=vdzCf~GSv^_CgUDUGdYk_jQi z!mRz$B@A9)FX%UY#mT|G&?NSUU(6d__G+EHfZ0;E)tgH)`4}xNtr_yptI=7NzpF@K zdAQf_)#F)u@#00t`ddC2ciG;)(yn%!+^y zuEj5?RQ@TrzFMcyYu9Qg6l8(B47zsBTfwc5VNx7gnztM|S-C!|=E+%3pV3EiQ4`H5 zJLC*g?C&)z{Al_ynB7Egz^HFwE*6+7)K zf=q?c%Tq;7P3>juLv%Z>{}9DH{JC|(ym=gR+ z>6wFh_3G7TP0bZgG;M7k*FDnRvSL>30)2(8$x9e}2n7z`ZN|-9bL{NEfGep%=$1*E z23l=qcV)kR?0;`}^!!DO#xkw-w*%*kiRHF+=-a(nqnl#C1Z}goWkg3rFnNJiA+~QAMHIJ?pWahu{2xDMwa$XiSY777xdS zVd^pq>6>3rFegKJr}xaH_fO`2M_=oMz3nxqp;YKwyf;Sw{B8BX_O1MXif#XcOKHiS zf*Ue{GH0wDZforg zE8H&UWQCr&($doWvu9s`3d)5p>Og=mS}U?`Y72x{TYjH`As<4Kk&&%m%))PZ3=iS@ zGKmRIv^3yDNiZxhc%7ZtwPkvTdwWiC^|}xC-GVH687A$K~ z`kG^(TA$u6j4}Aus2jcGrm~5NNr)X3Y7tGjHm-#l?d!zRz1`IlM$5@y=V7)C>%g~! z<4OI^&upMzJ9ll>)a?GDF;`g|I#vBG8Hua6&Euz; z9U#X~2M5m}T`xPn$k2}%Uy$a-DJPbedJMaP<4q~(udJ$)a%?rmJ|zQyQlp#UF8|@f z2R@I(hZS3%wWRy~x%~#`&fH&A{Qz-_Q(>T01-o)zxBE4R$C4exhU6IzeZjk|v8|}8 z1ZzSv5B@VUM$_pdrK#)SP?u|-v37P&xmTJ=-I!;Zhlhsx3oKAGh892av{Hk(C(Sw{ zA+Y(7NL0`y%7wwl5I`>g;(W1 zkylU<#YWD(tf_E*ck~XEUq3$A7e89?mriT|2zbf;Psd~OgBo_TO_^JFMV1%uwE(L_ zrKwH|-S-Tht)KTDoX$LNCW_qWwAUb%ACJT^@TH5xOZ-k6mYKGZvi#=Pgwy))9C zw`|$O*z~?*Ax#<@8uS}@ZccCTm~+vCSPOQVI@tA1H~yHQudgqv{U$y&FPh}h|E(;} zu5O1b>KAbRK6Pem-3J`)8w)2A%MRI&m~|*fx6D{!vexC8e<>2J7aW&eH0Xcf!lvuX z4O+W1hG!=yC%=64>N)Bi1Vlvq!sK0Ot5ZotzH2m$=xk4qTqMxv4nW&Mbsw z_i?)n8TB~E_19;e;8kWjlKb;pTKd@p?480#2i4_<2RanGFPaMDNre`@Ghblj_Uo#d z?4zAKcb50ce|ytt-S_0m^gmtb2}au1y!M{@xu&{$uDEz!$G|{uhc3>Y>ul!s#PkJ* z$@Lem`f@EiJP^IAD_)6*zu3AW?JW5ro2uMkX;Yp*HNyi?(sB#p1DYFyhra|(#I&L3 zg!=94-b0m4^t}A~GjIQdu_c{?DHl)cD#x)(Nlm;BQjL zJ}qWi{V%LL@nf2=pPv9Gz`!ZJGLMxwKVx|G7=dLTV2DePv}O!#I>W znI(^+&3)8JKXrJhpWuYOh{Dz_TUH+by87cOCj?GIgC-8Di`kewDOz!>*HUJ@WvtKQ z(@mIxz%btu@h~;JTd_+HnVODm;y!_y3g{`MdWL)APAF}m@-BsT%g|+-_s1oE6e#4# zcYi;F04KWjnq=F6oMm#2kj2-h_X?_~p`pLBp`j?e#Lf(Nx7Z>?nKP(rLY!T*cq|jY z&aT!`aF6QsKM-&oeZ_#AsYiR5Ti3qW))ncz;qHA)L_G%DJQb}pG$xcfR!x*^dok6q zHpI-j>*v0o-;<}pet&&280ugtc592FICkq$85@r-pP)F@vw+&a->^y-Zu%Opa^S%H z$4{O-f_9DxHboy^v?2nlXlV%`tZ^~LNjA5mbu3rLWWQqVs^B5{|7Cu@3dFS&&r~;T zKN|}Ra2XWdh8U9xhu;PWQVxfg9kR-d)`Jv7)Rgh`{X*cXqJKaM#QO*PR{i{zIGKJN zqmWuVKWbk8l7SIO=Pq2xxw2%peV_w|Hee~&)`wRiDw`@?-wUmhqOsT9hZxJVq00%6 ztTonSkQWtHs#~`3kmUkg_ANUQH`3c-`6hBhbc?Mvwzjr%m$iL z!sLWe_QgAd4ky^R@dfE{7U%r^C9hvDzA5h_v}n;HsKSq$ySK|%9Eu2+fm5Xti%Ft# z=cprh@Jf!UV%u7KO=PGL4)Ys&JUH3dfyZ26@5v!Vt#^r5MkpT1G+(Tw ztv!ug&bAQgsDfRdRIh+(HmL~)7)lc0#>fPQ2M3=6EQ>vksY^4~+1_Dw3knHc+cy?P ze-q%Zc^$`Z!e%2dM1c|>Y!i&Q?Tt)X{Yf26#~JhE^ZmLBe;vb=A2_i3FHg*L-KDU^ zaZVkFX?Vt6!?ctlb2$H88dsyPU}a$;8RjwM1f*Jp2=xMf-W!QRmDhB`OlYr`j&8Wc zOw>NEgpZJe$q!s7P=Y4qVNnqEo4$I*W(>^?lxrW~*WD5*@6r{qD{2cn)Id6gkGi^V zuO;e^l3=3m<4jaANU8F1{&E#WaSq0Fi`$5!Fg)Qn@@6hZI zH>H`__V(rmmu2_NYI_b8xL=jn^X}em@mLK}!s{WsG4r6r{LQNqjfHG4*F|W0?u|b1ETz?bOvhhy6Kk`SQ1` zYNO#@3@>Y-rT^@f)Q(By+)>q4gq4wkbW7DnGb#+yNibI)+W$ulFVP1FcEcBlt#i^rjGZs6W zwvlUJL$u@YU^j({B14ynn3VMb=Go97zw%%%pDQ9x@EUU=R782}7`X}F-}^9&Kpdc! z$%oWgok-|TYd6C)tup#7G7mfk6td?Wslq;7t!S%LN0@GjpHsNJtKRK zO>O7dpJ;i3LUMccE5p2ddmqk3v7k5RcFje}ta`w#=Rgfq)*Cy4FZNmU`tY;~3cb}+ zvnSMYPZssxc!s+IE3!tCVP3b6m)hVCmra#ggpBaqbkkkeQ9|I5`s^Z>%NPYyrp|86 z7TzKF`{v{XfVoN-m@0}sQ5Ad+p>aI6>?WT{voX?=wLn6G2aduKo%&Nb9pJ$TJOCk4 zy)g!=Wj;2|kHg5Gg3xtS>1_jTc{b&l9Qol6fWcuW)LAz-_>2>EM1}5HM~v!`SK&kC zJK-};-=!%YQ#;Pp$)f5;a=J$avdsD=LHC5+cCdX*%8P%oG1}>>twJN5&HtWE_$S)t zebmCgBHbd+p5<~yI(2tf6b~wx0x?_Ys-h|TBEZUI{tUolUK57-J*u0WG8QQ+&Y3LN zN;Natm1AnKm;Og4C~I3_9+S+C{k{pYE<;K?1}j3Qzj^z1^72v`MFJ1ep3A-&bYDJ( z(GHZp(WDQA91$P^4u-;sMV2Ci*-i20MU_2mRRMwwRqia)OPIT0!I`od5=FE*fR0Qs zGK4N$V$WYMZm@}BG%-wsW06Ev7>q0ryW#>Wl?|n3G%hWC@#016H|3gA)R-`fy&l7R zwRw+TNqHz1;k#RR$&sR%*{G&DgUTkFI{{F%7No^%uBLxVb+kjO^78Tyww6Dq8^spE zBPQT-Cn~DJP!my`HYqN59&(OL3!Mya;9JvsDtTG)pYCd9e^lQ8?Bwy-s?hZ(c)Yy4 zQgTk;k4fRdv?FyGG)5o!sQ64GfZu}}CHd^}`x7kAlUWkS()nKfeTIhzjf+CvBA~1| zO@Zs|w0Bo|rG<1wjD33sk#|tBynhROMUXNDidZH+Z%GG*Ks$0?zO>K^L;tDbJ0jrj zlWPAkXBaBRqfr$7upW_?v~E#wF@6B36~O$Pw`@UMK108Pf^DdZPS_S4zWV4CGJOfck~mgvC(KZ~Xq`=^s`g*n6Ud|x*@%{)=~cL1D#M5EaWh9sQr6H6o^#^| zy`}(XwZdIpn}C62=@8Hdjx+wAWP{vQ6;(Xkd^0?O`Q~rf z@NJbn)te$ZD5E^Kt@vP|un-4%_wVlgO^he<7#_RYf{Mft$q=}GHUAl>C@DWYvPzu# zO&pjzHhJEvRa3z~`RkbX78!Y5Kna-urOk#eO>0qSP&}l60 zD9p{_XYnZ!tJL?qcB06PAGxsiiu4{%#GozonbMnE$axj2gQYKkke6!b2TangzsX3XpTvC!OlX=sj^wn=Vw|81a^>ZX}_E!V_ z{Z)~Y!=w948`SXf@DNRhJSl1$uL}VV3Np6?6|zFt*`c@Z9Fyvo7a32O=~Y8VRW3y5 zfQFCJ*F(;>B8v3@73S+3ftf-8c^9oYhq7WY3qcDfPzh@LD{+D^T%ElxzkYZjMT1q` zf;AZqH+^|B4)3T3M-$ThCQSa@)FF-tq#ASFIt36GC%Vja9qO%n`R2_gOUoFuV$Kmt z`l5ik3qxrh)wexNEcL}z%|o&bcm1KH8=#el8?a(#7Q>z#V^)F!9RRsWgo-sd4(*5g z1z}4n2wSP8l#~}2>t7JNsB87mrW11tHlZM<*cjZ0DG}c5UG*y&<4$b^#vd1|kFc zFfqT572f^FnDT3Smd~+HZHPe5P0!r=Px8%C_-_6Ucuos7@p!BUX&z!g8SsGgw}l$Y zmX^zbNBlr=;IP6x096{}2f9JZ^1G~DU;XWr@MY4{A6n{IFJCGhI_Hi0?NmO{DhQ>Tn23tq#O%i zO?Wg}_}*5eIJe=*Q^KR-;^GP<7-AF(AKoaE;H26>cni7b`g*QM-bapwk?*UG-_Vje zm4=hnfojGq6qiS4EKy`9jfNjFpp^hCae{={GhU4lw$+y#MCn_TDt(s*p?r<0FN!q^ zaYH?4S{UY3j3a-CX{m#}8AE+bcZA8Ezj9^TK!c{o>4h4OHCJ^~yNnVoXNS4AYe*WU z&jLBI35m~pAW}@5nnFd!D~*}Gv4$4_0y!AMaY$9i;SfO{I0~D-&ZD&PagwMw(P|Dz zS{qcqn*fl~2G+jPZUag+uqOXHg%w%1zSTbpANrBqTQ_84j?+OH*pb2q!iV;$;osli zQW-Z*P_P0XzuUho9N_}?AO%?0`SZ(E>?5K$>GP=cCLRmkCEHhUX=;EG5;{bXs1$iVVr7|NcWK3zQk z=tOHu)9)zB2MOGjDvpaK&xKnQ06rr({^hZ0@nch7id&E#j>-eye3ET-KAAk&peC!dc|jhs-;q?ylJGgc^{z zWQFsMy3aF_KT|;ho@9?Ee0p>@#b$W?Y$P1SZy@V^Ug$Mzoh=u_%-T_(qodflrbz!x z)Yj{fI2K*Tq}+iQ`j5cQfK#%YsYiYMP%q1)5@pIgn7~Jj(|BSS5#*p)9qU&ntSPv3 zFISC9Aj}wOWB_A*%;0ipm>rHe?2OtXh>JTf!>+rjpJH-voG0uQX50og`v9n$uqMU9 z&Z(k~!oVv6=Nc;S0DYbknxnv4@Q)?8qdCQUZ#)OQ6NR4j10d)8vw5L zT4nauF#+3$57oP3SY(VwoID@<4cT1}4l4u&1$ky=DU)+RK>h#H)q9GXgED>1PICk``cx2B*`6gnkI|{%1DEtK1c~pR{e1jA z(=6Q0yUe|RB8~yYvy?=T$iY(_zy_Zob$}~CRGx=H&|ONW9RV#Ik59+3Jf8;-BxC1s z$UAo`VPy$ARRDP#_G^a93Lr1f0=sh&n-um^0X=FHKrPL5LuSgsQ0fLHV*Y$(k54N5 z_s=wR`}JA6!UJ9h-dzM^E`71U5qIy7CmM+rCQtd1zlh8vfL%;_%cCfbqc(@k%v7$K zJ}`Jjv=y#9q6D~W=-jZV#Lf-#`Of+IjbSMH4%pCKo_P7U7@nsa#$^o|lH{pBw}qTWELgC9 z{mjHt=cT~L-XJN~+iDTlEIu&iHP@*phu*|D zn>nJf{`39mfZ-&9A_}++CL(+SphjS_tZAtXwx?##INIH=NF$KAtoeD0P6sTIk(mza zJbZP{My0^xGBgRlJG2;?M~{!rw99{rnz+Il8^@_^hX#{dO)Z*{{uqF#A9tqMh{^v z%$LS*ohX}%Ep|UPeI^r!34XDn{G+RM>hWqW#2#*FUYW-eOZL{rgS@Cua1CE)$BjtU z_Vr}RiK1RP7U1}KI15$>faiCQ;X%NtCuW6i3`JGaW$ar@X9FXuA3iKbDi?8Ib>SW` zyEXQKM!LGXhXp;cU!kSEF&8|A8PjyCAVJ=@p(Fc1VzajJd{gr3!H`s&8NrX zqx28a>(>86%Q@{`%1`GxNZf{I1uUzC>{Scf(|?X)X=~WpqaReer7m8kWrD2j$YX%B zvFZrTFfngvY3(D8jrJH{+si?mf+41iKF~{?L@ph~IJjs+Hk6yeFGzHR{r`zGwDC<**ix_E@ff2h} zA?CQN|HOuU=3=6X*ymB8;t+)oRsh=TG$L*ZYhpHNl4Dz>*)Yfs6KIe1AEPIe2#ze= z7%`=%rz-Ffa-3`zpq?T!XU22ilfzE6I&*D5Kw6g{D;p0sAz#ISZGCq+r{lQ!@`q|8 zd%j}v>BP~>nY)#!f3a5Ew$0yc(iyT291{cX%>hg3Xvh96HF5T(b6AdW(-3*e++>)! z81W2ev?jEd-E|D+tt&fjwDRcvB2T;js)EM;ydVRcCT*f4VCu-8_ELIxjRWGKM2dYw z)`pn*8dFHerObph1%j#w62Gw+j{%1?Mh~WRF<+Rj+6d|lo$$co2}hJf~Lq5 z7$tC8bXxr9*LYsiUa|WxynMMCUAEP@34`d>p`L?OiO@O<+3=VdSF8URF;+CYzIUW7 zU0y9v^a6+zbru$4BJr-UhFmbAZP*ARP>Ix&zp$6$ZX~&rb?byl0-~_6WcQy8bC?y@ z;w;iS6|pBCAYaPYYG_5T!H#Xv?Oxd?S+yEG~uDNg+j?4PJlZm{Q%B zr$?vKpjB+L_HUbGkaW%P<`X8>T>IXxv54}voju6691*Rw(wtAYcD#{UynJ~s?}}98 zo)+b#rqSalp0AP2rE)eRg_LJ?V~U1}WdUMU9N3UMckUR2L;x|v#Z=eU9snpOTcV^1 znnb&vY7L$6S_uh06+Cv#tYJE1jeM1+F_X~1QXH0>G)oqcfcuIc^@c%r80maF23em- z`d)2q?ZbLVdLf``DqUKbE!9jy2iPPp%n>KCxxOqz5g?8vLOPrU{!AI9E|Fk0qZu4^Y(!R_P^+HIC6o{3Aq54+Y=kHOTHTq$(H^CCUI4A-YSs$}e4d zf7>Zz_!XMY-HL;~Scwv;X8aT}sdV?onGEq|h$4B4Lv54!gr&KNbpk{qbnBd3>Sw(H zdOSfexC@BglN9>u7l4>02S7YG=82m3*IIl}5+Hi!V{~9q7Xr(C8JWawjUMoYE8(g! z(flBU5UT2;ErslX@FmA!1m$CBJ%D;aq$$jvL)V-cG8bqOt6c}9!`-v+B+?R0 z&CII6(T!z*#nigpaBx&N!9ti4_|(o1TPY7m2MB-Ijxq8*N(PA91#`6kVjDaZ;|b+} z(wLq~zZEM1h*)g|Y7te5#7n9RbD<vHV4<3?fm;Zlr~3^k+A}@f2HXQy#;8?GI4MMOzS|TD0<&7 zVW@)%P9ARFx|QVKv;dHYzkyx?FT=zgdNqX-Bw)N8aBWny@$|@h&S5n2IMLmLk`7d& zoI^;A0Fx%`()FP3>-|0V4?km!)#rBCfwRd2#XpIm-UGcOx!Ae-T@nn}{lA&*H3fL2(J5JC|L6+nJ~DP$vIS!cigGc9-8ee#%OMJ$ZT zeZ_s(P~-#;8hacOGRSma_cI~OksU$95vY(!Sh(Rw`{~D$2Vu8Ky|p)}R0Kao8ePie zdnLB{%i#L{GJAQ3R*cfPN9G^i-j0~v-|}J*Jt)|+uF}4STM-eS9(v174rffp7E?vo zO!MZ9$5C8h9#ik!vsI&(xKGt7z2{%3EAro{i`zAfvSWy&NdWlofNCWTQnVd12 zDP!+LmTV|CQ?RS$1G=h;Z%S#5u^Sj7d`yT83M?fhZC0-rz5Us30#*dnRk+#Ec&SHq z&^_~We!GGiQ3jPy>Y&t67R5whBT~uR#*G~0VDehX2==5a8D*E{{y$>r=yh>LzoDvt1PjGV|j(@n|Gs>i&!im32p|pj{M;4 zdXRp#yE z1Xap_{(ep>Kir5@SE7qYOj_4|3IWW@QBKQ4Pr?(iz?nzw7#J-DA79;G1xkgG!M-51 znOHgG*u~ErtVYquzpJz*66gOe$^PG$bN{ZJr2{~teAd5