Class: StructuraidCore::DesignCodes::ACI31819::RC::ReductionFactor
- Inherits:
-
Object
- Object
- StructuraidCore::DesignCodes::ACI31819::RC::ReductionFactor
- Includes:
- Utils::CodeRequirement
- Defined in:
- lib/structuraid_core/design_codes/aci_318_19/rc/reduction_factor.rb
Constant Summary collapse
- CONTROL_STRENGTH_CASES =
%i[ compression_controlled tension_controlled transition_controlled crushing_controlled shear_nonseismic_controlled torsion_controlled corbel_bracket_controlled strud_and_tie_controlled ].freeze
- MAX_STRAIN_BEFORE_TRANSITION =
21.2.2.1 - 21.2.2.2
0.002
- MIN_STRAIN_AFTER_TRANSITION =
21.2.2.1 - 21.2.2.2
0.005
- CODE_REFERENCE =
'ACI 318-19 21.2'.freeze
Instance Method Summary collapse
-
#call ⇒ Object
ACI 318-19 21.2.
Methods included from Utils::CodeRequirement
Instance Method Details
#call ⇒ Object
ACI 318-19 21.2
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/structuraid_core/design_codes/aci_318_19/rc/reduction_factor.rb', line 26 def call unless CONTROL_STRENGTH_CASES.include?(strength_controlling_behaviour) raise UnrecognizedValueError.new(strength_controlling_behaviour, :strength_controlling_behaviour) end # Table 21.2.1 (a) (h) return tension_controlled_factor if strength_controlling_behaviour == :tension_controlled # Table 21.2.1 (a) return compression_controlled_factor if strength_controlling_behaviour == :compression_controlled # Table 21.2.1 (d) return crushing_controlled_factor if strength_controlling_behaviour == :crushing_controlled # Table 21.2.1 (b) (c) (f) (g) if %i[ shear_nonseismic_controlled torsion_controlled corbel_bracket_controlled strud_and_tie_controlled ].include?(strength_controlling_behaviour) return shear_nonseismic_controlled_factor end # Table 21.2.1 (a) transition_controlled_factor end |