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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как создать расчетное программное обеспечение с открытым исходным кодом (конструктивные решения)

Как создать расчетное программное обеспечение с открытым исходным кодом (конструктивные решения)

Ответ
Поиск в этой теме
Непрочитано 24.09.2021, 14:52
Как создать расчетное программное обеспечение с открытым исходным кодом (конструктивные решения)
nickname2019
 
Регистрация: 18.11.2019
Сообщений: 1,523

На мой взгляд, основными проблемами российского рынка расчетного программного обеспечения являются:
- отсутствие нормальной возможности программной автоматизации по решению расчетных задач
(в расчетных программах отсутствует возможность для нормального программирования, т.е. невозможно написать программу для полностью автоматического создания расчетной схемы (нескольких расчетных схем), автоматического выполнения расчета, автоматического получения результатов и их автоматического анализа);
- закрытый исходный код по подбору расчетных параметров несущих элементов
(различные программы дают различные результаты при решении одинаковых задач, сравнение алгоритмов подбора различных между собой невозможно, так как код закрыт, общепринятых и одобренных алгоритмов нет, каждый пользуется своим "черным ящиком", который иногда может выдать ошибочное решение);
- для людей, которые занимаются автоматизацией на Лисп, C# и т.д. отсутствуют инструменты, которые позволяли бы программно "по-простому" вызвать готовую библиотечную функцию (например, по подбору сечения какой-то простой балки непосредственно из графического редактора), что вызывает необходимость вызова отдельной расчетной программы, что серьезно тормозит работу;
- "корявый" интерфейс, ужасно неудобная и медленная работа в существующих российских (и украинских) расчетных программах;
(фактически при наличии нормального графического редактора (autocad, nanocad и т.д.) приходится экспортировать данные в в "корявый" редактор расчетной программы и длительное в нем работать (задавать нагрузки, связи и т.д.), а встроить расчетную программу в нормальный графический редактор через автоматизацию невозможно).

В связи с вышеизложенным, назрел вопрос:
Как технологически наиболее правильно можно организовать разработку расчетного программного обеспечения с открытым исходным кодом?

Для совместной разработки кода создано общее хранилище на GitHub, используя которое каждый может поучаствовать в разработке :
https://github.com/chaosEagleOwl/source

На данным момент работа находится в стадии тестирования возможности совместной разработки.
Требования к программному обеспечению изложены в файле (ссылка README.md на GitHub): https://github.com/chaosEagleOwl/source/README.md

ТЗ на модуль формирования КЭ-сеток сформировано и помещено на GitHub.
На весь комплекс ТЗ формировать долго, видимо, будет чуть позже.

Сформирована доска для управления проектом, туда добавлены наиболее актуальные задачи.
Задачи проекта.

Последний раз редактировалось nickname2019, 06.10.2021 в 09:07.
Просмотров: 84548
 
Непрочитано 26.09.2021, 13:21
#61
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
-прямоугольная пластина;
Прямоугольная как раз не нужна, значительно чаще будет нужна четырехугольная пластина. а прямоугольная это лишь частный случай четырехугольной

----- добавлено через 51 сек. -----
Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Вряд ли использовать их "в лоб" хорошая идея.
Это нужно пробовать варианты. Тогда можно будет наверняка сказать какая идея лучше

----- добавлено через ~2 мин. -----
Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Нет. Самое эффективное - обратить начальную матрицу жесткости один раз, потом ее многократно использовать в итерациях. Это самый быстрый способ. Я лично проверял.
Хорошо, пусть пока будет так

----- добавлено через ~3 мин. -----
Здесь в библиотеке была книжка Агапова от 2002-го года с готовыми выведенными МЖ для нелинейных стержневых и слоистых оболочечных КЭ
румата вне форума  
 
Непрочитано 26.09.2021, 18:16
#62
veb86

Проектировщик электрических сетей
 
