Skip to content

alexxior/fem-muffler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fem-muffler

Universal FEM model and optimization for acoustic muffler

Project for MiNPwA MES
Requirements: Linux, Elmer CSC, Octave

Syntax & steps:

  1. Clone repo to desired directory: git clone https://github.com/alexxior/fem-muffler.git .
  2. Run Bash & go to master directory
  3. Run main script with parameters as steps for x1(m), x2(m), f(Hz) and choice flag between CCI design & sweeped data method: ./runmuffler.sh [x1_step] [x2_step] [freq_step] [CCI|SWEEP](2xbool flag)
  4. Script will run all simulations to calculate Total Insertion Loss in desired frequency band - ILtot (dB),
    the pressure values in 4 points near outlet for each frequency are located in ./output/:
    • /cci-tlumik.txt /sweep-tlumik.txt - for muffler
    • /cci-plaski.txt /sweep-plaski.txt - for flat waveguide
  5. runmuffler.sh will run next Octave script ./scripts/optimize.m to obtain muffler optimization in CCI experimental design and interpolate sweeped data
  6. FEM process and optimized muffler parameters will be printed & saved in ./output/Optimum.txt
    • To only show precalculated data do not append flags in parameters.
    • To only show precalculated optimized muffler charateristics run octave ./scripts/optILchar.m
    • To calculate & show precise Insertion Loss characteristics - IL(f) for new optimized muffler run ./optimized.sh
  7. If you want to compute FEM simulation for discretized sweeped data paralelly (faster, for multicore processors) just run ./runmuffler.sh in smaller range parameter chunks in different Linux consoles.

Aims for the future:

  • rewrite Octave scripts to Python 3.8 with Matplotlib & Numpy, because of no full interpolation & optimization in Octave