| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Архитектура и Строительство > Конструкции зданий и сооружений > Основания и фундаменты > Как посчитать момент приходящийся на сваю работающую в кусте свай?

Как посчитать момент приходящийся на сваю работающую в кусте свай?

Ответ
Поиск в этой теме
Непрочитано 05.10.2016, 09:53
Как посчитать момент приходящийся на сваю работающую в кусте свай?
//Лелик//
 
Регистрация: 28.01.2010
Сообщений: 81

Всем здравствуйте!
Есть вопрос по расчету ростверка столбчатого по сваям. На ростверк от рамы промздания приходятся нагрузки М= 0,1тм и Q=23т!!! под ростверком насыпной грунт. Толщина слоя от 3,5 до 5 метров. Грунт согласно геологии слежавшийся, даже нормируется... Но все же он насыпной... При расчете ростверка при такой поперечной силе надо просчитать работу куста на сдвиг. Считаю в программе фундаменты. При задаче данных в пунктике НЕСУЩАЯ СПОСОБНОСТЬ СВАИ НА ГОРИЗ НАГРУЗКУ требует поставить значение ПРЕДЕЛЬНЫЙ ИЗГИБАЮЩИЙ МОМЕНТ ВОСПРИНИМАЕМЫЙ ПОПЕРЕЧНЫМ СЕЧЕНИЕМ СВАИ. Пыталась его просчитать по СП и в программе фундаменты и пришла к тому что не понимаю сколько приходится М и Q на саму сваю (одну из куста). Схемку прилагаю.
Ну вот как я думаю момент на сваю М1 = 23т х 1,25м (h роств.) + 0,1 = 28,85 тм и потом делю ее на 6 свай в кусте = 4,8тм. А Q= 23т/6=3,8т Но при таком раскладе и приложению этих усилий к свае (расчет сваи на горизонтальную нагрузку) арматура сваи зашкаливает за 40!!!
Думаю я не правильно думаю.
да, еще есть сила N= 36,5т

Подскажите пожалуйста как правильно и грамотно рассчитать эти нагрузки на сваю!

Вложения
Тип файла: pdf Ростверк.pdf (19.9 Кб, 689 просмотров)

Просмотров: 24674
 
Непрочитано 19.08.2022, 19:34
#41
Бим

пенсионер
 
Регистрация: 09.04.2018
Украина
Сообщений: 1,960


Цитата:
Сообщение от Tyhig Посмотреть сообщение
надо моделировать модель в МКЭ
Тысячи объектов рассчитаны, построены и стоят без всяких МКЭ. Та, старинная модель, основана на общих правилах строительной механики. Потому понять ее можно и посчитать на калькуляторе или в экселях, не влезая в чёрный ящик МКЭ. Есть такие программы, чтоб формочки заполнил и всё? Так дайте ссылку человеку, где оно лежит. А то НИОКР еще...
Да и дело здесь в другом. В том Руководстве хоть картинки есть, как та свая в грунте или ростверк со сваями работают, откуда чего берётся и почему. Сдается мне не только лишь все это понимают ))).
Бим вне форума  
 
Непрочитано 19.08.2022, 20:56
#42
Cfytrr

Балка на балку, кирпич на кирпич...
 
Регистрация: 09.10.2007
Питер
Сообщений: 4,819
Отправить сообщение для Cfytrr с помощью Skype™


Цитата:
Сообщение от Бим Посмотреть сообщение
Тысячи объектов рассчитаны, построены и стоят без всяких МКЭ.
Это да, все в этой методе просто, только один большой "минус" проистекающий из этой простоты, свая считается как стержень опирающийся на однородный грунт, иначе все становится сложно и на калькуляторе такое не сосчитать. Поэтому при разнородных грунтах, инженер все превращает в некую однородную условную почву с одной большой К.
Пружинками же можно задать нужные свойства для каждого отдельного слоя грунта, и по упругим свойствам и по прочностным. Это уже гораздо ближе к реальности, и не так уж заумно.
Ну а для самых продвинутых, тут уж моделирование грунт-свая с контактами и шатровыми поверхностями, только тут надо быть уже чуть больше чем просто инженер строитель.
__________________
...переменная FILEDIA создана для привлечения пользователей к форумам.
Cfytrr вне форума  
 
Непрочитано 20.08.2022, 04:02
#43
Нубий-IV

Инженер-философ
 
Регистрация: 24.04.2019
Хабаровск
Сообщений: 1,874


Цитата:
Сообщение от Бим Посмотреть сообщение
Чего там нынче взамен выродили конечно-элементного - без понятия.
Все проще некуда. Аналитическое решение с формулами и таблицами снесли. Взамен дали исходную формулу, из которой эти таблицы раньше были получены, да написали "считайте сами как умеете" и "советуем МКЭ". Про МКЭ прямо повторено несколько раз, в том числе для ростверков.

Случись спор с экспертизой - запросто могут заставить выбросить ручную версию и дать машинную. Что результаты оба раза получаются одинаковые - поди еще докажи. В теме про устойчивость стержня я тут несколько лет не могу доказать, что начальный прогиб L/750+i/20 в новых нормах заменили на другой, а в пособии от Минстроя просто перепечатали текст со старого пособия, и эти исходные данные не соответствуют новым таблицам приложения. Постоянно в новых темах кто-то берет старые начальные искривления, пытается получить совпадение с нормами, и делает какие-нибудь интересные выводы; мои выкладки, где показано, откуда формулы в нормах взялись, никого не убеждают. Эксперт не будет спорить несколько лет.
Цитата:
Сообщение от Бим Посмотреть сообщение
Всю жизнь считал по приложению 15
Основная формула осталась той же - переменный коэффициент постели. Но теперь к этому коэффициенту добавили поправочный множитель, который у разных свай в кусте - разный. Теперь просто поделить Q на всех не выйдет: надо посчитать каждую сваю отдельно на единичную нагрузку, а потом раскидать нагрузку пропорционально жесткостям. Это если ростверк симметричный, а то еще и кручение надо будет учесть. А если вертикальные пружинки задавать (а они теперь по нормам тоже разной жесткости), то распределение усилий еще слегка ползет, и надо уже по честному систему уравнений составлять и решать. Загнать все в программу и посмотреть ответ уже реально быстрее получается.
Цитата:
Сообщение от Бим Посмотреть сообщение
понять ее можно и посчитать на калькуляторе или в экселях, не влезая в чёрный ящик МКЭ
Эксель проще Лиры, и поэтому надежнее? Калькулятор не ошибается, а Лира ошибается? Точно не нужно приложить ручное умножение в столбик, или скан логарифмической линейки? Это, кстати, даже не шутка.

