Extract continuous and discrete relaxation spectra from G(t)

Overview

pyReSpect-time

Extract continuous and discrete relaxation spectra from stress relaxation modulus G(t). The papers which describe the method and test cases are:

  • Shanbhag, S., "pyReSpect: A Computer Program to Extract Discrete and Continuous Spectra from Stress Relaxation Experiments", Macromolecular Theory and Simulations, 2019, 1900005 [doi: 10.1002/mats.201900005].
  • Takeh, A. and Shanbhag, S. "A computer program to extract the continuous and discrete relaxation spectra from dynamic viscoelastic measurements", Appl. Rheol. 2013, 23, 24628.

Files

Code Files

This repository contains two python modules contSpec.py discSpec.py. They extract the continuous and discrete relaxation spectra from a stress relaxation data. (t versus G(t) experiment or simulation).

It containts a third module common.py which contains utilities required by both contSpec.py and discSpec.py.

In addition to the python modules, a jupyter notebook interactContSpec.ipynb is also provisionally included. This allows the user to experiment with parameter settings interactively.

Input Files

The user is expected to supply two files:

  • inp.dat is used to control parameters and settings
  • Gt.dat which contains two columns of data t and G(t)

Output Files

Text files containting output from the code are stored in a directory output/. These include a fit of the data, the spectra, and other files relevant to the continuous or discrete spectra calculation.

Graphical and onscreen output can be suppressed by appropriate flags in inp.dat.

Test Files

A bunch of test files are supplied in the folder tests/. These data are described in the paper: Shanbhag, S., "pyReSpect: A Computer Program to Extract Discrete and Continuous Spectra from Stress Relaxation Experiments" which will appear in Macromolecular Theory and Simulations in 2019.

Usage

Once inp.dat and Gt.dat are furnished, running the code is simple.

To get the continuous spectrum:

python3 contSpec.py

The continuous spectrum must be extracted before the discrete spectrum is computed. The discrete spectrum can then be calculated by

python3 discSpec.py

Interactive Mode

The interactive mode offers a "GUI" for exploring parameter settings. To launch use jupyter notebook interactContSpec.ipynb.

Pre-requisites

The numbers in parenthesis show the version this has been tested on.

python3 (3.5.2) numpy (1.14.2) scipy (1.0.1)

For interactive mode:

jupyter (4.3) ipywidgets (6.0.0)

History

The code is based on the Matlab program ReSpect, which extract the continuous and discrete relaxation spectra from frequency data, G*(w). Work was supported by National Science Foundation DMR grants number 0953002 and 1727870.

Major Upgrade: March-April 2019

  • added ability to infer plateau modulus G0; modified all python routines and reorganized inp.dat
  • use a Bayesian formulation to infer uncertainty in the continuous spectrum
  • currently keeping old method to determine critical lambda, but using a far more efficient method (3-4x savings in compute time)
  • made discSpec.py compliant with G0

Major Upgrade: December 2018

  • moved all common imports and definitions to common; made completely visible
  • in discSpec(): added a NLLS routine to optimize tau; use previous optima as initial guesses for final tau; this greatly improved the quality of fits.

Major Upgrade: August 2018

Continuous Spectrum

  • orignal program with n = 100 and lambda = 20 pts with clean 1 mode data took ~33s.
  • prestore kernMat: evaluation of kernel (meshgrid S, T, and hs) by prestoring kernMat ~12.5s (~3x speed gain)
  • improved least_squares setting by incorporating jacobianLM; ~6s (2x gain)
  • lcurve coarser (auto) mesh, robust criterion, and interpolation ~3.5s (~1.75x gain)
  • Total gain in speed as a consequence of these improvements is 33s -> 3.5s a nearly 10x gain!
  • making jupyter interact compliant

Discrete Spectrum

  • AutoMagic Mode: need only par verbose and plotting flags; auto Nopt
  • switching to nnls as default fitting engine
  • changed older MaxwellModes and LLS -> nnls
  • some printing modifications
  • hardcoding prune = True everywhere; doesn't seem to be use case otherwise
  • making jupyter interact compliant
Hashcrack: Hash Bruteforse tool using python

HashCrack Hash Bruteforse tool Usage hashcrack.py -n 6 -c lower -l 5 -a md5 -t 3

