Вычислительная наука

Вопросы и ответы для ученых, использующих компьютеры для решения научных задач

4
В арифметике с плавающей запятой, почему числовая неточность возникает в результате добавления маленького члена к разнице больших членов?
Я читал книгу Аллена и Тилдесли « Компьютерное моделирование жидкостей ». Начиная со страницы 71, авторы обсуждают различные алгоритмы, которые используются для интеграции уравнений движения Ньютона в моделирование молекулярной динамики (МД). Начиная со страницы 78, авторы обсуждают алгоритм Верле, который, возможно, является каноническим алгоритмом интегрирования в MD. Они заявляют: Возможно, …

2
Наложить условия совместности смешанного метода конечных элементов в уравнении Стокса
\newcommand{\v}[1]{\boldsymbol{#1}} Предположим, у нас есть следующее уравнение модели потока Стокса: {−div(ν∇u)+∇pdivu=f=0{−div(ν∇u)+∇p=fdivu=0 \tag{1} \left\{ \begin{aligned} -\mathrm{div}(\nu \nabla \v{u}) + \nabla p &= \v{f} \\ \mathrm{div} \v{u} &= 0 \end{aligned} \right. где вязкость ν(x)ν(x)\nu(x) - это функция, для стандартного смешанного конечного элемента, скажем, мы используем стабильную пару: пространство Крузе-Равиарта VhVh\v{V}_h для скорости …

5
Каковы преимущества и недостатки использования классов для инкапсуляции численных алгоритмов?
Многие алгоритмы, используемые в научных вычислениях, имеют внутреннюю структуру, отличную от алгоритмов, обычно рассматриваемых в менее интенсивных математических формах разработки программного обеспечения. В частности, отдельные математические алгоритмы, как правило, очень сложны, часто включают сотни или тысячи строк кода, но, тем не менее, не содержат состояния (то есть не действуют на …
13 algorithms 

5
Как я могу приблизить неправильный интеграл?
У меня есть функция f(x,y,z)f(x,y,z)f(x,y,z) таким образом, что ∫R3f(x,y,z)dV∫R3f(x,y,z)dV\int_{R^3} f(x,y,z)dV конечна, и я хочу , чтобы приблизить этот интеграл. Я знаком с квадратурными правилами и аппроксимациями интегралов по методу Монте-Карло, но вижу некоторые трудности при их реализации в бесконечной области. В случае Монте-Карло, как можно провести выборку бесконечной области (особенно, …

3
Лучшие практики для хранения данных иерархического моделирования
TL, DR Какова общепринятая практика в научных вычислительных кругах для хранения большого количества иерархически структурированных данных? Например, SQL плохо работает с большими разреженными матрицами. Есть ли хороший инструмент для структурирования, складирования и анализа таких данных? Что используют ребята на LHC? Использовать детали случая Я хочу хранить данные моделирования белка в …

3
SVD для нахождения наибольшего собственного значения матрицы 50x50 - я трачу много времени?
У меня есть программа, которая вычисляет наибольшее собственное значение из многих вещественных симметричных матриц 50x50, выполняя разложения по сингулярным числам для всех из них. SVD является узким местом в программе. Существуют ли алгоритмы, которые намного быстрее находят наибольшее собственное значение, или оптимизация этой части не даст большой отдачи от инвестиций?

3
Одинарная или двойная точность с плавающей точкой
Числа с плавающей запятой одинарной точности занимают половину памяти, и на современных машинах (кажется, даже на графических процессорах) операции могут выполняться с ними почти вдвое быстрее, чем с двойной точностью. Многие коды FDTD, которые я обнаружил, используют исключительно арифметику одинарной точности и хранение. Существует ли эмпирическое правило, когда допустимо использовать …

3
Понимание того, как Numpy делает SVD
Я использовал разные методы для вычисления как ранга матрицы, так и решения матричной системы уравнений. Я наткнулся на функцию linalg.svd. Сравнивая это с моими собственными усилиями по решению системы с устранением по Гауссу, она кажется более быстрой и точной. Я пытаюсь понять, как это возможно. Насколько я знаю, функция linalg.svd …

4
Как создать случайный трехмерный домен, представляющий корневую структуру растения?
Я хотел бы смоделировать ламинарный поток воды от корней к стеблю растения. В самом конце корней трубы варьируются от миллиметра до сантиметра в диаметре и длине. По мере приближения к стеблю корни становятся больше по длине и диаметру. Я хочу создать случайные трехмерные домены, представляющие сеть корней с различными диаметрами …

4
Является ли С медленнее, чем Фортран, в спектральной норме (с использованием gcc, intel и других компиляторов)?
Вывод здесь: Насколько лучше на самом деле компиляторы Фортрана? в том, что gfortran и gcc так же быстры для простого кода. Поэтому я хотел попробовать что-то более сложное. Я взял пример спектральной нормы. Сначала я рассчитываю 2D матрицу A (:, :), а затем вычисляю норму. (Это решение не допускается в …
13 fortran  c 

1
Есть ли инструмент, который может генерировать интервальные расширения функций Fortran (или C) путем анализа кода Fortran (или C)?
Тематические исследования в моей докторской диссертации требуют, чтобы у меня были расширения интервалов подпрограмм Фортрана в CHEMKIN-II (извинения за ссылку; это лучшее, что я мог найти для пакета, который больше не распространяется Национальной лабораторией Сандиа). CHEMKIN-II - химический пакет, используемый в химии горения; поскольку это стандартный пакет, используемый для сжигания, …

5
Поиск проектов с открытым исходным кодом для содействия
Этот вопрос задавался миллиард раз на Stackoverflow, однако основное внимание всегда уделялось нецифровому кодированию. Я ищу проект, чтобы внести свой вклад в рамках численных и высокопроизводительных вычислений. В идеале я бы предпочел небольшой проект, но это не обязательно. Как лучше всего участвовать в проекте с открытым исходным кодом, относящимся к …
13 software 

5
Сколько должно быть оптимизировано научное программное обеспечение?
Для приложений, требующих значительных вычислительных ресурсов, высокая производительность может быть критическим фактором, когда речь идет о предоставлении научных результатов или достижении «прорывов» в разумные сроки. Сколько времени и усилий должны потратить разработчики программного обеспечения на оптимизацию приложения? Какие ключевые критерии используются?
13 software  hpc 

2
Какие методы интегрирования по времени мы должны использовать для гиперболических PDE?
Если мы используем метод линий для дискретизации (раздельной дискретизации времени и пространства) гиперболических PDE, которые мы получаем после пространственной дискретизации с помощью нашего любимого численного метода (например, метод конечных объемов), имеет ли на практике значение, какой решатель ODE мы используем для временной дискретизации (ТВД / SSP / и т.д.)? Добавлена …

5
C ++ или Python для разработки библиотеки CFD
Что бы вы сказали о преимуществах / недостатках двух подходов к кодированию общей (конечного объема, fem, dg) библиотеки для вычислительной механики сплошных сред? Вот как я вижу вещи прямо сейчас, поэтому, пожалуйста, предоставьте свой собственный опыт и не подгоняйте меня к моему :): 1) C ++: универсальное программирование, виртуальные функции, …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.