Quickstart

Welcome to the Quickstart guide for PyGamLab.

PyGamLab is organized into four core modules that make it easy to use scientific constants, perform engineering conversions, run built-in functions, and analyze experimental data:

🧊 Constants (PyGamLab.Constants) 🔁 Convertors (PyGamLab.Convertos) 🧮 Functions (PyGamLab.Functions) 📊 Data Analysis (PyGamLab.Data_Analysis)

These modules are designed with simplicity and readability in mind, so you can plug them into your workflow with minimal effort.

What is gam?

Throughout this documentation, you’ll often see shorthand names like gamcn, gamcv, or gamfunc. These are just aliases for importing modules to keep the code clean and short — and “gam” is short for GAMLabs, where the library was developed.

For example:

import PyGamLab.Constants as gamcn
print(gamcn.Faraday_Constant)

This is equivalent to:

from PyGamLab.Constants import Faraday_Constant
print(Faraday_Constant)

Or even:

import PyGamLab
print(PyGamLab.Constants.Faraday_Constant)

You can use whichever import style works best for your project or preferences.

Basic Usage

Here’s a full example of how to work with each core module in PyGamLab:

import PyGamLab

import PyGamLab.Constants as gamcn
import PyGamLab.Convertos as gamcv
import PyGamLab.Functions as gamfunc
import PyGamLab.Data_Analysis as gamdat

# -------------- Constants -----------------------

print(gamcn.melting_point_of_Cu)
print(gamcn.melting_point_of_Al)
print(gamcn.Fe_Tm_Alpha)
print(gamcn.Fe_Tm_Gama)

print(gamcn.Boltzmann_Constant)
print(gamcn.Faraday_Constant)

# -------------- Convertors ----------------------

print(gamcv.Kelvin_to_Celcius(300))           # Convert 300 K to °C
print(gamcv.Coulomb_To_Electron_volt(1))      # Convert 1 Coulomb to eV
print(gamcv.Angstrom_To_Milimeter(1))         # Convert 1 Å to mm
print(gamcv.Bar_To_Pascal(1))                 # Convert 1 bar to Pascal

# -------------- Functions -----------------------

# Gibb's Free Energy: G = H0 - T*S0
H0 = 100  # Enthalpy in kJ/mol
T = 298   # Temperature in Kelvin
S0 = 0.2  # Entropy in kJ/mol·K
print(gamfunc.Gibs_free_energy(H0, T, S0))

# Electrical Resistance: R = V / I
voltage = 10         # in Volts
current = 2          # in Amperes
print(gamfunc.Electrical_Resistance(voltage, current))

# Hall-Petch Relationship: σ = σ0 + k / √d
d_grain = 0.01       # Grain diameter in mm
sigma0 = 150         # Friction stress in MPa
k = 0.5              # Strengthening coefficient in MPa·mm^0.5
print(gamfunc.Hall_Petch(d_grain, sigma0, k))

# -------------- Data Analysis -------------------

import pandas as pd

df = pd.read_csv('/users/apm/....../data.csv')
gamdat.Stress_Strain1(df, 'PLOT')
my_uts = gamdat.Stress_Strain1(df, 'UTS')

data = pd.read_csv('/users/apm/....../data.csv')
my_max = gamdat.Xrd_Analysis(data, 'max intensity')
gamdat.Xrd_Analysis(data, 'scatter plot')
gamdat.Xrd_Analysis(data, 'line graph')