Lev 1 May 04, 2022
KeyLogger cliente-servidor em Python para estudos

KeyLogger Esse projeto é apenas para estudos, não nos responsabilisamos por qualquer uso indevido ou prejudiciais do mesmo. Sobre O objetivo do projet

1 Dec 17, 2021
A framework to create reusable Dash layout.

dash_component_template A framework to create reusable Dash layout.

The TolTEC Project 4 Aug 04, 2022
Team10 backend - A service which accepts a VRM (Vehicle Registration Mark)

GreenShip - API A service which accepts a VRM (Vehicle Registration Mark) and re

3D Hack 1 Jan 21, 2022
200 LeetCode problems

LeetCode I classify 200 leetcode problems into some categories and upload my code to who concern WEEK 1 # Title Difficulty Array 15 3Sum Medium 1324 P

Hoang Cao Bao 108 Dec 08, 2022
Simple Python API for the Ergo Platform Explorer

Ergo is a "Resilient Platform for Contractual Money." It is designed to be a platform for applications with the main focus to provide an efficient, se

7 Jul 06, 2021
program to store and update pokemons using SQL and Flask

Pokemon SQL and Flask Pokemons api in python. Technologies flask pymysql Description PokeCorp is a company that tracks pokemon and their trainers arou

Sara Hindy Salfer 1 Oct 20, 2021
DD监控室第一版

DD监控室 运行指南

执明神君 1.2k Dec 31, 2022
Script Repository for the ICGM-CNRS FRANCE

Here you will find my Python Work repesitory for the ICGM institute - Montpellier - France.

CABOS Matthieu 1 Apr 13, 2022
Just a simple python script to generate graphs of salt state requisites.

saltstatevis Just a simple python script to generate graphs of salt state requisites. Installation Requirements You will need to install graphviz to r

Dwayn Matthies 3 May 04, 2022
Class XII computer science project.

Computer Science Project — Class XII Kshitij Srivastava (XI – A) Introduction The aim of this project is to create a fully operational system for a me

Kshitij Srivastava 2 Jul 21, 2022
This is an implementation of NeuronJ work with python.

NeuronJ This is an implementation of NeuronJ work with python. NeuronJ is a plug-in for ImageJ that allows you to create and edit neurons masks. Image

Mohammad Mahdi Samei 3 Aug 28, 2022
Quick script for automatically extracting syscall numbers for an OS

Syscalls-Extractor Quick script for automatically extracting syscall numbers for an OS $ python3 .\syscalls-extractor.py --help usage: syscalls-extrac

m0rv4i 54 Feb 10, 2022
dbt adapter for Firebolt

dbt-firebolt dbt adapter for Firebolt dbt-firebolt supports dbt 0.21 and newer Installation First, download the JDBC driver and place it wherever you'

23 Dec 14, 2022
Programmatic startup/shutdown of ASGI apps.

asgi-lifespan Programmatically send startup/shutdown lifespan events into ASGI applications. When used in combination with an ASGI-capable HTTP client

Florimond Manca 129 Dec 27, 2022
[Cython] Vs [Python] Which one is Faster ?

[Cython] Vs [Python] ? Attractive Contrast :) Mission : Which one is Faster ? Comparing of Execution runtime for [Selection_sort] with Time Complexity

baqer marani 1 Dec 05, 2021
Arcpy Tool developed for ArcMap 10.x that checks DVOF points against TDS data and creates an output feature class as well as a check database.

DVOF_check_tool Arcpy Tool developed for ArcMap 10.x that checks DVOF points against TDS data and creates an output feature class as well as a check d

3 Apr 18, 2022
A demo Piccolo app - a movie database!

PyMDb Welcome to the Python Movie Database! Built using Piccolo, Piccolo Admin, and FastAPI. Created for a presentation given at PyData Global 2021. R

11 Oct 16, 2022
The CS Netlogo Helper is a small python script I made, to make computer science homework easier.

The CS Netlogo Helper is a small python script I made, to make computer science homework easier. This project is really ironic now that I think about it.

1 Jan 13, 2022
A lightweight solution for local Particle development.

neopo A lightweight solution for local Particle development. Features Builds Particle projects locally without any overhead. Compatible with Particle

Nathan Robinson 19 Jan 01, 2023