# 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 = "Default Snoopy configuration file"; physics: // Physics parameters { boxsize = (1.0, 1.0, 1.0); // Box length in X, Y and Z reynolds = 1.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 = 1.0; // Thermal Reynolds number, or Peclet number (actully the inverse of the thermal diffusivity). Used only when Boussinesq is on reynolds_Braginskii = 1.0; // Braginskii viscosity-based Reynolds number (inverse of nu_B) brunt_vaissala_squared = 0.0; // Brunt Vaissala frequency squared. Used only when Boussinesq is on omega = 0.0; // Vertical rotation rate (if Shear=1, Keplerian if found for 2.0/3.0). Used only when WITH_ROTATION is on shear = 0.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. }; //------------------------------------------------------------------------------------------------------------------------- particles: // Test particles parameters. Only used when WITH_PARTICLES is enabled. { n = 1000; // Total number of test particles mass = 1.0; // Particles mass stime = 1.0; // Particles stopping time }; //------------------------------------------------------------------------------------------------------------------------- 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 = 1.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 = false; // 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 = 1.0; // 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) timevar_vars = ( "t","ev","em","vxmax","vxmin","vymax","vymin","vzmax","vzmin","vxvy", "bxmax","bxmin","bymax","bymin","bzmax","bzmin","bxby", "dmin","dmax","dvxvy", "thmax","thmin","thvx","thvz","w2","j2","hm" ); vorticity = false; // Output the vorticity field in the 3D snapshots }; //------------------------------------------------------------------------------------------------------------------------- init: // Initial conditions parameters { vortex: // Add a 2D Kida vortex in the box. Assumes S=1. Requires b>a { enable = false; // Set this to true to enable the vortex a = 1.0; // x dimension of the vortex b = 2.0; // y dimension of the vortex }; large_scale_noise: // Init a large scale random noise down to cut_length */ { enable = false; // set this to true to enable large scale noise amplitude = 0.0; // noise amplitude cut_length = 0.0; // Wavelength over which the noise is applied }; large_scale_2D_noise: // Init a large scale random 2D (x,y) noise down to cut_length */ { enable = false; // set this to true to enable large scale 2D noise amplitude = 0.0; // noise amplitude cut_length = 0.0; // Wavelength over which the noise is applied }; white_noise: // Init a random noise at all scales { enable = false; // set this to true to enable white noise amplitude = 0.0; // noise amplitude }; mean_field: // Force the mean magnetic field to a given value. { enable = false; // Set this to true to enable mean field bx0 = 0.0; // Mean magnetic field in the x direction by0 = 0.0; // Mean magnetic field in the y direction bz0 = 0.0; // Mean magnetic field in the z direction }; spatial_structure = false; // set this to true to init a user_defined spatial structure (see initflow.c) dump = false; // set this to true to use a dump file as an initial condition (this is NOT a restart option!) bench = false; // set this to true to init a benchmark initial condition. };