Перейти к публикации

Методы ускорения расчетов


Рекомендованные сообщения

Господа!

Как вы :doh: оцениваете затраты CPU-time в задачах расчета реальных газов и жидкостей?

:thumbdown: Каковы составляющие этих затрат?

Какие :g: методы и приемы позволяют сокращать затраты CPU-time?

Имел ли кто-нибудь реальный опыт ускорения работы программ?

Ссылка на сообщение
Поделиться на других сайтах


Вопрос непонятен. Затраты ЦПУ - 100%. :)

Все остасльное зависит от сети, организации кэша, организации межпроцессорной шины и шины памяти.

Ссылка на сообщение
Поделиться на других сайтах

Детализирую вопрос. :lighten:

Всякая программа состоит из:

- собственно численной аппроксимации исходных уравнений ГД (не имеет значения - сеточные ли методы или МКЭ, МЧЯ и тп.);

- алгоритма решения получаемых алгебраических ур-ний (прямые или итерационные методы);

- алгоритмы вычисления коэффициентов. входящих в исходные уравнения (например. вязкость, теплопроводность, соотношение давление-плотность-температура и тп.);

- расчет граничных условий.

Ссылка на сообщение
Поделиться на других сайтах

Уважаемый a_schelyaev!

1. В любой задаче, решаемой на т.н. ЭВМ, затраты CPU на эту задачу (программу, задание, JOB и тд.) априори не = 100%! (поскольку есть накладные расходы системы).

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

3. Так на что же тратится, в основном (на типовой РС, с фиксированной ОС, памятью, процессором, кэшем и проч.), время CPU?

На вычислительные процедуры:

- алгоритмов собственно численной аппроксимации исходных уравнений ГД (не имеет значения - сеточные ли методы или МКЭ, МЧЯ и тп.);

- алгоритмов решения получаемых алгебраических ур-ний (прямые или итерационные методы);

- алгоритмов вычисления коэффициентов. входящих в исходные уравнения (например. вязкость, теплопроводность, соотношение давление-плотность-температура и тп.);

- расчета граничных условий?

Изменено пользователем Eugeen
Ссылка на сообщение
Поделиться на других сайтах

Немного лирики:

Я вас хочу разочаровать. :)

CPU за один такт обрабатывает одно и только одно приложение, в процессе которого его загрузка равна 100%.

Иллюзию многозадачности для вас создает операционная система.

Как пример, вспомните как намертво зависал Windows 95, если процесс не откликался. И как мы радовались вытесняющей многозадачности на Windows NT 4.0.

:)

И какими бы разреженными матрицами ваш алгоритм не обладал, все равно на каждом такте процессора он будет иметь 100%-ю загрузку.

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

Ссылка на сообщение
Поделиться на других сайтах

Наверное, все таки, корректней говорить об ускорении времени счета одного шага по времени. :wink:

Ссылка на сообщение
Поделиться на других сайтах

Наверное, все таки, корректней говорить об ускорении времени счета одного шага по времени.  :wink:

<{POST_SNAPBACK}>

Если Вам так нравится, пусть будет именно так!

Но все-же на одном шаге по времени на что и в каких пропорциях расходуется счетное время?

Ссылка на сообщение
Поделиться на других сайтах

CFX по ходу расчета выдает сообщения типа:

+--------------------------------------------------------------------+

| CPU Requirements of Numerical Solution - Total |

+--------------------------------------------------------------------+

Subsystem Name Discretization Linear Solution

(secs. %total) (secs. %total)

----------------------------------------------------------------------

Wall Scale 2.35E+02 0.4 % 3.11E+02 0.6 %

Momentum and Mass 2.82E+04 54.0 % 4.24E+03 8.1 %

TurbKE and TurbFreq 6.80E+03 13.0 % 4.75E+03 9.1 %

-------- ------- -------- ------

Subsystem Summary 3.52E+04 67.5 % 9.30E+03 17.8 %

Variable Updates 7.28E+03 13.9 %

Miscellaneous 3.76E+02 0.7 %

--------

Total 5.22E+04

Ссылка на сообщение
Поделиться на других сайтах

CFX по ходу расчета выдает сообщения типа:

+--------------------------------------------------------------------+

|        CPU Requirements of Numerical Solution - Total        |

+--------------------------------------------------------------------+

Subsystem Name                  Discretization    Linear Solution

                                (secs. %total)  (secs. %total)

