Как создать расчетное программное обеспечение с открытым исходным кодом (конструктивные решения) - Страница 19
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

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

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

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

На мой взгляд, основными проблемами российского рынка расчетного программного обеспечения являются:
- отсутствие нормальной возможности программной автоматизации по решению расчетных задач
(в расчетных программах отсутствует возможность для нормального программирования, т.е. невозможно написать программу для полностью автоматического создания расчетной схемы (нескольких расчетных схем), автоматического выполнения расчета, автоматического получения результатов и их автоматического анализа);
- закрытый исходный код по подбору расчетных параметров несущих элементов
(различные программы дают различные результаты при решении одинаковых задач, сравнение алгоритмов подбора различных между собой невозможно, так как код закрыт, общепринятых и одобренных алгоритмов нет, каждый пользуется своим "черным ящиком", который иногда может выдать ошибочное решение);
- для людей, которые занимаются автоматизацией на Лисп, 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.
Просмотров: 106888
 
Непрочитано 12.11.2021, 18:35
#361
Нубий-IV

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


Вот я все тестирую и тестирую, а мне все хуже и хуже. Если x32 работает примерно с 1.5G памяти, то что будет при вызове из нанокада?
Код:
[Выделить все]
 
#include "arxHeaders.h"


class nanoCADmem: public AcRxArxApp {
public:
	virtual AcRx::AppRetCode On_kInitAppMsg (void *pkt)
	{
		AcRx::AppRetCode retCode =AcRxArxApp::On_kInitAppMsg (pkt);
		return (retCode);
	}

	virtual AcRx::AppRetCode On_kUnloadAppMsg (void *pkt)
	{
		AcRx::AppRetCode retCode =AcRxArxApp::On_kUnloadAppMsg (pkt);
		return (retCode);
	}

	virtual void RegisterServerComponents ()
	{

	}

	static void nanoCADmem_memtest(void)
	{
		const int N_BLOCKS = 1000;
		const int BLOCK_SIZE = 100000000;
		
		try {
			double** blocks = new double*[N_BLOCKS];
			for(int i = 0; i < N_BLOCKS; i++) {
				blocks[i] = new double[BLOCK_SIZE];
				acutPrintf(L"Allocate %ib ok", BLOCK_SIZE);
			}
		} catch (...) {
			acutPrintf(L"Allocate %ib error", BLOCK_SIZE);
		}
	}
};

IMPLEMENT_ARX_ENTRYPOINT(nanoCADmem)
ACED_ARXCOMMAND_ENTRY_AUTO(nanoCADmem, nanoCADmem, _memtest, memtest, ACRX_CMD_TRANSPARENT, NULL)

Выделение десяти блоков памяти по 100 метров. В чистом файле выделяется только 3 блока; в большом файле и один не выделяется. Это все, что доступно для работы из-под нанокада.

Четырехугольная оболочка с 6 степенями свободы имеет матрицу жесткости (6*4)*(6*4)*8 = 4.6К = 0.0046M. При доступных 100M в памяти можно разместить только 100/0.0046 = 20 тыс матриц (не считая узлов, самих элементов, матриц преобразований, векторов перемещений и т.п.).

Не то что "хранить матрицы" не выйдет; видимо, безопасно только поэлементное чтение/запись.

Последний раз редактировалось Нубий-IV, 13.11.2021 в 06:33.
Нубий-IV вне форума  
 
Непрочитано 23.11.2021, 11:38
#362
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


А чего все??
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 24.11.2021, 21:41
#363
zamtmn

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


>>А чего все??
В твоей теме никто не злорадствует))
zamtmn вне форума  
 
Непрочитано 26.11.2021, 14:35
#364
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Цитата:
Сообщение от zamtmn Посмотреть сообщение
>>А чего все??
В твоей теме никто не злорадствует))
ДА и там так же было...
Я понял, что нужно полагаться только на себя, и подготавливать готовое решение.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 26.11.2021, 14:37
#365
румата


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


Цитата:
Сообщение от DEM Посмотреть сообщение
ДА и там так же было...
А что там было?
румата вне форума  
 
Автор темы   Непрочитано 04.06.2024, 14:30
#366
nickname2019


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


Цитата:
Сообщение от Бахил Посмотреть сообщение
Какое ТЗ? Полноценный проект. Осталось найти подрядчика. Можно и "хозспособом" реализовать.
Попрошу сразу не ржать, вопрос действительно не простой.
После примерно трех лет размышлений и обсуждений на разных площадках, мне видится примерно такая схема организации работ по коллективной разработке.

Имхо, оптимальная организация труда - колхоз "Светлый путь", внутри которого могут существовать отдельные артели.

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

