How 3pslcca/3pslcca-core works
3psLCCA Core is a Python library for life-cycle cost analysis of bridge structures. The principal workflow starts with an engineer supplying project, traffic, and optional WPI data to run_full_lcc_analysis: inputs are normalized and validated, road-user costs are calculated (or supplied in global mode), and those results feed the life-cycle stage calculator. The returned analysis separates initial, use, reconstruction, and end-of-life costs. The sampled sources show the RUC orchestration and some stage-calculation internals; stage-specific formulas and several RUC implementations are represented only at their supported module paths.
Main entry points: core/main.py LCC entry point · road_user_cost/main.py RUC coordinator · carriagewayStandards.py Roadway standards · input_validator.py Input validation
Components 17
Analysis orchestration
- LCC entry point
src/three_ps_lcca_core/core/main.py - Input validation
src/three_ps_lcca_core/core/utils/input_validator.py - LCC result
src/three_ps_lcca_core/core/main.py
Input contracts
- Project input models
src/three_ps_lcca_core/inputs/input.py - Global input model
src/three_ps_lcca_core/inputs/input_global.py - WPI input model
src/three_ps_lcca_core/inputs/wpi.py
Road-user costs
- RUC coordinator
src/three_ps_lcca_core/core/road_user_cost/main.py - Accident costs
src/three_ps_lcca_core/core/road_user_cost/accident_cost/core.py - Vehicle operation
src/three_ps_lcca_core/core/road_user_cost/vehicle_operation_cost/core.py - Congestion adjustment
src/three_ps_lcca_core/core/road_user_cost/congestion/core.py - Value of time
src/three_ps_lcca_core/core/road_user_cost/value_of_time/main.py - Carbon emissions
src/three_ps_lcca_core/core/road_user_cost/total_carbon_emission/core.py - Roadway standards
src/three_ps_lcca_core/core/road_user_cost/carriage_width_info/carriagewayStandards.py - Daily RUC total
src/three_ps_lcca_core/core/road_user_cost/calculate_total_ruc_per_day.py
Life-cycle costs
- Stage cost calculator
src/three_ps_lcca_core/core/stage_cost/stage_cost.py - Present-worth factors
src/three_ps_lcca_core/core/stage_cost/utils/present_worth_factor.py
Other components
- Engineer
Connections 18
- Engineer → LCC entry point: submits inputs
- LCC entry point → Input validation: validates inputs
- LCC entry point → Project input models: parses project data
- LCC entry point → Global input model: parses global data
- LCC entry point → WPI input model: validates WPI
- Input validation → Roadway standards: checks road codes
- LCC entry point → RUC coordinator: requests RUC
- RUC coordinator → Accident costs: calculates accidents
- RUC coordinator → Vehicle operation: calculates base VOC
- RUC coordinator → Congestion adjustment: adjusts VOC
- RUC coordinator → Value of time: calculates time cost
- RUC coordinator → Carbon emissions: calculates emissions
- Congestion adjustment → Roadway standards: gets velocity class
- Value of time → Roadway standards: gets velocity class
- RUC coordinator → Daily RUC total: aggregates components
- LCC entry point → Stage cost calculator: runs stage costs
- Stage cost calculator → Present-worth factors: gets discount factors
- LCC entry point → LCC result: returns stage results