Пришлось как-то помогать отделу контактной сети при реконструкции перегона считать закрепление железобетонных опор в плохих грунтах: серийные условия не подходили, а всяких тупых программ с одной кнопкой там из принципа не держали, потому что в сериях же все есть. Расчет опор - это упрощенный расчет сваи, там эпюра отпора грунта фиксированная (треугольник в однородном грунте, или елочка - в слоистом), и надо только нулевую точку подобрать по высоте. Получается кубическое уравнение, которое при десятке слоев с нескольких попыток решатся, пока ответ не попадет в тот слой, для которого уравнение в этой попытке записывалось. А опор вдоль перегона - тьма, и все на разной геологии. Задолбавшись на первом десятке опор крутить формулы с корнями в несколько строк из их пособия, сваял программку, которая решала это уравнение подбором и выдавала оформленные ответы таблицей, только вставляй в отчет. Так экспертиза заставила для каждой опоры эпюру начертить, потому что из таблицы не понятно что как. Нет в нормах готовой формулы - хочу еще подробностей.
Цитата:
Сообщение от Бим Посмотреть сообщение
В том Руководстве хоть картинки есть, как та свая в грунте или ростверк со сваями работают, откуда чего берётся и почему.
Картинка - это не расчет; МКЭ такую же картинку рисует, и даже покрасивее. И таблица - это готовый результат решения, как и ответы из МКЭ. А само решение отсутствует, как в старом анекдоте про "после очевидных преобразований". Его надо искать отдельно, подробности видел только в одном учебнике: Основания и фундаменты.1990. Костерин Э.В. Формально теперь расчет надо приводить целиком - расписывать разложение в ряд, дифференцировать, приравнивать коэффициенты и т.п. И объяснять, почему ряды именно такие взялись, и сходятся ли они, и не вылетает ли конец сваи за область сходимости ряда, и т.п. - про это в учебнике не написано, а в нормах и пособиях и подавно.

У всех современных норм одна проблема - к ним ни пособий нет, ни примеров расчета. Что имели в виду авторы - непонятно. Например, надо ли коэффициент, учитывающий неравномерность загрузки свай, вводить одновременно с учетом разной вертикальной жесткости в кусте, или это альтернативный способ расчета. Хочешь - ищи авторов и их статьи с диссертациями, хочешь - затевай споры с экспертами. Хочешь - доказывай, что отмененная таблица из старого пособия равна формуле из нового СП.
Цитата:
Сообщение от Бим Посмотреть сообщение
Тысячи объектов рассчитаны, построены и стоят без всяких МКЭ.
У некоторых старых зданий, мимо которых хожу на работу, на глаз по цоколю видна просадка середины, и соответствующие трещины в подоконных зонах. Ровно такой эффект получается при расчетах в МКЭ по современным СП, и не получается по старым методикам типа "раскидаем на всех поровну". Хотя в принципе, эти дома стоят и не кашляют. А трещины только необразованных людей пугают, которые при виде трещины не могут сразу в уме посчитать, что все норм, и никто никуда не падает.
Цитата:
Сообщение от Cfytrr Посмотреть сообщение
тут уж моделирование грунт-свая с контактами и шатровыми поверхностями
Одна проблема - в нормах такого нет. Кто в научных сопровождениях участвует - тот, наверное, сможет доказать, что прав. Ученые даже умеют доказывать, что две противоположные методики расчета верны одновременно: Упругое основание в stark. Пост #53. А у простого инженера тот расчет правильный, который экспертиза прикажет. На сегодня, по версии СП, это МКЭ-расчет.

Говорят, коммерческая Лира генерирует готовые расчетные схемы для сваи "по СП". Я работаю в Старке, а задачи с форума смотрю в бесплатной Лире, там такого нет. Для себя сваял пару генераторов - смотреть моменты и давления на грунт. Сохранить с расширением *.HTA и запускать как обычную программу.
Код:
[Выделить все]
<h1>Свая</h1>
<table>
	<tr>
		<td style="text-align: right;">
			Диаметр D =
		</td>
		<td>
			<input name="input_D" value="0.6" style="text-align: right;">
		</td>
		<td>
			м
		</td>
	</tr>
	<tr>
		<td style="text-align: right;">
			Модуль упругости E =
		</td>
		<td>
			<input name="input_E" value="3e7" style="text-align: right;">
		</td>
		<td>
			кПа
		</td>
	</tr>
	<tr>
		<td style="text-align: right;">
			Длина надземной части l =
		</td>
		<td>
			<input name="input_l" value="3" style="text-align: right;">
		</td>
		<td>
			м
		</td>
	</tr>
	<tr>
		<td style="text-align: right;">
			Глубина погружения L =
		</td>
		<td>
			<input name="input_L" value="6" style="text-align: right;">
		</td>
		<td>
			м
		</td>
	</tr>
</table>
<h1>Грунт</h1>
<table>
	<tr>
		<td style="text-align: right;">
			Условная ширина сваи bp =
		</td>
		<td>
			<input name="input_bp" value="1.4" style="text-align: right;">
		</td>
		<td>
			м
		</td>
	</tr>
	<tr>
		<td style="text-align: right;">
			Коэффициент пропорциональности K =
		</td>
		<td>
			<input name="input_K" value="5000" style="text-align: right;">
		</td>
		<td>
			кН/м<sup>4</sup>
		</td>
	</tr>
	<tr>
		<td style="text-align: right;">
			Коэффициент условий работы &gamma;<sub>c</sub> =
		</td>
		<td>
			<input name="input_gamma_c" value="1" style="text-align: right;">
		</td>
		<td>

		</td>
	</tr>
	<tr>
		<td style="text-align: right;">
			Понижающий коэффициент &alpha;<sub>x</sub> =
		</td>
		<td>
			<input name="input_alpha_x" value="1" style="text-align: right;">
		</td>
		<td>

		</td>
	</tr>
	<tr>
		<td style="text-align: right;">
			Количество участков n =
		</td>
		<td>
			<input name="input_n_regions" value="10" style="text-align: right;">
		</td>
		<td>

		</td>
	</tr>
</table>
<p>
	Файл: <input name="i_filename" value="Свая.fea" style="width:75%;">
	<input type="button" value="Экспорт" onclick="exportFile()" style="width:15%">
