Extract real and imaginary displacement in cyclic symmetry analysis
I have a cyclic symmetry analysis model and would like to extract the real and imaginary nodal displacements. Is this possible?
Best Answer
-
There is no way to do this using the GUI in MAPDL.
The only way to retrieve the desired results is by identifying the base and duplicate sectors' nodes and extracting the respective displacements.
You must first make sure that the duplicate sector exists, and then input the following script:
ALLSEL, ALL !Reset selection !----------SET NODE RANGE FOR BASE AND DUPLICATE SECTOR---------- nBaseStart = NDNEXT(0) !Select the first node after index 0 (base) nDuplStart = NNEAR(nBaseStart) !Select node nearest to nBaseStart (duplicate) nBaseEnd = nDuplStart-nBaseStart !End node for base sector *GET, nDuplEnd, NODE, 0, COUNT !End node for duplicate sector !----------VERIFY THAT THE BASE AND DUPLICATE SECTORS' NODES HAVE A 1-1 RELATIONSHIP---------- nTotalperSector = nBaseEnd *DIM, coordBase, ARRAY, nTotalperSector, 6 *VGET, coordBase(1,1), NODE, nBaseStart, LOC, X *VGET, coordBase(1,2), NODE, nDuplStart, LOC, X *VGET, coordBase(1,3), NODE, nBaseStart, LOC, Y *VGET, coordBase(1,4), NODE, nDuplStart, LOC, Y *VGET, coordBase(1,5), NODE, nBaseStart, LOC, Z *VGET, coordBase(1,6), NODE, nDuplStart, LOC, Z *DO, i, 1, 3, 1 *DO, j, 1, nTotalperSector, 1 *IF, coordBase(j, 2*i-1), NE, coordBase(j, 2*i), THEN *MSG, ERROR Node relationship between base and duplicate sector is not 1-1. %/& Possible solutions: %/& 1. Make sure a duplicate sector exists. %/& 2. Delete duplicate sector and re-solve. *ENDIF *ENDDO *ENDDO !----------SPECIFY BASE SECTOR'S NODES AND ELEMENTS---------- NSEL, S, NODE, , 1, nBaseEnd !Select nodes of base sector CM, nBase, NODE !Create component from selected nodes ESLN !Select elements associated with base sector nodes CM, eBase, ELEM !Create component from selected elements ALLSEL, ALL !Reset selection !----------SPECIFY DUPLICATE SECTOR'S NODES AND ELEMENTS---------- CMSEL, U, nBase !Select nodes of duplicate sector CM, nDupl, NODE !Create component from selected nodes ESLN !Select elements associated with duplicate sector nodes CM, eDupl, ELEM !Create component from selected elements ALLSEL, ALL !Reset selection !----------GET DISPLACEMENT RESULTS FOR BASE SECTOR---------- *DIM, dispBase, ARRAY, nBaseEnd, 3 *VGET, dispBase(1,1), NODE, nBaseStart, U, X *VGET, dispBase(1,2), NODE, nBaseStart, U, Y *VGET, dispBase(1,3), NODE, nBaseStart, U, Z !----------GET DISPLACEMENT RESULTS FOR DUPLICATE SECTOR---------- *DIM, dispDupl, ARRAY, nDuplEnd-nBaseEnd, 3 *VGET, dispDupl(1,1), NODE, nDuplStart, U, X *VGET, dispDupl(1,2), NODE, nDuplStart, U, Y *VGET, dispDupl(1,3), NODE, nDuplStart, U, Z
This will result in the creation of two arrays - dispBase and dispDupl - containing the displacements for each sector.
The base and duplicate sectors correspond to the real and imaginary parts respectively.
0
Answers
-
I am trying to do something similar. I'm a bit confused on which result sets should be loaded. Should the base and duplicate results be retrieved from the same result set? Or should the base be loaded for the first set of the couplet, and the imaginary from the second? (Cyclic symmetry solutions typically generate a couplet of result sets per frequency)
Thanks!
0 -
@ChrisC, the results for the real and imaginary sector are stored in the same result set. The distinction between real and imaginary is done at the nodal level. Once the two nodal sets have been defined, you can retrieve results for each of them separately (real and imaginary).
0