{"id":50430273,"url":"https://github.com/hortulanust/dynlattice","last_synced_at":"2026-05-31T14:00:33.728Z","repository":{"id":312716159,"uuid":"1024874659","full_name":"hortulanusT/dynLattice","owner":"hortulanusT","description":"Modeling lattices structures with nonlinear beams","archived":false,"fork":false,"pushed_at":"2026-05-24T16:24:44.000Z","size":17461,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-24T17:29:37.571Z","etag":null,"topics":["explicit-dynamics","finite-element-analysis","metamaterials"],"latest_commit_sha":null,"homepage":"https://hortulanust.github.io/dynLattice/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hortulanusT.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-23T11:30:01.000Z","updated_at":"2026-02-11T19:27:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"fefe2db7-9ff2-4073-805c-92d02b5b38c1","html_url":"https://github.com/hortulanusT/dynLattice","commit_stats":null,"previous_names":["hortulanust/dynlattice"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/hortulanusT/dynLattice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hortulanusT%2FdynLattice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hortulanusT%2FdynLattice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hortulanusT%2FdynLattice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hortulanusT%2FdynLattice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hortulanusT","download_url":"https://codeload.github.com/hortulanusT/dynLattice/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hortulanusT%2FdynLattice/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33733754,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["explicit-dynamics","finite-element-analysis","metamaterials"],"created_at":"2026-05-31T14:00:23.155Z","updated_at":"2026-05-31T14:00:33.722Z","avatar_url":"https://github.com/hortulanusT.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dynLattice\n\n[![JOSS status](https://joss.theoj.org/papers/5061ee2b9ca05710f511f2b61c4933e4/status.svg)](https://joss.theoj.org/papers/5061ee2b9ca05710f511f2b61c4933e4)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Docs: 1.11](https://img.shields.io/badge/Docs-1.11-00a6d6)](https://hortulanust.github.io/dynLattice/)\n\ndynLattice is a finite element environment for dynamic simulation of beam networks and lattice metamaterials. It implements geometrically exact beam elements based on the [Simo \u0026 Vu-Quoc (1986)](https://doi.org/10.1016/0045-7825(86)90079-4) formulation with support for inelastic materials, explicit time marching, and contact mechanics.\n\n## Features\n\n- **Geometrically exact beam elements** with support for large deformations\n- **Inelastic material models** for rod elements including elastoplastic behavior\n- **Explicit time integration** for dynamic simulations\n- **Contact mechanics** between beam elements\n- **GMSH integration** for mesh generation\n- **Containerized environment** with Apptainer for reproducible simulations\n- **Comprehensive test suite** with validation benchmarks\n\n## Publications\n\u003c!-- Journal Articles --\u003e\n[![Article: Mech. Mater.](https://img.shields.io/badge/Article-Mech.%20Mater.%20(2024)-orange?logo=DOI)](https://doi.org/10.1016/j.mechmat.2024.104952)\n[![Article: Comput. Mech.](https://img.shields.io/badge/Article-Comput.%20Mech.%20(2025)-orange?logo=DOI)](https://doi.org/10.1007/s00466-024-02572-3)\n[![Article: Int. J. Impact Eng.](https://img.shields.io/badge/Article-Int.%20J.%20Impact%20Eng.%20(2025)-orange?logo=DOI)](https://doi.org/10.1016/j.ijimpeng.2025.105402)\n[![Preprint: Mater. Today Adv.](https://img.shields.io/badge/Article-Mater.%20Today%20Adv.%20(2025)-orange?logo=DOI)](https://doi.org/10.1016/j.mtadv.2025.100656)\n\u003c!-- Other Publications --\u003e\n[![Dissertation: TU Delft](https://img.shields.io/badge/Dissertation-TU%20Delft%20(2025)-00a6d6?logo=DOI)](https://doi.org/10.4233/uuid:9d0b230e-1008-46a2-a193-b9dd3f8c472f)\n\n## Quick Start\n\n### Prerequisites\n\n- [Apptainer](https://apptainer.org/) installed on your system\n\n### Installation\n\n1. Download the [latest release](https://github.com/hortulanusT/dynLattice/releases/latest)\n\n2. Set up the container alias `alias jive=\"apptainer exec $(pwd)/jive.sif\"`\n\n3. Build the code `jive make`\n\n4. Run tests to verify installation: `jive make tests`\n\n### Basic Usage\n\nAfter building, the main executable `dynLattice` will be available in the `bin/` directory. Run simulations using:\n\n```bash\njive bin/dynLattice input_file.pro\n```\n\nExample input files can be found in the `tests/` directory.\n\n## Documentation\n\n- **API Documentation**: Build with `jive make doc` and open `doc/html/index.html`\n- **Installation Guide**: [doc/install.md](doc/install.md)\n- **Usage Instructions**: [doc/usage.md](doc/usage.md)\n- **Benchmarks**: [tests/Benchmarks.md](tests/Benchmarks.md)\n\n## Requirements\n\nThe code requires the JIVE finite element toolkit and its dependencies. All requirements are provided through the included Apptainer container (`jive.sif`). To build the documentation, use:\n\n```bash\njive make doc\n```\n\nThe documentation is also available as [GitHub Pages](https://hortulanust.github.io/dynLattice/)\n\n## Project Structure\n\n```\n.\n├── .gitignore            ← gitignore file to ignore compiled files and other artifacts\n├── .gitattributes        ← git attributes file\n├── .github/              ← GitHub workflows and configuration\n├── .vscode/              ← VS Code workspace configuration\n├── CITATION.cff          ← Citation metadata file\n├── LICENSE               ← MIT license file\n├── README.md             ← this file\n├── CONTRIBUTING.md       ← contribution guidelines\n├── codemeta.json         ← software metadata\n├── Makefile              ← makefile for building the code and documentation\n├── jive.def              ← Apptainer definition file for building the container\n├── jive.sif              ← Apptainer container for running the code\n├── bin/                  ← Compiled code (ignored by git)\n│   ├── dynLattice        ← main executable for the program\n│   ├── dynLattice-opt    ← optimized executable for the program\n│   └── dynLattice-debug  ← executable with debug symbols\n├── doc/                  ← Documentation files\n│   ├── doc.mk            ← Makefile for documentation\n│   ├── doxygen.conf      ← Doxygen configuration for API documentation\n│   ├── install.md        ← Installation instructions\n│   ├── main.md           ← Main documentation content\n│   ├── usage.md          ← Usage instructions\n│   └── html/             ← Generated HTML documentation (ignored by git)\n├── paper/                ← JOSS paper and related materials\n│   ├── paper.md          ← Main paper content in Markdown\n│   ├── paper.bib         ← Bibliography file\n│   └── beam_concept.pdf  ← Beam concept illustration\n├── src/                  ← Source code\n│   ├── main.cpp          ← Main file for the program\n│   ├── models/           ← Custom JIVE models\n│   ├── modules/          ← Custom JIVE modules\n│   ├── materials/        ← Custom JIVE materials\n│   ├── misc/             ← Other custom files\n│   └── utils/            ← Utility functions and macros\n└── tests/                ← Test cases and benchmarks\n    ├── testing.mk        ← Makefile for running tests\n    ├── Benchmarks.md     ← Overview of all benchmarks\n    ├── BeamBenchmarks.md ← Beam element benchmarks\n    ├── ContactBenchmarks.md ← Contact mechanics benchmarks\n    ├── PlasticBenchmarks.md ← Plasticity benchmarks\n    ├── TransientBenchmarks.md ← Transient analysis benchmarks\n    ├── beam/             ← Beam test cases\n    ├── contact/          ← Contact test cases\n    ├── plastic/          ← Plasticity test cases\n    ├── transient/        ← Transient analysis test cases\n    └── *.png             ← Result images from benchmark tests (ignored by git)\n```\n\n## Contributing\n\nWe welcome contributions to dynLattice! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on:\n\n- Setting up the development environment\n- Code organization and style\n- Submitting pull requests\n- Running tests\n\n## Examples and Validation\n\nThe `tests/` directory contains numerous validation cases and benchmarks:\n\n- **Beam Benchmarks**: Validation of beam element formulation\n- **Contact Benchmarks**: Contact mechanics validation\n- **Plasticity Benchmarks**: Material nonlinearity validation  \n- **Transient Benchmarks**: Dynamic analysis validation\n\nEach benchmark includes input files (`.pro`, `.geo`) and reference results.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhortulanust%2Fdynlattice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhortulanust%2Fdynlattice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhortulanust%2Fdynlattice/lists"}