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 2018-01-31 07:27:58

dazzle
User
Registered: 2015-05-07
Posts: 9

BASEMENT 2.7 Crash when using Restart (sediment transport)

Hi there,

I'm trying to set up a bedload transport simulation using a restart file.
The original calculation was aborted after approx. 940 seconds due to instabilities. Because I have set the restart_time_step to 60 seconds, I wanted to restart the simulation from timestep 900s. The command window does not show an error, but everytime I click on RUN Basement crashes shortly after. The generated ERR-file is empty, and the LOG-file is missing the timestep and output module (those are the last two modules in my input file and basement probably crashes before it has finished writing the LOG-file).

Because it is a time consuming simulation, I want to avoid starting from 0s again.
This is the first time I have used the restart function. Here is the input for the calculation:

--------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------
// BASEMENT file
// generated by BASEview
//---------------------------------------------------
PROJECT {
    title  = TEST
    author = DPo
    date   = 2018/01/29
}
DOMAIN {
    PARALLEL {
        number_threads = 7
    }
    PHYSICAL_PROPERTIES {
        gravity   = 9.81
        viscosity = 1e-006
        rho_fluid = 1000
    }
    BASEPLANE_2D {
        region_name = test
        GEOMETRY {
            type = 2dm
            file = mesh.2dm
            STRINGDEF {
                name               = Inflow_1_strg
                node_ids           = (10          15          21          28          36)
                upstream_direction = right
            }
            STRINGDEF {
                name               = Outflow_strg
                node_ids           = (1011        1010        1009        1091        1175        1174         1090        1089        1088        1078        1000         927          926        1002        1003        1082        1004         921          849         848         847         780         779         720          719         785         718         717         716         666          665         663         737         802         793         726          652         583         519         476         461         501          555         619         618         629         628         564          562         560         504         463         450         451          482         532         533         489         452         454          429         408         410         409         390         389          374         373         359         358         345         332          331)
                upstream_direction = right
            }
            STRINGDEF {
                name               = Inflow_2_Strg
                node_ids           = (5584        5618        5648        5673        5698        5722         5744        5763        5784        5810        5837        5865         5891        5914        5937        5954        5969        5982         5996        6007)
                upstream_direction = right
            }
            STRINGDEF {
                name               = Control_3
                node_ids           = (1956        2039        2120        2198        2274        2347         2418        2484        2555        2630        2695)
                upstream_direction = right
            }
            STRINGDEF {
                name               = Control_4
                node_ids           = (1187        1270        1272        1188        1265        1264         1263        1262        1348        1426        1505        1591         1590        1680        1676        1677        1587        1586         1585        1588        1502        1512        1514        1602         1516        1437        1452        1533        1532        1619         1707        1625        1536        1535        1534        1541         1459        1380        1292        1209        1124        1123         1051        1137        1138        1224        1222        1221         1220        1303        1390        1389        1469        1553         1470        1400        1480        1479        1481        1403         1321)
                upstream_direction = right
            }
        }
        HYDRAULICS {
            PARAMETER {
                riemann_solver      = exact
                simulation_scheme   = exp
                minimum_water_depth = 0.01
            }
            FRICTION {
                type             = strickler
                default_friction = 25
                wall_friction    = off
                input_type       = index_table
                index            = (1 2 3 10)
                friction         = (25 55 35 55)
            }
            BOUNDARY {
                name           = Inflow_1_bdy
                string_name    = Inflow_1_strg
                type           = hydrograph
                slope          = 10
                file           = inflow_45cms.dat
                weighting_type = area
            }
            BOUNDARY {
                name        = Outflow_bdy
                type        = zero_gradient
                string_name = Outflow_strg
            }
            INITIAL {
                type                  = continue
                file                  = CALC_0-900s.cgns
                restart_solution_time = 900.000
            }
            BOUNDARY {
                name           = Inflow_2_bdy
                string_name    = Inflow_2_Strg
                type           = hydrograph
                slope          = 1
                file           = inflow_2.dat
                weighting_type = conveyance
            }
        }
        MORPHOLOGY {
            PARAMETER {
                porosity                 = 35
                density                  = 2650
                control_volume_type      = constant
                control_volume_thickness = 0.15
            }
            BEDMATERIAL {
                GRAIN_CLASS {
                    diameters = (0.06 0.2 0.63 2 6.3 20 63 100)
                }
                MIXTURE {
                    name            = Creekbed
                    volume_fraction = (6 3 4 8 14 21 26 18)
                }
                MIXTURE {
                    name            = other
                    volume_fraction = (0 0 0 0 0 0 0 100)
                }
                SOIL_DEF {
                    name = Creekbed_soil
                    LAYER {
                        mixture          = Creekbed
                        bottom_elevation = -15
                    }
                }
                SOIL_DEF {
                    name              = other_soil
                    tau_erosion_start = 999999999
                    LAYER {
                        mixture          = other
                        bottom_elevation = -0.000001
                    }
                }
                SOIL_ASSIGNMENT {
                    index = (1 2 3 10)
                    soil  = (Creekbed_soil other_soil other_soil other_soil)
                    type  = index_table
                }
            }
            INITIAL {
                type = continue
                file = CALC_0-900s.cgns
            }
            BEDLOAD {
                FORMULA {
                    bedload_formula = mpm_multi
                    bedload_factor  = 0.5
                    bedforms_type   = mpm_bedforms
                }
                PARAMETER {
                    limit_bedload_wetted           = off
                    use_cell_averaged_bedload_flux = off
                }
                DIRECTION {
                    lateral_transport_type   = lateral_bed_slope
                    lateral_index            = (1)
                    lateral_transport_factor = 2.05
                }
                BOUNDARY {
                    type        = IODown
                    string_name = Outflow_strg
                }
                BOUNDARY {
                    name        = Sed_Inflow_2
                    type        = sediment_discharge
                    string_name = Inflow_2_Strg
                    mixture     = other
                    file        = sed_inflow_2.dat
                }
            }
            GRAVITATIONAL_TRANSPORT {
                index                      = (1)
                angle_failure_dry          = (40)
                angle_failure_wetted       = (35)
                angle_failure_deposited    = (35)
                gravity_transport_on_cells = fully wetted
                angle_wetted_criterion     = fully_wetted
                min_changed_volume         = 0.025
                max_iterations             = 7
                cycle_step                 = 5
                max_delta_z                = 0.001
            }
        }
        TIMESTEP {
            CFL            = 0.95
            total_run_time = 6300
            start_time     = 900
        }
        OUTPUT {
            console_time_step = 60
            restart_time_step = 60
            SPECIAL_OUTPUT {
                type             = BASEviz
                output_time_step = 5
            }
            SPECIAL_OUTPUT {
                type             = node_centered
                output_time_step = 60
                values           = (depth velocity wse friction deltaz)
                format           = sms
            }
            SPECIAL_OUTPUT {
                stringdef_values = (Q wse u Qsed)
                type             = stringdef_history
                output_time_step = 60
                stringdefs       = (Outflow_strg Control_3 Control_4)
            }
        }
    }
}


