1.3.4
pyNastran v1.3.4 has been released (2022/5/30)
This is a a bug fix release mainly to address dependency changes:
Programmatics:
- supports Python 3.7-3.10
- support for nptyping 1.1.1-2.0 (removed as a required dependency)
- support for h5py >3.0
- GUI is compatible with PyQt5/6 and PySide2/6 and VTK 7-10
- support for NX 2019.0, 2019.1
There are also at least 33 bugs fixed and a few features added from the 1.4 release (e.g., pathlib support, subcase limiting in the flutter F06 parser).
Additional minor changes (e.g., support for CFAST/PFAST in bdf_convert) were
added when fixing bugs.
Overall:
- typing
- cleaner setup.py files / packages.py
BDF:
- bug fixes:
- renaming pyNastran/nptyping.py to pyNastran/nptyping_interface.py to avoid namespace conflicts
- require that nastran_format is a string
- FORCE2/MOMENT2: fixed g4 bug (can't be blank)
- FLUTTER: method can be string_or_blank (default='L')
- FLUTTER: fixing EAS sorting bug in make_flfacts_mach_sweep (mach should be sorted to give sorted EAS)
- MTRANS now supported for SOL 200 (vs only MTRAN; they're the same)
- SET1: (and more generally any card that has 1,THRU,10 or 1,THRU,10,BY,2) now supports blank values
- MATT1: g11_tid=0 update to None if it's 0
- MATT3: table_ids update to None if they're 0
- PARAM, DRESP1, DVCRELx now supports numpy int/floats
- PARAMs: better type checking
- PLOAD2: correcting number elements allowed
- PLOAD4: surf_or_line, line_load_dir set to blank when they're default (to fix NX issue)
- PBARL/PBEAML: I2 for BOX section
- PBARL: fixed I1 bug
- PBARL: I12 now returns I12 instead of [A, I1, I2, I12]
- AUTOSPC (from case control) now works in bdf_renumber
- BCTSET: fixing bug where defaults were mishandled (poor documentation in QRG)
- DEQATN: better builtin handling
- DMIG: better size/is_double handling
- large field solid writing (forgot the *)
- deepcopying a card now supports comments
- Subcase: add_op2_data supports OUG1F
- test_bdf: fixed bug when subcase=0 was the only subcase
- test_bdf: fixed bug that dropped the global subcase
- it's not used unless there are no local subcases
- added:
- pathlib support
- GRID: method get_position_wrt_coord_ref
- MAT11: adding get_density
- DVCRELx: CMASS/M and CELAS4/K options
- DCONSTR: support for FLUTTER/PK
- DRESP1: PBEAM/PBEAML, FATIGUE support
- DRESP2: now references DNODE
- DVMREL2: now supports MAT2, MAT8
- PCOMP/G: layers must now be the same
- PCOMP: added get_material_ids(include_symmetry=True), get_thetas(include_symmetry=True), get_souts(include_symmetry=True) methods
- PCOMPG: added get_global_ply_ids(include_symmetry=True) in addition to PCOMP methods
- CAERO1/2: added aefact_ids property
- mesh_utils:
- get_oml:
- CTRIA6/CQUAD8/CQUAD support
- applying np.clip to get_oml (to account for cos out of range precision issues)
- collapse_bad_quads: now removes degenerate quads
- bdf_mirror:
- solid support
- correcting case where eid_offset isn't calculated
- fixed bug where tolerance was ignored
- bdf_convert now supports:
- CFAST/PFAST
- rho, area conversion
f06 flutter:
- get_oml:
- bug fixes:
- supporting any number modes
- correcting default for in/out_units (documentation error)
- added:
- subcases support
- vd_limit and damping_limit
- adding:
- repr
- mach, dynamic pressure, altitude plots
op2:
- pathlib support
op2 geom:
- PARAM: improved (PVT/PVT0 table) loading
- PSOLID: FFLUID support
- PSOLID: isop=2 support
- PCOMP: ft (failure theory) HFAI, HTAP, HFAB support
- QVECT: skipping
- SPC: fixed bug (was double writing header)
- RBE2: fixed bug (alpha vs. non alpha cases were flipped)
- BSET1/CSET1: fixed mixup (were flipped)
gui:
- fixed CELAS2 bug where nid2 is an SPOINT
other:
- format_converter now has defaults if you're using the functions
- atmosphere not supports velocity in cm/s