Skip to main content

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 the Panel class (from 3pc-panel) containing the laminate definition and geometry.
  • loads (Loads): An instance of the Loads class (from 3pc-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 by 3pc-material.
  • plies: Path to the plies JSON file. Follows the format expected by 3pc-plies.
  • laminates: Path to the laminates JSON file. Follows the format expected by 3pc-laminate.
  • panels: Path to the panels JSON file. Follows the format expected by 3pc-panel.
  • loads: Path to the loads JSON file. Follows the format expected by 3pc-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/}
}

Metadata

Release files for 3pc-lambend 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for 3pc-lambend 1.0.3
File Size Uploaded Provenance
3pc_lambend-1.0.3.tar.gz 79.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for 3pc-lambend 1.0.3
File Interpreter ABI Platform
3pc_lambend-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 170.3 kB

Release files / 3pc_lambend-1.0.3.tar.gz

Download URL 3pc_lambend-1.0.3.tar.gz
Size 79.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b0ad928feff2b9621581a2442fa3684439c0567edf53c7c61de0654b2ffd2764
BLAKE2b-256 checksum
How to use checksums
7219b5722079c76f88426cd3cf3fecc3f666fcacf8644d2504e5f937ab0a959e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release files / 3pc_lambend-1.0.3-py3-none-any.whl

Download URL 3pc_lambend-1.0.3-py3-none-any.whl
Size 91.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
497358dce63f7f8921eb132c16cda0ec841bc25083ee1910be841af025afa379
BLAKE2b-256 checksum
How to use checksums
ca153303fe68e51d09e3cae7435871faebb161e1abb7c3e165ac8e024d89d5c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Security for 3pc-lambend 1.0.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page