Объект: obj_FPRS3D
Библиотека: Mechanics3D
Имя на уровне решателя: Mechanics3D.obj_FPRS3D
Аннотация: Элемент, распределяющий постоянное давление на пространственный треугольник
Обозначение:
Описание Модели
1# Расчет векторов сторон треугольника
2AB = nodeB.r - nodeA.r
3AC = nodeC.r - nodeA.r
4
5# Расчет нормали к треугольнику (векторное произведение)
6normal = cross(AB, AC)
7
8# Площадь треугольника (половина длины нормали)
9area = 0.5 * norm(normal)
10
11# Нормализованная нормаль
12if area > 0:
13 n = normal / (2 * area)
14else:
15 n = vector(0, 0, 0)
16
17# Сила давления (равномерно распределенная по трем точкам)
18force = Pressure.x * K * area * n / 3
19
20# Приложение сил к узлам
21nodeA.fx += force.x
22nodeA.fy += force.y
23nodeA.fz += force.z
24
25nodeB.fx += force.x
26nodeB.fy += force.y
27nodeB.fz += force.z
28
29nodeC.fx += force.x
30nodeC.fy += force.y
31nodeC.fz += force.z
№ |
Обозначение порта |
Тип |
Наименование порта |
|---|---|---|---|
1 |
nodeA |
base.XYZ |
Механический порт 1, движение точки A треугольника |
2 |
nodeB |
base.XYZ |
Механический порт 2, движение точки B треугольника |
3 |
nodeC |
base.XYZ |
Механический порт 3, движение точки C треугольника |
4 |
Pressure |
base.DOF1 |
Гидравлический порт 1, задает давление на элемент |
№ |
Параметр |
Тип |
Описание |
Значение по умолч. |
|---|---|---|---|---|
1 |
K |
base.real |
Масштабирующий коэффициент для пересчета давления в усилие |
1.0 |
2 |
pointA |
base.pXYZ |
Начальная координата точки A |
0, 0, 0 |
3 |
pointB |
base.pXYZ |
Начальная координата точки B |
1, 1, 1 |
4 |
pointC |
base.pXYZ |
Начальная координата точки C |
1, 1, 0 |