Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
Loading...
Searching...
No Matches
nbody_types.h File Reference
#include <cglm/types.h>
#include <stdbool.h>
Include dependency graph for nbody_types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  NBodyParticle
 A single gravitational body. More...
 
struct  NBodyImpact
 Records a confinement boundary hit for visual effects. More...
 
struct  NBodySim
 State container for the N-body simulation. More...
 

Enumerations

enum  { NBODY_MAX_BODIES = 32 }
 

Variables

static const float NBODY_DEFAULT_G = 1.0F
 
static const float NBODY_SOFTENING_SQ = 0.25F
 
static const float NBODY_SOFTENING_FACTOR = 2.0F
 
static const float NBODY_FIXED_DT = 1.0F / 120.0F
 
static const float NBODY_MAX_ACCUMULATOR = 1.0F / 10.0F
 
static const float NBODY_CONFINEMENT_RADIUS = 25.0F
 
static const float NBODY_CONFINEMENT_K = 5.0F
 
static const float NBODY_CONFINEMENT_DAMPING = 20.0F
 
static const float NBODY_TIME_SCALE_RATE = 3.0F
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Maximum number of bodies in the simulation.

Enumerator
NBODY_MAX_BODIES 

Variable Documentation

◆ NBODY_CONFINEMENT_DAMPING

const float NBODY_CONFINEMENT_DAMPING = 20.0F
static

Radial damping coefficient in the confinement zone.

◆ NBODY_CONFINEMENT_K

const float NBODY_CONFINEMENT_K = 5.0F
static

Confinement stiffness

◆ NBODY_CONFINEMENT_RADIUS

const float NBODY_CONFINEMENT_RADIUS = 25.0F
static

Confinement radius

◆ NBODY_DEFAULT_G

const float NBODY_DEFAULT_G = 1.0F
static

Default gravitational constant (tuned for visual scale ~20 units).

◆ NBODY_FIXED_DT

const float NBODY_FIXED_DT = 1.0F / 120.0F
static

Fixed physics timestep for stable integration (seconds).

◆ NBODY_MAX_ACCUMULATOR

const float NBODY_MAX_ACCUMULATOR = 1.0F / 10.0F
static

Maximum accumulated physics time per call to nbody_step.

◆ NBODY_SOFTENING_FACTOR

const float NBODY_SOFTENING_FACTOR = 2.0F
static

Per-pair softening multiplier.

◆ NBODY_SOFTENING_SQ

const float NBODY_SOFTENING_SQ = 0.25F
static

Minimum softening factor squared — prevents singularity at r→0.

◆ NBODY_TIME_SCALE_RATE

const float NBODY_TIME_SCALE_RATE = 3.0F
static

Rate at which time_scale transitions toward its target (units/s).