Регистрация: 17.01.2014
Пенза
Сообщений: 176


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Да. Точно. Толщиной можно задавать толщины плит. Для обозначения марки бетона/стали - пусть будут слои.
Можно, конечно, сделать собственные proxy-объекты для КЭ, но это, скорее всего, приведет к тому, что памяти будет много уходить + будут тормоза + будут проблемы с совместимостью в других версиях графического редактора (в т.ч. проблемы переноса между nanocad/autocad).
Масштаб лучше "приберечь" для оформительских целей.
Звучит как в фильме ужасов. Я не знаю что такое XDATA(подозреваю что это атрибуты), я бы делал через них. Толщина линий, масштаб, слои, цвет, и прочее... Вы шутите, этой программой роботы что ли пользоваться будут. На то что бы провести тесты и полюбоваться своей работой этого хватит, но в реальной работе, это будет капец (чисто мое мнение). Хотя для начала лучше хоть как бы реализовать, а там уж до пилите.
veb86 вне форума  
 
Непрочитано 27.09.2021, 01:29
#63
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


https://russiaos.ru/summit/
румата вне форума  
 
Непрочитано 27.09.2021, 06:36
#64
lenivec

проектирование
 
Регистрация: 16.09.2005
KZ
Сообщений: 135


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Как создать расчетное программное обеспечение с открытым исходным кодом (конструктивные решения)
А MathCAD приспособить никак? (я не вкурсе, только понаслышке)
lenivec вне форума  
 
Непрочитано 27.09.2021, 06:44
#65
zvezdochiot

маркшейдер
 
Регистрация: 25.09.2021
Москва
Сообщений: 149


Цитата:
Сообщение от lenivec Посмотреть сообщение
А MathCAD приспособить никак?
Проще тогда NumPy и SciPy "приспособить" (Python).
__________________
Keep it simple, stupid.
zvezdochiot вне форума  
 
Непрочитано 27.09.2021, 07:02
#66
lenivec

проектирование
 
Регистрация: 16.09.2005
KZ
Сообщений: 135


Цитата:
Сообщение от zvezdochiot Посмотреть сообщение
Проще тогда NumPy и SciPy "приспособить" (Python).
На самом деле проще?
Я так думал, что MathCAD считывает сами формулы и знание языков программирования (вроде Python) не требуется. Написал формулу, любой может подправить, доработать, скопипастить, не выискивая цепочку алгоритма в коде.

Вместо чистого Python, я бы тогда предложил:
Dynamo (в связке с учебным Revit), либо Grasshopher. Есть еще open source Dynamo Sandbox (пока не знаю что он может). Вот еще нашел open source: GRevit

Последний раз редактировалось lenivec, 27.09.2021 в 08:05.
lenivec вне форума  
 
Автор темы   Непрочитано 27.09.2021, 07:42
#67
nickname2019


 
Регистрация: 18.11.2019
Сообщений: 1,523


Предлагается следующий перечень задач (пока собираем литературу):
1. Процедура формирование локальных матриц жесткостей стержней и оболочек (на один КЭ)
1.1. В линейной постановке
1.2. В физически нелинейной постановке
(геометрически нелинейные пока рассматривать не будем, так как для массового проектирования это не так актуально, а прогибы ж.б. перекрытий определять нужно в физ. нелинейной постановке)
2. Написание процедуры по генерации плоских КЭ сеток (вероятнее всего, следует воспользоваться кодом от проекта GMSH)
3. Написание процедуры оптимизации нумерации узлов таким образом, чтобы ширина ленты матрицы была минимальной (для т.н. многофронтального метода)
4. Написание процедуры решения СЛАУ с обращением матрицы жесткости
5. Написание процедуры получения РСУ
6. Визуализация
7. Подбор расчетных параметров сечений по РСУ
nickname2019 на форуме  
 
Непрочитано 27.09.2021, 07:44
1 | 1 #68
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


>>Как технологически наиболее правильно можно организовать разработку расчетного программного обеспечения с открытым исходным кодом?
начать его делать, а не говорить-обсуждать-выбирать
zamtmn вне форума  
 
Непрочитано 27.09.2021, 08:22
#69
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Цитата:
Сообщение от lenivec Посмотреть сообщение
А MathCAD приспособить никак? (я не вкурсе, только понаслышке)
Никак. Загнется он на первой более-менее серьезной расчетной модельке.

----- добавлено через 48 сек. -----
Цитата:
Сообщение от zvezdochiot Посмотреть сообщение
Проще тогда NumPy и SciPy "приспособить" (Python).
Как вариант. Но получится некоторое снижение производительности по сравнению с нативным си.

