Metadata-Version: 2.1
Name: digitalmodel
Version: 0.0.8
Summary: engineering asset digital model(s) for life cycle analysis
Author-email: Vamsee Achanta <vamsee.achanta@aceengineer.com>
License: MIT License
        
        Copyright (c) 2022 Vamsee Achanta
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
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.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: digitalmodel
Requires-Dist: assetutilities
Requires-Dist: pandas
Requires-Dist: plotly
Requires-Dist: dash
Requires-Dist: pyyaml
Requires-Dist: bumpver
Requires-Dist: webcolors
Requires-Dist: matplotlib
Requires-Dist: scipy
Requires-Dist: xlrd
Requires-Dist: openpyxl
Requires-Dist: imgkit
Requires-Dist: xmltodict
Requires-Dist: OrcFxAPI
Requires-Dist: docx
Requires-Dist: deepdiff
Requires-Dist: pytest
Requires-Dist: sympy
Requires-Dist: kaleido
Requires-Dist: pytest
Requires-Dist: deepdiff
Requires-Dist: rainflow
Requires-Dist: pydantic
Requires-Dist: black
Requires-Dist: isort
Requires-Dist: poetry
Requires-Dist: tabulate
Provides-Extra: build
Requires-Dist: build; extra == "build"
Requires-Dist: twine; extra == "build"
Provides-Extra: dev
Requires-Dist: black; extra == "dev"
Requires-Dist: bumpver; extra == "dev"
Requires-Dist: isort; extra == "dev"
Requires-Dist: pytest; extra == "dev"

# 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)