--------------------------------------------------------------------------------------------------------------------


I hope maybe someone can locate the error.

Best
David

Offline

#2 2018-01-31 09:55:49

Lukas Vonwiller
Developer
Registered: 2014-09-04
Posts: 127

Re: BASEMENT 2.7 Crash when using Restart (sediment transport)

Hi David

This is a known issue when restarting from both hydraulics and morphology (mainly on Windows). We tried to fix this bug already several times, but no success. There seems to be a problem with the external third party library CGNS, which is used to read and write cgns-files for restart. Maybe this problem will be solved in the next release, as we will update all 3rd party libraries and provide a 64-bit version also for Windows.

However, a possible workaround for now could be:

  • Sometimes it works after trying a couple of times (easier when starting Basement from the console)

  • Copy and rename the restart file, e.g. for restarting the morphology, mainly to avoid using exactly the same file

  • Use a different restart_solution_time for morphology and hydraulics. You could produce another hydraulic restart file with a short restart of a purely hydraulic simulation (e.g. simulation of 1 second)

I hope this helps and would appreciate a feedback of a successful workaround!

Best, Lukas

Offline

#3 2018-01-31 11:13:28

dazzle
User
Registered: 2015-05-07
Posts: 9

Re: BASEMENT 2.7 Crash when using Restart (sediment transport)

Hi Lukas,

thank you for your reply and your suggestions.
I'm afraid BASEMENT still won't start the calculation.

You mention that this is a known issue mainly on windows - do you think I could use files from the old/aborted simulation - run on a Windows 10 machine - and restart the simulation on a Linux/Ubuntu PC?

Best
David

Offline

#4 2018-01-31 11:15:39

Lukas Vonwiller
Developer
Registered: 2014-09-04
Posts: 127

Re: BASEMENT 2.7 Crash when using Restart (sediment transport)

Hi David, yes sure this should work!
Best, Lukas

Offline

Board footer

Powered by FluxBB