Software Engineering & Workflow
Simulation software is not simply "writing equations into code." This section covers: how I understand existing software, how I design custom code architecture, and how complete computational workflows are built.
1. Software Survey & Understanding
Before writing any custom code, understand: what others have already achieved, what are mature engineering capabilities, what are gaps, what is "needed but existing tools don't do well enough."
- 1.1 Commercial CAE / CFD Software Abaqus / Ansys / LS-DYNA / Nastran / Radioss / HyperMesh, each specialized in: nonlinear structures, multiphysics coupling, impact/collision, optimization, preprocessing, etc.
- 1.2 Open Source Ecosystem OpenFOAM / SU2 / Code_Saturne / CalculiX / Code_Aster, suitable as "engineering tools," "research platforms," or "architecture references."
- 1.3 Scope Definition Defining boundaries: focus on CFD solvers and engine-related applications, not trying to cover all CAE domains.
2. Architecture Design
- 2.1 Modular Design Separating physics, numerics, and I/O for maintainability and extensibility.
- 2.2 Data Structures Efficient data structures for meshes, sparse matrices, solution fields.
- 2.3 Abstraction Layers Abstract interfaces for different discretization methods and solvers.
3. Coding Standards & Testing
- 3.1 Code Style Consistent naming, formatting, documentation standards.
- 3.2 Testing Unit tests, integration tests, regression tests for numerical methods.
- 3.3 Code Review Peer review processes, automated checks.
4. Complete Workflow
- 4.1 Preprocessing Mesh generation, boundary condition setup, case configuration.
- 4.2 Solving Solver execution, monitoring, checkpointing.
- 4.3 Postprocessing Result visualization, data analysis, reporting.
- 4.4 HPC Integration Job scheduling, resource management, workflow automation.
5. My Practice
Currently working on:
- Designing modular CFD solver architectures for maintainability.
- Building complete workflows from preprocessing to postprocessing.
- Integrating custom solvers with HPC job systems.
Architecture decisions and workflow details will be documented in projects and technical notes.