sph-m7microplane-concrete
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 28 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.4%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: naqibr
- License: mit
- Language: C++
- Default Branch: main
- Size: 50.8 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
SPH-M7 Microplane Concrete Modeling Repository
Overview
This is the repository for the source code accompanying the paper "SPH modeling of concrete failure using the M7 microplane model. M. N. Rahimi & G. Moutsanidis". This repository provides an open-access implementation of the SPH-M7 Microplane algorithm tailored for modeling concrete materials, including all scripts and data necessary for reproducing the results for selected cases presented in the paper.
The repository is designed to promote transparency, reproducibility, and further development by the research community.
Features
- Implementation of the SPH-M7 algorithm.
- Implementation of a particle-to-particle contact algorithm for SPH.
- Material model specifically for concrete, including failure and dynamic response modeling.
- Includes the M7 constitutive model based on the paper "Caner, F.C., and Bažant, Z.P. (2013). ``Microplane model M7 for plain concrete: I. formulation." ASCE J. of Engrg. Mechanics 139 (12), Dec., 1714--1723. The original source can be downloaded here.
Installation
Clone the repository:
bash git clone https://github.com/naqibr/SPH-M7microplane-Concrete.git cd SPH-M7microplane-ConcreteInstall dependencies using your package manager or manually as needed.
Build the code:
bash makeThis will generate the executableConcrete.Run the executable from the build directory:
bash ./Concrete -np [number of parallel threads] (for compression of short prism)orbash ./Concrete -np [number of parallel threads] -type [1 or 2] -D [D] (for Type 1 and Type 2 size effects)Forexamplebash ./Concrete -np 4orbash ./Concrete -np 4 -type 1 -D 40.0e-3This will run the executable with 4 parallel threads. The default thread number is 1.Output files will be generated in the
output/directory.
Visualization
Use ParaView to visualize the .vtk files generated during the simulation. Sometimes to visualize the generated particles, one needs to change the "Display (GeometryRepresentation)" option to "Point Gaussian".
Examples
The repository includes two branches each tailored for one of the selected examples in the paper: - main: This branch generates results for the case "4.1. Short rectangular prism under uniaxial compression" reported in the article. - Type12_SizeEffect: This branch generates results for the case "4.7. Type 1 and Type 2 size effect" reported in the article. This branch also covers the application of the contact algorithm presented in Section 2.3. (Particle-to-particle contact for SPH) of the paper.
File Descriptions
- Makefile: Contains commands to compile the codes into an executable.
- Main.cpp: The main file of the executable that creates the SPH object as
sph = new SPHSystem3D(argc, argv);. - SPHSystem.h: Contains the class
SPHSystem3D. - SPHSystem.cpp: Contains the function definitions for the class
SPHSystem3D. - particle.h: Contains the class
Particle3D. - Matrix3D.h: Contains the class
Mat3d, a local class for 3x3 matrices with necessary matrix arithmetic operations. - Vector3D.h: Contains the class
Vec3d, a local class for 3D vectors with necessary vector arithmetic operations. - Vec3DMatrix3D.cpp: Contains some arithmetic operations related to
Vec3dandMat3dclasses. - m7fmaterial.f: A cleaned-up version of the file provided here, containing FORTRAN subroutines for initializing the M7 constitutive model parameters and evaluating the model itself.
- params.inc: Contains the parameters used in
m7fmaterial.f.
How the Code Works
Initialization:
- The object
sphis created assph = new SPHSystem3D(argc, argv);. - The object is initialized in
SPHSystem3D(argc, argv)inSPHSystem.cpp, where system variables are set up, particles are generated, neighbor search is performed, SPH kernels and their derivatives are corrected, and variables for the M7 constitutive model are initialized.
- The object
Time Integration:
- Time integration begins, and
sph->OneStepCalculations();is called for each time step. - Inside
OneStepCalculations, the following steps occur:- Deformation gradient and strain rate are calculated.
m7fmaterial_is called to evaluate new Cauchy stress tensors for each particle.- Artificial viscosity forces are calculated.
- Contact forces are calculated if necessary (Type12_SizeEffect branach only).
- Results are exported every required time step.
- Time integration begins, and
Citation
If this code is helpfull, whether partially or entirely, in your research, please cite the relevant paper(s):
Main Paper
Paper Title: SPH modeling of concrete failure using the M7 microplane model
Authors: M. Naqib Rahimi, Georgios Moutsanidis
Journal: International Journal of Mechanical Sciences
DOI: https://doi.org/10.1016/j.ijmecsci.2025.110378
Related Papers
This program also implements the Total Lagrangian Smoothed Particle Hydrodynamics formulations presented in the following papers:
A smoothed particle hydrodynamics approach for phase field modeling of brittle fracture,
M. N. Rahimi and G. Moutsanidis,
Computer Methods in Applied Mechanics and Engineering, Aug. 2022.
DOI: https://doi.org/10.1016/j.cma.2022.115191Modeling dynamic brittle fracture in functionally graded materials using hyperbolic phase field and smoothed particle hydrodynamics,
M. N. Rahimi and G. Moutsanidis,
Computer Methods in Applied Mechanics and Engineering, Nov. 2022.
DOI: https://doi.org/10.1016/j.cma.2022.115642An SPH-based FSI framework for phase-field modeling of brittle fracture under extreme hydrodynamic events,
M. N. Rahimi and G. Moutsanidis,
Engineering with Computers, Aug. 2023.
DOI: https://doi.org/10.1007/s00366-023-01857-0IGA-SPH: Coupling isogeometric analysis with smoothed particle hydrodynamics for air-blast–structure interaction,
M. N. Rahimi and G. Moutsanidis,
Engineering with Computers, May 2024.
DOI: https://doi.org/10.1007/s00366-024-01978-0
BibTeX
```bibtex @article{RahimiSPHM7, title={SPH modeling of concrete failure using the M7 microplane model}, author={Rahimi, M. Naqib and Moutsanidis, Georgios}, journal={International Journal of Mechanical Sciences}, year={2025}, month={5} }
@article{RahimiSPHPhaseField, title={A smoothed particle hydrodynamics approach for phase field modeling of brittle fracture}, author={Rahimi, M. Naqib and Moutsanidis, Georgios}, publisher = {Elsevier}, month = {8}, year = {2022}, journal = {\textbf{Computer Methods in Applied Mechanics and Engineering}}, doi = {https://doi.org/10.1016/j.cma.2022.115191} }
@article{RahimiDynamicBrittleFracture, title={Modeling dynamic brittle fracture in functionally graded materials using hyperbolic phase field and smoothed particle hydrodynamics}, author={Rahimi, M. Naqib and Moutsanidis, Georgios}, journal = {\textbf{Computer Methods in Applied Mechanics and Engineering}}, month = {11}, year = {2022}, doi = {https://doi.org/10.1016/j.cma.2022.115642} }
@article{RahimiSPHFsiFramework, title={An SPH-based FSI framework for phase-field modeling of brittle fracture under extreme hydrodynamic events}, author={Rahimi, M. Naqib and Moutsanidis, Georgios}, month = {8}, year = {2023}, journal = {\textbf{Engineering with Computers}}, doi = {https://doi.org/10.1007/s00366-023-01857-0} }
@article{RahimiIGASPH, title={IGA-SPH: Coupling isogeometric analysis with smoothed particle hydrodynamics for air-blast–structure interaction}, author={Rahimi, M. Naqib and Moutsanidis, Georgios}, journal={\textbf{Engineering with Computers}}, pages={1--22}, year={2024}, month={05}, publisher={Springer}, doi = {https://doi.org/10.1007/s00366-024-01978-0} } ```
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contact
For questions or support, please contact: - Georgios Moutsanidis: Georgios.Moutsanidis@rutgers.edu - Naqib Rahimi: Naqib.rahimy123@gmail.com
- GitHub Issues: Use the Issues tab for bug reports or feature requests.
We hope you find this repository useful! Happy modeling!
Owner
- Name: Naqib Rahimi
- Login: naqibr
- Kind: user
- Repositories: 1
- Profile: https://github.com/naqibr
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this repository, please cite the following paper:"
authors:
- family-names: Rahimi
given-names: Mohammad Naqib
- family-names: Moutsanidis
given-names: Georgios
title: "SPH modeling of concrete failure using the M7 microplane model"
journal: "International Journal of Mechanical Sciences"
doi: "https://doi.org/10.1016/j.ijmecsci.2025.110378"
url: "https://github.com/naqibr/SPH-M7microplane-Concrete"
year: 2025
GitHub Events
Total
- Push event: 11
- Public event: 1
- Fork event: 1
Last Year
- Push event: 11
- Public event: 1
- Fork event: 1