Skip to main content

Posts

Showing posts from August, 2017

Harmonic MSUP Using the Multiple SOLVE Method

Triangle Wave by Fourier Series*
In the Ansys APDL documentation of Mode-Superposition Harmonic Analysis and other Verification Manual documentation (e.g. VM76VM149), only load step file method was described. Personally, I favor Multiple Solve Method instead because you can vary the loads for different frequencies. This could come in handy for different loads at various engine orders or rotating unbalance force. Or say if you have the Fourier coefficients of the periodic force of irregular form (e.g. triangle wave), the steady state response can be computed.

The APDL script below replicates VM183 but uses the Multiple Solve Method. Do let me know if you could recommend ways to improve the script.

Script
!!   Modified from VM183 to use Multiple SOLVE Method
!!   Results should be identical to VM183
! Author: Sze Kwan (Jason) Cheah
! Modified: August 27, 2017
! Disclaimer: Use at own risk!

/PREP7
ANTYPE, MODAL        ! MODE - FREQUENCY ANALYSIS
MODOPT, LANB,2,,,     
ET,1,COMBIN40,,,2    …

Text List of Named Selections

PADT's script on writing out named selections to a text file in the ACT Console did not work for me when I copied-and-pasted it into the ACT console. Perhaps it was meant to be used with Linux OS? I tweaked the code a little for my Windows 10, Ansys WB 18.1. Here's my take:

a = ExtAPI.DataModel.AnalysisList[0]  #Get the first Analysis if multiple are present
workingdir = a.WorkingDir
path = workingdir.split("\\")

#Put the output file in the "user_files" directory for the project.
slashes = '\\'
userdir = slashes.join(path[:len(path)-4])+'\\user_files'

#Use the name of the system in case the snippet is
#used on multiple independent systems in the project.
system_name=a.Name
system_name.replace(' ','_')
model = ExtAPI.DataModel.Project.Model
nsels = model.NamedSelections  #Get the list of Named Selections

if nsels:
    f = open("%s\\%s_named_selections_checked.txt"%(userdir,system_name), "w")
for child in nsels.Children:
  …

Craig Bampton Method

In a previous post, the Craig-Bampton (CB) substructuring method was used in Ansys to simplify a part for reuse. To learn more about what Ansys does in the background, I did some reading up. Here are some good resources:

Resources
Original Paper link
FEMCI general description: link
My Go-to Primer link
Tom Irvine's tutorial papers and Matlab scripts link

Octave/Matlab Scripts
Inspired by Tom's Matlab script, I coded a script to condense two 'random' bodies, keep only 10 modes of each body with 3 nodal interface points between them. The 'random' bodies are positive definite matrix that is generated randomly for each run to represent two mass and stiffness matrices. Running the script again would generate a different system and different plots.

Here are the links to the two Octave/Matlab scripts used to create the plots below:
Master Script: Random2PartsCB.m  link  (run this one)
Slave Script: CraigBampton.m  link

A run of the script may yield something like Figur…

SpaceClaim is Awesome

From the title, you could infer my feelings towards this nifty tool offered by Ansys. There are some who are still sticking to DesignModeler as their cleanup tool of choice. To those, I would implore you to give SpaceClaim a try. I believe the reason why some hold back from switching is due to the sunk cost fallacy. Learning DesignModeler has been such a significant learning commitment that giving it up becomes difficult.

A little known fact: the software could be accessed for free without feature restriction for personal education via the Ansys Student. Say you get an IGES file and it only imports as surfaces. You could stitch it together to create a solid, then save it as a STL file. Same as DesignModeler, SpaceClaim plays nice inside Ansys Workbench.

After going through the tutorials, here are my top tips I find useful:
1. Navigation - Alternative 2
I was tired of the indentation on my finger as I use the middle mouse button (MMB). My preference is Alternative 2 which uses the Right…