</p>
<p>
	1. Для расчета использовать тип конечного элемента "Гибридный-2" (без учета сдвига)<br>
	2. До точки максимальных напряжений в грунте должно быть не менее 5 элементов от поверхности
</p>

<script>
	function Node(id, x, y, z) {
		this.id = id
		this.x = x
		this.y = y
		this.z = z

		this.ToString = function () {
			return "" + this.x + " " + this.y + " " + this.z + "\r\n"
		}
	}

	var DOF_X = 1
	var DOF_Y = 2
	var DOF_Z = 3
	var DOF_RX = 4
	var DOF_RY = 5
	var DOF_RZ = 6

	function Restriction(id, node1, node2, dof) {
		this.id = id
		this.node1 = node1
		this.node2 = node2
		this.dof = dof

		this.ToString = function () {
			return	"" + this.node1.id +
				" " + this.node2.id +
				" " + this.dof +
				" 0 0 0\r\n"
		}
	}

	function ElementLine(id, material, node1, node2, foundation) {
		this.id = id
		this.type = 2
	 	this.material = material
		this.node1 = node1
		this.node2 = node2
		this.foundation = foundation

		this.ToString = function () {
			return	"" + this.type +
				" " + this.material.id + 
				((this.foundation == null) ? " 0" : " " + this.foundation.id) +
				" " + this.node1.id +
				" " + this.node2.id +
				" 0 0 0\r\n"
		}
	}

	function ElementQuadrangle(id, material, node1, node2, node3, node4, foundation) {
		this.id = id
		this.type = 8
		this.material = material
		this.node1 = node1
		this.node2 = node2
		this.node3 = node3
		this.node4 = node4
		this.foundation = foundation

		this.ToString = function () {
			return	"" + this.type +
				" " + this.material.id + 
				((this.foundation == null) ? " 0" : " " + this.foundation.id) +
				" " + this.node1.id +
				" " + this.node2.id +
				" " + this.node3.id +
				" " + this.node4.id +
				" 0\r\n"
		}
	}

	function ProfileCircle(id, D, alpha)
	{
		this.id = id
		this.type = 8
		this.D = D
		this.alpha = alpha

		this.GetA = function()
		{
			return Math.PI * Math.pow(this.D, 2) / 4
		}

		this.GetAs = function()
		{
			return 0
		}

		this.GetAt = function()
		{
			return 0
		}

		this.GetIr = function()
		{
			return Math.PI * Math.pow(this.D, 4) / 32
		}

		this.GetIs = function()
		{
			return Math.PI * Math.pow(this.D, 4) / 64
		}

		this.GetIt = function()
		{
			return Math.PI * Math.pow(this.D, 4) / 64
		}

		this.ToString = function()
		{
			return "" + this.type + " " + this.D + " " + this.alpha + "\r\n"
		}
	}

	function MaterialRod(id, profile, E, G, Rho, Cr, Cs, Ct)
	{
		this.id = id
		this.type = 2
		this.profile = profile
		this.E = E
		this.G = G
		this.Rho = Rho
		this.Cr = Cr
		this.Cs = Cs
		this.Ct = Ct

		this.ToString = function()
		{
			return	"" + this.type +
				" " + this.profile.GetA() +
				" " + this.profile.GetAs() +
				" " + this.profile.GetAt() +
				" " + this.profile.GetIr() +
				" " + this.profile.GetIs() +
				" " + this.profile.GetIt() +
				" " + this.E + 
				" " + this.G +
				" " + this.Rho +
				" " + this.Cr +
				" " + this.Cs +
				" " + this.Ct +
				" 0 \r\n"
		}
	}

	function MaterialOrtho(id, h, E1, E2, nu1, nu2, Rho, alpha, fss, fdp, fSb, fP1, fsp) {
		this.id = id
		this.type = 11
		this.h = h
		this.E1 = E1
		this.E2 = E2
		this.nu1 = nu1
		this.nu2 = nu2
		this.Rho = Rho
		this.alpha = alpha
		this.fss = fss
		this.fdp = fdp
		this.fSb = fSb
		this.fP1 = fP1
		this.fsp = fsp

		this.ToString = function()
		{
			return	"" + this.type +
				" " + this.h +
				" " + this.E1 +
				" " + this.E2 +
				" " + this.nu1 +
				" " + this.nu2 +
				" " + this.Rho +
				" " + this.alpha +
				" 90" +
				" " + this.fss +
				" " + this.fdp +
				" " + this.fSb +
				" " + this.fP1 +
				" " + this.fsp +
				"\r\n"
		}
	}

	function ElasticFoundation(id, C1, C2) {
		this.id = id
		this.type = 1
		this.C1 = C1
		this.C2 = C2

		this.ToString = function () {
			return	"" + this.type +
				" " + this.C1 +
				" " + this.C2 +
				" 0 0\r\n"
		}
	}

	function NodesList() {
		this.nodes = new Array()

		this.Create = function (x, y, z) {
			var id = this.nodes.length + 1
			var node = new Node(id, x, y, z)
			this.nodes.push(node)
			return node
		}

		this.ToString = function () {
			var result = "KNOT " + this.nodes.length + "\r\n"

			for (var i = 0; i < this.nodes.length; i++)
				result += this.nodes[i].ToString()

			return result
		}
	}

	function RestrictionsList() {
		this.restrictions = new Array()

		this.Create = function (node1, node2, dof) {
			var id = this.restrictions.length + 1
			var restriction = new Restriction(id, node1, node2, dof)
			this.restrictions.push(restriction)
			return restriction
		}

		this.ToString = function () {
			var result = "RAND " + this.restrictions.length + "\r\n"

			for (var i = 0; i < this.restrictions.length; i++)
				result += this.restrictions[i].ToString()

			return result
		}
	}

	function ElementsList() {
		this.elements = new Array()

		this.CreateLine = function (material, node1, node2, foundation) {
			var id = this.elements.length + 1
			var element = new ElementLine(id, material, node1, node2, foundation)
			this.elements.push(element)
			return element
		}

		this.CreateQuadrangle = function (material, node1, node2, node3, node4, foundation) {
			var id = this.elements.length + 1
			var element = new ElementQuadrangle(id, material, node1, node2, node3, node4, foundation)
			this.elements.push(element)
			return element
		}

		this.ToString = function () {
			var result = "ELEM " + this.elements.length + "\r\n"

			for (var i = 0; i < this.elements.length; i++)
				result += this.elements[i].ToString()

			return result
		}
	}

	function ProfilesList() {
		this.profiles = new Array()

		this.CreateCircle = function (D, alpha) {
			var id = this.profiles.length + 1
			var profile = new ProfileCircle(id, D, alpha)
			this.profiles.push(profile)
			return profile
		}

		this.ToString = function () {
			var result = "PROF " + this.profiles.length + "\r\n"

			for (var i = 0; i < this.profiles.length; i++)
				result += this.profiles[i].ToString()

			return result
		}
	}

	function MaterialsList() {
		this.materials = new Array()

		this.CreateRod = function(profile, E, G, Rho, Cr, Cs, Ct)
		{
			var id = this.materials.length + 1
			var material = new MaterialRod(id, profile, E, G, Rho, Cr, Cs, Ct)
			this.materials.push(material)
			return material
		}

		this.CreateOrtho = function(h, E1, E2, nu1, nu2, Rho, alpha, fss, fdp, fSb, fP1, fsp)
		{
			var id = this.materials.length + 1
			var material = new MaterialOrtho(id, h, E1, E2, nu1, nu2, Rho, alpha, fss, fdp, fSb, fP1, fsp)
			this.materials.push(material)
			return material
		}

		this.ToString = function () {
			var result = "MATE " + this.materials.length + "\r\n"

			for (var i = 0; i < this.materials.length; i++)
				result += this.materials[i].ToString()

			return result
		}
	}

	function ElasticFoundationsList() {
		this.foundations = new Array()

		this.Create = function (C1, C2) {
			var id = this.foundations.length + 1
			var foundation = new ElasticFoundation(id, C1, C2)
			this.foundations.push(foundation)
			return foundation
		}

		this.ToString = function () {
			var result = "BETT " + this.foundations.length + "\r\n"

			for (var i = 0; i < this.foundations.length; i++)
				result += this.foundations[i].ToString()

			return result
		}
	}

	function Model() {
		this.nodes = new NodesList()
		this.restrictions = new RestrictionsList()
		this.elements = new ElementsList()
		this.materials = new MaterialsList()
		this.profiles = new ProfilesList()
		this.foundations = new ElasticFoundationsList()

		this.ToString = function () {
			var result = "\r\n\r\n\r\nVERSION 1.1.0\r\n"

			result += this.nodes.ToString()
			result += this.restrictions.ToString()
			result += this.elements.ToString()
			result += this.materials.ToString()
			result += this.profiles.ToString()
			result += this.foundations.ToString()

			return result + "ENDE 0\r\n"
		}
	}

	function exportFile() {
		var D = parseFloat(input_D.value)
		var E = parseFloat(input_E.value)
		var l = parseFloat(input_l.value)
		var L = parseFloat(input_L.value)

		var bp = parseFloat(input_bp.value)
		var K = parseFloat(input_K.value)
		var gamma_c = parseFloat(input_gamma_c.value)
		var alpha_x = parseFloat(input_alpha_x.value)
		var nRegions = parseFloat(input_n_regions.value)

		var model = new Model()

		var nPileUndergroundNodes = nRegions + 1

		var pileNodes = new Array()
		var soilNodesL = new Array()
		var soilNodesR = new Array()

		for (var i = 0; i < nPileUndergroundNodes; i++) {
			var x = 0
			var y = 0
			var z = - L * (1 - i / nRegions)

			var node = model.nodes.Create(x, y, z)

			model.restrictions.Create(node, node, DOF_Y)
			if (i == 0) {
				model.restrictions.Create(node, node, DOF_Z)
				model.restrictions.Create(node, node, DOF_RZ)
			}

			pileNodes.push(node)

			y = + bp / 2

			node = model.nodes.Create(x, y, z)

			model.restrictions.Create(node, node, DOF_Y)
			model.restrictions.Create(node, node, DOF_Z)
			model.restrictions.Create(node, node, DOF_RX)
			model.restrictions.Create(node, node, DOF_RZ)

			soilNodesR.push(node)

			y = - bp / 2

			node = model.nodes.Create(x, y, z)

			model.restrictions.Create(node, node, DOF_Y)
			model.restrictions.Create(node, node, DOF_Z)
			model.restrictions.Create(node, node, DOF_RX)
			model.restrictions.Create(node, node, DOF_RZ)

			soilNodesL.push(node)
		}

		var pileProfile = model.profiles.CreateCircle(D, 0)
		var pileMaterial = model.materials.CreateRod(pileProfile, E, E/2.5, 0, 0, 0, 0)
		var soilMaterial = model.materials.CreateOrtho(bp, E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

		for (var i = 0; i < nRegions; i++) {
			model.elements.CreateLine(pileMaterial, pileNodes[i], pileNodes[i + 1])

			var z = L * (1 - 1 / (2 * nRegions) - i / nRegions)
			var C1 = gamma_c * alpha_x * K * z

		 	var foundation = model.foundations.Create(C1, 0)

			model.elements.CreateQuadrangle(soilMaterial, soilNodesL[i], pileNodes[i], pileNodes[i + 1], soilNodesL[i + 1], foundation)
			model.elements.CreateQuadrangle(soilMaterial, pileNodes[i], soilNodesR[i], soilNodesR[i + 1], pileNodes[i + 1], foundation)
		}

		if (l > 0) {
			var consoleNode1 = pileNodes[pileNodes.length - 1]
			var consoleNode2 = model.nodes.Create(0, 0, l)
		 	model.elements.CreateLine(pileMaterial, consoleNode1, consoleNode2)
		}

		var fso = new ActiveXObject("Scripting.FileSystemObject")
		var file = fso.OpenTextFile(i_filename.value, 2, true)
		file.Write(model.ToString())
		file.Close()
	}

</script>
Код:
[Выделить все]
<h1>Свая</h1>
<table>
	<tr>
		<td style="text-align: right;">
			Диаметр D =
		</td>
		<td>
			<input name="input_D" value="0.6" style="text-align: right;">
		</td>
		<td>
			м
		</td>
	</tr>
	<tr>
		<td style="text-align: right;">
			Модуль упругости E =
		</td>
		<td>
			<input name="input_E" value="3e7" style="text-align: right;">
		</td>
		<td>
			кПа
		</td>
	</tr>
	<tr>
		<td style="text-align: right;">
			Длина надземной части l =
		</td>
		<td>
			<input name="input_l" value="3" style="text-align: right;">
		</td>
		<td>
			м
		</td>
	</tr>
	<tr>
		<td style="text-align: right;">
			Глубина погружения L =
		</td>
		<td>
			<input name="input_L" value="6" style="text-align: right;">
		</td>
		<td>
			м
		</td>
	</tr>
</table>
<h1>Грунт</h1>
<table>
	<tr>
		<td style="text-align: right;">
			Условная ширина сваи bp =
		</td>
		<td>
			<input name="input_bp" value="1.4" style="text-align: right;">
		</td>
		<td>
			м
		</td>
	</tr>
	<tr>
		<td style="text-align: right;">
			Коэффициент пропорциональности K =
		</td>
		<td>
			<input name="input_K" value="5000" style="text-align: right;">
		</td>
		<td>
			кН/м<sup>4</sup>
		</td>
	</tr>
	<tr>
		<td style="text-align: right;">
			Коэффициент условий работы &gamma;<sub>c</sub> =
		</td>
		<td>
			<input name="input_gamma_c" value="1" style="text-align: right;">
		</td>
		<td>

		</td>
	</tr>
	<tr>
		<td style="text-align: right;">
			Понижающий коэффициент &alpha;<sub>x</sub> =
		</td>
		<td>
			<input name="input_alpha_x" value="1" style="text-align: right;">
		</td>
		<td>

		</td>
	</tr>
	<tr>
		<td style="text-align: right;">
			Количество участков n =
		</td>
		<td>
			<input name="input_n_regions" value="10" style="text-align: right;">
		</td>
		<td>

		</td>
	</tr>
</table>
<p></p>
<p></p>
<p></p>
<p></p>
<p>
	Файл: <input name="i_filename" value="Свая.sli" style="width:75%;">
	<input type="button" value="Экспорт" onclick="exportFile()" style="width:15%">
</p>
<p>
	1. До точки максимальных напряжений в грунте должно быть не менее 5 элементов от поверхности
</p>

<script>
	function Node(id, x, y, z) {
		this.id = id
		this.x = x
		this.y = y
		this.z = z

		this.ToString = function () {
			return "<NodeCoords NdX=\"" + this.x + "\" NdY=\"" + this.y + "\" NdZ=\"" + this.z + "\" />\r\n"
		}
	}

	var DOF_X = 1
	var DOF_Y = 2
	var DOF_Z = 3
	var DOF_RX = 4
	var DOF_RY = 5
	var DOF_RZ = 6

	function Restriction(id, node, dof) {
		this.id = id
		this.node = node
		this.dof = dof

		this.ToString = function () {
			return "<Restricts NdNum=\"" + this.node.id + "\" NDOF=\"" + this.dof + "\" />\r\n"
		}
	}

	function ElementLine(id, material, node1, node2, foundation) {
		this.id = id
		this.type = 1
		this.material = material
		this.node1 = node1
		this.node2 = node2
		this.foundation = foundation

		this.ToString = function () {
			var result = "<Element Type=\"" + this.type + "\" Material=\"" + this.material.id

			if (this.foundation == null)
				result += "\">\r\n"
			else
				result += "\" Restriction=\"" + foundation.id + "\">"

			return result +
				"<Nodes Nd1=\"" + this.node1.id +
				"\" Nd2=\"" + this.node2.id +
				"\"/>\r\n</Element>\r\n"
		}
	}

	function ElementQuadrangle(id, material, node1, node2, node3, node4, foundation) {
		this.id = id
		this.type = 2
		this.material = material
		this.node1 = node1
		this.node2 = node2
		this.node3 = node3
		this.node4 = node4
		this.foundation = foundation

		this.ToString = function () {
			var result = "<Element Type=\"" + this.type + "\" Material=\"" + this.material.id

			if (this.foundation == null)
				result += "\">\r\n"
			else
				result += "\" Restriction=\"" + foundation.id + "\">"

			return result +
				"<Nodes Nd1=\"" + this.node1.id +
				"\" Nd2=\"" + this.node2.id +
				"\" Nd3=\"" + this.node3.id +
				"\" Nd4=\"" + this.node4.id +
				"\"/>\r\n</Element>\r\n"
		}
	}

	function MaterialRect(id, E, B, H, Rho) {
		this.id = id
		this.type = 1
		this.E = E
		this.B = B
		this.H = H
		this.Rho = Rho

		this.A = B * H
		this.Ix = B * B * H * H / 6.0
		this.Iy = B * H * H * H / 12.0
		this.Iz = B * B * B * H / 12.0
		this.G = E / 2.0 / (1.0 + 0.25)

		this.ToString = function () {
			return "<Material Num=\"" + this.id +
				"\" KindEl=\"" + this.type +
				"\" H=\"" + this.A +
				"\" Ix=\"" + this.Ix +
				"\" Iy=\"" + this.Iy +
				"\" Iz=\"" + this.Iz +
				"\" E=\"" + this.E +
				"\" G=\"" + this.G +
				"\" Ro=\"" + this.Rho +
				"\" IsGeom=\"1\">\r\n" +
				"<SectGeom SGType=\"Rect\" b_OR_D=\"" + this.B +
				"\" h_OR_d=\"" + this.H + "\" />\r\n" +
				"</Material>"
		}
	}

	function MaterialRing(id, E, D, d, Rho) {
		this.id = id
		this.type = 1
		this.E = E
		this.D = D
		this.d = d
		this.Rho = Rho

		this.A = Math.PI * (D * D - d * d) / 4.0
		this.Ix = Math.PI * (D * D * D * D - d * d * d * d) / 32.0
		this.Iy = this.Ix / 2.0
		this.Iz = this.Iy / 2.0
		this.G = E / 2.0 / (1.0 + 0.25)

		this.ToString = function () {
			return "<Material Num=\"" + this.id +
				"\" KindEl=\"" + this.type +
				"\" H=\"" + this.A +
				"\" Ix=\"" + this.Ix +
				"\" Iy=\"" + this.Iy +
				"\" Iz=\"" + this.Iz +
				"\" E=\"" + this.E +
				"\" G=\"" + this.G +
				"\" Ro=\"" + this.Rho +
				"\" IsGeom=\"1\">\r\n" +
				"<SectGeom SGType=\"Ring\" b_OR_D=\"" + this.D +
				"\" h_OR_d=\"" + this.d + "\" />\r\n" +
				"</Material>"
		}
	}

	function MaterialOrtho(id, E1, nu12, E2, nu21, G, h, Rho) {
		this.id = id
		this.type = 3
		this.E1 = E1
		this.nu12 = nu12
		this.E2 = E2
		this.nu21 = nu21
		this.G = G
		this.h = h
		this.Rho = Rho

		this.ToString = function () {
			return "<Material Num=\"" + this.id +
				"\" KindEl=\"" + this.type +
				"\" H=\"" + this.h +
				"\" F=\"" + this.nu12 +
				"\" Ix=\"" + this.E2 +
				"\" Iy=\"" + this.nu21 +
				"\" E=\"" + this.E1 +
				"\" G=\"" + this.G +
				"\" Ro=\"" + this.Rho +
				"\" />\r\n"
		}
	}

	function ElasticFoundation(id, C1, C2) {
		this.id = id
		this.C1 = C1
		this.C2 = C2

		this.ToString = function () {
			return "<ElasticFound FnUnilateral=\"0\" Coef1=\"" + this.C1 + "\" Coef2=\"" + this.C2 + "\"/>\r\n"
		}
	}

	function NodesList() {
		this.nodes = new Array()

		this.Create = function (x, y, z) {
			var id = this.nodes.length + 1
			var node = new Node(id, x, y, z)
			this.nodes.push(node)
			return node
		}

		this.ToString = function () {
			var result = "<NodesCoordArray NumberOfElem=\"" + this.nodes.length + "\">\r\n"

			for (var i = 0; i < this.nodes.length; i++)
				result += this.nodes[i].ToString()

			return result + "</NodesCoordArray>\r\n"
		}
	}

	function RestrictionsList() {
		this.restrictions = new Array()

		this.Create = function (node, dof) {
			var id = this.restrictions.length + 1
			var restriction = new Restriction(id, node, dof)
			this.restrictions.push(restriction)
			return restriction
		}

		this.ToString = function () {
			var result = "<RestrictionsArray NumberOfElem=\"" + this.restrictions.length + "\">\r\n"

			for (var i = 0; i < this.restrictions.length; i++)
				result += this.restrictions[i].ToString()

			return result + "</RestrictionsArray>\r\n"
		}
	}

	function ElementsList() {
		this.elements = new Array()

		this.CreateLine = function (material, node1, node2, foundation) {
			var id = this.elements.length + 1
			var element = new ElementLine(id, material, node1, node2, foundation)
			this.elements.push(element)
			return element
		}

		this.CreateQuadrangle = function (material, node1, node2, node3, node4, foundation) {
			var id = this.elements.length + 1
			var element = new ElementQuadrangle(id, material, node1, node2, node3, node4, foundation)
			this.elements.push(element)
			return element
		}

		this.ToString = function () {
			var result = "<ElementsArray NumberOfElem=\"" + this.elements.length + "\">\r\n"

			for (var i = 0; i < this.elements.length; i++)
				result += this.elements[i].ToString()

			return result + "</ElementsArray>\r\n"
		}
	}

	function MaterialsList() {
		this.materials = new Array()

		this.CreateRect = function (E, B, H, Rho) {
			var id = this.materials.length + 1
			var material = new MaterialRect(id, E, B, H, Rho)
			this.materials.push(material)
			return material
		}

		this.CreateRing = function (E, D, d, Rho) {
			var id = this.materials.length + 1
			var material = new MaterialRing(id, E, D, d, Rho)
			this.materials.push(material)
			return material
		}

		this.CreateOrtho = function (E1, nu12, E2, nu21, G, h, Rho) {
			var id = this.materials.length + 1
			var material = new MaterialOrtho(id, E1, nu12, E2, nu21, G, h, Rho)
			this.materials.push(material)
			return material
		}

		this.ToString = function () {
			var result = "<MaterialsArray NumberOfElem=\"" + this.materials.length + "\">\r\n"

			for (var i = 0; i < this.materials.length; i++)
				result += this.materials[i].ToString()

			return result + "</MaterialsArray>\r\n"
		}
	}

	function ElasticFoundationsList() {
		this.foundations = new Array()

		this.Create = function (C1, C2) {
			var id = this.foundations.length + 1
			var foundation = new ElasticFoundation(id, C1, C2)
			this.foundations.push(foundation)
			return foundation
		}

		this.ToString = function () {
			var result = "<ElasticFoundArray NumberOfElem=\"" + this.foundations.length + "\">\r\n"

			for (var i = 0; i < this.foundations.length; i++)
				result += this.foundations[i].ToString()

			return result + "</ElasticFoundArray>\r\n"
		}
	}

	function Model() {
		this.nodes = new NodesList()
		this.restrictions = new RestrictionsList()
		this.elements = new ElementsList()
		this.materials = new MaterialsList()
		this.foundations = new ElasticFoundationsList()

		this.ToString = function () {
			var result = "<?xml version=\"1.0\" standalone=\"yes\"?>\r\n" +
				"<FE_Project Title=\"Pile\" Description=\"\">\r\n" +
				"<DegreesOfFreedom X=\"1\" Y=\"1\" Z=\"1\" UX=\"1\" UY=\"1\" UZ=\"1\" />\r\n"

			result += this.nodes.ToString()
			result += this.restrictions.ToString()
			result += this.elements.ToString()
			result += this.materials.ToString()
			result += this.foundations.ToString()

			result += "</FE_Project>\r\n"
			return result
		}
	}

	function exportFile() {
		var D = parseFloat(input_D.value)
		var E = parseFloat(input_E.value)
		var l = parseFloat(input_l.value)
		var L = parseFloat(input_L.value)

		var bp = parseFloat(input_bp.value)
		var K = parseFloat(input_K.value)
		var gamma_c = parseFloat(input_gamma_c.value)
		var alpha_x = parseFloat(input_alpha_x.value)
		var nRegions = parseFloat(input_n_regions.value)

		var model = new Model()

		var nPileUndergroundNodes = nRegions + 1

		var pileNodes = new Array()
		var soilNodesL = new Array()
		var soilNodesR = new Array()

		for (var i = 0; i < nPileUndergroundNodes; i++) {
			var x = 0
			var y = 0
			var z = - L * (1 - i / nRegions)

			var node = model.nodes.Create(x, y, z)

			model.restrictions.Create(node, DOF_Y)
			if (i == 0) {
				model.restrictions.Create(node, DOF_Z)
				model.restrictions.Create(node, DOF_RZ)
			}

			pileNodes.push(node)

			y = + bp / 2

			node = model.nodes.Create(x, y, z)

			model.restrictions.Create(node, DOF_Y)
			model.restrictions.Create(node, DOF_Z)
			model.restrictions.Create(node, DOF_RX)
			model.restrictions.Create(node, DOF_RZ)

			soilNodesR.push(node)

			y = - bp / 2

			node = model.nodes.Create(x, y, z)

			model.restrictions.Create(node, DOF_Y)
			model.restrictions.Create(node, DOF_Z)
			model.restrictions.Create(node, DOF_RX)
			model.restrictions.Create(node, DOF_RZ)

			soilNodesL.push(node)
		}

		var pileMaterial = model.materials.CreateRing(E, D, 0, 0)
		var soilMaterial = model.materials.CreateOrtho(E, 0, 0, 0, 0, bp, 0)

		for (var i = 0; i < nRegions; i++) {
			model.elements.CreateLine(pileMaterial, pileNodes[i], pileNodes[i + 1])

			var z = L * (1 - 1 / (2 * nRegions) - i / nRegions)
			var C1 = gamma_c * alpha_x * K * z

			var foundation = model.foundations.Create(C1, 0)

			model.elements.CreateQuadrangle(soilMaterial, soilNodesL[i], pileNodes[i], pileNodes[i + 1], soilNodesL[i + 1], foundation)
			model.elements.CreateQuadrangle(soilMaterial, pileNodes[i], soilNodesR[i], soilNodesR[i + 1], pileNodes[i + 1], foundation)
		}

		if (l > 0) {
			var consoleNode1 = pileNodes[pileNodes.length - 1]
			var consoleNode2 = model.nodes.Create(0, 0, l)
			model.elements.CreateLine(pileMaterial, consoleNode1, consoleNode2)
		}

		var fso = new ActiveXObject("Scripting.FileSystemObject")
		var file = fso.OpenTextFile(i_filename.value, 2, true)
		file.Write(model.ToString())
		file.Close()
	}

</script>
Свая - стержень. Грунт - анизотропные оболочки на упругом основании. Реакция опоры в оболочках - это напряжения в грунте, так удобнее, чем усилия в пружинках в напряжения пересчитывать.
Миниатюры
Нажмите на изображение для увеличения
Название: 00.PNG
Просмотров: 310
Размер:	36.5 Кб
ID:	249305  Нажмите на изображение для увеличения
Название: 01.PNG
Просмотров: 309
Размер:	55.2 Кб
ID:	249306  Нажмите на изображение для увеличения
Название: 02.PNG
Просмотров: 309
Размер:	67.7 Кб
ID:	249307  
Нубий-IV вне форума  
 
Непрочитано 20.08.2022, 12:35
#44
Бим

пенсионер
 
Регистрация: 09.04.2018
Украина
Сообщений: 1,960


Цитата:
Сообщение от Cfytrr Посмотреть сообщение
Это уже гораздо ближе к реальности
Возможно. И как, снизили запасы в расчётах, точнее ведь? (Шутка типа))).
Цитата:
Сообщение от Нубий-IV Посмотреть сообщение
У некоторых старых зданий, мимо которых хожу на работу, на глаз по цоколю видна просадка середины
Новейшее, по новейшим методам, всё без трещин? Может быть, только в знакомой области в новых нормах ввели конские коэффициенты надёжности, в отличие от старых и расчётные нагрузки увеличили, а аварии не исчезли. Ну не панацея ни разу расчёты, хоть как хитро выделанные. Всё основа на предположениях. Хотя совершенствовать их полезно, да.
Цитата:
Сообщение от Нубий-IV Посмотреть сообщение
Эксель проще Лиры, и поэтому надежнее?
Думаю проще рассчитать вот так, по книжечке, где всё исчерпывающе изложено, чем Лиру осваивать. Ну если с нуля и задача нечастая, может в руководствах к Лире оно и проще изложено, опять же устарел, не отрицаю. Я вот так предположил. Автору вопроса виднее. А так-то конечно, в отлаженной программе отчего не поиграться, всё сразу видать, и без ошибок в арифметике и формулах. Ну не заметил конкретных ссылок в ответах.

