I am trying to use dispersion curve computation tools (call dispersion_curve_init, call dispersion_curve_rayleigh) in a parallel (multiple instances) Fortran 90 code. Before this, I managed to compile and succesfuly run the example - main.f without issues on a single core

However, once I compile and run the multi-core one, I get the following warning "Only one instance of Application or ApplicationCore is allowed", and the program crashes.

Normally call dispersion_curve_rayleigh is re-entrant and thus thread-safecall dispersion_curve_init cannot be called several times (e.g. by several threads).Can you try putting the init function before forking your multiple threads?