Pynastran

Latest version: v1.4.1

Safety actively analyzes 714919 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 2

1.0.0

This is a major release. The focus this time has been on robustness and testing.
Hopefully, it shows. The software has also been relicensed to be **BSD-3**, which
is a more permissive license and is the same one that numpy, scipy, and
matplotlib use.

Unfortunately, the GUI is more complicated.
- For open source projects : GPL 2/3
- For companies that pay a license to Riverbank : proprietary
- For companies that don't pay a license fee : GPL 2/3

However, you may distribute an unmodified binary.

- Programmatics:
- Dropping Python 3.3 support
- Adding Python 3.6 support
- Supports Python 2.7, 3.4-3.6

- [OP2](http://pynastran-git.readthedocs.io/en/latest/quick_start/op2_demo.html)
- preliminary random results (ATO/CRM/PSD/RMS/NO)
- improved geometry support
- MONPNT1/MONPNT3 reading
- MATPOOL matrices

- F06 scripts
- added a preliminary flutter (SOL 145) parser
- supports multiple subcases
- PK and PKNL methods supported
- `plot_Vg_Vf(...)`, `plot_Vg(...)`, `plot_root_locus(...)`
- input/output units
- mode switching not fixed yet

- [GUI](http://pynastran-git.readthedocs.io/en/latest/quick_start/gui.html):
- complex displacement support
- animation support
- vector results (real/complex)
- SPC Forces, MPC Forces, Load Vector, Applied Load
- minimal control presently
- No Grid Point Forces (e.g., freebody loads, interface loads)
- signficant speedups

- [BDF](http://pynastran-git.readthedocs.io/en/latest/quick_start/bdf_demo.html)
- 312 cards supported
- faster node transforms using:

python
>>> icd_transform, icp_transform, xyz_cp, nid_cp_cd = get_displacement_index_xyz_cp_cd(dtype='float64, sort_ids=True)
>>> xyz_cid0 = transform_xyzcp_to_xyz_cid(xyz_cp, icp_transform, cid=0, in_place=False)


- simplified card adding
python
>>> model.add_grid(nid, xyz=[4.,5.,6.], comment='nid, cp, x, y, z')


- comments can now be created without worrying about `$` signs

python
>>> model.add_card(['GRID', 10, None, 4.0, 5.0, 6.0], comment='GRID comment\ngrid,nid,cp,x,y,z')


$GRID comment
$grid,nid,cp,x,y,z
GRID,10,,4.0,5.0,6.0


- unit conversion

- [GUI](http://pynastran-git.readthedocs.io/en/latest/quick_start/gui.html)
- buttons for picking, rotation center, distance
- PyQt5 support
- QScintilla & pygments support for scripting code editor

- [Matlab](http://pynastran-git.readthedocs.io/en/latest/quick_start/matlab.html) integration
- pyNastran works with Matlab 2014a+

0.8.0

The following are some new features from the v0.8 release.

BDF
- unicode support
- 278 cards supported
- simplifed method to add cards : `grid = GRID(nid, cp, xyz, cd, ps, seid, comment)`
- `verify=False` in `read_bdf(...)` will disable checks to allow reading in bad decks
- lots of optimization work
- bdf equivalence, renumber, deck merging
- element quality

OP2
- ~500x faster than v0.7.2
- non-vectorized OP2 option has been removed
- matrix support
- improved SOL 200 support
- transform displacement/eigenvectors/spc/mpc/applied loads to global coordinate system
- transform stresses/forces to material coordinate system
- geometry can be read directly from op2 (not perfect, but when it works, it's much faster)
- [Pandas](http://pandas.pydata.org/) DataFrame support for use in the [Jupyter/iPython](http://jupyter.org/index.html) Notebook

GUI
- additional results
- multiple OP2s
- deflection plots
- area, max interior angle, skew angle, aspect ratio, taper ratio results
- SOL 200 support
- imporoved legend
- custom user (nodal/centroidal) results
- aero models now support sideslip coordinate systems

OP4
- fixed sparse ASCII BIGMAT bug

0.7.2

Relase notes:
- This is a bug fix release
- improved documentation

BDF:
- fixed bug with write_card on GRID card
- fixing bug with bdf.get_material_id_to_property_ids_map
- fixing deprecation messages; missed a few stack traces

BDF API:
- these are internal methods
- build_thru(packs, maxDV=None) is now build_thru(packs, max_dv=None)
- build_thru_packs(packs, maxDV=None) is now build_thru_packs(packs, max_dv=None)
- build_thru_float(packs, maxDV=None) is now build_thru_float(packs, max_dv=None)
- build_table_lines(fields, nStart=1, nEnd=0) is now build_table_lines(fields, nstart=1, nend=0)
- added get_points(...) function for CAERO5
- subcases now support:
`if 'LOAD in subcase:`
`data = subcase['LOAD']`

OP2:
- fixed bug with gridPointForces not being saved
- fixed issue with test_op2 suppressing exceptions
- fixed bug with ComplexSolidStrainArray being a stress result

OP2 API:
- op2._found_results and op2._saved_results have been replaced by op2._results
to prevent invalid results from being requested

GUI:
- fixed nastran GUI loading issue (BDFs didn't show up in popup)

0.7.1

0.7.0

Page 2 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.