Skip to content

Add test for BridgeGrillageModel analyser#142

Open
ManavSharma23 wants to merge 11 commits into
Aditya-Donde:testfrom
ManavSharma23:analyser-tests
Open

Add test for BridgeGrillageModel analyser#142
ManavSharma23 wants to merge 11 commits into
Aditya-Donde:testfrom
ManavSharma23:analyser-tests

Conversation

@ManavSharma23

Copy link
Copy Markdown

Summary

This PR replaces the placeholder analyser test with a detailed unit test suite for BridgeGrillageModel. The tests verify how the plate girder bridge analyser initializes state, builds geometry/material/member definitions, creates grillage models, applies loads, runs analysis, and prepares result/plot workflows.

Details

The new tests use pytest fixtures and mocks to isolate analyser logic from external OpenSees/grillage execution. They check that:

  • bridge geometry and deck layout inputs are stored and passed correctly
  • section, material, and member objects are created with expected properties
  • grillage model creation assigns the correct beam/slab members, including edge beam behavior
  • dead loads are created for girder self weight, deck slab, wearing course, footpath, crash barrier, railing, and median components
  • dead load combinations include available sub-load cases with the expected load factor
  • wind, live load, static vehicle, and moving vehicle load cases are generated and registered correctly
  • IRC vehicle lane placement, impact factor/DLA handling, and vehicle type mapping behave as expected
  • analysis, result handling, governing live load selection, and plotting methods call the expected model/result APIs

Testing

Adds 108 unit tests in tests/unit/test_analyser.py.

Aditya-Donde and others added 11 commits June 10, 2026 05:30
…d cases

- Port create_seismic_load_cases() (EQ_X/EQ_Z/EQ_Y + 1.5 EQ (a/b/c) per
  Cl.218.3) with tributary-area nodal distribution, replacing the old
  UI-pressure patch load create_seismic_load()
- Derive total DL by integrating the registered DL + DW load cases
  (_load_case_resultant_kN) instead of a per-method accumulator
- Governing-LL weight from IRC vehicle geometry (unit-fixed N -> kN)
- Sa/g fallback from the Cl.218.5.1 spectral curve (soil type + T)
- add_seismic_loads() reads KEY_SL_* seismic tab keys and weather_data
  z_value; runs after create_governing_ll_load_case() in design()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants