Catalog PyPI
Back to packageRELEASE DETAILS

1.0.3

PyPI

3pc-lambend

Python library for analysis of shear deformable anisotropic laminates under transverse loading.

aerospace-engineeringanisotropiccompositeslaminate-bendingmechanicsshear-deformabletransverse-loading
Published22 Aug 2026
Direct dependencies7
Transitive dependenciesNot calculated

README

Version 1.0.3 documentation

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/}
}

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 7

Native requirements
7 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
3pc-material
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
3pc-materialruntime
3pc-ply
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
3pc-plyruntime
3pc-laminate
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
3pc-laminateruntime
3pc-panel
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
3pc-panelruntime
3pc-loads
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
3pc-loadsruntime
3pc-utils
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
3pc-utilsruntime
numpy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.6",
  "evaluation": "NOT_EVALUATED"
}
numpyruntime

Distribution files

2 collected
3pc_lambend-1.0.3-py3-none-any.whl

bdist_wheel · 88.91 KB · Python py3

Source file
3pc_lambend-1.0.3.tar.gz

sdist · 77.4 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 15:34 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:e548e8afc3c3398910020a94fa1df05dc1b56eabf7ba2d4aaff7f7e5b1e862c7

Other collected versions

View all collected versions →