----------------------------------------------------------------------

Wall Scale                  2.35E+02 0.4 %  3.11E+02 0.6 %

Momentum and Mass              2.82E+04  54.0 %  4.24E+03 8.1 %

TurbKE and TurbFreq            6.80E+03  13.0 %  4.75E+03 9.1 %

                                -------- -------  --------  ------

Subsystem Summary              3.52E+04  67.5 %  9.30E+03  17.8 %

Variable Updates            7.28E+03  13.9 %

Miscellaneous                  3.76E+02 0.7 %

                                --------

Total                          5.22E+04

<{POST_SNAPBACK}>

Меня интересует калькуляция вычислительных затрат (в любой форме: в %, в количестве операций, в тактах CPU и тп.) на вычисление в одном контрольном объеме. Какие вычисления происходят (степень подробности: например, на шаге вычисляется 5 пространственных производных (затраты: 5 сложений/вычитаний, 5 умножений /делений; вычисляется вязкость N-операций, теплопроводность - K-операций, давление по температуре и плотности -M-операций ...) Всего R-операций и ясно процентное соотношение затрат.

Ясно, что если частная операция вносит 1% в общие затраты, то ускорение этой операции в 100 раз практически не повлияет на общие вычислительные затраты!

Мое мнение таково: при переходе от идеального газа к реальным жидкостям (напр. к воде) основные вычислительные затраты на шаге составляют вычисления различных теплофизических свойств жидкости, а так же замыкающих соотношений.

Есть ли обоснованная критика этого утверждения?

-

Ссылка на сообщение
Поделиться на других сайтах

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

в CFX при замене постоянных значений теплофизических свойств рабочего тела на зависящие от температуры например, скорость счета почти не меняется, так что не в этом основные затраты
Ссылка на сообщение
Поделиться на других сайтах

в CFX при замене постоянных значений теплофизических свойств рабочего тела на зависящие от температуры например, скорость счета почти не меняется, так что не в этом основные затраты

<{POST_SNAPBACK}>

Я просто в шоке!

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

Я преклоняюсь перед разработчиками этой программы!

Верую, ибо это абсурдно! (Но хотелось бы получить подтверждение!)

Ссылка на сообщение
Поделиться на других сайтах

Я просто в шоке!

При вскипании воды или ее конденсации, ее свойства терпят разрывы производных, некоторые свойства теряют физический смысл (например теплоемкость Ср), а в около критической области (элементарная задача расчета паровых котлов на закритических параметрах) вообще безобразие творится!

<{POST_SNAPBACK}>

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

По поводу количества вычислений производных. Открываете хелп к программе. Там расписаны все конечно-разностные схемы. Программа (STAR-CD, например) выводит количество итераций, сделанных для решения, например уравнения давления или турбулентности, так что суммарное количество операций для решения задачи оценить можно.

Ссылка на сообщение
Поделиться на других сайтах

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

По поводу количества вычислений производных. Открываете хелп к программе. Там расписаны все конечно-разностные схемы. Программа (STAR-CD, например) выводит количество итераций, сделанных для решения, например уравнения давления или турбулентности, так что суммарное количество операций для решения задачи оценить можно.

<{POST_SNAPBACK}>

1. Я понял что Вы забыли термодинамику. Любой параметр зависит от как минимум от двух (например давление - от плотности и температуры). Посмотрите, например: IAPWS «Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam. International Association for the Properties of Water and Steam» / Executive Secretary R.B. Dooley. Electric Power Research Institute. Palo Alto. CA 94304, USA; или 10. W. Wagner et al.,” The IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam”, ASME J. Eng. Gas Turbines and Power, Vol. 122 (2000) pp. 150-182.

2. Самы вы решателей реальных задач не писали. (Течение идеального газа в сопле Лаваля не в счет). Поэтому у Вас слишком поверхностное суждение о временных затратахи при решении реальных задач гидродинамики. Я уже не говорю о совместном решении задач гидродинамики-теплообмена, где требуется вычисление еще кучи теплофизических параметров.

Меня же интересует нестационарное течение двухфазных неравновесных (или хотя бы равновесных) потоков. Модели типа RELAP-5 или TRAC.

Кто-то может что-то сказать обоснованно, без отсылок к хелпам, которые всем известны?

Ссылка на сообщение
Поделиться на других сайтах

Eugeen

имхо, напрасно вы так все гипертрофируете

речь сначала шла о зависимости свойств тела от температуры и давления, а закритика это несколько другая тема.

мы термодинамику закритических состояний обсуждаем ? или все же CFD решатель ? вроде бы последнее.

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

... без отсылок к хелпам, которые всем известны?

весьма спорное утверждение :smile: особенно насчет всем,

мне кажется что если бы Вы слегка взглянули в хелпе CFX главу Solver Theory многое бы прояснилось с текущим состоянием этого вопроса.

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

так что говорить про поверхностное суждении о временных затратах на решение несколько опрометчиво :surrender:

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

Ссылка на сообщение
Поделиться на других сайтах

Eugeen

имхо, напрасно вы так все гипертрофируете

речь сначала шла о зависимости свойств тела от температуры и давления, а закритика это несколько другая тема.

мы термодинамику закритических состояний обсуждаем ? или все же CFD решатель ? вроде бы последнее.

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

весьма спорное утверждение  :smile:  особенно насчет всем,

мне кажется что если бы Вы слегка взглянули в хелпе CFX главу Solver Theory многое бы прояснилось с текущим состоянием этого вопроса.

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

так что говорить про поверхностное суждении о временных затратах на решение несколько опрометчиво :surrender:

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

<{POST_SNAPBACK}>

Слишком много слов и ни одного ответа на мои вопросы!

По поводу "кучи бабла": еще раз доказывает, что с термодинамикой у Вас контры, иначе бы Вы знали такой справочник (известный среди студентов, изучавших термодинамику) - "Таблицы Вукаловича"!

М.П. Вукалович построил свои таблицы термодинамических свойств воды и пара. когда даже я "под стол пешком ходил"! Просто "Эти из ASME" немного уточнили его формулы. А мои ссылки можете найти безо всякой оплаты в Инете.

Вода - слишком сложная жидкость (пример - аномалия плотности вблизи 4 градусов Цельсия) и сюрпризы при расчетах гидродинамики - на каждом шагу!

А Вы почему считаете что расчеты современных паровых котлов ТЭЦ на ритических параметрах - не практическая задача гидродинамики?

Я даже начал сомневаться: а может ли кто-нибудь на Форуме (пусть даже в одномерном приближении) написать уравнения гидродинамики вскипающей (или конденсирующейся) жидкости (например воды)?

Хотя после написания таких уравнений любому станет понятно, что без правильного описания теплофизических свойств воды и пара рещить уравнения невозможно! И уже полная глупость утверждать, что есть принципиальное отличие течения вскипающей жидкости в околокритической области или при 100 градусах Цельсия!

Ссылка на сообщение
Поделиться на других сайтах

В практике коммерческих CFD не моделируют такое вещество, как кипящая вода "в лоб".

Моделируют двухкомпонентную среду - вода с фракциями пара.

Или пар с фракциями воды.

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

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

Есть еще куча прочих уравнений реального газа, но их использование в практике, как правило, экзотика или удел институтов и лабораторий.

Ссылка на сообщение
Поделиться на других сайтах

В практике коммерческих CFD не моделируют такое вещество, как кипящая вода "в лоб".

Моделируют двухкомпонентную среду - вода с фракциями пара.

Или пар с фракциями воды.

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

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

Есть еще куча прочих уравнений реального газа, но их использование в практике, как правило, экзотика или удел институтов и лабораторий.

<{POST_SNAPBACK}>

Вот, кажется, мы подходим (правда слишком медленно!) к сути проблемы.

Особо подчеркну, что решение этой проблемы имеет большое коммерческое (практическое) значение. Я абсолютно уверен (имею некоторый опыт), что описанная Вами процедура использования коммерческих CFD не работоспособна :bleh: , даже когда Более добросовестные пользователи наколачивают табулированные свойства реального газа.

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

Я специально на форуме описал примитивный одномерный тест Эдвардса и О"Брайена, чтобы любой убедился в импотенции :wallbash: , как Вы их называете, коммерческих CFD при решении этой, казалось бы примитивной, задачки!

А ведь практическая область применения решения этой задачки огромна: от регулирования работы паровых котлов (привильно говорить: парогенераторов), до аварий на АЭС с водо-водяными атомными реакторами.

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

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

Возможно на форуме даже надо специально обсудить эту проблему.

Ссылка на сообщение
Поделиться на других сайтах

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

А тест Эдвардса одна из сложнейших задач, на мой взгляд.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...