The ParticleTracer Module
ParticleTracer — ModuleParticleTracer高能粒子追踪器
Module Index
ParticleTracer.ParaParticleTracer.SetParticlePosition_ParabolicTorusParticleTracer.generate_initial_conditions
Detailed API
ParticleTracer.Para — Method生成服从参数为m的抛物线分布的随机数 m 一般为小半径 r_max = a
ParticleTracer.SetParticlePosition_ParabolicTorus — Method生成抛物线分布的粒子位置
ParticleTracer.generate_initial_conditions — Method根据配置生成初始位置和动量
Pusher API
ParticleTracer.Pushers.relativistic_boris_step — Methodrelativistic_boris_step(𝐱, 𝐩, 𝐄, 𝐁)Performs one step of the relativistic Boris algorithm in natural units (c = 1).
Parameters:
- 𝐱: Position vector (normalized)
- 𝐩: Momentum vector (normalized)
- 𝐄: Electric field vector
- 𝐁: Magnetic field vector
- q: Particle charge (normalized)
- m: Particle rest mass (normalized)
- Δt: Time step (normalized)
Returns:
- 𝐱ₙ₊₁: Updated position
- 𝐩ₙ₊₁: Updated momentum
Fields API
ParticleTracer.Fields.tokamak — Function环坐标下 tokamak 场
DataIO API
ParticleTracer.DataIO.SaveConfigType — TypeSaveConfigTypeConfiguration type for data saving operations.
Fields:
- batch_size::Int: Number of particles in each batch
- output_dir::String: Output directory path
- timestamp::String: Timestamp of data saving operation
ParticleTracer.DataIO.SaveConfig — MethodSaveConfig(; batch_size=1000)Constructor for SaveConfig instance.
Parameters:
- batch_size: Number of particles per batch, defaults to 1000
Returns:
- SaveConfig instance
ParticleTracer.DataIO.create_index_file — Methodcreate_index_file(config)Create index file recording information for all batches.
Parameters:
- config: Save configuration
Index file contains:
- Total number of particles
- Batch size
- Total number of batches
- Creation time
- Simulation timestamp
ParticleTracer.DataIO.merge_process_files — Methodmerge_process_files(config)将所有进程的临时数据文件合并为最终批处理文件。 此函数应在所有计算完成后调用,且只应在主进程(进程1)上执行。
参数:
- config: 保存配置
ParticleTracer.DataIO.read_metadata — Methodread_metadata(g_meta)Read all metadata attributes from HDF5 group.
Parameters:
- g_meta: HDF5 metadata group
Returns: Dictionary containing all metadata
ParticleTracer.DataIO.read_particle_data — Methodread_particle_data(n, timestamp)读取指定粒子的数据。
返回: 包含位置、动量、磁场(和电场,如果存在)以及元数据的字典
ParticleTracer.DataIO.save_metadata — Methodsave_metadata(g_ptc, global_n, x0, p0, B0)保存粒子的元数据。
ParticleTracer.DataIO.save_particle_data — Methodsave_particle_data(ptc_data, n, x0, p0, B0, config)保存粒子数据,使用进程级批处理策略。每个进程写入自己的临时文件,之后合并。
Parameters:
- ptc_data: 粒子轨迹数据
- n: 全局粒子编号
- x0: 初始位置
- p0: 初始动量
- B0: 初始磁场
- config: 保存配置
ParticleTracer.DataIO.save_single_particle — Methodsave_single_particle(file, particle_id, ptc_data, global_n, x0, p0, B0)保存单个粒子数据到 HDF5 文件。
ParticleTracer.DataIO.update_batch_metadata! — Methodupdate_batch_metadata!(file, batch_number, config)Update or create global metadata for batch file.
Parameters:
- file: Open HDF5 file
- batch_number: Current batch number
- config: Save configuration