Propellant-Regression-Framework  v0.1.0
RocPerf
flowchart TD %% External Dependency OpenFOAMEnv["OpenFOAM Environment\n(libOpenFOAM, libfiniteVolume, MPI)"]:::external %% Build System subgraph "Build System" direction TB Allwmake["Allwmake"]:::build Allwclean["Allwclean"]:::build Bashrc["bashrc"]:::build subgraph "Per-module Make Configs" direction TB MakeSrc["src/Make"]:::build MakeSrcFiles["src/Make/files"]:::build MakeSrcOptions["src/Make/options"]:::build MakeApp["applications/rocketMotor/Make"]:::build MakeAppFiles["applications/rocketMotor/Make/files"]:::build MakeAppOpts["applications/rocketMotor/Make/options"]:::build MakeUtil1["utilities/ReynoldsNumber/Make"]:::build MakeUtil2["utilities/mapVolFields/Make"]:::build MakeUtil3["utilities/postProcessRocket/Make"]:::build end end %% Core Libraries subgraph "Core Libraries" direction TB subgraph "Physics Models" PhaseSystems["PhaseSystems"]:::core Interfacial["interfacialModels"]:::core Turbulence["multiphaseCompressibleTurbulenceModels"]:::core PhaseModel["phaseModel"]:::core InterfaceTrack["interfaceTrackingModels"]:::core SharpHeat["sharpInterfaceHeatTransferModels"]:::core end subgraph "Boundary Conditions" fvPatchFields["fvPatchFields"]:::core end FunctionObjs["functionObjects"]:::core MultiPhaseSys["multiphaseSystem"]:::core end %% Applications subgraph "Applications" rocketMotor["rocketMotor (solver)"]:::app end %% Utilities subgraph "Utilities" direction TB UtilRe["ReynoldsNumber"]:::util UtilMap["mapVolFields"]:::util UtilPost["postProcessRocket"]:::util UtilCons["rocketConservation"]:::util UtilSetAlpha["setMultipleAlphaField"]:::util UtilInit["setRocketInitField"]:::util UtilStream["streamFunction"]:::util end %% Data: Case Definitions & Outputs subgraph "Data" direction TB CaseDefs["Case Definitions\n(tutorials/)"]:::data SimOutputs["Simulation Outputs\n(time directories)"]:::data end %% Build-time Flow OpenFOAMEnv -->|"setup env"| Allwmake Allwmake -->|"invoke wmake"| MakeSrc Allwmake --> MakeApp Allwmake --> MakeUtil1 MakeSrc --> PhaseSystems MakeSrc --> Interfacial MakeSrc --> Turbulence MakeSrc --> PhaseModel MakeSrc --> InterfaceTrack MakeSrc --> SharpHeat MakeSrc --> fvPatchFields MakeSrc --> FunctionObjs MakeSrc --> MultiPhaseSys MakeApp --> rocketMotor MakeUtil1 --> UtilRe MakeUtil2 --> UtilMap MakeUtil3 --> UtilPost %% Runtime Flow CaseDefs -->|"read case files"| rocketMotor rocketMotor -->|"link & invoke core libs"| PhaseSystems rocketMotor --> Interfacial rocketMotor --> Turbulence rocketMotor --> PhaseModel rocketMotor --> fvPatchFields rocketMotor --> MultiPhaseSys rocketMotor -->|"write fields"| SimOutputs SimOutputs -->|"post-process"| UtilRe SimOutputs --> UtilMap SimOutputs --> UtilPost SimOutputs --> UtilCons SimOutputs --> UtilSetAlpha SimOutputs --> UtilInit SimOutputs --> UtilStream %% Click Events click Allwmake "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/./Allwmake" click Allwclean "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/./Allwclean" click Bashrc "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/./bashrc" click MakeSrc "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/src/Make" click MakeSrcFiles "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/src/Make/files" click MakeSrcOptions "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/src/Make/options" click MakeApp "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/applications/rocketMotor/Make" click MakeAppFiles "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/applications/rocketMotor/Make/files" click MakeAppOpts "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/applications/rocketMotor/Make/options" click MakeUtil1 "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/utilities/ReynoldsNumber/Make" click MakeUtil2 "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/utilities/mapVolFields/Make" click MakeUtil3 "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/utilities/postProcessRocket/Make" click rocketMotor "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/applications/rocketMotor" click PhaseSystems "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/src/PhaseSystems" click Interfacial "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/src/interfacialModels" click Turbulence "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/src/multiphaseCompressibleTurbulenceModels" click PhaseModel "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/src/phaseModel" click InterfaceTrack "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/src/interfaceTrackingModels" click SharpHeat "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/src/sharpInterfaceHeatTransferModels" click fvPatchFields "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/src/fvPatchFields" click FunctionObjs "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/src/functionObjects" click MultiPhaseSys "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/src/multiphaseSystem" click UtilRe "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/utilities/ReynoldsNumber" click UtilMap "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/utilities/mapVolFields" click UtilPost "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/utilities/postProcessRocket" click UtilCons "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/utilities/rocketConservation" click UtilSetAlpha "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/utilities/setMultipleAlphaField" click UtilInit "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/utilities/setRocketInitField" click UtilStream "https://github.com/ganeshkumar-v/propellant-regression-framework/tree/master/utilities/streamFunction" %% Styles classDef external fill:#CCCCCC,stroke:#333,stroke-width:1px classDef build fill:#ADD8E6,stroke:#000,stroke-width:1px classDef core fill:#90EE90,stroke:#000,stroke-width:1px classDef app fill:#FFA500,stroke:#000,stroke-width:1px classDef util fill:#D8BFD8,stroke:#000,stroke-width:1px classDef data fill:#FFFFE0,stroke:#000,stroke-width:1px

📄 License

Distributed under the GNU General Public License v3 (GPL-3.0). See the LICENSE file for the full text.

This software is an independent project and is not affiliated with, endorsed by, or associated with OpenCFD Ltd or the OpenFOAM® project. OpenFOAM® is a registered trademark of OpenCFD Ltd.

🧑‍🔬 Authors and Acknowledgements

📜 Citation

If you use this software in published work, please cite the associated paper:

Venukumar, Ganeshkumar and Sundaram, Dilip Srinivas, "Computational Study of Propulsive Performance of Frozen Nano-Aluminum and Water (ALICE) Mixtures," Journal of Propulsion and Power, vol. 41, no. 3, pp. 330–346, 2025. https://doi.org/10.2514/1.B39541

Suggested BibTeX:

@article{doi:10.2514/1.B39541,
author = {Venukumar, Ganeshkumar and Sundaram, Dilip Srinivas},
title = {Computational Study of Propulsive Performance of Frozen Nano-Aluminum and Water (ALICE) Mixtures},
journal = {Journal of Propulsion and Power},
volume = {41},
number = {3},
pages = {330-346},
year = {2025},
doi = {10.2514/1.B39541}
}

📬 Contact

If you encounter problems, please open an issue on the repository.