Skip to main content

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 the Panel class (from 3pc-panel) containing the face sheet laminates and sandwich core definition.
  • 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 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 all i, j = 1, 2, ..., M, where M is 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 by 3pc-material.
  • plies: Path to the plies JSON file. Follows the format expected by 3pc-ply.
  • cores: Path to the cores JSON file.
  • 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 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

3pc_sandbend-1.0.0.tar.gz (37.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

3pc_sandbend-1.0.0-py3-none-any.whl (45.3 kB view details)

Uploaded Python 3

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

Hashes for 3pc_sandbend-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9c5628dc252eaf3fcef14c09287db51cdab3731bee1475022a4aedc5dcac906e
MD5 063c0b6e2815b79a60bc476ea26af137
BLAKE2b-256 457dcbe4cc82d0af7be243acfa5fa83772a4ff47f6ad1e79adb941540a107e36

See more details on using hashes here.

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

Hashes for 3pc_sandbend-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1017d544812e13534b2f5232008b652503a5cd45558ae64dea39b7bcfe7e4338
MD5 27a99c69cd23486f1bd86fd65c1f73cc
BLAKE2b-256 ec14a7cf3c8d1f96f068d1b72256ef872585033e1087f6962d01e9269389932e

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.1

2 files

This release

1.0.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page