Блог о программном обеспечении

Зачем оно нужно?
Публиковать для себя разные вещи, чтобы потом не искать их у себя по разным папкам.
И, конечно, - делиться открытой информацией с другими.
Коротко по темам Caelinux - самый инженерный дистрибутив линукс;
CalculiX - мощная программа для расчетов по МКЭ;
OpenOffice Basic - то что легче выучить и затем эффективно использовать
Maxima - символьная математика от Вильяма Шеллтера, профессора Остинского университета. Все прочее - понемногу.

Про линейное и нелинейное мышление

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

Кстати про BIM

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

Online CAD

Пример онлайн-када
https://www.onshape.com/

Вполне работоспособный уже и масса пользователей.
Solidworks провел свое первое бета-тестирование (для США во всяком случае).

Расчетные сервисы
https://www.simscale.com/

Для расчетов требуется мощный компьютер, который стоит дорого. Если сложные расчеты единичны, то данная идея имеет наибольший смысл.

Другая идея, которая идет в паре с онлайн работой - магазин приложений.
Конечно всякий, кто пытался что то разрабатывать для инженеров, сталкивался с фактом, что 99% это не вперлось совершенно. Ни о какой коммерческой популярности речи обычно не идет, это не игрушка в которой можно кидаться птичками и какашками, понятная всему множеству пользователей магазина.
Если вы что то решили разрабатывать для инженеров - делайте это opensorce (желательно под лицензией GPL 2.0 и выкладывайте на sf.net)

Будущий CAD на мой взгляд будет сочетать не только разработку моделей, чертежи и расчеты, но и организацию производства, поступления заказов и сбыт с логистикой. Это сделает возможным эффективное распределенное производство, в котором полноправным участником выступает не завод (эффективный только при выпуске тысяч единиц), а простой умелец со станком в гараже или обычный сварщик с приспособлениями. Вопрос, конечно, как оценить того или иного участника применительно к конкретному заказу. Вероятней всего рулить таким CAD-ом будет штат наблюдателей за сетью.

Что это даст? Например - полную загруженность (ценовую эффективность) участников, отсутствие необходимости в больших инвестициях в производство, взаимозаменяемость исполнителей (что плюс для надежности и сроков).
Такого рода CAD вероятней всего будет бесплатным по настоящему, не с целью завлечения клиентов и не по причине отсутствия менеджмента продаж (как в случае opensource), а деньги разработчикам будут поступать как процент от заказов и плата за вступление в сеть. Скорее всего это будут приличные деньги, потому что практические заказы всегда дороже софта. Объединить таким образом можно производственную сеть в пределах разумной транспортной доступности, то есть США, Евросоюз и небольшие страны тут выигрывают моментально.
В РФ такое возможно только наверно для укрупненных регионов и местностей типа Москва-подмосковье.

Так или иначе, такая постановка вопроса (CAD как средство организации производства и источник поступления заказов) мне пока не встречалась. Хотя скорее всего эта идея не нова по сути.

Всякого рода online CAD имеют небольшой смысл, потому что работать на локальном компьютере намного удобней. Смысл есть только в коммуникациях и управлении этими коммуникациями, так что рано ли поздно все придет именно к тому, о чем я пишу выше.








Зависимость натяжения вант от температуры

Данная задача - сугубо практическая, потому что ванты с одной стороны весьма чувствительны к температуре, а с другой стороны в проекте КМ согласно норм требуется указывать натяжение в температурном диапазоне.
Вот тут с пользователем Ильнур развернули большую тему по канатам.
Итак, поехали.
Относительное изменение хорды оттяжки ε=ΔL/L связано с напряжением уравнением нити:

где P=p/A, Н/м^3 – поперечная нагрузка, Н/м, отнесенная к площади А, м^2; индекс "0" относится к величинам исходного состояния.
Примем за исходное состояние – состояние при температуре t и обозначим Δt=t-t0. При изменении температуры ствол деформируется на величину α·Δt, что повлечет за собой изменение длины оттяжки на ΔL = α·Δt·(sinβ)^2, где β – угол наклона оттяжки к горизонту. С изменением температуры поперечная нагрузка (собственный вес) не меняется, поэтому можно принять:
P = P0 = γ = g·cosβ /A,
где g – погонный вес, Н/м; А – площадь ванты.
Подставляя указанные величины в уравнение нити и производя преобразования, получаем разрешающее уравнение, позволяющее скорректировать напряжение с учетом изменения температуры:
или
где
Действительный корень уравнения определяется формулой:
Определив из уравнения величину напряжения при заданном перепаде температур определяем как обычно - умножением напряжения на площадь.
Указанная методика рекомендована в книге
Petersen, Chr. (1970): Guyed masts and chimneys, Verlag Ernst & Sohn, Berlin-München-Düsseldorf, Germany.
Ниже приведен код пользовательской функции для OOo Calc

