Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

2.5. Визуализация и графика

Beam3D.plot_bending_moment()

Beam3D.plot_bending_moment(dir='all', subs=None) Возвращает график изгибающего момента по всем трем направлениям, присутствующим в объекте балки.

Параметры:

dir : string (по умолчанию ‘all’)

Направление, для которого требуется построить график изгибающего момента. Если направление не указано, отображаются все графики.

subs : dictionary

Словарь Python, содержащий символы (Symbols) в качестве ключей и соответствующие им значения.

Пример

Имеется балка длиной 20 метров. Она шарнирно оперта на катки с обоих концов. Линейная нагрузка с угловым коэффициентом, равным 12, приложена вдоль оси y. Постоянная распределенная нагрузка величиной 15 Н приложена от начала до конца балки вдоль оси z.

from sympy.physics.continuum_mechanics.beam import Beam3D
from sympy import symbols
l, E, G, I, A, x = symbols('l, E, G, I, A, x')
b = Beam3D(20, E, G, I, A, x)
b.apply_load(15, start=0, order=0, dir="z")
b.apply_load(12*x, start=0, order=0, dir="y")
b.bc_deflection = [(0, [0, 0, 0]), (20, [0, 0, 0])]
R1, R2, R3, R4 = symbols('R1, R2, R3, R4')
b.apply_load(R1, start=0, order=-1, dir="z")
b.apply_load(R2, start=20, order=-1, dir="z")
b.apply_load(R3, start=0, order=-1, dir="y")
b.apply_load(R4, start=20, order=-1, dir="y")
b.solve_for_reaction_loads(R1, R2, R3, R4)
b.plot_bending_moment();
<Figure size 640x480 with 3 Axes>

Beam3D.plot_deflection()

Beam3D.plot_deflection(dir='all', subs=None) Возвращает график прогибов по всем трем направлениям, присутствующим в объекте балки.

Параметры:

dir : string (по умолчанию ‘all’)

Направление, для которого требуется построить график прогибов. Если направление не указано, отображаются все графики.

subs : dictionary

Словарь Python, содержащий символы (Symbols) в качестве ключей и соответствующие им значения.

Пример

Имеется балка длиной 20 метров. Она шарнирно оперта на катки с обоих концов. Линейная нагрузка с угловым коэффициентом, равным 12, приложена вдоль оси y. Постоянная распределенная нагрузка величиной 15 Н приложена от начала до конца балки вдоль оси z.

from sympy.physics.continuum_mechanics.beam import Beam3D
from sympy import symbols
l, E, G, I, A, x = symbols('l, E, G, I, A, x')
b = Beam3D(20, 40, 21, 100, 25, x)
b.apply_load(15, start=0, order=0, dir="z")
b.apply_load(12*x, start=0, order=0, dir="y")
b.bc_deflection = [(0, [0, 0, 0]), (20, [0, 0, 0])]
R1, R2, R3, R4 = symbols('R1, R2, R3, R4')
b.apply_load(R1, start=0, order=-1, dir="z")
b.apply_load(R2, start=20, order=-1, dir="z")
b.apply_load(R3, start=0, order=-1, dir="y")
b.apply_load(R4, start=20, order=-1, dir="y")
b.solve_for_reaction_loads(R1, R2, R3, R4)
b.solve_slope_deflection()
b.plot_deflection();
<Figure size 640x480 with 3 Axes>

Beam3D.plot_loading_results()

Beam3D.plot_loading_results(dir='x', subs=None) Возвращает совмещенный график (подграфики) поперечной силы, изгибающего момента, угла наклона и прогиба объекта балки вдоль указанного направления.

Параметры:

dir : string (по умолчанию ‘x’)

Направление, для которого требуются графики. Если направление не указано, отображаются графики вдоль оси x.

subs : dictionary

Словарь Python, содержащий символы (Symbols) в качестве ключей и соответствующие им значения.

Пример

Имеется балка длиной 20 метров. Она шарнирно оперта на катки с обоих концов. Линейная нагрузка с угловым коэффициентом, равным 12, приложена вдоль оси y. Постоянная распределенная нагрузка величиной 15 Н приложена от начала до конца балки вдоль оси z.

from sympy.physics.continuum_mechanics.beam import Beam3D
from sympy import symbols
l, E, G, I, A, x = symbols('l, E, G, I, A, x')
b = Beam3D(20, E, G, I, A, x)
subs = {E:40, G:21, I:100, A:25}
b.apply_load(15, start=0, order=0, dir="z")
b.apply_load(12*x, start=0, order=0, dir="y")
b.bc_deflection = [(0, [0, 0, 0]), (20, [0, 0, 0])]
R1, R2, R3, R4 = symbols('R1, R2, R3, R4')
b.apply_load(R1, start=0, order=-1, dir="z")
b.apply_load(R2, start=20, order=-1, dir="z")
b.apply_load(R3, start=0, order=-1, dir="y")
b.apply_load(R4, start=20, order=-1, dir="y")
b.solve_for_reaction_loads(R1, R2, R3, R4)
b.solve_slope_deflection()
b.plot_loading_results('y',subs);
<Figure size 640x480 with 4 Axes>

