Class: StructuraidCore::Engineering::Analysis::Footing::CentricIsolated

Inherits:
Base
  • Object
show all
Defined in:
lib/structuraid_core/engineering/analysis/footing/centric_isolated.rb

Constant Summary collapse

ORTHOGONALITIES =
%i[length_1 length_2].freeze

Instance Method Summary collapse

Constructor Details

#initialize(footing:, load_from_column:, section_direction:) ⇒ CentricIsolated

Returns a new instance of CentricIsolated.



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/structuraid_core/engineering/analysis/footing/centric_isolated.rb', line 8

def initialize(footing:, load_from_column:, section_direction:)
  if ORTHOGONALITIES.none?(section_direction)
    raise Engineering::Analysis::SectionDirectionError.new(
      section_direction,
      ORTHOGONALITIES
    )
  end

  @footing = footing
  @load_from_column = load_from_column
  @section_direction = section_direction
end

Instance Method Details

#bending_solicitationObject



35
36
37
# File 'lib/structuraid_core/engineering/analysis/footing/centric_isolated.rb', line 35

def bending_solicitation
  0.25 * max_shear_solicitation * section_length
end

#max_shear_solicitationObject



25
26
27
# File 'lib/structuraid_core/engineering/analysis/footing/centric_isolated.rb', line 25

def max_shear_solicitation
  solicitation_load * section_length
end

#shear_solicitation_at(distance_from_footing_center:) ⇒ Object



29
30
31
32
33
# File 'lib/structuraid_core/engineering/analysis/footing/centric_isolated.rb', line 29

def shear_solicitation_at(distance_from_footing_center:)
  footing_section_length = section_length

  solicitation_load * (footing_section_length - distance_from_footing_center)
end

#solicitation_loadObject



21
22
23
# File 'lib/structuraid_core/engineering/analysis/footing/centric_isolated.rb', line 21

def solicitation_load
  solicitation * orthogonal_length
end