Function otemp(T, T0, N0, A, g, E, L, beta, h)
' Возвращает тяжение стальной оттяжки мачты, тс, при заданной темературе T
'Описание величин
't = Заданная температура
'T0 - Начальная температура (среднегодовая температура воздуха)
'N0 - Начальное тяжение ванты, тс, при температуре T0
'A = Площадь оттяжки, мм2
'g = Погонный вес отттяжки, кгс/м
'E = Модуль Юнга оттяжки, кгс/см2
'L = Длина оттяжки, м
'beta = Угол наклона оттяжки к горизонту в градусах
'h = Высота ствола под оттяжкой
'Переобозначение переменных и перевод всех величин в систему кгс, см, рад.

N0=N0*1000
A=A/100
g=g/100
L=L*100
beta = beta*3.1416/180
h=h*100

alpha = 0.000012
Gamma = g * Cos(beta) / A
Delta = t - T0
s0 = N0 / A
C = Gamma ^ 2 * L ^ 2 * E / (24 * s0 ^ 3)
B = (1 - C - alpha * Delta * E * (1 - (h / L) * Sin(beta)) / s0)
z = 1 / 6 * (108 * C + 8 * B ^ 3 + 12 * Sqr(81 * C ^ 2 + 12 * C * B ^ 3)) ^ (1 / 3) + 2 / 3 * B ^ 2 / ((108 * C + 8 * B ^ 3 + 12 * Sqr(81 * C ^ 2 + 12 * C * B ^ 3)) ^ (1 / 3)) + 1 / 3 * B
'Искомое усилия тяжения в тс
N = z * s0 * A / 1000
otemp = N
End Function

Пример использования функции:

По ссылке с форума

https://www.tychina.pro/

Хороший сайт, очень аккуратный, но классический советский курс сопромата - омерзительный. Причем удивительно, потому что на русском языке предостаточно хороших статей и монографий, равно как и специалистов тоже. По математике есть отличные книги (например Натансон - краткий курс)
И также удивительно то, что за десятилетия сменился конституционный строй и все такое, а как читали на уровне достижений 30х годов про "допускаемые напряжения", так и продолжают.
К слову в 30е были хорошие учебники и курсы. Всегда всем рекомендую этот: https://dwg.ru/dnl/5326
Экспериментальный и передовой на момент написания, очень четкое и актуальное изложение.
Для стержневых систем, да будет жить в веках: https://dwg.ru/dnl/5225
Относительно хороший новый учебник (с уклоном в мостостроительство)
https://dwg.ru/dnl/5219

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

Дистрибуция приложений в linux

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

Итак, рассмотрим некоторое приложение, например консольное - без графического интерфейса. Например, такое как calculix CCX
 Внешне для пользователя на экране данное приложение выглядит как файл (без расширения exe как в Windows). Этот файл запускается через консоль, вместе с файлом модели и в результате расчета производит много других файлов с результатами расчета.
Данная расчетная программа не работает сама по себе на "одном ядре"
у нее есть внешние библиотеки. В линукс они складированы в недрах системы, закрытых для пользователя системных папках. Это файлы с расширением .so (аналог dll в Windows). Работают они аналогично dll, кстати в Windows та же программа выглядит как один exe файл и несколько dll, которые складируются в одной папке с exe
Так вот, в Linux, в принципе можно вытащить so файлы и складировать их в одной папке с экзешником - эффект будет тот же. Папку с файлами можно будет переносить с одного дистрибутива на другой, где они будут успешно работать.
Можно пойти дальше и при компиляции экзешника посредством GCC добавить ключ -static
в этом случае получится экзешник с уже вшитыми в него библиотеками (весить он будет больше на размер всех библиотек)
Статически линкованный файл будет работать на "голом ядре" в любом линуксе, даже, возможно, очень старом.
В linux есть команда file, позволяющая получить информацию об экзешике, является ли он statially linked или dynamically linked (то есть с библиотеками отдельно в системных разделах)

