Add files via upload

This commit is contained in:
nilsberglund-orleans
2022-02-05 18:44:39 +01:00
committed by GitHub
parent 8c1b829612
commit aba47ae0cc
17 changed files with 2566 additions and 373 deletions

View File

@@ -36,15 +36,21 @@
#define I_COULOMB 0 /* Coulomb force */
#define I_LENNARD_JONES 1 /* Lennard-Jones force */
#define I_LJ_DIRECTIONAL 2 /* Lennard-Jones with direction dependence */
#define I_LJ_DIRECTIONAL 2 /* Lennard-Jones with direction dependence of square symmetry */
#define I_LJ_PENTA 3 /* Lennard-Jones with pentagonal symmetry */
#define I_GOLDENRATIO 4 /* Lennard-Jones type with equilibria related by golden ratio */
#define I_LJ_DIPOLE 5 /* Lennard-Jones with a dipolar angle dependence */
#define I_LJ_QUADRUPOLE 6 /* Lennard-Jones with a quadropolar angle dependence */
/* Boundary conditions */
#define BC_SCREEN 0 /* harmonic boundary conditions outside screen area */
#define BC_RECTANGLE 1 /* harmonic boundary conditions on a resizeable rectangle */
#define BC_CIRCLE 2 /* harmonic boundary conditions outside a moving circle */
#define BC_PERIODIC 3 /* periodic boundary conditions */
#define BC_PERIODIC_CIRCLE 4 /* periodic boundary conditions and harmonic b.c. outside moving circle */
#define BC_EHRENFEST 5 /* Ehrenfest urn-type configuration */
#define BC_KLEIN 11 /* Klein bottle (periodic with twisted vertical parts) */
/* Plot types */
@@ -52,7 +58,9 @@
#define P_NEIGHBOURS 1 /* colors represent number of neighbours */
#define P_HEALTH 2 /* colors represent health (for SIR model) */
#define P_BONDS 3 /* draw lattice based on neighbours */
#define P_ANGLE 4 /* colors represent angle/spin of particle */
#define P_TYPE 5 /* colors represent type of particle */
#define P_DIRECTION 6 /* colors represent direction of velocity */
/* Color schemes */
@@ -60,11 +68,13 @@
#define C_HUE 1 /* color scheme modifies hue */
#define C_PHASE 2 /* color scheme shows phase */
#define C_ONEDIM 3 /* use preset 1d color scheme (for Turbo, Viridis, Magma, Inferno, Plasma) */
#define C_ONEDIM_LINEAR 4 /* use preset 1d color scheme with linear scale */
/* Color palettes */
#define COL_JET 0 /* JET color palette */
#define COL_HSLUV 1 /* HSLUV color palette (perceptually uniform) */
#define COL_GRAY 2 /* grayscale */
#define COL_TURBO 10 /* TURBO color palette (by Anton Mikhailov) */
#define COL_VIRIDIS 11 /* Viridis color palette */
@@ -73,23 +83,37 @@
#define COL_PLASMA 14 /* Plasma color palette */
#define COL_CIVIDIS 15 /* Cividis color palette */
#define COL_PARULA 16 /* Parula color palette */
#define COL_TWILIGHT 17 /* Twilight color palette */
#define COL_TWILIGHT_SHIFTED 18 /* Shifted twilight color palette */
#define COL_TURBO_CYCLIC 101 /* TURBO color palette (by Anton Mikhailov) corrected to be cyclic, beta */
typedef struct
{
double xc, yc, radius; /* center and radius of circle */
double angle; /* angle of particle's "spin" */
short int active; /* circle is active */
double energy; /* dissipated energy */
double vx; /* x velocity of particle */
double vy; /* y velocity of particle */
double omega; /* angular velocity of particle */
double mass_inv; /* inverse of particle mass */
double inertia_moment_inv; /* inverse of moment of inertia */
double fx; /* x component of force on particle */
double fy; /* y component of force on particle */
double torque; /* torque on particle */
short int thermostat; /* whether particle is coupled to thermostat */
int hashx; /* hash grid positions of particles */
int hashy; /* hash grid positions of particles */
int neighb; /* number of neighbours */
int neighbours[MAXNEIGH]; /* coordinates of neighbours */
double nghangle[MAXNEIGH]; /* angles of neighbours */
short int type; /* type of particle, for mixture simulations */
short int interaction; /* type of interaction */
double eq_dist; /* equilibrium distance */
double spin_range; /* range of spin-spin interaction */
double spin_freq; /* angular frequency of spin-spin interaction */
} t_particle;
typedef struct