Giter Club home page Giter Club logo

pyvisco's Introduction

pyvisco

Pyvisco is a Python library that supports the identification of Prony series parameters for Generalized Maxwell models describing linear viscoelastic materials.

Overview

The mechanical response of linear viscoelastic materials is often described with Generalized Maxwell models. The necessary material model parameters are typically identified by fitting a Prony series to the experimental measurement data in either the frequency-domain (via Dynamic Mechanical Thermal Analysis) or time-domain (via relaxation measurements). Pyvisco performs the necessary data processing of the experimental measurements, mathematical operations, and curve-fitting routines to identify the Prony series parameters. The experimental data can be provided as raw measurement sets at different temperatures or as pre-processed master curves.

  • If raw measurement data are provided, the time-temperature superposition principle is applied to create a master curve and obtain the shift functions prior to the Prony series parameters identification.

  • If master curves are provided, the shift procedure can be skipped, and the Prony series parameters identified directly.

An optional minimization routine is provided to reduce the number of Prony elements. This routine is helpful for Finite Element simulations where reducing the computational complexity of the linear viscoelastic material models can shorten the simulation time.

Usage

The easiest way of using pyvisco is through an interactive Jupyter notebook that provides a graphical user interface to upload the experimental data, perform the curve fitting procedure, and download the obtained Prony series parameters. Currently, the Jupyter notebook is rendered with voila and can be accessed through binder. Click the link below to start the web application.

badge

Alternatively, pyvisco can be installed automatically into Python from PyPI using the command line:

pip install pyvisco

A full API documentation is available at: Documentation Status
Additionally, the verification subfolder contains example Jupyter notebooks on how to use the library.

Verification

The Python implementation was verified by comparing the obtained Prony series parmaters with the curve fitting routine implemented in the commercial software package ANSYS APDL 2020 R1. Jupyter notebooks showcasing the comparision and supplementary files can be found in the verification subfolder.

Citation

If you are using pyvisco in your published work, please use the following along with the version number and the specific DOI coresponding to that version from Zenodo: DOI.

APA

Springer, Martin (2022). PYVISCO: A Python library for identifying Prony series parameters of linear viscoelastic materials (Version {insert version}) [Computer software]. doi:{insert DOI}

BibTeX

@software{Springer_pyvisco_2022,
  author = {Springer, Martin},
  doi = {insert DOI},
  title = {{PYVISCO: A Python library for identifying Prony series parameters of linear viscoelastic materials}},
  url = {https://github.com/NREL/pyvisco},
  version = {insert version},
  year = {2022}
}

pyvisco's People

Contributors

github-actions[bot] avatar martin-springer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pyvisco's Issues

Error in mastercurve creation using shift algorithm

In the Jupyter notebook "verify_freq_raw.ipynb" if the shift algorithm is used:

df_aT = visco.master.get_aT(df_raw, RefT)
Instead of the shift factors imported from .xls table, then when the mastercuve function is called :
df_master = visco.master.get_curve(df_raw, df_aT, RefT)
There is a type error:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_21464/2365528376.py in <module>
      1 #Create master curve
----> 2 df_master = visco.master.get_curve(df_raw, df_aT, RefT)
      3 fig_master_shift = visco.master.plot_shift(df_raw, df_master, units)

~\AppData\Roaming\Python\Python39\site-packages\pyvisco\master.py in get_curve(df_raw, df_aT, RefT)
    358     df_shift = pd.DataFrame()
    359     for S, df in df_raw.groupby('Set'):
--> 360         aT = 10**(df_aT[df_aT['T'] == df['T_round'].iloc[0]]['log_aT'].values)
    361         fshift = aT * df['f_set']
    362         df_shift = pd.concat([df_shift, fshift.to_frame()])

TypeError: tuple indices must be integers or slices, not str

Generalized Maxwell for viscoelastic liquids

Would it be possible to decide between the equations for a viscoelastic solid and the ones for a viscoelastic liquid? That is, to remove the parameter E_โˆž from the E' equation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.