2. Колхозники могут создавать свои закрытие артели, в которых могут совместно создавать код для использования внутри артели. Они сами принимают решения о том, делиться или не делиться с сообществом разработанным кодом и на каких условиях. Решения внутри артели принимается голосованием, при этом вес "голоса" определяется количеством строк разработанного человеком кода, который он разработал, работая в артели. Принятие/не принятие человека в артель определяется голосованием членов артели. В идеале, артели должны заманивать тех рядовых колхозников, которые имеют высокую "карму", заработанную ими на общих условиях. Артель имеет свой доход, связанный как с использованием разработанного кода каждым членом артели, так и продажей результатов работы (алгоритмов и программ).
Доход артели делится между участниками артели пропорционально их "карме". Колхозу артель перечисляет только членские взносы. Артель может нанимать исполнительных директоров, менеджеров по продажам, маркетологов и т.д.

Имхо, такая организация труда может избежать влияния "финансового сектора", "эффективных менеджеров" и ориентировать разработку непосредственно на потребности общества.

И у меня вопрос: "Колхоз светлый путь" звучит не слишком кринжово?

Последний раз редактировалось nickname2019, 04.06.2024 в 14:46.
nickname2019 вне форума  
 
Непрочитано 04.06.2024, 15:35
#367
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Вклад каждого определяется количеством строк кода, который человек создал и который включен в официальный релиз
строчек может десяток, но потрачены на них часы (а то и дни) поиска той же информации и пробного тестирования.

Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Колхозники могут создавать свои закрытие артели, в которых могут совместно создавать код для использования внутри артели. Они сами принимают решения о том, делиться или не делиться с сообществом разработанным кодом и на каких условиях.
хм, а для чего тогда столько видов лицензий на ПО...
Сергей812 вне форума  
 
Автор темы   Непрочитано 04.06.2024, 18:34
#368
nickname2019


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


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

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

Но никто не запрещает выработать свои правила сообщества по аналогии с компьютерной игрой и оперировать условными "строками кода", которые могут быть игровыми деньгами внутри сообщества.

"Колхоз светлый путь" - плохое название?

Последний раз редактировалось nickname2019, 04.06.2024 в 18:42.
nickname2019 вне форума  
 
Непрочитано 04.06.2024, 18:50
#369
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Имхо, для оценки доли человека внутри профессионального сообщества - нормально. Если рассматривать как объем работы для оплаты - так себе показатель.
сколько строк совместного кода это "профессиональное" сообщество написало за те же последние три года?
Сергей812 вне форума  
 
Автор темы   Непрочитано 04.06.2024, 19:07
#370
nickname2019


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
сколько строк совместного кода это "профессиональное" сообщество написало за те же последние три года?
Примерно 20-30 тысяч. Не знаю, можно ли это считать сообществом, если в нем пока один я.

Последний раз редактировалось nickname2019, 04.06.2024 в 19:20.
nickname2019 вне форума  
 
Непрочитано 04.06.2024, 19:30
#371
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Примерно 20-30 тысяч. Не знаю, можно ли это считать сообществом, если в нем пока один я.
т.е. за эти годы не было не одного реального предложения о совместном создании ПО?
Сергей812 вне форума  
 
Автор темы   Непрочитано 04.06.2024, 22:41
#372
nickname2019


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
т.е. за эти годы не было не одного реального предложения о совместном создании ПО?
Проблематику на данный момент вижу так:
1. Для расчетного ПО нужен скриптовый язык.
2. Для скриптового языка нужен компилятор с возможностью отладки.
3. Скриптовый язык должен позволять коллективную разработку.
4. Коллективная разработка должна иметь возможность автоматически отслеживать авторство кода построчно (наличия форков недостаточно). Т.е. если человек изменил строку кода - общество должно знать, кто это сделал и почему.
5. Разработчики должны иметь возможность влиять на развитие продукта, поэтому нужен рейтинг полезности разработчиков при голосованиях через учет "кармы". Карма разработчика учитывается через подсчет строк созданного им кода.

Сейчас я нахожусь в начале п.3.

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

Но, я думаю, что рассуждения в этом направлении полезны, так как кто-то и когда-то может реализовать что-то похожее, что тут обсуждалось.
nickname2019 вне форума  
 
Непрочитано 05.06.2024, 00:07
#373
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Для расчетного ПО нужен скриптовый язык.
для расчетного ПО нужны выверенные и адаптированные под текущую реальность алгоритмы расчета для начала.. Сколько осталось проектировщиков в стране, способных построить математическую модель, и главное - и чем их заинтересовать для участия в бесплатном проекте? А уж языков программирования и средств разработки сейчас - на любой вкус, если не упираться в мифическую построчную отчетность)
Сергей812 вне форума  
 
Автор темы   Непрочитано 05.06.2024, 06:43
1 | #374
nickname2019


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
для расчетного ПО нужны выверенные и адаптированные под текущую реальность алгоритмы расчета для начала..
А вот это уже сделано до нас.https://oofem.org/doku.php?id=en:download
И этот проект с открытой лицензией.

Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Сколько осталось проектировщиков в стране, способных построить математическую модель, и главное - и чем их заинтересовать для участия в бесплатном проекте?
Наличие открытого кода не означают, что проект обязательно должен быть бесплатный. Хотя тут есть над чем поразмыслить.
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
А уж языков программирования и средств разработки сейчас - на любой вкус, если не упираться в мифическую построчную отчетность)
Мне они не удобны.


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

