Инженерные расчеты - Messages
Спешу сказать большое спасибо автору программу за труд.
Честно говоря, меня обуревает глубокое чувство патриотизма при виде SMath
Теперь по теме:
Про роду занятий мне приходится выполнять много инженерных расчетов.
Вот решил поделиться накопленным опытом в этой области, так сказать себя показать и на других посмотреть.
Ранее (да и сейчас еще) использовал пакет для символьного вычисления Maxima.
Сейчас появилась идея перейти на SMath. Тем более, что в SMath поддерживаются на программном уровне единицы измерений, а
также русские буквы, чего в Максиме нет.
Считаю, что любые расчеты по СНиП инженер должен производить на сертифицированных Госстроем (Лицензионных) программных комплексах либо сам с подробным описанием выполняемых действий, для чего служат как раз программы для символьных вычислений.
В связи с этим открываю новую тему по инженерным расчетам, переводу единиц измерения и всему что будет с этим связано.
Прошу выкладывать свои расчеты, идеи, мысли и комментарии.
Инженеры России: вместе мы сила.
0) Для тех, кто хочет дополнить тему своими расчетами предлагаю шаблон с прописанными основными величинами,
такими как кгс, тс, Па=N/м2 и т.д. по мере наращивания опыта расчетов в SMath видимо файл будет тоже обновляться.
Качаем тут:шаблон.sm
1) Осадка одиночной висячей сваи без уширения см. пост
Актуальная версия программы для файлов расчетов: бета версия SMath Studio 0.87.3728
Он распространяется по лицензии GNU GPL, к сожалению не секрет, что на рабочем компьютере сейчас IT инженеры
дают возможность самому ставить только такие программы.
Идея проста: часто требуется приводить физические величины из разных систем (такие как тс, кгс, Н, МПа, м, мм и тд.)
к каким-то одним. Я обычно принимаю кгс или кН - для сил, м или см для расстояний. Остальные получаю заранее
определив соотношения между единицами измерения.
Как показано на снимке экрана: Входные данные в м, кПа, кН/м3, а результат получаем в требуемых единицах измерения
они выбираются в зависимости от типа расчета (килограмм-сила и сантиметры)
За время использования Maxima я так привык не думать о размерностях при расчетах, что сейчат сложно представить
как я раньше в экселе/на калькуляторе выполнял расчеты, постоянно контролируя вручную перевод из одних единиц
измерения в другие.

Сейчас появилась идея перейти на SMath. Тем более, что в SMath поддерживаются на программном уровне единицы измерений, а
также русские буквы, чего в Максиме нет.

