Корневой каталог PETSc содержит следующие каталоги:
docs - вся документация о PETSc. Файл manual.pdf
содержит гипертекстовое руководство пользователя, удобное для распечатки
или чтения с экрана. Каталог включает подкаталог
manualpages (справочные страницы онлайн);
bin - утилиты и короткие скрипты, используемые PETSc, включая
petsarch (утилита для установки переменной окружения PETSC_ARCH);
bmake - основной каталог сборочных файлов PETSc. Включает
подкаталоги для различных архитектур;
include - все включаемые файлы PETSc, доступные пользователю;
include/finclude - включаемые файлы PETSc для программистов
Фортрана с использованием суффикса.F (рекомендуются);
include/pinclude - частные включаемые файлы PETSc, которые
не должны использоваться программистами приложений;
src - исходный код всех библиотек PETSc, в которые
входят
vec - векторы;
is - индексные множества;
mat - матрицы;
dm:
da - распределенные массивы,
ao - управление приложением;
sles - решатели полных линейных уравнений;
ksp - ускорители подпространств Крылова;
pc - предобработчики;
snes - нелинейные решатели;
ts - решатели ДУ с интегрированием по времени;
sys - общие системные процедуры:
plog - процедуры учета и профилирования PETSc,
draw - простая графика;
fortran - интерфейс Фортрана;
contrib - вспомогательные модули, которые используют PETSc,
но не являются частью официального дистрибутива PETSc. Пользователи,
которые разрабатывают код, чтобы разделить его с другими,
могут сообщить об этом по адресу petsc-maint@mcs.anl.gov.
Каждый каталог исходного кода библиотеки PETSc содержит следующие
подкаталоги:
examples - примеры программ с использованием компонентов PETSc,
включая:
tutorials - программы для обучения пользователя PETSc. Эти
коды могут служить заготовками для построения собственных приложений;
tests - программы для тестирования PETSc. Эти коды не предназначены
для изучения пользователем;
interface - последовательности вызова для абстрактного интерфейса
с компонентом (Код, приведенный здесь, не ориентирован на конкретную
реализацию);
impls - исходный код одной или нескольких реализаций;
utils - служебные процедуры. Исходный код этих процедур может
ориентироваться на реализацию, но в идеале не должен знать о реализации
других компонентов.