Class: StructuraidCore::Engineering::Analysis::Footing::CentricCombinedTwoColumns
- Inherits:
-
Base
- Object
- Base
- StructuraidCore::Engineering::Analysis::Footing::CentricCombinedTwoColumns
- Defined in:
- lib/structuraid_core/engineering/analysis/footing/centric_combined_two_columns.rb
Constant Summary
Constants included from Utils::BasicGeometry
Utils::BasicGeometry::ORTHOGONALITIES
Instance Method Summary collapse
- #build_geometry ⇒ Object
-
#initialize(footing:, loads_from_columns:, section_direction:) ⇒ CentricCombinedTwoColumns
constructor
A new instance of CentricCombinedTwoColumns.
- #reaction_at_first_column ⇒ Object
- #reaction_at_second_column ⇒ Object
Methods included from Utils::OneWayMoment
#maximum_moment, #moment_at, #moment_inflection_point
Methods included from Utils::OneWayShear
Methods included from Utils::Centroid
Methods included from Utils::BasicGeometry
Constructor Details
#initialize(footing:, loads_from_columns:, section_direction:) ⇒ CentricCombinedTwoColumns
Returns a new instance of CentricCombinedTwoColumns.
13 14 15 16 17 18 19 20 21 |
# File 'lib/structuraid_core/engineering/analysis/footing/centric_combined_two_columns.rb', line 13 def initialize(footing:, loads_from_columns:, section_direction:) if ORTHOGONALITIES.none?(section_direction) raise Engineering::Analysis::SectionDirectionError.new(section_direction, ORTHOGONALITIES) end @footing = footing @loads_from_columns = loads_from_columns @section_direction = section_direction end |
Instance Method Details
#build_geometry ⇒ Object
23 24 25 26 27 |
# File 'lib/structuraid_core/engineering/analysis/footing/centric_combined_two_columns.rb', line 23 def build_geometry add_loads_to_coordinates_system align_coordinates_system_with_loads add_vertices_location_to_coordinates_system end |
#reaction_at_first_column ⇒ Object
29 30 31 |
# File 'lib/structuraid_core/engineering/analysis/footing/centric_combined_two_columns.rb', line 29 def reaction_at_first_column -(solicitation * @footing.horizontal_area + reaction_at_second_column) end |
#reaction_at_second_column ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/structuraid_core/engineering/analysis/footing/centric_combined_two_columns.rb', line 33 def reaction_at_second_column local_length_1 = length_border_to_first_column local_length_2 = length_first_column_to_second_column local_length_3 = length_second_column_to_border (solicitation_load / 2 / local_length_2) * (local_length_1**2 - (local_length_2 + local_length_3)**2) end |