Analysis and results#

Running the analysis and extracting results.

For influence analyses, shape_function=”hermite” denotes the higher-order load-distribution path used by ospgrillage: the existing Hermite quadrilateral distributor is used in four-node regions, while three-node skew regions use the DKT-style condensed triangular distributor.

For skewed/curved bridges, influence-line station abscissa (load_coord="station") and influence-surface station axes (longitudinal_station, transverse_station) provide geometry-robust reduction coordinates independent of global Cartesian layout.

OspGrillage methods#

analyze(**kwargs)

Function to analyze defined load

analyze_influence_lines(**kwargs)

Run one or more influence-line studies and return a result object.

analyze_influence_surfaces(**kwargs)

Run an influence-surface study and return a result object.

analyze_il(**kwargs)

Short alias for analyze_influence_line().

analyze_is(**kwargs)

Short alias for analyze_influence_surface().

analyze_influence_line(**kwargs)

Create and run a dedicated 100 kN axle influence-line analysis.

analyze_influence_surface(**kwargs)

Create and run a dedicated 100 kN roving-point influence-surface analysis.

get_il([name, result_set])

Extract a reduced influence line using xarray-style array and component selectors.

get_is([name, result_set])

Extract a reduced influence surface using xarray-style array and component selectors.

get_results(**kwargs)

Return analysis results as an xarray Dataset.

get_influence_results([name])

Return a stored influence-line or influence-surface result Dataset.

plot_il(il, **kwargs)

Plot a reduced influence line.

plot_is(isurface, **kwargs)

Plot a reduced influence surface as a filled contour.

export_il(il, filename)

Export a reduced influence line to CSV.

export_is(isurface, filename)

Export a reduced influence surface to CSV in long-form.

Class reference#

Analysis#

class Analysis(analysis_name, ops_grillage_name, pyfile, node_counter, ele_counter, analysis_type='Static', time_series_counter=1, pattern_counter=1, load_case=None, step=1, **kwargs)#

Bases: object

Main class to handle the run/execution of load case, including incremental load cases of a moving load analysis. Analysis class is created and handled by the OspGrillage class.

The following are the roles of Analysis object:

  • store information of ops commands for performing static (default) analysis of single/multiple load case(s).

  • execute the required ops commands to perform analysis using the OspGrillage model instance.

  • if flagged, writes an executable py file instead which performs the exact analysis as it would for an OspGrillage instance instead.

  • manages multiple load case’s ops.load() commands, applying the specified load factors to the load cases for load combinations

Results#

class Results(mesh_obj)#

Bases: object

Main class to store results of an Analysis class object, process into data array output for post processing/plotting. Class object is accessed within OspGrillage class object.

InfluenceResultSet#

class InfluenceResultSet(name, kind, results, load_positions, station_positions=None, shape_function='linear')#

Bases: object

Separate result container for influence-line or influence-surface analyses.

InfluenceLineResults#

class InfluenceLineResults(dataset, *, save_filename=None)#

Bases: _BaseInfluenceResults

User-facing influence-line result container.

Includes plot(), save()/to_netcdf(), and to_csv() helpers.

InfluenceSurfaceResults#

class InfluenceSurfaceResults(dataset, *, save_filename=None)#

Bases: _BaseInfluenceResults

User-facing influence-surface result container.

Includes plot(), save()/to_netcdf(), and to_csv() helpers.