Там, выше, вопрошающий не указал чем владеет, а так, хоть теорию подтянет. Она и в Лире не лишняя, если ну вообще без понятия в вопросе.
И всё равно, аналитические методы красивее пружинок ))).
Бим вне форума  
 
Непрочитано 20.08.2022, 14:42
#45
Cfytrr

Балка на балку, кирпич на кирпич...
 
Регистрация: 09.10.2007
Питер
Сообщений: 4,819
Отправить сообщение для Cfytrr с помощью Skype™


Нубий-IV,
А у Вас "пружинки" бесконечно упругие, или ограничены предельным давлением на грунт?
__________________
...переменная FILEDIA создана для привлечения пользователей к форумам.
Cfytrr вне форума  
 
Непрочитано 20.08.2022, 14:43
#46
Нубий-IV

Инженер-философ
 
Регистрация: 24.04.2019
Хабаровск
Сообщений: 1,874


Цитата:
Сообщение от Бим Посмотреть сообщение
снизили запасы в расчётах, точнее ведь?
Трещины в подоконных областях - это пример того, как не хватает запасов именно в старых расчетах. Повышенная жесткость углов в новых СП ловится учетом взаимовлияния свай, или расчетом ленточных фундаментов в пространственных схемах на упругом основании. Такие расчеты невозможны по старым схемам вручную из-за их высокой трудоемкости, но в МКЭ современное железо перемалывает их в считанные минуты.

