# This file is part of the Snoopy code. # # Snoopy code is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # Snoopy code is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with the Snoopy code. If not, see . # Example of a Snoopy configuration file configname = "SBI configuration"; physics: // Physics parameters { boxsize = (1.0, 1.0, 0.1); // Box length in X, Y and Z reynolds = 400000.0; // Reynolds number (actully the inverse of the viscosity) reynolds_magnetic = 1.0; // Magnetic Reynolds number (actully the inverse of the resistivity). Used only when MHD is on reynolds_thermic = 4000.0; // Thermal Reynolds number (actully the inverse of the thermal diffusivity). Used only when Boussinesq is on brunt_vaissala_squared = -0.01; // Brunt Vaissala frequency squared. Used only when Boussinesq is on omega = 0.666666666666666; // Vertical rotation rate (if Shear=1, Keplerian if found for 2.0/3.0). Used only when WITH_ROTATION is on shear = 1.0; // Shear rate. Used only when WITH_SHEAR is on. omega_shear = 0.0; // Pulsation of time dependant shear. Used only when both WITH_SHEAR and TIME_DEPENDANT_SHEAR are on. }; //------------------------------------------------------------------------------------------------------------------------- code: // code parameters { cfl = 1.5; // CFL safety factor. Should be smaller than sqrt(3) for RK3 to be stable. safety_source = 0.2; // Safety factor for SHEAR, Coriolis and Boussinesq terms (should be ~0.2 for accuracy) t_initial = 0.0; // Initial time of the simulation t_final = 1000.0; // Simulation will stop if it reaches this time max_t_elapsed = 1e30; // Maximum elapsed time (in hours). Will stop after this elapsed time if t_final is not reached. interface_check = 5; // Number of loops between two checks for a user input. On slow filesystems, increase this number interface_output_file = true; // Set to true to force interface outputs to a file instead of displaying them */ force_symmetries = false; // Uncomment to enforce spectral symmetries and mean flow to zero. Useful when N^2 or kappa^2 < 0. (see enforce_symm() ) symmetries_step = 20; // Number of loops between which the symmetries are enforced. Should be around ~20 for Boussinesq convection. antialiasing = true; // 2/3 Antialisaing rule. Could be removed if you assume is unimportant (untested feature). restart = false; // set to true to restart from a dump file. If no dump file is found, this option has no effect. }; //------------------------------------------------------------------------------------------------------------------------- output: // output parameters { timevar_step = 0.1; // Time between two outputs in the timevar file snapshot_step = 1.0; // Time between two snapshot outputs dump_step = 1.0; // Time between two restart dump outputs (restart dump are erased) vtk_output = true; // Use VTK legacy files for output instead of raw binaries (useful with paraview) fortran_output_order = false; // If vtk_output is disabled, the code will output binary in C-major order. Uncomment this to get outputs in FORTRAN-major order (doesn't work with MPI) pressure = true; // Output the pressure field in the 3D snapshots vorticity = true; }; //------------------------------------------------------------------------------------------------------------------------- init: // Initial conditions parameters { large_scale_2D_noise: // Init a large scale random noise down to cut_length */ { enable = true; // set this to true to enable large scale noise amplitude = 0.07; // noise amplitude cut_length = 0.33; // Wavelength over which the noise is applied }; };