Считаю, что любые расчеты по СНиП инженер должен производить на сертифицированных Госстроем (Лицензионных) программных комплексах либо сам с подробным описанием выполняемых действий, для чего служат как раз программы для символьных вычислений.
В связи с этим открываю новую тему по инженерным расчетам, переводу единиц измерения и всему что будет с этим связано.
Прошу выкладывать свои расчеты, идеи, мысли и комментарии.
Инженеры России: вместе мы сила.
Сразу спрошу у автора:
1) Андрей, на втором рисунке ответ представлен в виде обыкновенных дробей, хотя в опциях выбрано вид ответа (дроби):десятичные при этом я даже явно указал дробные числовые значения - эффект тот же. Как это изменить?
2) Есть ли программный способ вводить новые единицы измерения и устанавливать зависимости между ними? Планируется ли реализация данного аспекта на уровне программы, т.е. а) ввод зависимостей между единицами измерений б)выбор единиц измерения для результатов?
Пока для ввода зависимостей я действую так: ввожу любую ЕдИз из выпадающего списка, затем ее стираю и на ее месте пишу то что надо (русские обозначения ЕдИз мной введены для разграничения с исходными ЕдИз в программе)
3)Сейчас мной реализована в Maxima такая схема:
unit-force-kgs.mac:
gs:kgs/1000.0;
ts:1000*kgs;
N:0.1019716213*kgs;
kN:N*1000;
g:gs;
kg:kgs;
t:ts;
kgs:ts/1000;
gs:kgs/1000.0;
N:0.1019716213*kgs;
kN:N*1000;
g:gs;
kg:kgs;
t:ts;
N:kN/1000.0;
kgs:N/0.1019716213;
gs:kgs/1000.0;
ts:1000.0*kgs;
g:gs;
kg:kgs;
t:ts;
cm:m/100.0;
mm:cm/10;
m:cm*100.0;
mm:cm/10;
m:mm*1000.0;
cm:mm*10.0;
kPa:kN/m^2;
MPa:1000*kPa;
Pa:N/m^2;
Таким образом в этих файлах описаны основные взаимосвязи м-у единицами измерения. Смена представления результатов вычислений происходит с помощью процедуры, которая удаляет переменные (ts, kN и т.д.), затем загружает выбранный файл (unit-*.mac). После этого происходит пересчет листа и результат - в новых ЕИ.
Вопрос: ка это реализовать в SMath?
Пробовал так:rfile(ts.sm) в ответ получил: Index was outside the bounds of the array
(файл ts.sm лежит в папке C:\Documents and Settings\rusaev\Application Data\SMath\user)
Какого формата должен быть файл? пробовал и родной sm формат и простой текстовый.
4) На первом фото внизу представлен вывод результата вида
Расчетная формула->подстановка значений-> результат.
Это работа самописной функции, которая с помощью параметров Maxima сначала отключает автоматическое вычисление (формула), печатает, потом отключает автоматическое упрощение (подстановка),печатает, потом все обратно включает (результат), пачатает.
Есть ли такой функционал в SMath? Знаю что есть, нашел на форуме, но, к сожалению, второй раз найти уже не смог.
5) Очень не хватает возможности копирования блока вычисления в буфер обмена в виде картинки (по одному или целую группу сразу(при выделении группы)). Это была бы супер функция, очень полезная при вставке результатов расчета в пояснительную записку. Пока нашел только экспорт в html с последующей вставкой картинки в word, но это очень долгий способ.
Заранее спасибо за ответы. /Алексей.
Wrote1) Андрей, на втором рисунке ответ представлен в виде обыкновенных дробей, хотя в опциях выбрано вид ответа (дроби):десятичные при этом я даже явно указал дробные числовые значения - эффект тот же. Как это изменить?
Не знаю по какой причине, но Вы, для получения результатов вычисления, используете оператор символьного вычисления (кнопка "->" или сочетание Ctrl+.) - в данном режиме ответ всегда представляется дробью, что бы не допустить возможную потерю точности в ответе. Для получения численного ответа Вам необходимо использовать обычный оператор численного вычисления "=" (его также можно вводить как с клавиатуры, так и с панели кнопок Арифметика). Единицы измерения в программе реализованы таким образом, что работа с ними ведётся корректно вне зависимости от выбранного способа получения ответа: численного или символьного. При этом именно численный движок предоставляет максимальное удобство для Вас.
Wrote2) Есть ли программный способ вводить новые единицы измерения и устанавливать зависимости между ними?
Да, такая возможность присутствует. Для начала записи единицы измерения нужно нажать клавишу "'" (апостроф). После того, как Вы введёте апостроф, место для ввода имени изменит свою форму с прямоугольника на окружность, что свидетельствует о переключении режима операнда с математической единицы на единицу измерения. Теперь просто вписывайте требуемое имя.
Поскольку Вы сказали, что вводите единицы измерения из выпадающего списка, позволю себе упомянуть, что для вставки выделенного элемента списка можно не только дважды щёлкнуть по нему мышью, но и нажать TAB, Shift+Enter или Ctrl+Enter.
Wrote...Вопрос: ка это реализовать в SMath?
Пробовал так:rfile(ts.sm) в ответ получил: Index was outside the bounds of the array...
Подключать к расчёту внешние файлы возможности нет. Единственный способ, на текущий момент, воспользоваться своими единицами измерения и зависимостями между ними - определить все правила в начале расчёта.
Wrote4) На первом фото внизу представлен вывод результата вида
Расчетная формула->подстановка значений-> результат.
...
Есть ли такой функционал в SMath?
Не уверен, что правильно понял о каком функционале вы говорите, но, возможно, Вас интересует функция Explicit(...) - она позволяет не производя вычислений подставить в формулу все определённые выше переменные (вычисление необходимо проводить символьно).
Wrote5) Очень не хватает возможности копирования блока вычисления в буфер обмена в виде картинки
Постараюсь найти время для реализации такой возможности.
Также, хочу показать как программа позволяет указать требуемую единицу измерения для конкретного вычисления:
С уважением, Андрей Ивашов.
Ситуация ясна.
QuoteВас интересует функция Explicit(...)
Посмотрел - вроде нет такой функции.
QuoteТакже, хочу показать как программа позволяет указать требуемую единицу измерения для конкретного вычисления:
А вот это - супер. Собственно это все, что нужно.
Обнаружил интересный момент:
При неопределенном kN:

При определенном kN (верно):

Выходит Связь N<->kgs получилась двунаправленная
Но связь N-kN при этом разорвалась.
Логично. N не может быть одновременно и 0,001kN и 0,1kgs
Хотя вроде ситуация с m<->cm<->in выглядит как-то иначе
По поводу описания ЕИ вначале файла вместо загрузки внешних файлов - вполне устраивает
ведь в SMath можно сменить цвет текста на белый + малый шрифт и расчет не будет загроможден технической информацией, а ссылка на файлы раньше была нужна только для этой цели.
Спасибо /Алексей
Определение осадки одиночной висячей сваи без уширения по Приложению 4 СНиП 2.02.03-85
Целью данного расчета является определение жесткости сваи для подстановки ее
в конечно-элементную модель при расчете свайных фундаментов.
Расчет пока мало документирован, но если иметь перед собой СНиП - то все прозрачно.
Качаем тут: Осадка одиночной висячей сваи.sm
Всвязи с выходом новой бета-версии программы с усовершенствованной поддержкой единиц измерения Ваш расчёт требует некоторых изменений. Изменённый файл: Осадка одиночной висячей сваи.mod.sm.
С уважением, Андрей Ивашов.
Просто нет слов. Программа хороша.
Сейчас перезалью шапку и сам файл в постах выше.
С уважением, Алексей Рысаев
может с открытием api кто-то возьмется сделать.
WroteДля тех, кто хочет дополнить тему своими расчетами предлагаю шаблон с прописанными основными величинами
Думаю стоит написать пояснения к каждой введённой единице измерения (например, справа от определения), что бы у пользователей не возникало вопросов об их значении. В ближайшее время я введу возможность добавлять описание к пользовательским единицам измерения, константам/переменным и функциям, т.ч. эти описания будет показываться над значением, как сейчас это сделано для встроенных единиц измерения.
Также в процессе создания (около 70% работы сделано) элемент листа Область. В него можно будет "прятать" свои единицы измерения так, что бы они не отвлекали от сути расчёта.
Если же Вы считаете, что та или иная единица измерения должна быть встроена в программу - просто скажите об этом (укажите её сокращение, значение и описание [можно своими словами, т.к. я ещё буду про неё узнавать подробности самостоятельно]). Возможно я включу её в список поддерживаемых "из коробки".
WroteQuoteВас интересует функция Explicit(...)
Посмотрел - вроде нет такой функции.
Она недокументированная и не представлена в списке функций динамической помощи ввода. Но всё же Вы её можете написать вручную и попытаться использовать.
[MATH]a←5[/MATH]
[MATH]b←8[/MATH]
[MATH]Explicit(a+sin(b))—5+sin(8)[/MATH]
Wroteхорошо бы википедию smath-документов сделать с простым доступом из программы.
Идея создать хранилище расчётов с системой рейтингов, статистикой использования, комментариями и контролем версий, а в программу интегрировать клиента для доступа к этому хранилищу постепенно зреет. По плану, оно будет кроме документов вычислений содержать также и доступные дополнения к SMath Studio и обновления для самой программы.
Пока что, уверен, важно доработать программу до такого состояния, что бы неожиданностей в её работе либо не было бы вообще, либо их список был бы строго определён и хорошо изучен. Только тогда ей можно будет доверять самые серьёзные расчёты и приступать к реализации подобной системы "склада знаний".
F=m*a в данном случае a=g=9.81....
и соответственно тонна-сила
видимо бывает еще и грамм-сила, но не встречал на практике
сокр. кгс, тс, гс
Идея очень понравилась.
Если да, то значит в ту тему написал. Ну а вообще по существу. Хотя в программе поддерживаются градусы, но:
1. В Linux версии почему-то невозможно клавишой TAB или Enter выбрать нужную единицу измерения из списка - получается только текст.
2. В Linux версии как-то странно обрабатывается апостроф ' - он срабатывает далеко не с первого раза.
3. Напрочь отсутствуют единицы измерения координат в градусах, минутах и секундах. При этом для обозначения там потребуются символы градуса, апострофа и двойной кавычки. Да еще при этом и запись значения может идти с применением сразу этих трех символов, что в текущей версии программы невозможно.
Поэтому вопрос - есть ли в ближайшем будущем перспектива включения в программу поддержки работы с координатами?
P.S. Сессия будет в июне, но вот контрольную нужно сделать раньше...
Т.е. 30град 20минут нужно ввести так:
a := 30,33
WroteПоэтому вопрос - есть ли в ближайшем будущем перспектива включения в программу поддержки работы с координатами?
P.S. Сессия будет в июне, но вот контрольную нужно сделать раньше...
Вам ничто не мешает сделать что-нибудь в этом роде:
или так:
Там можно задавать комплексные числа в показательной форме с помощью символа @. При этом по нажатии Exe программа сразу переведёт их в алгебраическую форму. Жаль, обратный перевод так просто не работает, но это мелочи. Как вам такая идея использования символов?