То есть, конечно, можно вручную заменить здание на эквивалентную балку, и расчетом по таблицам из старых книг получить поперечные силы у краев, и проверить по ним кладку на срез... Возможно, в каких-то старых пособиях такое даже печатали. Для малоэтажного строительства на пучинистых грунтах такое было. Или для прорабатываемых территорий (мне не доводилось). Но, судя по упомянутым старым домам, в обычных условиях это было слишком трудоемко, и так никто не делал.

Понятно, что принцип "считать, что каждый простенок несет нагрузку со своей грузовой площади" позволяет зданию стоять, даже когда оно потрескалось и просело. Но все равно, осадочные трещины в несущих стенах - это брак, и именно брак при проектировании на стадии расчета.

Еще понятно, что "современный МКЭ по СП", видимо, завышает неравномерность усилий в сваях, поскольку он линейный. Но и свая все же не упруго-пластическая, чтобы по достижении расчетной нагрузки фиксировать усилие (это популярный совет на форуме - нелинейные шарниры задавать или заменять перегруженные сваи нагрузками). То есть в нормах не хватает нормативных диаграмм работы свай, как у бетона сделали. Получается, что точность норм отстает от возможной точности машинного счета.
Цитата:
Сообщение от Бим Посмотреть сообщение
Новейшее, по новейшим методам, всё без трещин?
Мне до пенсии еще долго, не могу сравнить "вот раньше" с "а вот сейчас". Я с предыдущего места работы сбежал, когда оптимизация дошла до стадии "пока выдадим проект с условной арматурой, а как начнут строить и изменения пойдут - найдите свободное время, переделайте как надо; пока бы просто экспертизу пройти". А с пред-предыдущего, когда заметил, что все время преподавателя тратится на показушную возню с двоечниками, которым на все плевать, но которых все равно не отчислят; а для работы с несколькими отличниками надо знать меньше, чем я сам знал студентом. Если раньше тоже так обычно делали, можем померяться, у кого трещина подлиннее да потолще .
Цитата:
Сообщение от Бим Посмотреть сообщение
Ну если с нуля и задача нечастая, может в руководствах к Лире оно и проще изложено
Нечастая задача с нуля как раз намного сложнее в старых руководствах. Под каждый расчет надо знать и соответствующую теорию, и математику. Подпорные стены - какие-то веревочные многоугольники. Фермы - диаграммы Кремоны. Статически неопределимые задачи - методы сил/перемещений/смешанные/теоремы взаимности/методы решения систем. Расчет плит - ряды. Устойчивость - дифуравнения и численные методы к ним. И т.д., и т.п. Достаточно любую старую книжку открыть по каким-нибудь высотным зданиям, или по сейсмике, или по резервуарам, чтобы увидеть, что 95% объема - это мазохистские способы одолеть математику в задаче. Даже в расчете свай по таблицам - и то надо и метод начальных параметров вспомнить, со всеми его знаками, и про то что эта таблица особенная, и по ней интерполяция запрещена. Да даже сваю, защемленную снизу, от свободной отличить - это, если не каждый день считать приходится, без учебника не вспомнить, как делается.

