3pc-sandbend
3pc-sandbend is a Python library for bending analysis of shear deformable anisotropic sandwich plates under transverse loads, hygrothermal, and mechanical loads. It provides a Sandbend class to calculate reference surface displacements, rotations, strains, curvatures, and transverse shear strains across a user-specified coordinate grid.
Installation
Use the package manager pip to install 3pc-sandbend. Since the package and its dependencies are available on PyPI, you can install them directly:
pip install 3pc-sandbend
API Reference
Sandbend Class
The primary component of this package is the Sandbend class, which takes a panel, a load case, and coordinates/Fourier-expansion parameters to solve the sandwich bending governing equations.
from sandbend.sandbend import Sandbend
Required Parameters
When initializing Sandbend, the following parameters are required:
panel(Panel): An instance of thePanelclass (from3pc-panel) containing the face sheet laminates and sandwich core definition.loads(Loads): An instance of theLoadsclass (from3pc-loads) containing the load case and environmental conditions.number_of_terms(int): Number of terms in the double Fourier series expansion.number_of_points_x(int): Number of points along x-direction to calculate values.number_of_points_y(int): Number of points along y-direction to calculate values.
Calculated Properties
The class calculates the following properties:
pairs: List of pairs(i, j)for alli, j = 1, 2, ..., M, whereMis the number of terms.K33: Load-dependent part of the stiffness term K33 for all pairs.Pmn,PFull: Load coefficient arrays.u,v,w: Reference surface displacement components.phix,phiy: Reference surface rotations.uloc,vloc,wloc: Grid point displacements.phixloc,phiyloc: Grid point rotations.ex0Bloc,ey0Bloc,gxy0Bloc: Reference surface in-plane strains at grid locations.kx0Bloc,ky0Bloc,kxy0Bloc: Reference curvatures at grid locations.gxz0Bloc,gyz0Bloc: Transverse shear strains at grid locations.ek0Bloc,gT0Bloc,NMBloc,QBloc: Reference strain, thermal strain, force/moment resultants, and shear force resultants at each grid location.coeff: Calculated displacement and rotation coefficients.
Methods
Sandbend.fromDict(**kwargs)
Initializes a Sandbend instance using a dictionary of keyword arguments.
Usage Examples
Basic Initialization
Below is an example of performing a sandwich bending analysis.
from panel.panel import Panel
from loads.loads import Loads
from sandbend.sandbend import Sandbend
# Assuming pnl (Panel) and ld (Loads) are already defined
sb = Sandbend(
panel=pnl,
loads=ld,
number_of_terms=13,
number_of_points_x=5,
number_of_points_y=5
)
# Access calculated results
print("Grid displacements (wloc):", sb.wloc)
print("Strains & curvatures (ek0Bloc):", sb.ek0Bloc)
Commands
The package provides a command-line interface entry point. After installing, you can run the application using:
sandbend input.cfg
(This entry point is defined in sandbend.__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, cores, laminates, panels, loads, config) to the current directory.
Configuration File (sandbend.cfg)
The sandbend command requires a configuration file (typically named sandbend.cfg). Below is an example based on sandbend/examples/example001/sandbend.cfg:
[files]
materials = materials.json
plies = plies.json
cores = cores.json
laminates = laminates.json
panels = panels.json
loads = loads.json
output = output.txt
[analysis]
number_of_terms = 13
number_of_points_x = 5
number_of_points_y = 5
[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-ply.cores: Path to the cores JSON file.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 sandwich bending analysis results will be written.
[analysis] Section
This section specifies the analysis settings:
number_of_terms: Number of terms in the double Fourier series expansion.number_of_points_x: Number of grid points along the x-direction.number_of_points_y: Number of grid points along the y-direction.
Citation
If you use this library in your research or work, please cite it as follows:
APA Format:
Seresta, O. (2026). 3pc-sandbend: Python library for bending analysis of shear deformable anisotropic sandwich plates under transverse loads, hygrothermal, and mechanical loads. PyPI. https://pypi.org/project/3pc-sandbend/
BibTeX:
@software{3pc_sandbend,
author = {Seresta, Omprakash},
title = {3pc-sandbend: Python library for bending analysis of shear deformable anisotropic sandwich plates under transverse loads, hygrothermal, and mechanical loads},
year = {2026},
url = {https://pypi.org/project/3pc-sandbend/}
}
Metadata
Release files for 3pc-sandbend 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| 3pc_sandbend-1.0.1.tar.gz | 37.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 3pc_sandbend-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 83.4 kB
Release files / 3pc_sandbend-1.0.1.tar.gz
| Download URL | 3pc_sandbend-1.0.1.tar.gz |
|---|---|
| Size | 37.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bb8c9b4e292d17fdf835977379ae10826f802daad36d8c830523796dffcaf085
|
|
BLAKE2b-256 checksum How to use checksums |
abe6749bc6b75772869ab09f7089d8011e50ac88440477b37cb0e3e2be3fb5f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / 3pc_sandbend-1.0.1-py3-none-any.whl
| Download URL | 3pc_sandbend-1.0.1-py3-none-any.whl |
|---|---|
| Size | 45.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4ab5e50e1e4779878647b949dfd2ef5063a70ab1259a5d7df965f843522bda2f
|
|
BLAKE2b-256 checksum How to use checksums |
f0420f21a81e229b62b882061369ec251a530cf6076f609b21607a57870050e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|