I am working on levee failure analysis. For that , I am performing multiple
simulation on a levee model by changing the boundary conditions and time series
in each simulation. I have 20,000 such simulation criteria. The model I have
considered is an unsaturated model in a transient state. I am using Python to
generate boundary conditions and time series, run the simulation, save the
required results, and then reset the model by deleting boundary conditions and
time series. I am using SAMG equation solver. I have tried with both settings,
in which I kept the threads for matrix assembly and matrix solving to default
and also changed it to single threaded, but the results were not significant; it
changed only for 15-20 seconds. For performing one simulation, it's taking a lot
of time; for example, for a single simulation, it's taking 4-5 minutes. It will
not be possible to perform all 20,000 simulations if it takes this much time.
How can I reduce the computational time so that I can achieve the required
results?