МКЭ выбросил все эти сложности, он во всех расчетах одинаков. Геометрия-жесткости-связи-нагрузки-ответ. Одно и то же в статике и в динамике, в колебаниях и в устойчивости. Теорию знать все равно надо. Что на выходе должно получаться - знать надо. Но проверить готовую эпюру гораздо легче, чем получить ее с нуля: проверка - это прямая задача, а нахождение ответа - обратная. Одна проблема - нормы остаются заточенными под ручной счет; дана какая-нибудь таблица, формула неизвестного происхождения или номограмма - и поди пойми, как ее в МКЭ перегнать.
Цитата:
Сообщение от Бим Посмотреть сообщение
Ну не заметил конкретных ссылок в ответах.
Не на что ссылаться. Старые пособия все под ручной счет. А как положено в новых СП, чтоб на машине - практически нет такого. Иногда на ютубе любительское видео мелькнет, или заметка в журнале, и на том вся учеба заканчивается; таких ссылок ни у кого под рукой не нашлось, видимо.
Цитата:
Сообщение от Cfytrr Посмотреть сообщение
"пружинки" бесконечно упругие, или ограничены предельным давлением на грунт
Там нет пружинок. Для красоты свая опирается на оболочки с упругим основанием, имитирующие грунт. Они анизотропные, вдоль модуль упругости обнулен, чтобы моменты в свае не портить; а поперек - жесткие. Это позволяет видеть давление в грунте, в виде изополей отпора что в Старке, что в Лире.