----- добавлено через ~2 мин. -----
Цитата:
Сообщение от lenivec Посмотреть сообщение
Вместо чистого Python, я бы тогда предложил:
Dynamo (в связке с учебным Revit), либо Grasshopher. Есть еще open source Dynamo Sandbox (пока не знаю что он может). Вот еще нашел open source: GRevit
Нет, не то. Это все геометрическоие параметризаторы.

----- добавлено через ~4 мин. -----
Цитата:
Сообщение от zamtmn Посмотреть сообщение
начать его делать, а не говорить-обсуждать-выбирать
ну это ж не лиспик по изменению цвета слоя. без детального обсуждения стратегии и нюансов такой опенсорс создать не получится

----- добавлено через ~6 мин. -----
Цитата:
Сообщение от nickname2019 Посмотреть сообщение
1.2. В физически нелинейной постановке
(геометрически нелинейные пока рассматривать не будем, так как для массового проектирования это не так актуально, а прогибы ж.б. перекрытий определять нужно в физ. нелинейной постановке)
И в геометрической тоже нужно. Почему только ЖБ? Сталь уже не нужна?

----- добавлено через ~7 мин. -----
Цитата:
Сообщение от nickname2019 Посмотреть сообщение
6. Визуализация
Здесь все же лучше смотреть в сторону OpenGL, а не автокада
румата вне форума  
 
Автор темы   Непрочитано 27.09.2021, 08:35
#70
nickname2019


 
Регистрация: 18.11.2019
Сообщений: 1,523


Цитата:
Сообщение от румата Посмотреть сообщение
И в геометрической тоже нужно. Почему только ЖБ? Сталь уже не нужна?
Сталь обычно все считают в линейной постановке (кроме мачт), но мачты тоже линеаризуются нормально. Но очень мало людей правильно считают прогибы ж.б.к. Хотелось бы этот пробел устранить.

Цитата:
Сообщение от румата Посмотреть сообщение
Здесь все же лучше смотреть в сторону OpenGL, а не автокада
Может быть. Но написание нормального графического движка - задача более сложная, чем расчетного комплекса. Здесь вопрос не в 3д визуализации а в задаче эффективного обсчета 2-д текста и графики в больших объемах.
nickname2019 на форуме  
 
Непрочитано 27.09.2021, 08:36
#71
veb86

Проектировщик электрических сетей
 
Регистрация: 17.01.2014
Пенза
Сообщений: 176


Цитата:
Сообщение от румата Посмотреть сообщение
Цитата:
Сообщение от lenivec Посмотреть сообщение
А MathCAD приспособить никак? (я не вкурсе, только понаслышке)
Никак. Загнется он на первой более-менее серьезной расчетной модельке.
Я для подобных расчетов пользуюсь Smath (бесплатный потому что, и расчеты небольшие). Посчитать в Mathcad можно много чего, но считает он действительно долго. Но зато все наглядно, легко потом будет проводить проверки расчета созданного в программе. Или как Вы предлагаете проверять расчеты?
В идеале было бы здорово, если группа матерых специалистов, начали делать расчет в Маткаде(Питон, Javascript или просто на бумажке), а nickname2019 начнет готовить библиотеку для автокада. Специалисты по воюют за правильность расчета, а nickname2019 просто переписал формулы из программы в программу, а не изучал математику расчетов
veb86 вне форума  
 
Автор темы   Непрочитано 27.09.2021, 08:41
#72
nickname2019


 
Регистрация: 18.11.2019
Сообщений: 1,523


Цитата:
Сообщение от veb86 Посмотреть сообщение
Я для подобных расчетов пользуюсь Smath (бесплатный потому что, и расчеты небольшие). Посчитать в Mathcad можно много чего, но считает он действительно долго. Но зато все наглядно, легко потом будет проводить проверки расчета созданного в программе. Или как Вы предлагаете проверять расчеты?
В идеале было бы здорово, если группа матерых специалистов, начали делать расчет в Маткаде(Питон, Javascript или просто на бумажке), а nickname2019 начнет готовить библиотеку для автокада. Специалисты по воюют за правильность расчета, а nickname2019 просто переписал формулы из программы в программу, а не изучал математику расчетов
Вероятнее всего, nickname2019 на этой неделе напишет скелет на objectarx и напишет как сделать так, чтобы его компилировать и запустить для всех желающих приобщиться.
Для написания расчетных модулей c++ кроме как оформление циклов и объявления переменных типа double и string знать ничего не надо.