WroteЕсть идеи того как это можно реализовать?
В Mathcad есть функция DMS (углы-минуты-секунды), которая делает эту работу.
Кстати, о Mathcad.
В следующем гору ему исполняется 25 лет. Отлаженный и доведенный до ума SMath - хороший подарок к этому юбилею.
Кстати, создатель Mathcad - Allen Razdow (см. www.razdow.com и www.truenum.com ) в переписке со мной назвал проект SMath очень интересным. Я хочу его привлечь к этой работе. У него осталось много идей после продажи фирмы MathSoft фирме PTC. В 2011 году (после 5 лет с момента продажи Mathcad) заканчивается срок очень интересного моратория...
Сейчас я готовлю техническое задание на подобный сетевой инженерный калькулятор для, например, издательского дела (см. http://twt.mpei.ac.ru/ochkov/formula ).
Прошу простить, но проект SMath понесло куда-то в сторону: не сделаны элементарные вещи, но взялись за неподъемные темы!
Андрей, мы все это обсудим 17 апреля?!
Wroteпроект SMath понесло куда-то в сторону: не сделаны элементарные вещи, но всялись за неподъемные темы!
Я помню и о передачи функций в аргументы функций и о том, что функции программирования должны возвращать значения и о многом другом... Выбор задач для реализации в основном определяется готовностью и продуманностью логики, а потому, если что-то не сделано, это часто означает лишь то, что я пока не нашёл рационального способа представления той или иной функциональности пользователям. Единицы измерения - хороший тому пример.
WroteАндрей, мы все это обсудим 17 апреля?!
Конечно, как договаривались.
-
New Posts
-
No New Posts