Коэффициенты постели - линейные.

В принципе можно добавить нелинейность в модель в Старке; в бесплатной Лире не получится; в платной все равно не проверю. Если речь про примечание из приложения B и формулу B.10 - то я не совсем понимаю как это сделать, там вроде какие-то итерационные расчеты, под которые схему каждый раз заново генерировать надо, да еще и результаты предыдущего расчета использовать? Или эти итерации в любом случая сходятся к одному ответу с ограничением предельного давления - неважно, по схеме из СП или как в програмном решателе шаги лягут?

Последний раз редактировалось Нубий-IV, 20.08.2022 в 15:35.
Нубий-IV вне форума  
 
Непрочитано 20.08.2022, 20:18
#47
Бим

пенсионер
 
Регистрация: 09.04.2018
Украина
Сообщений: 1,960


Цитата:
Сообщение от Нубий-IV Посмотреть сообщение
Трещины в подоконных областях
Если трещат дома на сваях, это для меня удивительно, мой опыт в мостах. Деформации свайных опор из-за подмыва встречал разве что, а чтобы просто так просело - нет. Это как умудрится-то надо.
Цитата:
Сообщение от Нубий-IV Посмотреть сообщение
не могу сравнить "вот раньше" с "а вот сейчас"
Да тут не личный опыт, а чисто СМИ, о ляпах и авариях ))).
Цитата:
Сообщение от Нубий-IV Посмотреть сообщение
МКЭ выбросил все эти сложности
Да согласен я, самому повезло поработать, пусть не в МКЭ, в проектном программном комплексе. Да и внедрением занимался, с ДОСа начиная. Сказка, ага. Только ее иметь надо, и стоит не по-детски, и обучения требует, и пошире квалификацию иметь, чтобы отобрать нужное и настроить по своим нормам. А в Руководстве без вопросов, стал не рельсы и вперёд. На всё отличников не напасёсся.
Вот здесь пример, что проще - по Руководству или Лиру искать и осваивать? По-мне, считать вручную просто быстрее, решить текущий вопрос, а на перспективу да - учится никогда не лишнее...
Бим вне форума  
Ответ
Вернуться   Форум DWG.RU > Архитектура и Строительство > Конструкции зданий и сооружений > Основания и фундаменты > Как посчитать момент приходящийся на сваю работающую в кусте свай?

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отклонения свай от проектного положения в плане viking1963 Основания и фундаменты 44 13.09.2017 11:59
Учитывать ли насыпной грунт при заглублении свай в грунт на 4м. в сейсм. районах? BrNone Основания и фундаменты 27 14.06.2016 13:25
Статическое испытание свай на выдергивание. Проектировщик указывает расчетную ( максимальную в проекте) накрузку на сваю или требуемую несущую способность сваи. мозголом из Самары Основания и фундаменты 23 23.03.2016 14:05
Как посчитать момент инерции ж/б сечения с арматурой. proteirei Расчетные программы 2 05.12.2011 11:02
Посчитать кол-во свай на чертеже Russik AutoCAD 3 16.08.2011 13:14