Последний раз редактировалось nickname2019, 05.06.2024 в 07:11.
nickname2019 вне форума  
 
Непрочитано 05.06.2024, 08:05
#375
Нубий-IV

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


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Для расчетного ПО нужен скриптовый язык.
Концепция поменялась? Будем писать МКЭ на самодельном скриптовом языке? От этого все, кто говорил в теме "фу, плюсы, я только на питоне буду", разом переучатся и на этот раз все взлетит? Например, нехватку память в nano-x32 язык решает?
Цитата:
Сообщение от nickname2019 Посмотреть сообщение
"Колхоз светлый путь" - плохое название?
колхоз наш раньше назывался
путь ленина потом никак
теперь лень путина назвали
чтоб новых букв не покупать
(с)тырьнет
Нубий-IV вне форума  
 
Автор темы   Непрочитано 05.06.2024, 09:24
#376
nickname2019


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


Цитата:
Сообщение от Нубий-IV Посмотреть сообщение
Концепция поменялась? Будем писать МКЭ на самодельном скриптовом языке? От этого все, кто говорил в теме "фу, плюсы, я только на питоне буду", разом переучатся и на этот раз все взлетит? Например, нехватку память в nano-x32 язык решает?
колхоз наш раньше назывался
путь ленина потом никак
теперь лень путина назвали
чтоб новых букв не покупать
(с)тырьнет
Вероятнее всего, наиболее перспективная концепция - найти готовое наиболее подходящее и привинтить. Если будет хромать - приделать костыли.
Скрипт нужен, чтобы управлять графикой, а не для расчетного ядра, но можно обойтись и без него.
Но без скрипта это не будет круто.
Я так вижу, что сначала нужен скрипт, поэтому я пишу скрипт.

Последний раз редактировалось nickname2019, 05.06.2024 в 09:38.
nickname2019 вне форума  
 
Непрочитано 05.06.2024, 09:54
#377
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Наличие открытого кода не означают, что проект обязательно должен быть бесплатный. Хотя тут есть над чем поразмыслить.
бесплатного кода не бывает - у любого кода есть спонсор, который явно или скрыто (в виде затрат своего времени и ресурсов) вкладывает средства в разработку. Захочет ли потом спонсор получать прибыль или будет распространять под лицензией свободного ПО - это его личный выбор, основанный на наличие других источников заработка.

Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Мне они не удобны.
а другим?) Или под себя код пишите... тогда причем тут колхозы, артели?

Offtop: p.s. чего то мне это все больше напоминает другого форумчанина, специалиста по XData...
Сергей812 вне форума  
 
Автор темы   Непрочитано 05.06.2024, 10:09
#378
nickname2019


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
а другим?) Или под себя код пишите... тогда причем тут колхозы, артели?
Я думаю, что полезно обсудить, каким образом в идеале должен быть проект с открытым исходным кодом. Я думаю, что в результате обсуждения были высказаны некоторые гипотезы по организации процесса. Некоторые мысли пришли мне в голову буквально позавчера (колхозы и артели), поэтому мне показалось полезным это обсудить (нужно/не нужно).
Я думаю, что эта тема о каких-то перспективных возможных разработках. Если бы это касалось какого то законченного проекта, это, наверное, следовало бы перенести в раздел "Готовые программы".
Публиковать "сырые" разработки я не вижу смысла.
Если когда-то появиться программный каркас, на основе которого можно вести коллективную разработку - я его опубликую.
Опыт гитхабом у меня вышел негативный, так как синхронизация не работала + гитхаб сейчас в любой момент может вынести бан.

Тема со скриптом, возможно, не очень актуальна. Но тут опять не понятно, а может будет актуальна, если закончить и сделать апробацию. Т.е. сейчас у меня готовых решений нет.
Количество строк кода - это не показатель, что мой путь верный.
nickname2019 вне форума  
 
Непрочитано 05.06.2024, 11:06
#379
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


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

Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Я думаю, что в результате обсуждения были высказаны некоторые гипотезы по организации процесса. Некоторые мысли пришли мне в голову буквально позавчера (колхозы и артели), поэтому мне показалось полезным это обсудить (нужно/не нужно).
вы явно не первопроходец в организации совместной работы программистов - трудно представить себе, что придет какая то гениальная организационная мысль, которая не была "найдена" за предыдущие десятилетия.
Сергей812 вне форума  
 
Непрочитано 05.06.2024, 11:43
1 | #380
radistMorze


 
Регистрация: 29.04.2016
летающий цирк Монти Пайтона
Сообщений: 260


В принципе на гитхабе есть открытые проекты, которые сейчас пишутся. Например калькулятор сечений НДМ:
https://github.com/RedikultsevEvg/StructureHelper
Это не мкэ, но в целом уже готовая программа с нужным функционалом
__________________
I'm trained for nothing
radistMorze вне форума  
Ответ
Вернуться   Форум 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