Metadata-Version: 2.4
Name: digitalmodel
Version: 0.0.9
Summary: engineering asset digital model(s) for life cycle analysis
Author-email: Vamsee Achanta <vamsee.achanta@aceengineer.com>
License: MIT
Project-URL: Homepage, https://github.com/vamseeachanta/digitalmodel
Project-URL: Repository, https://github.com/vamseeachanta/digitalmodel
Project-URL: Documentation, https://github.com/vamseeachanta/digitalmodel/blob/master/README.md
Keywords: finite element,asset representation,structural,physical,engineering,animation,lifecycle,lifecycle analysis,single source of truth,digital model,digital twin
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: assetutilities>=0.0.7
Requires-Dist: beautifulsoup4>=4.13.4
Requires-Dist: black>=24.8.0
Requires-Dist: bumpver>=2025.1131
Requires-Dist: dash>=3.1.1
Requires-Dist: deepdiff>=8.4.2
Requires-Dist: docx>=0.2.4
Requires-Dist: imgkit>=1.2.3
Requires-Dist: isort>=5.13.2
Requires-Dist: kaleido>=1.0.0
Requires-Dist: loguru>=0.7.3
Requires-Dist: matplotlib>=3.7.5
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: pandas>=2.0.3
Requires-Dist: plotly>=6.2.0
Requires-Dist: poetry>=1.8.5
Requires-Dist: pydantic>=2.10.6
Requires-Dist: pypdf2>=3.0.1
Requires-Dist: pytest>=8.3.5
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: rainflow>=3.2.0
Requires-Dist: requests>=2.32.4
Requires-Dist: ruamel-yaml>=0.18.14
Requires-Dist: scipy>=1.10.1
Requires-Dist: scrapy>=2.11.2
Requires-Dist: sympy>=1.13.3
Requires-Dist: tabula>=1.0.5
Requires-Dist: tabulate>=0.9.0
Requires-Dist: webcolors>=24.8.0
Requires-Dist: xlrd>=2.0.2
Requires-Dist: xlsxwriter>=3.2.5
Requires-Dist: xmltodict>=0.14.2
Provides-Extra: dev
Requires-Dist: black>=23.0; extra == "dev"
Requires-Dist: bumpver>=2023.1129; extra == "dev"
Requires-Dist: isort>=5.0.0; extra == "dev"
Requires-Dist: pytest>=7.0.0; extra == "dev"
Provides-Extra: deploy
Requires-Dist: twine>=1.0.0; extra == "deploy"
Requires-Dist: build>=1.0.0; extra == "deploy"
Dynamic: license-file

# Introduction

Sustainable Digital models for engineering assets built with sustainable engineering processes and solutions. The objective of digital models is to utilize a single source of ascii inputs (promoting single source of truth) to generate equivalent analytical models to encompass lifecycle operations of a product.

These operations include (and not limited to) the following:

- Analytical calculations
- Computational analysis
- 3D CAD models
  - 3D animations
  - Drawing automation

Dedicated to my idol and a lifelong chief engineer, **Mark Cerkovnik**. His insights shaped major portions of my life and this repository.

# Summary

- High level vision proposed:
<img src="docs/digital_model_architecure.svg" width=auto, height=auto/>

The library is intended to get traction from stretched engineering teams. Teams using this can take away some good ideas generated from leading/mentoring over 200 SURF engineers over 20 years of hands-on engineering experience. The main objectives of the library are:

- Single ascii data source of truth: generate fe models, analytical calculations, 3d cad models, 3d animations, drawings using a single source of truth
- Modularity : engineering assets can be imported into sofware using .yml files
- Standardize naming conventions: for cross-team/company collaboration
- Reusability of components: do once, use many times
- Analytical QA: If certain tasks can be done analytically, verify the outputs from analytical calculations vs. Orcaflex outputs. eg: Weights of components expected vs. model
- A major impact will be in the QA of the work for the end users as well as the responsible leads.
- Avoid excel to eliminate manual steps. Helps in automation of tasks and no/less room for error.

# Usage

Using the Repository:

- The repository is intended to be used as a library for engineering assets. The library is intended to be used by engineers to generate analytical models, computational models, 3D CAD models, 3D animations, and drawings.
- The repository is organized in following key folders:
  - docs: Contains the documentation for the library
  - src: Contains the source code for the library
  - src/tests: Contains the test cases for the library

A quick way to running code is:
    - Create a virtual environment:
        - Use [conda yaml file](https://raw.githubusercontent.com/vamseeachanta/digitalmodel/master/dev_tools/environment.yml) to create a new environment
        - (or) by installing [digitalmodel]((https://github.com/vamseeachanta/digitalmodel)) package in an environment

- Run the following batch files
  - Download this [digitalmodel repository](https://github.com/vamseeachanta/digitalmodel)
  - activate environment
  - Change command line to "digitalmodel" (outside not in src) folder
    - Run the following python files in tests:
      - python src\digitalmodel\tests\ {change_to_relevant}.py
      - i.e. for catenary riser, python src\digitalmodel\tests\test_catenary_riser.py
    - (or) Run the following batch files in tests:
      - python src\digitalmodel\tests\ {change_to_relevant}.bat
      - i.e. for catenary riser, python src\digitalmodel\tests\test_catenary_riser.bat

## Assets

### SALM

SALM (Single Anchor Line Mooring)

Relevant files:

- python src\digitalmodel\tests\test_fea_model_salm_buoy_01.py
- python src\digitalmodel\tests\test_fea_model_salm_buoy_02.py

### Ships or vessels

Light Service Vessels
Intervention vessels

### Risers

#### Catenary Risers (SCR, SLWR)

SCR - Simple Catenary Riser
SLWR - Simple Lazy Wave Riser

Relevant files:

- python src\digitalmodel\tests\test_catenary_riser.py
- python src\digitalmodel\tests\test_catenary_riser.bat

### Pipelines

### Flexibles or Umbilicals

### Umbilicals

### Rigid Jumpers

## Example Software Runs

### OrcaFlex

Relevant files:

- python src\digitalmodel\tests\test_orcaflex_analysis.py

## Calculations

### Time Series

Statics

- Fast Fourier Transform analysis as follows:
  - FFT
  - iFFT
  - Peak energy frequency
  - Perform signal integration

## References

### Manufacturing/Fabrication

[ProdSim python packages](https://github.com/FuchsTom/ProdSim)
[ProdSim Background: An Open-source Python Package for Generating High-resolution Synthetic Manufacturing Data on Product, Machine and Shop-Floor Levels](https://www.sciencedirect.com/science/article/pii/S2212827122004395)

### dummy section
