Changelog

0.9.15

New Features & Breaking Changes

  • GSA() class methods get_elements, get_members and get_nodes now allow saved list names an input.

Bug fixes

  • All types of 2D members can now be read from and written to GSA.

Documentation

  • None

Deprecated Features

  • None

Removed Features

  • None

0.9.14

Bug fixes

  • Various issues related to getting and setting members (design layer

0.9.13

Bug fixes

  • Fix an issue that caused GsaPy to crash if “Iyy” is a percentage (e.g. 100%)

0.9.12

Bug fixes

  • Bugs related to the methods for finding elements and members connected to a node.

0.9.11

This version of gsapy has changes that are primarily related to the python tooling, build system and CI pipelines. this means:

  1. Docs are now available online!! https://docs.oasys-software.com/structural/gsapy/

  2. You can install gsapy from packages.arup.com!! pip install https://packages.arup.com/gsapy.tar.gz

This release also resolves an issue related to the amount of logs that gsapy generates. In some cases, this led to a signficant slowdown and licensing issues.

New Features & Breaking Changes

  • Updated gsapy for GSA 10.2

  • Applied code formatting with ruff

  • Added CI pipeline to publish gsapy to packages.arup.com

  • Moved project setup to pyproject.toml

  • Removed overly verbose logging

  • Added tool (gsapy.utils.registry) to remove old logs

Bug fixes

  • Fixes issue with Members with more than two topo Nodes

  • Fixes issue with Node restraints

Documentation

  • Documentation is now published at https://docs.oasys-software.com/structural/gsapy/

Deprecated Features

  • gsapy will no longer automatically determine the version of GSA when openning an existing file.

Removed Features

  • export_to_csv has been removed as the underlying COM function was removed from GSA

0.9.10

New Features & Breaking Changes

  • Adds a export_to_csv function that exports model data and results to a series of CSV files

Bug fixes

  • Fixes the bug in get_section_info for real this time…

  • gsapy will now open files if the GSA version is not specified

Documentation

  • None

Deprecated Features

  • None

Removed Features

  • None

0.9.9

New Features & Breaking Changes

  • None

Bug fixes

  • Fixes bug in get_section_prop (thanks to Sergio Martin and Junya Kobayashi for flagging this!)

Documentation

  • None

Deprecated Features

  • None

Removed Features

  • None

0.9.8

New Features & Breaking Changes

  • Updated all syntax for GSA 10.1

  • added functions: get_members_connected_to_node, get_elements_connected_to_node

  • added functions: check_region, generate_mesh_region, delete_mesh_region

  • Added GSA 9.0 view functions

  • added modules for UserModuleNode, UserModuleMember, and UserModuleElement

  • Added module for Sections, Spring Properties, Mass Properties, Damper Properties

  • added modules for AnalysisCase and AnalysisTask

  • added functions: get_analysis_case

  • remove pareto module: it didn’t work properly and isn’t core to gspay

  • added modules for spring_property, mass_property, and damper_property

Bug fixes

  • Fixed view functions

  • Fixed automatic detection of gsa files for versions 8.7, 9.0 and 10.x

  • Update GSRelax syntax for GSA 10.0

Documentation

  • None

Deprecated Features

  • None

Removed Features

  • None

Bugs

  • Generating and deleting mesh regions can affect records in other tables (e.g., beam loads) in unexpected ways.

  • delete() does not delete design or design check results

  • set_view_base_settings() throws a ‘Not Implemented’ error from COM

  • using set_view_contour() on a view with a contour overlays original contour

  • set_view_labels() does not set label

  • rescale_view_to_fit() does not rescale view to fit

  • set_view_orientation ignores the picture_rotation attribute

  • setting an AnalysisCase does not update GSA UI although case is still set and runnable

  • get(AnalysisCase) returns an empty dictionary. Use get_analysis_case() instead.

0.9.7

New Features & Breaking Changes

  • get_* functions return a dict instead of a list for ordered data (e.g. Nodes and Elements. Add .values() to the end of your call to get the old list)

  • the set function now accepts a dict of entities to set

  • new design function to run design tasks

  • get_elements and get_nodes now accept a list description. e.g. model.get_elements(“pb1 to pb3”) or model.get_nodes(“1 to 50”)- EntityType enums are accepted directly by gsapy function (no more EntityEnum.Node.value - just EntityEnum.Node)

  • delete_results() now works and deletes all analysis results (GSA COM does not allow selection deletion)

  • GSAList class is implemented

  • get_all_saved_lists now returns a list of GSALists

  • Member class is implemented

  • get_members() implemented

  • Implement helper functions for member and element indices

  • Implement functions to update sections of elements from members and vice-versa

  • added functions: parse_case_string, get_unit_names, get_unit_factors

  • Creating a new GSA object with a non-existant path will raise a FileNotFound error

  • Default comparison operator for entity classes added

  • get_entities_in_list_description, get_entities_in_numbered_list, and get_entities_in_named_list are now private (add an underscore in front if you still want to use them)

  • Added the SpringProperty and NodeAppliedDisplacement classes

Bug fixes

  • Raise FileNotFoundError when creating a GSA object a non-existent path

  • is_item_included_in_list_description returns a boolean instead of an int

  • the full test suite runs

  • get_entities_in_list will return an empty list of the GSA list is empty instead of raising an error

  • ConstraintRigid class is a ModuleCollection class (not ModuleOrdered)

  • GravityLoad.to_gwa() now returns GWA (thanks Chris Noble!)

  • get_section_info now returns the information requested (was previously hardcoded)

  • case_results_exist now works for cases with no permutations

Documentation

  • Clarified the installation instructions need to be called in a command prompt

  • General documentation improvements

Deprecated Features

  • None

Removed Features

  • None

Bug

  • delete() does not delete design or design check results

0.9.6

New Features

  • gsapy use is logged to GSA

  • Adds function check_file_version that checks what version a GSA file is

  • When calling GSA(filename), the file version is checked automatically

Bug fixes

  • get_2D_elem_moments now returns moments instead of forces (oops!)

  • Update installation instructions so that git is not required

  • Fix crashing bug in print_view and print_all_views

Documentation

  • Updated README to match the current version of gsapy (the example code works! finally!)

  • Fixed link to html docs in README.md

  • Add a CHANGELOG (this file!)

Deprecated Features

  • None

Removed Features

  • None

v0.9.5

New Features

  • None

Bug fixes

  • Corrected element offset initialisation

  • Added find_packages() to setup so that gsapy installs correctly

Deprecated Features

  • None

Removed Features

  • None

v0.9.4

New Features

  • None

Deprecated Features

  • None

Removed Features

  • None

Bug fixes

  • Beam elements weren’t written to gsa / GWA (thanks Peter Kottke!)

  • gsapy did not allow blank, unnamed files to be created (thanks Peter Kottke!)