Change CLI slightly
This commit is contained in:
parent
81562d6b28
commit
38347fea89
@ -9,7 +9,7 @@ pub enum OutputFormat {
|
||||
|
||||
#[derive(Args, Debug)]
|
||||
pub struct InitialCli {
|
||||
pub grid_size: u32
|
||||
pub grid_size: u32,
|
||||
}
|
||||
|
||||
#[derive(Args, Debug)]
|
||||
@ -18,6 +18,11 @@ pub struct StickProbabilityCli {
|
||||
pub stick_probability: f32,
|
||||
}
|
||||
|
||||
#[derive(Args, Debug)]
|
||||
pub struct KDStickProbabilityCli {
|
||||
pub stick_probability: f32,
|
||||
}
|
||||
|
||||
#[derive(Args, Debug)]
|
||||
pub struct BallsCli {
|
||||
pub ball_radius: f32,
|
||||
@ -37,12 +42,15 @@ pub struct SurfaceProbabilityMeasureCli {
|
||||
pub enum PCM {
|
||||
Initial(InitialCli),
|
||||
StickProbability(StickProbabilityCli),
|
||||
Grid3KD(StickProbabilityCli),
|
||||
Grid3KDTsang(StickProbabilityCli),
|
||||
Grid3(StickProbabilityCli),
|
||||
|
||||
Grid3d(KDStickProbabilityCli),
|
||||
Grid3dOffAxis(KDStickProbabilityCli),
|
||||
|
||||
Hex(StickProbabilityCli),
|
||||
|
||||
Balls2d(BallsCli),
|
||||
Balls(BallsCli),
|
||||
|
||||
SurfaceProbabilityMeasure(SurfaceProbabilityMeasureCli),
|
||||
}
|
||||
|
||||
|
||||
20
src/main.rs
20
src/main.rs
@ -5,7 +5,7 @@
|
||||
use clap::Parser;
|
||||
use rand::prelude::*;
|
||||
use crate::cli::{drive_system};
|
||||
use crate::cli::cli::{StickProbabilityCli, InitialCli, BallsCli, PCM, ModelCli, SurfaceProbabilityMeasureCli};
|
||||
use crate::cli::cli::{StickProbabilityCli, InitialCli, BallsCli, PCM, ModelCli, SurfaceProbabilityMeasureCli, KDStickProbabilityCli};
|
||||
use crate::cli::cli::PCM::Balls2d;
|
||||
use crate::cli::output::write;
|
||||
use crate::surface_probability_measure::{LoggerSticker, ReadOnlyVectorStorage};
|
||||
@ -57,7 +57,7 @@ fn main() {
|
||||
write(&sys, cli.format, &cli.output);
|
||||
}
|
||||
|
||||
PCM::Grid3KD(StickProbabilityCli { grid_size, stick_probability }) => {
|
||||
PCM::Grid3d(KDStickProbabilityCli { stick_probability }) => {
|
||||
let mut sys = DLASystem::<_, Grid3D, _, _, _, _>::new(
|
||||
SmallRng::seed_from_u64(cli.seed),
|
||||
KDSpace::new(),
|
||||
@ -71,7 +71,7 @@ fn main() {
|
||||
write(&sys, cli.format, &cli.output);
|
||||
}
|
||||
|
||||
PCM::Grid3KDTsang(StickProbabilityCli { grid_size, stick_probability }) => {
|
||||
PCM::Grid3dOffAxis(KDStickProbabilityCli { stick_probability }) => {
|
||||
let mut sys = DLASystem::<_, Grid3D, _, _, _, _>::new(
|
||||
SmallRng::seed_from_u64(cli.seed),
|
||||
KDSpace::new(),
|
||||
@ -85,20 +85,6 @@ fn main() {
|
||||
write(&sys, cli.format, &cli.output);
|
||||
}
|
||||
|
||||
PCM::Grid3(StickProbabilityCli { grid_size, stick_probability }) => {
|
||||
let mut sys = DLASystem::<_, Grid3D, _, _, _, _>::new(
|
||||
SmallRng::seed_from_u64(cli.seed),
|
||||
VectorStorage::new(grid_size, 3),
|
||||
LocalRandomWalker,
|
||||
UniformSpawner,
|
||||
ProbabilisticSticking::new(stick_probability).unwrap(),
|
||||
cli.max_particles,
|
||||
);
|
||||
|
||||
drive_system(&mut sys, cli.max_frames, cli.notify_every);
|
||||
write(&sys, cli.format, &cli.output);
|
||||
}
|
||||
|
||||
PCM::Hex(StickProbabilityCli { grid_size, stick_probability }) => {
|
||||
let mut sys = DLASystem::<_, HexPosition, _, _, _, _>::new(
|
||||
SmallRng::seed_from_u64(cli.seed),
|
||||
|
||||
Loading…
Reference in New Issue
Block a user