User Forum of Software BASEMENT

BASEMENT
Basic Simulation Environment for computation of environmental flow and natural hazard simulation
Laboratory of Hydraulics, Hydrology and Glaciology (VAW)
ETH Zurich
Basement_Logo

You are not logged in.

#1 2016-06-16 07:33:15

sebastiana
User
Registered: 2016-06-14
Posts: 7

Too high computation time

Hi all,

I am trying to model the lowest stretch of the river Saltina of Valais (southwestern Swiss Alps) in a 1D model with sediment transport. I want to reproduce a specific event with a duration of 100 hrs and a known hydrograph, and sediment input hydrograph.
My problem is that the simulation is very very slow, almost impossible to perform. I let it run over the weekend on my computer (which is arguably not a supermachine, but I dont have a better one...) and the simulation progressed to about 20% during these more than 48 hours.
My question: what can I change such that the simulation becomes faster?
For example, I wonder about things like: Would it help if I have more cross sections? I have 108 cross sections in 3 km of river reach, the maximum distance between two of them is about 120 m and of course many are much closer, to represent topography changes. I also have some correction works (steps), most notably one cascade of 7 m. Is it necessary to put an internal boundary there? Also, I wonder what numerical parameters would be most helpful to fine-tune in order to increase the performance most significantly. I am calculating upwind-explicit - not fully my choice but choosing implicit makes basement collapse immediately. I set the precision to 0.01 m2, which I do not consider too low, but I have little experience - is it acutally too low for the described case?

Thank you for any answers.

Last edited by sebastiana (2016-06-16 07:33:44)

Offline

#2 2016-06-16 08:31:06

Matteo Facchini
Developer
From: Trento
Registered: 2014-09-05
Posts: 281

Re: Too high computation time

Hi sebastiana,

thanks for your post!

First of all do not increase the number of cross sections: the more you have, the slower your simulation will be.
Second, I would not add an internal boundary on steps. Of course the presence of steps makes your simulation a little bit cumbersome, but there is no need for internal boundaries.
Third, can you provide us an example of bmc and bmg files, i.e. your set up and your geometry? The precision is dependent on your gemoetry, we cannot say a lot about that without seeing your geometry file.

Some pieces of advice:
1) have you added the PARALLEL block to your DOMAIN? If yes: how many cores (threads) are you using? I would reccomend you to use the larger amount of threads your computer is able to use.
2) how many grain classes have you defined in your simulation? The more grain classes you have, the slower the simulation will be.
3) what about the parameters you have set in the TIMESTEP block? What is your CFL? Keep it as high as possible (of course below 1.0).
4) what are your outputs? If you choose very small timesteps for your outputs your simulation will be slower.
5) in case you did not do it already, consider to do our tutorials in order to learn how to efficiently run simulations in BASEMENT

Cheers,
Matteo

Offline

#3 2016-06-16 10:31:11

sebastiana
User
Registered: 2016-06-14
Posts: 7

Re: Too high computation time

Hi Matteo,

many thanks for your quick answer.

1) no, I have not tried that, but if you recommend so, I will try that out! Thanks
2) I have defined 10 grain size classes. I have a grain size distribution curve, which I would like not to simplify too much. Do you think that 10 classes are critical?
3) I have set CFL = 0.9, maximum time step 900
4) output time step 1800 (the total lengt of the simulation is 514800 seconds)

I will be glad to send you my bmg / bmc files (well... in case those hints of yours do not already resolve the problem anyways wink ), how do you want me to provide them? I could use ETH polybox)

Thanks again
sebastiana

Offline

#4 2016-07-05 16:27:04

Matteo Facchini
Developer
From: Trento
Registered: 2014-09-05
Posts: 281

Re: Too high computation time

Hi sebastiana,

you can upload your file on some cloud and send the link to me, either here or as private message.

1) Generally speaking, performing simulations on more than one thread (if your computer has more than one core) will speed up the process.
2) 10 classes are a good number, together with a long domain discretized with a very fine mesh will slow down your simulations a lot. Again, I don't know how many elements you have and how big your domain is, so I cannot say much about this.
3) sounds fine
4) fine as well.

Cheers,
Matteo

Offline

Board footer

Powered by FluxBB