Чуть сложнее обстоит дело с программами, имеющими графический интерфейс. Ну, в общем, все различие в том, что экзешник линкован с библиотеками графического интерфейса. Но некоторые такие библиотеки настолько общие, что они наверняка окажутся любом дистрибутиве (так, что и не потребуется до устанавливать).
Например программы скомпилированные в среде Lazarus имеют в linux зависимость от GTK2, это очень общая и распространенная по умолчанию библиотека. Каких то усилий по портабелизации в данном случае можно не предпринимать.

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

Поэтому распространение софта в портабельном виде, вместе с библиотеками - наиболее распространенный способ.
В linux есть масса примеров распространения софта (в том числе очень сложного, коммерческого, типа  Siemenc NX или GiD pre- postprocessor) или открытого, как Salome-Platform, в портабельном виде, то есть когда все библиотеки идут вместе с приложением и складируются отдельно от системы.
Обычно файлы пакуют в так называемые run файлы - что то вроде setup exe в Windows. Иногда - просто папки в архиве, как qcad или Z88Aurora хотя в этом случае иногда нужно либо запустить скрипт, либо с помощью нескольких команд разрешить файлам и библиотекам выполняться.

В общем, портабельный софт в линукс - обыденная задача. С некоторых пор она даже проще решается чем в windows, где надо до устанавливать Net или среду выполнения программ на C++

Более серьезные сложности могут возникнуть при распространении приложений для разных архитектур (32 и 64 битных), в этом случае компиляторы разные и работа программы может немного отличаться (требуется отдельное тестирование)
Но это - отдельная тема, которая сути вопроса не касается





3д печать зданий

В продаже (в РФ) уже появились серийные принтеры для 3д печати цементными смесями.

http://specavia.pro/articls/2238/

Пока данная технология формообразования очень ограничена в применении, но большая часть имеющихся проблем вполне решаема в обозримом будущем.

Какие потенциальные выгоды это дает?

1) Архитектурное разнообразие - практически Гауди в массовое строительство. Конечно, Гауди - прежде всего вкус и то, что не дается одними технологиями, но мода на разнообразные детали может снова вернуться.

2) Транспортные расходы. Это довольно существенная в сумме всех этапов часть затрат. Вполне возможно, что промышленные принтеры начнут оснащать оборудованием для производства наполнителя смеси из более-менее произвольного "подножного" грунта. Если предположить, что экскаватор выкапывает подвал или бассейн, а затем робот формирует из полученного материала основной массив здания, то это может дать очень существенную экономию, даже если речь идет только о стенах. Конечно вяжущее и добавки все равно придется подвозить на площадку.
Как и в первом случае, этот факт может вернуть назад старую и очень хорошую архитектурную особенность - а именно большую тепловую инерцию ограждающих конструкций и подвалы, выполняющие роль теплообменника с массивом грунта среднегодовой температуры (то есть прохлада летом и тепло зимой). Использование местных материалов - не новая вещь, например землебитный Гатчинский дворец, хотя не для всякой площадки это подходит.

Существующие проблемы 3д печати в основном следующие:

- сложности с горизонтальными конструкциями и перекрытиями. Конструкции перекрытия и покрытия нужно подвозить, либо формовать их на земле и поднимать в проектное положение. Метод формования 3д печатью тут подходит не очень хорошо, поскольку не дает возможности провибрировать плиты (отдельные слои имеют плохое сцепление друг с другом и арматурой). Как вариант - печатать сводчатые конструкции на месте (тоже очень древний подход), но для этого потребуется усовершенствование существующей технологии, так чтобы она могла укладывать полосу цемента под углом, например на стальную подкладку-полосу, выгнутую криволинейно. Своды теоретически можно печатать и на надувных основаниях.

- программная часть 3д печати пока слишком примитивна.

 В результате 3д печать зданий на месте станет практически пригодной (с учетом многочисленных требований к материалам и конструкциям) и выгодной только после того, как будет существенно усложнена и 3д принтер превратиться в набор достаточно сложного роботизированного оборудования. Производить его будут, вероятней всего, крупные машиностроительные корпорации и стоимость будет приличной.
Но формование отдельных архитектурных деталей и блоков методом 3д печати вероятней всего станет обыденным уже скоро и стоимость такого решения будет не велика.




-