Beam3D.plot_shear_force()

Beam3D.plot_shear_force(dir='all', subs=None) Возвращает график поперечной силы по всем трем направлениям, присутствующим в объекте балки.

Параметры:

dir : string (по умолчанию ‘all’)

Направление, для которого требуется построить график поперечной силы. Если направление не указано, отображаются все графики.

subs : dictionary

Словарь Python, содержащий символы (Symbols) в качестве ключей и соответствующие им значения.

Пример

Имеется балка длиной 20 метров. Она шарнирно оперта на катки с обоих концов. Линейная нагрузка с угловым коэффициентом, равным 12, приложена вдоль оси y. Постоянная распределенная нагрузка величиной 15 Н приложена от начала до конца балки вдоль оси z.

from sympy.physics.continuum_mechanics.beam import Beam3D
from sympy import symbols
l, E, G, I, A, x = symbols('l, E, G, I, A, x')
b = Beam3D(20, E, G, I, A, x)
b.apply_load(15, start=0, order=0, dir="z")
b.apply_load(12*x, start=0, order=0, dir="y")
b.bc_deflection = [(0, [0, 0, 0]), (20, [0, 0, 0])]
R1, R2, R3, R4 = symbols('R1, R2, R3, R4')
b.apply_load(R1, start=0, order=-1, dir="z")
b.apply_load(R2, start=20, order=-1, dir="z")
b.apply_load(R3, start=0, order=-1, dir="y")
b.apply_load(R4, start=20, order=-1, dir="y")
b.solve_for_reaction_loads(R1, R2, R3, R4)
b.plot_shear_force();
<Figure size 640x480 with 3 Axes>

Beam3D.plot_shear_stress()

Beam3D.plot_shear_stress(dir='all', subs=None) Возвращает график касательных напряжений по всем трем направлениям, присутствующим в объекте балки.

Параметры:

dir : string (по умолчанию ‘all’)

Направление, для которого требуется построить график касательных напряжений. Если направление не указано, отображаются все графики.

subs : dictionary

Словарь Python, содержащий символы (Symbols) в качестве ключей и соответствующие им значения.

Пример

Имеется балка длиной 20 метров и площадью поперечного сечения 2 квадратных метра. Она шарнирно оперта на катки с обоих концов. Линейная нагрузка с угловым коэффициентом, равным 12, приложена вдоль оси y. Постоянная распределенная нагрузка величиной 15 Н приложена от начала до конца балки вдоль оси z.

from sympy.physics.continuum_mechanics.beam import Beam3D
from sympy import symbols
l, E, G, I, A, x = symbols('l, E, G, I, A, x')
b = Beam3D(20, E, G, I, 2, x)
b.apply_load(15, start=0, order=0, dir="z")
b.apply_load(12*x, start=0, order=0, dir="y")
b.bc_deflection = [(0, [0, 0, 0]), (20, [0, 0, 0])]
R1, R2, R3, R4 = symbols('R1, R2, R3, R4')
b.apply_load(R1, start=0, order=-1, dir="z")
b.apply_load(R2, start=20, order=-1, dir="z")
b.apply_load(R3, start=0, order=-1, dir="y")
b.apply_load(R4, start=20, order=-1, dir="y")
b.solve_for_reaction_loads(R1, R2, R3, R4)
b.plot_shear_stress();
<Figure size 640x480 with 3 Axes>

Beam3D.plot_slope()

Beam3D.plot_slope(dir='all', subs=None) Возвращает график углов наклона по всем трем направлениям, присутствующим в объекте балки.

Параметры:

dir : string (по умолчанию ‘all’)

Направление, для которого требуется построить график углов наклона. Если направление не указано, отображаются все графики.

subs : dictionary

Словарь Python, содержащий символы (Symbols) в качестве ключей и соответствующие им значения.

Пример

Имеется балка длиной 20 метров. Она шарнирно оперта на катки с обоих концов. Линейная нагрузка с угловым коэффициентом, равным 12, приложена вдоль оси y. Постоянная распределенная нагрузка величиной 15 Н приложена от начала до конца балки вдоль оси z.

from sympy.physics.continuum_mechanics.beam import Beam3D
from sympy import symbols
l, E, G, I, A, x = symbols('l, E, G, I, A, x')
b = Beam3D(20, 40, 21, 100, 25, x)
b.apply_load(15, start=0, order=0, dir="z")
b.apply_load(12*x, start=0, order=0, dir="y")
b.bc_deflection = [(0, [0, 0, 0]), (20, [0, 0, 0])]
R1, R2, R3, R4 = symbols('R1, R2, R3, R4')
b.apply_load(R1, start=0, order=-1, dir="z")
b.apply_load(R2, start=20, order=-1, dir="z")
b.apply_load(R3, start=0, order=-1, dir="y")
b.apply_load(R4, start=20, order=-1, dir="y")
b.solve_for_reaction_loads(R1, R2, R3, R4)
b.solve_slope_deflection()
b.plot_slope();
<Figure size 640x480 with 3 Axes>