Обновить
180
0
Вячеслав @petuhoff

Моделирование сложных технических систем

Отправить сообщение

модель становится цифрвым двойником, если она на вычислителе и связана с первако ( получает с него данные). Все просто слово двойник, требует первака с которого забирются данные.

ISO 23247-1:2021(E)

3.2.2
digital representation
<manufacturing> data element representing a set of properties of an observable manufacturing element

3.2.3
digital twin
<manufacturing> fit for purpose digital representation (3.2.2) of an observable manufacturing element with synchronization between the element and its digital representation

вот пример из документа цифровая рерзентация - набор данных об элементе становится двойником если эти данных синхронизированы с реальны объектом. В определениях репрезентация это точно что на вычислителие

3.2.7 (standards.iteh.ai)

representation - manner in which information is modelled for interpretation by a machine

Вообще говоря - это не так, и всегда было.. 

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

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

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

существует! У двойника используется данные с реального объекта первака. Поэтому он стал двойником. Именно поэтому он появился относительно недавно, когда стоимость датчиков и систем сбора и обработки данных стала относительно дешовой. тут и появились цифровые двойники. Оказаллось что турбину можно оклеить датчиками копеечными и гнать данные в систему сбора данных без ограничений. Таким образом настраивая модель очень точно.

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

И тогда все логично "цифровой двойник", это математическая модель в виде программы с данными от реального "первака"

В "математической модели" (что бы под этим не понималось) всегда есть данные от реального объекта. Иначе эта "модель" ...эээ... имеет назначение, которое сложно себе представить.

Откуда в математической модели на этапе проектирования данные от реального объекта, если реального обеъекта еще нет?

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

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

Т.е. неверно понимать "модель" только как средство расчёта чего-то нового, еще не созданного.

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

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

Вот тут например мы настраивали модель стенда испытаний СКВ, и нам пришлось теоретическу модель сильно править данными с реального стенда мы из модели получили "цифровой двойник" без стенда это осталось бы моделью!

https://habr.com/ru/articles/495622/

https://disk.yandex.ru/d/pQm1E35rZak2yg - проект осцилятора вандер поля

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

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

Вся фишка как раз в том, что модель постоянно уточняется по данным которые в реальном времени льются с объекта. Это стало возможным именно при появлении дешовых датчиков и дешовых вычислителей. Да модели использовались и применялись со времен изобретения математики для расчетов реальных объектов.

но соединит модель с данными от объекта, что бы получить цифровой двойник получилось сравнительно не давно.

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

На АВМ я работал в живую в институте на лабах. Все было прекрасно. 

Конечно прекрасно, поэтому их на помойки все и выкинули. Что бы посчитать что-на АВМ нужно подгтовить исходные данные, а это отдельная песня. Мгновенно и полная параллельность, но полная хренотеть на выходе. Пока вход не будет подготовлен, выход просто бессмыслица.

Поэтому АВМ и зменили сразу как только цифровой процессор появился, и можно было уравнения физики процессов записывать прямо и считать нормальными методами.

Так что АВМ это как дворник вместо кухарки, только когда нет другого выхода. Зачем вы пытаетесь притащить за уши окаменелое дерьмо динозавров?

АВМ на выходе выдавала большую часть времени сполошной бред, и для получения результата нужно было шаманить и настраивать вход, и натужно долго и упорно фильтровать выход. Имеенно поэтому эти вчислители АВМ ушли на помойку, как только появился превый процессор с фиксированным числовым воводм и выводом. А вы предлагаете на современных процессарах повторять помоечное решение. С воистинную правоврено параллельностью и задержками. Зачем что бы получать такое же дермовое решение, на цифровых системах какое мы имели на АВМ?

Что до вандерполя дос соберите сам. Там всего два интегратора и попробуйте посчитать при \mu=10^{15}я думаю сильно удивитесь.

Конечно будет, если вы выкините забредушки с "инерционостюю", "всевысшей степению паралельности", "простраства скоростей" и прочий бред, а просто запишите прямые математические выражения, без всяких автоматов с задержками. Все не только будет считать но даже и совпадать с расчетами методом Эйлера, поскольку ровоно это вы и пытаетсь упорно переизобрести. И все тоже можно реализовать и на Си и на Фортране, весь вопрос сколько времени это займет и насколько готовые библиотеки SimInTech ускорят процесс создания и отладки модели.

Но вот вам прекрасный пример задача Ван Дер Поля.

init y1=2, y2=0;
mu=1e14;
y1'= y2;
y2'= mu*((1-y1^2)*y2-y1);

output y1,y2;

посчитайте 2 секунды процесса вы очень удивитесь

А у нас в реальных процесса такой вандерполь в каждой второй модели, а в каждой первой их два.

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

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

Но про моделирование процессов вы продолжает нести дичайшую дичь. Все придумали до вас Эйлер и Лагранж. То, что вы пытаетесь изобрести для моделирования непрерывных процессов, давно исследовано и решено математиками в 18 веке. В общеприятой математике это называется система диференциальных уравнений в общих производных. (производных по времени). И ваша безумная выдуманная ибессмысленная задержка, в этой теории тоже описана и используется. В математике и в системах моделирования, это просто шаг интегрирования, базовое понятие при численном решении диференциальных уравнений в общих производных. А поскольку это базовое понятие, то оно широко используется во всех формулах. Вот классика метод Рунге_Кута

