///|
pub fn sampled_maxwellian(
config : VlasovConfig,
density~ : Double,
thermal_speed~ : Double,
) -> Array[Double] {
let result = zeros(config.grid.cells * config.velocity_bins)
for ix in 0.. Array[Double] {
let result = zeros(config.grid.cells * config.velocity_bins)
for ix in 0.. Double {
let per_cell = config.velocity_bins
if config.grid.cells == 0 || per_cell == 0 {
0.0
} else {
let mut total = 0.0
for ix in 0.. Double {
let mut numerator = 0.0
let mut denominator = 0.0
for ix in 0.. Double {
let mean_velocity = distribution_mean_velocity(config, distribution)
let mut numerator = 0.0
let mut denominator = 0.0
for ix in 0..