Предлагается писать программу для visual studio 2012, это позволит запускать приложение на autocad 2015, 2016. Также эту версию желающие смогут перекомпилировать под nanocad.

Имхо, при желании портировать с visual studio 2012 на более новые версии провести проще, чем наоборот.

Есть возражения?
nickname2019 на форуме  
 
Непрочитано 27.09.2021, 08:45
#73
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Сталь обычно все считают в линейной постановке...
Даже в СП16 есть пункт, говорящий о том, что расчет хорошо бы выполнять с учетом обеих нелинейностей в случае затруднения с определением расчетных длин элементов сисеты
румата вне форума  
 
Непрочитано 27.09.2021, 08:49
#74
Ziabz


 
Регистрация: 01.09.2021
Сообщений: 217


А что не то с Mathcad? Я никогда в жизни не изучал программирование, без проблем создаю алгоритм проверки по нормам ..
Ziabz вне форума  
 
Непрочитано 27.09.2021, 08:50
#75
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Предлагается писать программу для visual studio 2012...
А почему в таком древнем VS?

----- добавлено через ~4 мин. -----
Цитата:
Сообщение от Ziabz Посмотреть сообщение
А что не то с Mathcad? Я никогда в жизни не изучал программирование, без проблем создаю алгоритм проверки по нормам .
С ним все нормально. Только:
1) он платный
2) он не будет работать с матрицами объемом в гигабайты
румата вне форума  
 
Автор темы   Непрочитано 27.09.2021, 08:54
#76
nickname2019


 
Регистрация: 18.11.2019
Сообщений: 1,523


Цитата:
Сообщение от румата Посмотреть сообщение
А почему в таком древнем VS?
Я думаю, что так проще обеспечить совместимость с Autocad 2015...Autocad 2021. (версию повысить проще, чем понизить)
nickname2019 на форуме  
 
Непрочитано 27.09.2021, 08:57
| 1 #77
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Есть возражения?
есть. я бы делал решатель на .net или python без завязки на .arx расширения автокада. dxf никто не отменял
румата вне форума  
 
Автор темы   Непрочитано 27.09.2021, 09:00
#78
nickname2019


 
Регистрация: 18.11.2019
Сообщений: 1,523


Цитата:
Сообщение от румата Посмотреть сообщение
есть. я бы делал на .net или python без завязки на .arx расширения автокада. dxf никто не отменял
Есть вероятность, что в процессе разработки придется прибегнуть к созданию своих объектов, на .net или python это сделать будет сложно. Плюс производительность здесь будет узким местом.

arx - это нужно для визуализации и отладки, чтобы не писать свой граф. редактор.
nickname2019 на форуме  
 
Непрочитано 27.09.2021, 09:00
#79
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Эти языки более распространены и предпочтительны для opensource

----- добавлено через ~1 мин. -----
Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Есть вероятность, что в процессе разработки придется прибегнуть к созданию своих объектов...
только не proxy. это все погубит
румата вне форума  
 
Автор темы   Непрочитано 27.09.2021, 09:02
#80
nickname2019


 
Регистрация: 18.11.2019
Сообщений: 1,523


Цитата:
Сообщение от румата Посмотреть сообщение
Эти языки более распространены и предпочтительны для opensource
gmsh написан на c++. Скорее всего оттуда можно много чего взять вообще без переделок.

----- добавлено через 31 сек. -----
Цитата:
Сообщение от румата Посмотреть сообщение
только не proxy. это все погубит
согласен. Это на крайний случай.
nickname2019 на форуме  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как создать расчетное программное обеспечение с открытым исходным кодом (конструктивные решения)

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СП 335.1325800.2017 «Крупнопанельные конструктивные системы. Правила проектирования» (Обсуждение) Armin Прочее. Архитектура и строительство 37 07.11.2018 06:55
Фирменные решения по пропуску коммуникаций через стены подвала Regby Конструкции зданий и сооружений 2 07.04.2010 20:43
устройство и возможные конструктивные решения вентфасада из кирпича Ivansobaka Каменные и армокаменные конструкции 1 16.12.2009 06:38
Конструктивные решения по перемычкам в многослойных кирпичных стенах! Westroy Архитектура 16 30.11.2009 13:57
Конструктивные решения монтажных соединений многоэтажных зданий на высокопрочных болтах VoRoNoFF Конструкции зданий и сооружений 1 04.04.2009 00:41