pyapm
An Aerodynamic Panel Method implemented in Python for use from Python scripts. Examples in the "./scripts" folder.
JSON Definition File:
{
"name": "Prandtl-D2",
"mach": 0.0,
"sref": 0.94064328,
"cref": 0.2686,
"bref": 3.749,
"xref": 0.3270,
"yref": 0.0,
"zref": 0.0,
"surfaces": [
{
"name": "Wing",
"twist": 0.0,
"mirror": true,
"cnum": 16,
"sections": [
{
"xpos": 0.0,
"ypos": 0.0,
"zpos": 0.0,
"chord": 0.40005,
"bnum": 50,
"bspc": "full-cosine",
"airfoil": "prandtl_root.dat",
"xoc": 0.0,
"zoc": 0.0
},
{
"xpos": 0.83459,
"ypos": 1.87452,
"zpos": 0.08177,
"chord": 0.10008,
"airfoil": "prandtl_tip.dat",
"xoc": 0.0,
"zoc": 0.0
}
],
"functions": [
{
"variable": "twist",
"spacing": "equal",
"interp": "cubic",
"values": [
8.3274,
8.5524,
8.7259,
8.8441,
8.9030,
8.8984,
8.8257,
8.6801,
8.4565,
8.1492,
7.7522,
7.2592,
6.6634,
5.9579,
5.1362,
4.1927,
3.1253,
1.9394,
0.6589,
-0.6417,
-1.6726
]
}
]
}
],
"cases": [
{
"name": "Design Point",
"alpha": 0.0,
"speed": 13.0,
"density": 1.145
}
]
}
Typical Python Script File "test_prandtl-d2.py":
#%%
# Import Dependencies
from IPython.display import display_markdown
from pyapm.classes import PanelResult, PanelSystem
from pyapm.output.msh import panelresult_to_msh
#%%
# Create Panel Mesh
jsonfilepath = r'../files/Prandtl-D2.json'
psys = PanelSystem.from_json(jsonfilepath)
psys.assemble_panels()
psys.assemble_horseshoes()
psys.solve_system()
#%%
# Solve Panel Result
alpha = 0.0
speed = 13.0
rho = 1.145
pres = PanelResult('Design Point', psys)
pres.set_density(rho=rho)
pres.set_state(alpha=alpha, speed=speed)
display_markdown(pres)
display_markdown(pres.surface_loads)
mshfilepath = '../results/' + psys.name + '.msh'
panelresult_to_msh(pres, mshfilepath)
Mesh File Output:
You can generate a Gmsh mesh file (*.msh) directly from a Python script using the following code snippet.
mshfilepath = '../results/' + psys.name + '.msh'
panelresult_to_msh(pres, mshfilepath)
This will output a mesh file to the specified location, which can then be viewed in Gmsh. The latest version of Gmsh can be downloaded at:
Use File > Open in Gmsh to open the mesh file with the pressure results.
A sample of the aircraft shown in Gmsh is captured below. Consult Gmsh help to operate Gmsh.
Metadata
Release files for pyapm 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pyapm-0.0.4.tar.gz | 96.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyapm-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 211.5 kB
Release files / pyapm-0.0.4.tar.gz
| Download URL | pyapm-0.0.4.tar.gz |
|---|---|
| Size | 96.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
61429ea954f351ab72a9ee827a18a0d1c5e0ee4fc17fdd4b1fb34fd5ea739ca4
|
|
BLAKE2b-256 checksum How to use checksums |
60a1ffcbfff6be48180ef05a059085b8952bb2db1d926ca59df01e645e1af778
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / pyapm-0.0.4-py3-none-any.whl
| Download URL | pyapm-0.0.4-py3-none-any.whl |
|---|---|
| Size | 114.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
911746d63659a1cad6bb6916a4b6ae3108287a2d327bdd70d688ae48c19f010c
|
|
BLAKE2b-256 checksum How to use checksums |
e752284a85538825fd7f695ade0b6189bce82432a137db7d66e48cbbaf883bca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logSecurity for pyapm 0.0.4
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for pyapm-0.0.4.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logA 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.