- Clone repo to desired directory:
git clone https://github.com/alexxior/fem-muffler.git .
- Run Bash & go to master directory
- 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)
- 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
runmuffler.sh
will run next Octave script./scripts/optimize.m
to obtain muffler optimization in CCI experimental design and interpolate sweeped data- 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
- 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.
- rewrite Octave scripts to Python 3.8 with Matplotlib & Numpy, because of no full interpolation & optimization in Octave