Вопросы с тегом «petsc»

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

77
Есть ли качественный решатель нелинейного программирования для Python?

У меня есть несколько сложных невыпуклых задач глобальной оптимизации. В настоящее время я использую MATLAB Optimization Toolbox (в частности, fmincon()с алгоритмом = 'sqp'), что довольно эффективно . Тем не менее, большая часть моего кода написана на Python, и я бы тоже хотел провести оптимизацию...

26
Почему мой итерационный линейный решатель не сходится?

Что может пойти не так, если использовать методы Крылова из KSP ( пакет линейного решателя PETSc ) с предварительными именами для решения разреженной линейной системы, например, полученной путем дискретизации и линеаризации уравнений в частных производных? Какие шаги я могу предпринять, чтобы...

24
Каковы основные различия между PETSc и Trilinos?

Насколько я могу судить, две большие универсальные программные платформы Министерства вычислительной науки США - PETSc и Trilinos . На первый взгляд они кажутся похожими, за исключением различий в языке (C против C ++). Каковы основные различия между двумя структурами и какие факторы должны влиять...

22
Почему метод Ньютона не сходится?

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

17
Какие библиотеки имеют хорошую поддержку высокого уровня для мультисетки?

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

16
Евклидово расстояние в Октаве

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

14
Насколько полезен PETSc для плотных матриц?

Везде, где я видел, учебник / документы PETSc и т. Д. Говорят, что это полезно для линейной алгебры и обычно указывает, что разреженные системы принесут пользу. Как насчет плотных матриц? Я обеспокоен тем, о решении для плотного .AAx=bAx=bAx=bAAA Я написал свой собственный код для CG и QMR на...

13
Какие-нибудь рекомендации для модульного тестирования, совместимые с кодом / библиотеками, использующими MPI?

Обычно я пишу последовательный код, а когда я делаю, я пишу модульные тесты с помощью некоторой среды тестирования в стиле xUnit (MATLAB xUnit, PyUnit / nose или среды тестирования Google C ++). Основываясь на беглом поиске в Google, я мало что видел в том, как практикующие юнит тестируют код,...

13
Расчет разреженной структуры для матриц конечных элементов

Вопрос: Какие методы доступны для точного и эффективного расчета разреженной структуры матрицы конечных элементов? Информация: я работаю над решателем уравнения давления Пуассона, использую метод Галеркина с квадратичной базой Лагранжа, написанный на C, и использую PETSc для хранения разреженных...

12
Какие прекондиционеры (и решатели) в PETSc для неопределенных симметричных систем следует использовать?

Моя система представляет собой симметричную задачу КЭ с множителями Лагранжа (например, несжимаемый поток Стокса): ( АВВTС)(AВTВС)\begin{pmatrix}A & B^T \\ B & C\end{pmatrix} где - типичный случай (я даже удостоверился, что уравнения пронумерованы так, чтобы множители Лагранжа появились...

12
Разреженный линейный решатель для многих правых частей

Мне нужно решить ту же самую разреженную линейную систему (от 300x300 до 1000x1000) со многими правыми сторонами (от 300 до 1000). В дополнение к этой первой проблеме, я также хотел бы решить различные системы, но с одинаковыми ненулевыми элементами (только с разными значениями), то есть с...

11
Как работать с указателями на функции в Фортране в научных программах

Вот типичное использование указателей на функции в C. Я хотел бы сделать нечто подобное в Fortran. У меня есть некоторые идеи, но я хотел бы знать, есть ли какой-то канонический способ сделать это. Указатели и контексты функций, переданные пользователем, сохраняются, а затем вызываются позже....

10
Использует ли когда-нибудь PETSc библиотеки LAPACK для математики с разреженной матрицей?

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

10
Решение простой системы Ax = b параллельно с PETSc

Я новичок в пакете PETSc. У меня матрица A размером ~ 4000x4000 в формате матричного рынка, и я хочу, чтобы PETSc решил эту проблему с помощью нескольких процессоров. Я знаю, как решить систему на одном процессоре, но я не знаю, как распределить матрицу и векторы между различными процессорами. Есть...

10
Тяга для программирования на GPU

Я очень новичок в программировании GPGPU, поэтому, пожалуйста, прости меня, если вопрос не особенно уместен. Из того, что я понимаю, программирование на GPU - очень сложная часть инженерной работы по сравнению с обычным программированием на CPU. Нужно быть очень осторожным в вопросах расхождения,...

9
предварительное условие для безматричного метода для решения Ax = b

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

9
Что такое надежный итерационный решатель для больших трехмерных линейно-упругих задач?

Я погружаюсь в увлекательный мир анализа методом конечных элементов и хотел бы решить большую термомеханическую проблему (только термическая механическая, без обратной связи).→→\rightarrow Для механической задачи я уже понял из ответа Джеффа , что мне нужно будет использовать итеративный решатель...