jeanpierreaubry
Hello!
Thank you for the clarification! After reading about the POURSUITE feature, I reviewed and modified the way I perform post-processing in my simulation.
Regarding my question, my intention is to analyze different frequency bands without needing to restart the simulation from the beginning. The main challenge in my simulation is that within the frequency range of interest, there is a considerable number of vibration modes.
To address this, I developed a script to sweep through the frequencies as shown below:
freqs = (7.0, 410.0) # Frequencies of interest (initial and final) in Hz
n_steps = 3 # Number of steps between the initial and final frequencies
dfreq = (freqs[1] - freqs[0]) / n_steps # Frequency step
for i in range(n_steps + 1): # loop through n_steps + 1 to include the end frequency
freq_low = freqs[0] + i * dfreq
freq_high = freqs[0] + (i + 1) * dfreq if i < n_steps else freqs[1]
# Ensure that freq_low and freq_high are not the same before calling CALC_MODES
if freq_low != freq_high:
modes = CALC_MODES(CALC_FREQ=_F(FREQ=(freq_low, freq_high)),
MATR_MASS=M,
MATR_RIGI=K,
OPTION='BANDE',
SOLVEUR_MODAL=_F(METHODE='TRI_DIAG',
MODE_RIGIDE='NON'),
TYPE_RESU='DYNAMIQUE',
VERI_MODE=_F(STOP_ERREUR='NON'))
# Save the results
unit = 8
main_path = 'main/path/to/folder'
file_name = f'/modes_band_{i + 1}.dat'
DEFI_FICHIER(ACTION='ASSOCIER',
FICHIER=main_path + file_name,
UNITE=unit)
IMPR_RESU(FORMAT='RESULTAT',
RESU=_F(RESULTAT=modes),
UNITE=unit)
Thank you for your contributions; you have helped me a lot.