Python library for analysis of shear deformable anisotropic laminates under transverse loading.
Project description
3pc-lambend
3pc-lambend is a Python library for analysis of shear deformable anisotropic laminates under transverse loading. It provides a Lambend class to calculate displacements, strains, forces, and moments based on specified load cases and boundary conditions.
Installation
Use the package manager pip to install 3pc-lambend. Since the package and its dependencies are available on PyPI, you can install them directly:
pip install 3pc-lambend
API Reference
Lambend Class
The primary component of this package is the Lambend class, which takes a panel and a load case to compute detailed bending metrics.
from lambend.lambend import Lambend
Required Parameters
When initializing Lambend, the following parameters are required:
panel(Panel): An instance of thePanelclass (from3pc-panel) containing the laminate definition and geometry.loads(Loads): An instance of theLoadsclass (from3pc-loads) containing the load case and environmental conditions.number_of_terms(int): Number of terms used in the analysis.number_of_points_x(int): Number of points in the x-direction for grid evaluation.number_of_points_y(int): Number of points in the y-direction for grid evaluation.
Calculated Properties
The class automatically calculates the following properties lazily:
NT,NC: Thermal and hygral in-plane loads on the laminate.u,v,w: Unknown coefficients for displacements $u_{mn}, v_{mn}, w_{mn}$.phix,phiy: Unknown coefficients for rotations $\phi_{x_{mn}}, \phi_{y_{mn}}$.loc: A list of locations $(x, y)$ where properties are computed.uloc,vloc,wloc: Displacements computed at each location.phixloc,phiyloc: Rotations computed at each location.ex0Bloc,ey0Bloc,gxy0Bloc: Mid-plane strains due to bending computed at each location.kx0Bloc,ky0Bloc,kxy0Bloc: Mid-plane curvatures due to bending computed at each location.gxz0Bloc,gyz0Bloc: Transverse shear strains due to bending computed at each location.NMBloc: In-plane forces and moments $(N_{xx}, N_{yy}, N_{xy}, M_{xx}, M_{yy}, M_{xy})$ due to bending computed at each location.QBloc: Transverse shear forces $(Q_{yz}, Q_{xz})$ due to bending computed at each location.
Methods
Lambend.fromDict(**kwargs)
Initializes a Lambend instance using a dictionary of keyword arguments.
Usage Examples
Basic Initialization
Below is an example of performing a bending analysis on a panel under a specific load case.
from panel.panel import Panel
from loads.loads import Loads
from lambend.lambend import Lambend
# Assuming pnl (Panel) and ld (Loads) are already defined
lb = Lambend(panel=pnl, loads=ld, number_of_terms=5, number_of_points_x=10, number_of_points_y=10)
# Access calculated displacement at first location
print("w location:", lb.loc[0])
print("w displacement:", lb.wloc[0])
Commands
The package provides a command-line interface entry point. After installing, you can run the application using:
lambend input.cfg
(This entry point is defined in lambend.__main__:main)
Options
config(positional): Specify the configuration file (.cfg) to run the analysis.-h, --help: Show the help message and exit.-v, --version: Show the version number.-s, --sample: Copy example files (materials, plies, laminates, etc.) to the current directory.
Configuration File (input.cfg)
The lambend command requires a configuration file (typically named input.cfg or lambend.cfg). Below is an example:
[files]
materials = materials.json
plies = plies.json
laminates = laminates.json
panels = panels.json
loads = loads.json
output = output.txt
[analysis]
number_of_terms = 5
number_of_points_x = 10
number_of_points_y = 10
output_K = true
output_P = true
[files] Section
This section defines the paths to the required input JSON files and the desired output file:
materials: Path to the materials JSON file. Follows the format expected by3pc-material.plies: Path to the plies JSON file. Follows the format expected by3pc-plies.laminates: Path to the laminates JSON file. Follows the format expected by3pc-laminate.panels: Path to the panels JSON file. Follows the format expected by3pc-panel.loads: Path to the loads JSON file. Follows the format expected by3pc-loads.output: Path to the text file where the analysis results will be written.
[analysis] Section
This section specifies the analysis settings:
number_of_terms: The number of terms used in the series expansion for the analysis.number_of_points_x: The number of points evaluated in the x-direction.number_of_points_y: The number of points evaluated in the y-direction.output_K: Boolean indicating whether to output the stiffness matrix.output_P: Boolean indicating whether to output the load vector.
Citation
If you use this library in your research or work, please cite it as follows:
APA Format:
Rastogi, N., & Seresta, O. (2026). 3pc-lambend: Python library for analysis of shear deformable anisotropic laminates under transverse loading. PyPI. https://pypi.org/project/3pc-lambend/
BibTeX:
@software{3pc_lambend,
author = {Rastogi, Naveen and Seresta, Omprakash},
title = {3pc-lambend: Python library for analysis of shear deformable anisotropic laminates under transverse loading},
year = {2026},
url = {https://pypi.org/project/3pc-lambend/}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file 3pc_lambend-1.0.1.tar.gz.
File metadata
- Download URL: 3pc_lambend-1.0.1.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c10b40bad05e19a4a2c998fb9cf8299e6814d1320b214f18040ddc34d5b3f62
|
|
| MD5 |
5be9e174ef3385c69a80fe5110a37c68
|
|
| BLAKE2b-256 |
aa264a8e88879d3b17e6810f0bc95f39e949de1809a739a778b33c5519b07d6c
|
File details
Details for the file 3pc_lambend-1.0.1-py3-none-any.whl.
File metadata
- Download URL: 3pc_lambend-1.0.1-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73c2b37b73b00ed92b6e96c53e3bbc3c97dcbb148de9ec0ee0d0983a41b28cdb
|
|
| MD5 |
c13099cade81ee514d6b490a4012f8d2
|
|
| BLAKE2b-256 |
9c10a50b3a329a81e8079676154b3666e96b077fd966ed3dfe874bb2ec58a774
|