Skip to main content

oxiphysics_io/
lib.rs

1// Copyright 2026 COOLJAPAN OU (Team KitaSan)
2// SPDX-License-Identifier: Apache-2.0
3
4//! File I/O and serialization for the OxiPhysics engine.
5//!
6//! Provides writers (and basic readers) for common physics simulation formats:
7//! - VTK Legacy (.vtk) and VTU (.vtu) for visualization in ParaView
8//! - PDB for molecular data
9//! - LAMMPS dump for trajectory data
10//! - Wavefront OBJ for triangle meshes
11//! - CSV for time series data
12//! - XDMF for particle/mesh visualization in ParaView/VisIt
13//! - Trajectory for accumulating and writing animation frames
14//! - GROMACS GRO format for molecular simulation snapshots
15#![allow(missing_docs)]
16#![allow(dead_code)]
17
18mod error;
19pub use error::*;
20
21pub mod amber;
22pub mod binary_format;
23pub mod csv;
24pub mod csv_io;
25pub mod exodus;
26pub mod experimental_data_io;
27pub mod foam_io;
28pub mod gltf;
29pub mod gromacs;
30pub mod hdf5_simple;
31pub mod json_io;
32pub mod lammps;
33pub mod lammps_dump;
34pub mod mesh_quality;
35pub mod netcdf;
36pub mod numpy;
37pub mod obj;
38pub mod openfoam;
39pub mod pdb;
40pub mod stl;
41pub mod trajectory;
42pub mod vtk;
43pub mod vtk_writer;
44pub mod vtu;
45pub mod xdmf;
46pub mod xtc_dcd;
47
48pub use binary_format::*;
49pub use csv::{CsvReader, CsvWriter};
50pub use foam_io::*;
51pub use gromacs::{GroAtom, GroFile};
52pub use lammps::{LammpsAtom, LammpsDumpReader, LammpsDumpWriter};
53pub use lammps_dump::{
54    LammpsDumpFrame, LammpsDumpReader as LammpsDumpFrameReader,
55    LammpsDumpWriter as LammpsDumpFrameWriter,
56};
57pub use obj::{ObjReader, ObjWriter};
58pub use pdb::{PdbAtom, PdbReader, PdbWriter};
59pub use trajectory::TrajectoryWriter;
60pub use vtk::{VtkCellType, VtkDataArray, VtkWriter, VtuGrid};
61pub use vtk_writer::*;
62pub use vtu::VtuWriter;
63pub use xdmf::{write_xdmf_particles, write_xdmf_temporal};
64
65/// Trait for physics data I/O.
66#[allow(dead_code)]
67pub trait PhysicsIo {
68    /// Initialize this component.
69    fn init(&mut self);
70}
71pub mod abaqus_format;
72pub mod ambermd_io;
73pub mod amr_io;
74pub mod animation_io;
75pub mod binary_formats;
76pub mod binary_io;
77pub mod cad_io;
78pub mod calculix_format;
79pub mod cgns_format;
80pub mod checkpoint_io;
81pub mod crystallography_io;
82pub mod database_io;
83pub mod ensight_format;
84pub mod exodus_format;
85pub mod finite_element_io;
86pub mod fluent_format;
87pub mod geospatial_io;
88pub mod gmsh_format;
89pub mod hdf5_io;
90pub mod hpc_io;
91pub mod lattice_io;
92pub mod machine_learning_io;
93pub mod material_db;
94pub mod material_db_io;
95pub mod medical_imaging;
96pub mod medical_imaging_io;
97pub mod medical_io;
98pub mod mesh_export;
99pub mod mesh_io;
100pub mod molecular_docking_io;
101pub mod molecular_visualization_io;
102pub mod molecular_viz_io;
103pub mod openfoam_format;
104pub mod parallel_io;
105pub mod particle_data_io;
106pub mod particle_formats;
107pub mod physics_binary;
108pub mod plot3d_format;
109pub mod point_cloud_io;
110pub mod quantum_chemistry_io;
111pub mod remote_sensing_io;
112pub mod restart_io;
113pub mod robotics_io;
114pub mod scientific_formats;
115pub mod seismic_io;
116pub mod sensor_data_io;
117pub mod sensor_io;
118pub mod simulation_database;
119pub mod simulation_io;
120pub mod simulation_log;
121pub mod simulation_report_io;
122pub mod spectroscopy_io;
123pub mod streaming_io;
124pub mod su2_format;
125pub mod tecplot_format;
126pub mod time_series_io;
127pub mod visualization_io;
128pub mod wavefront_extended;
129pub mod weather_data_io;
130pub mod weather_io;
131pub mod xarray_io;