HiFiLES / HiFiLES-solver

High Fidelity Large Eddy Simulation Solver
Other
171 stars 131 forks source link

Terminate called after throwing an instance of 'std::bad_alloc' #131

Open rafarohit opened 7 years ago

rafarohit commented 7 years ago

Upon executing HiFiLES, during the Flux Reconstruction Preprocessing, I find the following error (as in picture attached). Could I know what the problem means or where in the src folder I can locate std::bad_alloc? screenshot from 2016-09-28 12-43-30

JacobCrabill commented 7 years ago

std::bad_alloc means the code tried to allocate memory for an array, and the allocation failed. This could be due to either requesting a negative array size, or requesting more memory than is available. I would suggest checking that you aren't running out of memory first (open up system monitor to easily check while it's running).

One possible cause may be that something is wrong with your mesh or input options, and that the code is entering some unforseen state. Another cause could just be that you need to recompile (make clean && make).

rafarohit commented 7 years ago

I can understand running out of memory. The mesh file is ~270MB. You suggested opening system memory, could you elaborate on how I can invoke that?

Furthermore, I am not sure if having the axis system defined at the center of the mesh has anything to do with the error. This means the scenario is I have inflow through a face perpendicular to the X axis on the -ve side of the axis and outflow out a face perpendicular to the X axis on the +ve side.

rafarohit commented 7 years ago

Well, I ran system memory as I was running HiFiLES. THe memory used was over 2 GiBs which was 25% of CPU and priority was normal. Is there any indication to suggest I am running out of memory? Thanks.