[![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)
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/dlr-sy/mcodac",
"name": "mcodac",
"maintainer": "Garbade, Marc",
"docs_url": null,
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7",
"maintainer_email": "marc.garbade@dlr.de",
"keywords": "analysis, damage, composite",
"author": "Garbade, Marc",
"author_email": "marc.garbade@dlr.de",
"download_url": null,
"platform": null,
"description": "[![PyPi](https://img.shields.io/static/v1?label=PyPi&message=1.2.0&color=informational&logo=pypi)](https://pypi.org/project/mcodac/)\n[![doi](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.13383097-red.svg)](https://zenodo.org/records/13383097)\n[![pipeline status](https://gitlab.com/dlr-sy/mcodac/badges/mcd_development/pipeline.svg)]()\n\n# MCODAC\nMCODAC (Modular COmposite Damage Analysis Code) is a Fortran library for the evaluation of pristine and damaged composite structures. \nIn addition to basic mathematical tools for tensor manipulation, it contains multidimensional interpolation methods, numerical optimization routines and common utility algorithms used in continuum mechanics. \nFurthermore, the library contains analysis methods specifically tailored to composites, from micromechanical homogenization approaches to macroscopic fatigue models of orthotropic multilayer composites. \nThis project is compiled for Python using [f2py](https://numpy.org/doc/stable/f2py).\n> Installation from source requires an active Fortran compiler (ifort, gfortran). \n## Downloading\nUse GIT to get the latest code base. From the command line, use\n```\ngit clone https://gitlab.com/dlr-sy/mcodac mcodac\n```\nIf you check out the repository for the first time, you have to initialize all submodule dependencies first. Execute the following from within the repository. \n```\ngit submodule update --init --recursive\n```\nTo update all refererenced submodules to the latest production level, use\n```\ngit submodule foreach --recursive 'git pull origin $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master)'\n```\n## Installation\nMCODAC can be installed from source using [poetry](https://python-poetry.org). If you don't have [poetry](https://python-poetry.org) installed, run\n```\npip install poetry --pre --upgrade\n```\nto install the latest version of [poetry](https://python-poetry.org) within your python environment. Use\n```\npoetry update\n```\nto update all dependencies in the lock file or directly execute\n```\npoetry install\n```\nto install all dependencies from the lock file. Last, you should be able to import MCODAC as a python package.\n```python\nimport mcodac\n```\n## Example\nPlease refer to the linked [repository](https://gitlab.com/dlr-sy/mcodac) for specific application examples.\n## Contact\n* [Marc Garbade](mailto:marc.garbade@dlr.de)\n## Support\n* [List of Contributors](CONTRIBUTING.md)\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Calculation of pristine and damaged composite structures",
"version": "1.2.0",
"project_urls": {
"Changelog": "https://gitlab.com/dlr-sy/mcodac/-/blob/mcd_development/CHANGELOG.md",
"Documentation": "https://gitlab.com/dlr-sy/mcodac/-/blob/mcd_development/README.md",
"Homepage": "https://gitlab.com/dlr-sy/mcodac",
"Repository": "https://gitlab.com/dlr-sy/mcodac"
},
"split_keywords": [
"analysis",
" damage",
" composite"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ad20c397f5ed2e69ed34f9904f3da5854ebed05ceff1872f22f42dc32c10941f",
"md5": "ab1f8e06bb64e8da36b7631afda8e2b9",
"sha256": "0924c3630ca4eb8b0072dfa1560f3bc56f662443f18b7cc4dd2e5d40014e2528"
},
"downloads": -1,
"filename": "mcodac-1.2.0-cp27-cp27m-win_amd64.whl",
"has_sig": false,
"md5_digest": "ab1f8e06bb64e8da36b7631afda8e2b9",
"packagetype": "bdist_wheel",
"python_version": "cp27",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7",
"size": 2666326,
"upload_time": "2024-08-28T12:46:13",
"upload_time_iso_8601": "2024-08-28T12:46:13.403976Z",
"url": "https://files.pythonhosted.org/packages/ad/20/c397f5ed2e69ed34f9904f3da5854ebed05ceff1872f22f42dc32c10941f/mcodac-1.2.0-cp27-cp27m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "80184bd9d4360357c3489c52d114b6d4a2ed07e3a46eea3ecbb38b4c8e536d37",
"md5": "7fa6f664f0e5d4460159bc49d01df383",
"sha256": "52c3c0150bb2116084d0b24ee6dbd3aae35fc920eed89d0814b95c08f753a55d"
},
"downloads": -1,
"filename": "mcodac-1.2.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "7fa6f664f0e5d4460159bc49d01df383",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7",
"size": 2753854,
"upload_time": "2024-08-28T12:46:16",
"upload_time_iso_8601": "2024-08-28T12:46:16.555596Z",
"url": "https://files.pythonhosted.org/packages/80/18/4bd9d4360357c3489c52d114b6d4a2ed07e3a46eea3ecbb38b4c8e536d37/mcodac-1.2.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8fd21bb140a3e2a0f08f9de16ed9694c75e7cfb6a0d3495cdb296c61c3e581a2",
"md5": "8f5ca01d1fe35543dbdf0158dea339b0",
"sha256": "37c78f28db0389ffd338397cee1e18a8284ec1960ee9bcf2214b97a66615c5da"
},
"downloads": -1,
"filename": "mcodac-1.2.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "8f5ca01d1fe35543dbdf0158dea339b0",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7",
"size": 2755305,
"upload_time": "2024-08-28T12:46:18",
"upload_time_iso_8601": "2024-08-28T12:46:18.739683Z",
"url": "https://files.pythonhosted.org/packages/8f/d2/1bb140a3e2a0f08f9de16ed9694c75e7cfb6a0d3495cdb296c61c3e581a2/mcodac-1.2.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "93c705494d3647bca1175630b9d19973ceddeb0908df01f9b4950adfd5181aaf",
"md5": "b1e4dab7d2acc11d6355a593db7559a6",
"sha256": "8de24e420ef4f80371fad329a820a5046d2ce8ef71e224797d0b6e091d5fce59"
},
"downloads": -1,
"filename": "mcodac-1.2.0-cp35-cp35m-win_amd64.whl",
"has_sig": false,
"md5_digest": "b1e4dab7d2acc11d6355a593db7559a6",
"packagetype": "bdist_wheel",
"python_version": "cp35",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7",
"size": 2705207,
"upload_time": "2024-08-28T12:46:20",
"upload_time_iso_8601": "2024-08-28T12:46:20.062401Z",
"url": "https://files.pythonhosted.org/packages/93/c7/05494d3647bca1175630b9d19973ceddeb0908df01f9b4950adfd5181aaf/mcodac-1.2.0-cp35-cp35m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1963f4a660bdb110200789de0654c2179dbd225b6f5337c9ad7a465c6bd9c4d3",
"md5": "3d009d733426ab4947533f0308e00677",
"sha256": "b213504d70b5e2e1cc7fc048d51c782f6b96110486b581cd1c16307b2ed28df9"
},
"downloads": -1,
"filename": "mcodac-1.2.0-cp36-cp36m-win_amd64.whl",
"has_sig": false,
"md5_digest": "3d009d733426ab4947533f0308e00677",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7",
"size": 2788858,
"upload_time": "2024-08-28T12:46:21",
"upload_time_iso_8601": "2024-08-28T12:46:21.479297Z",
"url": "https://files.pythonhosted.org/packages/19/63/f4a660bdb110200789de0654c2179dbd225b6f5337c9ad7a465c6bd9c4d3/mcodac-1.2.0-cp36-cp36m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "eb1067cb1e746c8ec12f5ec9df8df7dac3eae7a40f8d1ed01ec0864deaf52b2f",
"md5": "742cf255e81f9df37ea392e9bb068a7e",
"sha256": "17494534dd1d5481690157521fee42bc18d6d2e47d4358103b532c4d4d1f2467"
},
"downloads": -1,
"filename": "mcodac-1.2.0-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "742cf255e81f9df37ea392e9bb068a7e",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7",
"size": 2753645,
"upload_time": "2024-08-28T12:46:23",
"upload_time_iso_8601": "2024-08-28T12:46:23.621265Z",
"url": "https://files.pythonhosted.org/packages/eb/10/67cb1e746c8ec12f5ec9df8df7dac3eae7a40f8d1ed01ec0864deaf52b2f/mcodac-1.2.0-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8358e74bfd1b40dfb4c6e2fee9d5307e5c0dad8ec4924ff99d4e1a20a610e139",
"md5": "935bde588e842f2420465c9c6936c7ee",
"sha256": "a73e53429cd429341855d5693953a35b23d7c15d108d1ff604430b9525a3ce94"
},
"downloads": -1,
"filename": "mcodac-1.2.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "935bde588e842f2420465c9c6936c7ee",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7",
"size": 2753250,
"upload_time": "2024-08-28T12:46:25",
"upload_time_iso_8601": "2024-08-28T12:46:25.429517Z",
"url": "https://files.pythonhosted.org/packages/83/58/e74bfd1b40dfb4c6e2fee9d5307e5c0dad8ec4924ff99d4e1a20a610e139/mcodac-1.2.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-28 12:46:13",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "dlr-sy",
"gitlab_project": "mcodac",
"lcname": "mcodac"
}