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/}
}
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_sandbend-1.0.0.tar.gz.
File metadata
- Download URL: 3pc_sandbend-1.0.0.tar.gz
- Upload date:
- Size: 37.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c5628dc252eaf3fcef14c09287db51cdab3731bee1475022a4aedc5dcac906e
|
|
| MD5 |
063c0b6e2815b79a60bc476ea26af137
|
|
| BLAKE2b-256 |
457dcbe4cc82d0af7be243acfa5fa83772a4ff47f6ad1e79adb941540a107e36
|
File details
Details for the file 3pc_sandbend-1.0.0-py3-none-any.whl.
File metadata
- Download URL: 3pc_sandbend-1.0.0-py3-none-any.whl
- Upload date:
- Size: 45.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1017d544812e13534b2f5232008b652503a5cd45558ae64dea39b7bcfe7e4338
|
|
| MD5 |
27a99c69cd23486f1bd86fd65c1f73cc
|
|
| BLAKE2b-256 |
ec14a7cf3c8d1f96f068d1b72256ef872585033e1087f6962d01e9269389932e
|