Support for writing and executing MATLAB/Octave scripts

This commit is contained in:
Timothy Kassis
2026-01-05 10:15:22 -08:00
parent 9827af22ad
commit 70375367d6
12 changed files with 4439 additions and 7 deletions

View File

@@ -133,6 +133,7 @@
- **Pymatgen** - Python Materials Genomics (pymatgen) library for materials science computation and analysis. Provides comprehensive tools for crystal structure manipulation, phase diagram construction, electronic structure analysis, and materials property calculations. Key features include: structure objects with symmetry analysis, space group determination, structure matching and comparison, phase diagram generation from formation energies, band structure and density of states analysis, defect calculations, surface and interface analysis, and integration with DFT codes (VASP, Quantum ESPRESSO, ABINIT). Supports Materials Project database integration, structure file I/O (CIF, POSCAR, VASP), and high-throughput materials screening workflows. Use cases: materials discovery, crystal structure analysis, phase stability prediction, electronic structure calculations, and computational materials science research
### Engineering & Simulation
- **MATLAB/Octave** - Numerical computing environment for matrix operations, data analysis, visualization, and scientific computing. MATLAB is commercial software optimized for matrix operations, while GNU Octave is a free open-source alternative with high compatibility. Key features include: matrix operations (creation, manipulation, linear algebra), comprehensive mathematics (eigenvalues, SVD, FFT, ODEs, optimization, statistics), 2D/3D visualization (plot, surf, contour, with extensive customization), data import/export (CSV, Excel, MAT files, images), programming constructs (functions, scripts, control flow, OOP), signal processing (FFT, filtering, convolution), and Python integration (calling Python from MATLAB and vice versa). Supports vectorized operations for performance, anonymous functions, tables for mixed data types, and cell arrays for heterogeneous data. GNU Octave provides compatibility with most MATLAB scripts with minor differences (comments with #, block terminators like endif, compound operators like +=). Scripts can be executed via `matlab -nodisplay -r "run('script.m'); exit;"` or `octave script.m`. Use cases: numerical simulations, signal processing, image processing, control systems, statistical analysis, algorithm prototyping, data visualization, and any scientific computing task requiring matrix operations or numerical methods
- **FluidSim** - Object-oriented Python framework for high-performance computational fluid dynamics (CFD) simulations using pseudospectral methods with FFT. Provides solvers for periodic-domain equations including 2D/3D incompressible Navier-Stokes equations (with/without stratification), shallow water equations, and Föppl-von Kármán elastic plate equations. Key features include: Pythran/Transonic compilation for performance comparable to Fortran/C++, MPI parallelization for large-scale simulations, hierarchical parameter configuration with type safety, comprehensive output management (physical fields in HDF5, spatial means, energy/enstrophy spectra, spectral energy budgets), custom forcing mechanisms (time-correlated random forcing, proportional forcing, script-defined forcing), flexible initial conditions (noise, vortex, dipole, Taylor-Green, from file, in-script), online and offline visualization, and integration with ParaView/VisIt for 3D visualization. Supports workflow features including simulation restart/continuation, parametric studies with batch execution, cluster submission integration, and adaptive CFL-based time stepping. Use cases: 2D/3D turbulence studies with energy cascade analysis, stratified oceanic and atmospheric flows with buoyancy effects, geophysical flows with rotation (Coriolis effects), vortex dynamics and fundamental fluid mechanics research, high-resolution direct numerical simulation (DNS), parametric studies exploring parameter spaces, validation studies (Taylor-Green vortex), and any periodic-domain fluid dynamics research requiring HPC-grade performance with Python flexibility
### Data Analysis & Visualization