# Authors: Theodor Droschl, Lukas Maier
# Affiliation: Graz University of Technology, Institute of Process and Particle Engineering
# license: GNU Lesser General Public License v3.0
# Numerical Configuration Parameters
# User-configurable numerical settings

# Mathematical constants
variable PI equal 3.14159

# Material properties
variable youngs_modulus equal 5e6
variable poissons_ratio equal 0.30
variable coefficient_restitution equal 0.3
variable coefficient_friction equal 0

# Simulation control - larger steps for faster simulation
variable step_size equal 5e4
variable max_steps equal 1e6
variable thermo_frequency equal 50000
variable dump_frequency equal 5000

# Calculated numerical parameters (depend on particle properties)
variable shearMod equal ${youngs_modulus}/(2*(1+${poissons_ratio}))
variable timeRayleigh equal ${PI}*${reference_radius}*2/2*sqrt(${set_density}/${shearMod})/(0.1631*${poissons_ratio}+0.8766)
print "Calculated Rayleigh Time: ${timeRayleigh} seconds"
variable dt equal 0.1*${timeRayleigh}

# Neighbor list settings
variable neighSize equal ${reference_radius}