Metadata-Version: 2.1
Name: mcodac
Version: 1.2.0
Summary: Calculation of pristine and damaged composite structures
Home-page: https://gitlab.com/dlr-sy/mcodac
License: GPL-3.0-or-later
Keywords: analysis,damage,composite
Author: Garbade, Marc
Author-email: marc.garbade@dlr.de
Maintainer: Garbade, Marc
Maintainer-email: marc.garbade@dlr.de
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Requires-Dist: numpy (>=1.16,<2.0) ; python_version >= "2.7" and python_version < "2.8" or python_version >= "3.5" and python_version < "3.6"
Requires-Dist: numpy (>=1.18,<2.0) ; python_version >= "3.6" and python_version < "3.7"
Requires-Dist: numpy (>=1.21,<2.0) ; python_version >= "3.7" and python_version < "3.8"
Requires-Dist: numpy (>=1.22,<2) ; python_version >= "3.9" and python_version < "4.0"
Requires-Dist: numpy (>=1.22,<2.0) ; python_version >= "3.8" and python_version < "3.9"
Project-URL: Changelog, https://gitlab.com/dlr-sy/mcodac/-/blob/mcd_development/CHANGELOG.md
Project-URL: Documentation, https://gitlab.com/dlr-sy/mcodac/-/blob/mcd_development/README.md
Project-URL: Repository, https://gitlab.com/dlr-sy/mcodac
Description-Content-Type: text/markdown

[![PyPi](https://img.shields.io/static/v1?label=PyPi&message=1.2.0&color=informational&logo=pypi)](https://pypi.org/project/mcodac/)
[![doi](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.13383097-red.svg)](https://zenodo.org/records/13383097)
[![pipeline status](https://gitlab.com/dlr-sy/mcodac/badges/mcd_development/pipeline.svg)]()

# MCODAC
MCODAC (Modular COmposite Damage Analysis Code) is a Fortran library for the evaluation of pristine and damaged composite structures. 
In addition to basic mathematical tools for tensor manipulation, it contains multidimensional interpolation methods, numerical optimization routines and common utility algorithms used in continuum mechanics. 
Furthermore, the library contains analysis methods specifically tailored to composites, from micromechanical homogenization approaches to macroscopic fatigue models of orthotropic multilayer composites. 
This project is compiled for Python using [f2py](https://numpy.org/doc/stable/f2py).
> Installation from source requires an active Fortran compiler (ifort, gfortran). 
## Downloading
Use GIT to get the latest code base. From the command line, use
```
git clone https://gitlab.com/dlr-sy/mcodac mcodac
```
If you check out the repository for the first time, you have to initialize all submodule dependencies first. Execute the following from within the repository. 
```
git submodule update --init --recursive
```
To update all refererenced submodules to the latest production level, use
```
git submodule foreach --recursive 'git pull origin $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master)'
```
## Installation
MCODAC can be installed from source using [poetry](https://python-poetry.org). If you don't have [poetry](https://python-poetry.org) installed, run
```
pip install poetry --pre --upgrade
```
to install the latest version of [poetry](https://python-poetry.org) within your python environment. Use
```
poetry update
```
to update all dependencies in the lock file or directly execute
```
poetry install
```
to install all dependencies from the lock file. Last, you should be able to import MCODAC as a python package.
```python
import mcodac
```
## Example
Please refer to the linked [repository](https://gitlab.com/dlr-sy/mcodac) for specific application examples.
## Contact
* [Marc Garbade](mailto:marc.garbade@dlr.de)
## Support
* [List of Contributors](CONTRIBUTING.md)
