YouTube-simulations/Parameters.md

133 lines
6.0 KiB
Markdown
Raw Normal View History

2021-07-27 18:56:02 +02:00
### Parameter values for YouTube simulations ###
Created by **Nils Berglund** and optimized by **Marco Mancini**
C code for videos on YouTube Channel https://www.youtube.com/c/NilsBerglund
Below are parameter values used for different simulations, as well as initial conditions used in
function animation. Some simulations use variants of the published code. The list is going to be
2021-08-01 11:22:13 +02:00
updated gradually. For older simulations, see files `Parameters_July21.md` etc.
2021-07-27 18:56:02 +02:00
2021-07-29 19:02:34 +02:00
2021-09-01 17:13:34 +02:00
### 1 September 21 - A parabolic resonating cavity ###
2021-08-21 15:48:14 +02:00
**Program:** `wave_billiard.c`
2021-09-01 17:13:34 +02:00
**Initial condition in function `animation()`:** `init_wave(-LAMBDA, 0.0, phi, psi, xy_in);`
**In `init_wave()`:** `if ((xy_in[i][j])||(TWOSPEEDS)) phi[i][j] = 0.2*exp(-dist2/0.001)*cos(-sqrt(dist2)/0.01)`
2021-08-21 15:48:14 +02:00
```
#define MOVIE 1 /* set to 1 to generate movie */
2021-09-01 17:13:34 +02:00
#define DOUBLE_MOVIE 0 /* set to 1 to produce movies for wave height and energy simultaneously */
2021-08-21 15:48:14 +02:00
/* General geometrical parameters */
#define WINWIDTH 1280 /* window width */
#define WINHEIGHT 720 /* window height */
#define NX 1280 /* number of grid points on x axis */
#define NY 720 /* number of grid points on y axis */
#define XMIN -2.0
#define XMAX 2.0 /* x interval */
#define YMIN -1.125
#define YMAX 1.125 /* y interval for 9/16 aspect ratio */
#define JULIA_SCALE 1.0 /* scaling for Julia sets */
/* Choice of the billiard table */
2021-09-01 17:13:34 +02:00
#define B_DOMAIN 19 /* choice of domain shape, see list in global_pdes.c */
2021-08-21 15:48:14 +02:00
2021-09-01 17:13:34 +02:00
#define CIRCLE_PATTERN 8 /* pattern of circles, see list in global_pdes.c */
2021-08-21 15:48:14 +02:00
#define P_PERCOL 0.25 /* probability of having a circle in C_RAND_PERCOL arrangement */
#define NPOISSON 300 /* number of points for Poisson C_RAND_POISSON arrangement */
2021-09-01 17:13:34 +02:00
#define LAMBDA 0.0 /* parameter controlling the dimensions of domain */
#define MU 1.25 /* parameter controlling the dimensions of domain */
2021-08-21 15:48:14 +02:00
#define NPOLY 3 /* number of sides of polygon */
#define APOLY 1.0 /* angle by which to turn polygon, in units of Pi/2 */
#define MDEPTH 4 /* depth of computation of Menger gasket */
#define MRATIO 3 /* ratio defining Menger gasket */
#define MANDELLEVEL 1000 /* iteration level for Mandelbrot set */
#define MANDELLIMIT 10.0 /* limit value for approximation of Mandelbrot set */
#define FOCI 1 /* set to 1 to draw focal points of ellipse */
#define NGRIDX 16 /* number of grid point for grid of disks */
#define NGRIDY 20 /* number of grid point for grid of disks */
/* You can add more billiard tables by adapting the functions */
/* xy_in_billiard and draw_billiard below */
/* Physical parameters of wave equation */
#define TWOSPEEDS 0 /* set to 1 to replace hardcore boundary by medium with different speed */
#define OSCILLATE_LEFT 0 /* set to 1 to add oscilating boundary condition on the left */
#define OSCILLATE_TOPBOT 0 /* set to 1 to enforce a planar wave on top and bottom boundary */
#define OMEGA 0.002 /* frequency of periodic excitation */
#define AMPLITUDE 1.0 /* amplitude of periodic excitation */
#define COURANT 0.02 /* Courant number */
#define COURANTB 0.01 /* Courant number in medium B */
#define GAMMA 0.0 /* damping factor in wave equation */
#define GAMMAB 1.0e-6 /* damping factor in wave equation */
#define GAMMA_SIDES 1.0e-4 /* damping factor on boundary */
2021-09-01 17:13:34 +02:00
#define GAMMA_TOPBOT 1.0e-7 /* damping factor on boundary */
2021-08-21 15:48:14 +02:00
#define KAPPA 0.0 /* "elasticity" term enforcing oscillations */
#define KAPPA_SIDES 5.0e-4 /* "elasticity" term on absorbing boundary */
#define KAPPA_TOPBOT 0.0 /* "elasticity" term on absorbing boundary */
/* The Courant number is given by c*DT/DX, where DT is the time step and DX the lattice spacing */
/* The physical damping coefficient is given by GAMMA/(DT)^2 */
/* Increasing COURANT speeds up the simulation, but decreases accuracy */
/* For similar wave forms, COURANT^2*GAMMA should be kept constant */
/* Boundary conditions, see list in global_pdes.c */
#define B_COND 2
/* Parameters for length and speed of simulation */
2021-09-01 17:13:34 +02:00
#define NSTEPS 5000 /* number of frames of movie */
2021-08-21 15:48:14 +02:00
#define NVID 25 /* number of iterations between images displayed on screen */
#define NSEG 100 /* number of segments of boundary */
2021-09-01 17:13:34 +02:00
#define INITIAL_TIME 0 /* time after which to start saving frames */
2021-08-21 15:48:14 +02:00
#define BOUNDARY_WIDTH 2 /* width of billiard boundary */
2021-09-01 17:13:34 +02:00
#define PAUSE 1000 /* number of frames after which to pause */
2021-08-21 15:48:14 +02:00
#define PSLEEP 1 /* sleep time during pause */
#define SLEEP1 1 /* initial sleeping time */
2021-09-01 17:13:34 +02:00
#define SLEEP2 1 /* final sleeping time */
#define MID_FRAMES 20 /* number of still frames between parts of two-part movie */
#define END_FRAMES 100 /* number of still frames at end of movie */
2021-08-21 15:48:14 +02:00
/* Plot type, see list in global_pdes.c */
#define PLOT 1
2021-09-01 17:13:34 +02:00
#define PLOT_B 0 /* plot type for second movie */
2021-08-21 15:48:14 +02:00
/* Color schemes */
#define BLACK 1 /* background */
#define COLOR_SCHEME 1 /* choice of color scheme, see list in global_pdes.c */
#define SCALE 0 /* set to 1 to adjust color scheme to variance of field */
#define SLOPE 1.0 /* sensitivity of color on wave amplitude */
#define ATTENUATION 0.0 /* exponential attenuation coefficient of contrast with time */
#define E_SCALE 500.0 /* scaling factor for energy representation */
#define COLORHUE 260 /* initial hue of water color for scheme C_LUM */
#define COLORDRIFT 0.0 /* how much the color hue drifts during the whole simulation */
#define LUMMEAN 0.5 /* amplitude of luminosity variation for scheme C_LUM */
#define LUMAMP 0.3 /* amplitude of luminosity variation for scheme C_LUM */
#define HUEMEAN 220.0 /* mean value of hue for color scheme C_HUE */
#define HUEAMP -220.0 /* amplitude of variation of hue for color scheme C_HUE */
/* For debugging purposes only */
#define FLOOR 0 /* set to 1 to limit wave amplitude to VMAX */
#define VMAX 10.0 /* max value of wave amplitude */
```