Ее блоки работают параллельно, они не ждут готовности входных данных, а просто реализуют заложенные в них функции, выдавая результат подобно аналоговым блокам аналоговых ЭВМ. Их устройство может быть различным и содержать в том числе тысячи и миллионы операций (привет, Вячеславу), 

Как?!!! Блоки не ждут готовности данных, это вообще новое словао в кибернетике. Как можно вообще проводит вычисления когда на входе нет готовых данных? Это же основы, если данные не готовы то черт возьми что вы вообще считаете? Дерьмо на входе - дерьмо на выходе, а между ними тысячи и миллионы операций с дерьмом. Нахуа?

Что бы понять насколько перпендикулярна ваша "истинная исконно посконная степень параралелизьма", к традиционным неизвращеннны и общепринятым понятиям о паралельных вычисления приведу цитату из классика в паралельных вычислениях:

Algorithms with State

The first example of code that cannot be executed concurrently is algorithms, functions, or procedures that contain a state. That is, something kept around from one execution to the next. For example, the seed to a random number generator or the file pointer for I/O would be considered state. Algorithms with state cannot be made directly concurrent, and whenever you encounter such code, a red flag should go up when you are considering concurrency. However, you may be able to take steps to render the code thread-safe, which may be sufficient.

You can make state-filled code thread-safe by adding some form of synchronization or writing the code to be reentrant (i.e., it can be reentered without detrimental side effects while it is already running). The former option will serialize all concurrent executions of the synchronized code (and add unnecessary overhead when not called concurrently), while the latter option may not be possible if the update of global variables is part of the code.

If the variable(s) holding the state does not have to be shared between threads, you can use TLS to overcome this dependence. Using TLS, each thread would have a separate copy of the state variable(s) (accessed in exactly the same way across all threads) to ensure there are no data races on the variable(s). Thus, each thread can have a different random number seed and use the same code to generate a separate stream of numbers that will not interfere with any other thread’s seed.

Алогритм с состоянием, не может быть напрямую сделан конкурентным (а значит и параллельным на многоядерной системе) и если у вас есть подобный код красный флаг должен подниматся когда вы рассматривает конкретность.

Просто во всем мире принятое так. Если после распаралеливания результат вычислений отличается значит получилась huiня. А у вам на это пох. Если перестал совпадать результат - сделайте меньше шаг и ошибка будет меньше, ибо истинная степень паралельности не требует точного совпадения результата. До слез!

Сейчас забыли про аналоговые машины и как там набирали решения математических уравнений. 

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

Как например можно распралелить вычисления любого интеграла.

Например возьмем расчет приближенного числа

\pi =\int_0^1\frac{4}{1+x^2}dx

static long num_rects=100000;
void main()
{
  int i;
  double mid, height, width, sum = 0.0;
  double area;

  width = 1.0/(double) num_rects;
  for (i = 0; i < num_rects; i++){
    mid = (i + 0.5) * width;
    height = 4.0/(1.0 + mid*mid);
    sum += height;
  }

  area = width * sum;
  printf("Computed pi = %f\n",area);
}

если у нас два процессора, мы можем разбить итеграл на две части и запустить паралельно два цикла расчет от 0 до num_rects/2 и от mun_rect/2 до num_rects. Расчитав две площади а потом их сложить. Таким образом мы получим паралельное вычисления числа \pi .

И пожалуйста паралельные вычисления на простом Си без всяких автоматов с задержками, причем в отличие от ваших бредовых идей здесь после распаралеливания вычисления результат не меняется. Погрешности нет от слова совсем.

И дробить шаг до 10^{-15} нет никакой необходимости.

Это называется паралельные вычисления, так как это понимают все в этом мире.

Какие бля в жопу эфективные решения? Суматор который превратлися в интегратор и выдает вместо операции сложения неведомую уету, которая при этом еще и зависит от шага расчета? И для похожего хоть на чтото требует бесконечно малого расчета. Епта спасибо, бля! Но еште это сами.

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

А вы выдумали неведомую никому истинную степень паралеллизьма, которя не в звезду не в красную армию, зачем?

В 21-м веке таких проблем в большинстве случаев нет. "Калькуляторы" другие ;)

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

Вот например класика жанра уравнение Ван Дерполя из двух строк, вешает любую ситему при коэффицеиентах больше

\mu > 1\cdot 10^{14}

У вас как со школьной арифметикой? Степени помните?

У меня калькулятор 3.8 GHz и десять ядер. Это 3.8\cdot  10^6 Гц

Представим что ваша воситину пралалельная ВКПа, делает вычисления за один такт. Открываем SimInTech и смотрим какой шаг нужно для получения точного ответа для уравнеия Вандерполя при этих условия это 1\cdot 10^{-15}. Сколько будет считать 1 секунду модельного времния волшенбаня единственно востину паралельная система ВКПа? Даже если предположить что она будет в один такт укладываться со всеми своим скаральным пралелизьмом вычислениями делим одно на другое получаем 2.6 \cdot 10^{8}сек или 73 099 часов или 3 045 суток или 8 лет.

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

Так, так.... еще чуть-чуть и все будет Вам понятно. Вы только что переоткрыли принцип дискретной Киберненики. :)

Он уже лет 80 давно всем известнее, только вам он пока недоступен, поскольку диференциальное исчисление еще не изучили :) А ведь в книжке которую вы цитирования прямо написано, что она предназначена для тех кто диференциальное исчисление уже освоил, не говоря уже о теории пределов.

Не зря предупреждали на неокрепшие умы дискретная Кибернетика производит разрушеюшие воздействие!!!!

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность