142 lines
3.5 KiB
Plaintext
142 lines
3.5 KiB
Plaintext
! Commands inserted into this file will be executed immediately after the ANSYS /POST1 command.
|
|
|
|
! Active UNIT system in Workbench when this object was created: Metric (m, kg, N, s, V, A)
|
|
! NOTE: Any data that requires units (such as mass) is assumed to be in the consistent solver unit system.
|
|
! See Solving Units in the help system for more information.
|
|
|
|
/com,*** Begin of /post26 output macro ***
|
|
|
|
!! macro calculates the vector sum of node accelerations of harmonics
|
|
!! Prerequisits:
|
|
!! 1.) Configure: Analysis Settings -> Solution Data Management ->
|
|
!! Save MAPDL Database: yes
|
|
!! 2.) Create Named Selection of one mesh node: SensorNode
|
|
|
|
!! Output:
|
|
!! graph and result file
|
|
|
|
/post26
|
|
|
|
resume
|
|
!! we need more than 10 /post26 variables here !!
|
|
numvar,20
|
|
|
|
nsel,s,,,SensorNode
|
|
NN = Ndnext(0)
|
|
|
|
Ux = 2 $ Uy = 3 $ Uz = 4
|
|
|
|
nsol,Ux,NN,U,x, DisplX ! Get x-deflection data
|
|
nsol,Uy,NN,U,y, DisplY
|
|
nsol,Uz,NN,U,z, DisplZ
|
|
!! above are complex displacements if damping or phase shifted loads
|
|
|
|
!! acceleration is only valid for transient runs, not harmonics!
|
|
!! NSOL,2,NN,acc,x, Ax ! Get x-acceleration data
|
|
!! NSOL,3,NN,acc,y, Ay
|
|
!! NSOL,4,NN,acc,z, Az
|
|
|
|
!! velocity
|
|
Pi=acos(-1)
|
|
!! get velocity
|
|
Vx = 5 $ Vy = 6 $ Vz = 7
|
|
!! complex scaling, needs to be applied after each operation
|
|
cfact,0,2*Pi,1,0
|
|
prod,Vx,1,Ux,,VeloX
|
|
cfact,0,2*Pi,1,0
|
|
prod,Vy,1,Uy,,VeloY
|
|
cfact,0,2*Pi,1,0
|
|
prod,Vz,1,Uz,,VeloZ
|
|
|
|
Ax = 8 $ Ay = 9 $ Az = 10
|
|
cfact,0,2*Pi,1,0
|
|
prod,Ax,1,Vx,,AcelX
|
|
cfact,0,2*Pi,1,0
|
|
prod,Ay,1,Vy,,AcelY
|
|
cfact,0,2*Pi,1,0
|
|
prod,Az,1,Vz,,AcelZ
|
|
|
|
!! calculate the vector sum
|
|
|
|
!! REALVAR,3,2,,,REAL2 ! Variable 3 is real part of variable 2, name = REAL2
|
|
!! IMAGIN,4,2,,,IMAG2 ! Variable 4 is imaginary part
|
|
|
|
AxAx = 11 $ AyAy = 12 $ AzAz = 13
|
|
prod,AxAx,Ax,Ax
|
|
prod,AyAy,Ay,Ay
|
|
Prod,AzAz,Az,Az
|
|
AsumAsum = 14
|
|
add,AsumAsum,AxAx,AyAy,AzAz,Asum2
|
|
!! had to write a name in above add otherwise it was confused with
|
|
!! Asum below! I consider this as a serious bug in apdl!
|
|
Asum = 15
|
|
sqrt,Asum,AsumAsum,,,AccelSum
|
|
|
|
!! QUOT,5,3,4 ! Fractions
|
|
!! ATAN,7,5,,,PHASE2 ! Variable 7 is the phase angle
|
|
|
|
!! display of result
|
|
!! toggle output of result representation with plcplx
|
|
plcplx,0
|
|
!! 0 — Amplitude, the default.
|
|
!! 1 — Phase angle.
|
|
!! 2 — Real part.
|
|
!! 3 — Imaginary part.
|
|
|
|
!! invert image background colour
|
|
/RGB,INDEX,100,100,100, 0
|
|
!! /RGB,INDEX, 80, 80, 80,13
|
|
!! /RGB,INDEX, 60, 60, 60,14
|
|
/RGB,INDEX, 0, 0, 0,15
|
|
|
|
/grid,1
|
|
|
|
/title,Displacement Components over Frequency
|
|
/axlab,x,Frequency in Hz
|
|
/axlab,y,Displacement in m
|
|
/show,png
|
|
plvar,Ux,Uy,uz
|
|
/show,close
|
|
|
|
/title,Velocity Components over Frequency
|
|
!! /axlab,x,Frequency in Hz
|
|
/axlab,y,Velocity in m/s
|
|
/show,png
|
|
plvar,Vx,Vy,Vz
|
|
/show,close
|
|
|
|
/title,Acceleration Components over Frequency
|
|
!! /axlab,x,Frequency in Hz
|
|
/axlab,y,Acceleration m/s^2
|
|
/show,png
|
|
plvar,Ax,Ay,Az
|
|
/show,close
|
|
|
|
/title,Acceleration Vector Sum Amplitude over Frequency
|
|
/show,png
|
|
plvar,Ax,Ay,Az,Asum
|
|
/show,close
|
|
|
|
!! output of variables into file
|
|
*GET,Size,VARI,,NSETS
|
|
*dim,Freq,arry,Size
|
|
*dim,ACC,array,Size ! Create array parameter
|
|
vget,Freq(1),1 ! Store freq data of variable into array
|
|
vget,ACC(1),Asum ! Store freq data of variable into array
|
|
!! overwriting existing file!
|
|
*cfopen,acceleration_sum,txt
|
|
!! The units are dependent of Workbench settings!!!!
|
|
Strg='Freq. in Hz, Acceleration in m/s^2'
|
|
*vwrite,Strg
|
|
%S
|
|
*VWRITE,Freq(1),ACC(1) ! Write array in given format to file
|
|
%G %G
|
|
*CFCLOSE
|
|
|
|
store,MERGE
|
|
!! switch back to /post1
|
|
/post1
|
|
allsel
|
|
|
|
/com,*** post 26 output...done ***
|
|
!! ++++++++++++++++++++++++++++++ |