ParaView — это многоплатформенное приложение с открытым исходным кодом для интерактивной научной визуализации . Оно имеет архитектуру клиент-сервер для упрощения удаленной визуализации наборов данных и генерирует модели уровня детализации (LOD) для поддержания интерактивной частоты кадров для больших наборов данных. Это приложение , созданное на основе библиотек Visualization Toolkit (VTK) . ParaView — это приложение, разработанное для параллелизма данных на мультикомпьютерах и кластерах с общей или распределенной памятью. Его также можно запустить как приложение на одном компьютере.
ParaView был разработан для анализа очень больших наборов данных с использованием вычислительных ресурсов распределенной памяти. Он может быть запущен на суперкомпьютерах для анализа наборов данных тераскейла , а также на ноутбуках для меньших данных. [3]
ParaView — это фреймворк приложения, а также готовое приложение. Кодовая база ParaView разработана таким образом, что все ее компоненты могут быть повторно использованы для быстрой разработки вертикальных приложений. Эта гибкость позволяет разработчикам ParaView быстро разрабатывать приложения, которые имеют определенную функциональность для определенной проблемной области.
ParaView работает на распределенной и общей памяти, параллельных и однопроцессорных системах. Он был успешно протестирован на Windows , macOS , Linux , IBM Blue Gene, Cray Xt3 и различных рабочих станциях Unix , кластерах и суперкомпьютерах. Под капотом ParaView использует Visualization Toolkit (VTK) в качестве движка обработки и рендеринга данных и имеет пользовательский интерфейс, написанный с использованием Qt.
Цели команды ParaView включают в себя следующее:
Разработать многоплатформенное приложение визуализации с открытым исходным кодом.
Поддержка моделей распределенных вычислений для обработки больших наборов данных.
Создайте открытый, гибкий и интуитивно понятный пользовательский интерфейс.
Разработать расширяемую архитектуру на основе открытых стандартов.
История
Проект ParaView стартовал в 2000 году [4] как совместный проект Kitware, Inc. и Los Alamos National Laboratory при финансировании, предоставленном программой ASCI Views Министерства энергетики США. Первый публичный релиз был анонсирован в октябре 2002 года.
Независимо от ParaView, Kitware разработала веб-систему визуализации в декабре 2001 года. Этот проект финансировался Phase I и II SBIRs из Исследовательской лаборатории армии США и в конечном итоге стал ParaView Enterprise Edition. PVEE внесла значительный вклад в разработку клиент-серверной архитектуры ParaView.
В сентябре 2005 года Kitware, Sandia National Labs и CSimSoft (теперь Coreform LLC) начали разработку ParaView 3.0. [5] ParaView 3.0 был выпущен в мае 2007 года. В июне 2013 года была выпущена ParaView 4.0, эта версия была основана на VTK 6.0. [6] Версия 5.0 была выпущена в январе 2016 года, эта версия включала новый бэкэнд рендеринга. [7]
Функции
Возможности визуализации
Обрабатывает структурированные (равномерные прямолинейные, неравномерные прямолинейные и криволинейные сетки), неструктурированные, полигональные, изображения, многоблочные и AMR-типы данных.
Все операции обработки (фильтры) производят наборы данных. Это позволяет пользователю либо дополнительно обрабатывать результат каждой операции, либо результаты как файл данных. Например, пользователь может извлечь поверхность разреза, уменьшить количество точек на этой поверхности с помощью маскирования и применить глифы (т. е. векторные стрелки) к результату.
Векторные поля можно проверять, применяя глифы (стрелки, конусы, линии, сферы и различные 2D-глифы) к точкам в наборе данных. Глифы можно масштабировать с помощью скаляров, компонент вектора или величины вектора и ориентировать с помощью векторного поля.
Контуры и изоповерхности могут быть извлечены из всех типов данных с использованием скаляров или векторных компонентов. Результаты могут быть окрашены любой другой переменной или обработаны далее. Когда это возможно, структурированные контуры данных/изоповерхности извлекаются с помощью быстрых и эффективных алгоритмов, которые используют эффективную компоновку данных.
Подобласть набора данных можно извлечь путем вырезания или отсечения произвольной плоскостью (все типы данных), указав пороговый критерий для исключения ячеек (все типы данных) и/или указав VOI (объем интереса — только для структурированных типов данных).
Линии потока могут быть сгенерированы с использованием постоянного шага или адаптивных интеграторов. Результаты могут быть отображены в виде точек, линий, трубок, лент и т. д. и могут быть обработаны множеством фильтров. Траектории частиц могут быть извлечены из временных наборов данных.
Точки в наборе данных могут быть деформированы (смещены) с помощью скаляров (при заданном пользователем векторе смещения) или векторов (недоступно для нелинейных прямолинейных сеток).
С помощью калькулятора массивов можно вычислять новые переменные, используя существующие массивы точек или полей ячеек. Поддерживается множество скалярных и векторных операций.
Расширенную обработку данных можно выполнить с помощью программируемого фильтра Python с VTK, NumPy, SciPy и другими модулями Python.
Данные можно зондировать в точке или вдоль линии. Результаты отображаются графически или в виде текста и могут быть экспортированы для дальнейшего анализа. Данные также можно извлекать с течением времени (включая статистическую информацию, такую как минимальное, максимальное и стандартное отклонение).
Данные можно количественно проверять с помощью мощного механизма выбора и представления в виде электронной таблицы. Механизм выбора позволяет пользователю сосредоточиться на важном подмножестве набора данных, используя либо интерактивный выбор путем выбора точки, либо выбор прямоугольной области, а также механизмы количественного выбора.
Представление электронной таблицы позволяет пользователю просматривать как весь набор данных, так и выбранное подмножество в виде необработанных чисел.
ParaView предоставляет множество других источников данных и фильтров по умолчанию. Любой источник или фильтр VTK можно добавить, предоставив простое XML- описание.
Ввод/вывод и формат файла
Поддерживает различные форматы файлов, включая: VTK (новые и устаревшие, все типы, включая параллельные, ASCII и двоичные, могут быть прочитаны и записаны).
EnSight 6 и EnSight Gold (все типы, включая параллельный, ASCII и двоичный; поддерживаются множественные части — каждая часть загружается отдельно и может обрабатываться отдельно) (только чтение).
CGNS (поддержка нескольких блоков, нестационарных решений и деформации сетки на основе низкоуровневого формата HDF5 ) (только чтение).
Различные форматы полигональных файлов, включая STL и BYU (по умолчанию только для чтения, можно добавить другие форматы записи VTK, написав XML-описание).
Поддерживаются многие другие форматы файлов.
Любой источник или фильтр VTK можно добавить, предоставив простое XML-описание (VTK предоставляет множество считывателей).
Поскольку ParaView имеет открытый исходный код, пользователь может предоставлять собственные считыватели и писатели.
Взаимодействие с пользователем
Интуитивно понятный и гибкий интерфейс на основе прикладного фреймворка Qt.
Позволяет изменять параметры многих фильтров, напрямую взаимодействуя с 3D-видом с помощью 3D-виджетов (манипуляторов). Например, пользователь может манипулировать линией затравки фильтра потока, нажав на контрольную точку и перетащив линию в новое место.
Компактный дизайн пользовательского интерфейса. По умолчанию все важные инструменты расположены в главном окне. Это устраняет необходимость в большом количестве окон, которые часто трудно найти на загроможденном рабочем столе. Также можно отделить инспекторов от главного окна.
Поддерживает интерактивную частоту кадров даже при работе с большими данными за счет использования моделей уровня детализации (LOD). Пользователь определяет порог (количество точек), за пределами которого во время взаимодействия отображается уменьшенная версия модели (размер модели также можно изменить). После завершения взаимодействия отображается большая модель.
Большие данные и распределенные вычисления
Работает параллельно на распределенных и разделяемых системах памяти с использованием MPI. К ним относятся кластеры рабочих станций, системы визуализации, большие серверы, суперкомпьютеры и т. д.
Пользовательский интерфейс работает на отдельном компьютере в режиме клиент/сервер.
ParaView использует модель параллельной обработки данных, в которой данные разбиваются на части для обработки различными процессами. Большинство алгоритмов визуализации функционируют без каких-либо изменений при параллельной работе. ParaView также поддерживает уровни-призраки, используемые для получения результатов, инвариантных к частям. Уровни-призраки — это точки/ячейки, общие для процессов, и используются алгоритмами, которым требуется информация о соседстве.
Поддерживает как распределенный рендеринг (где результаты визуализируются на каждом узле и позже компонуются с использованием буфера глубины), локальный рендеринг (где полученные полигоны собираются на одном узле и визуализируются локально), так и комбинацию обоих (например, модели уровня детализации могут визуализироваться локально, тогда как полная модель визуализируется распределенным образом). Это обеспечивает масштабируемый рендеринг для больших объемов данных без ущерба для производительности при работе с меньшими данными.
Распределенный рендеринг и мозаичное отображение выполняются с использованием библиотеки Ice-T компании Sandia.
Скриптинг и расширяемость
ParaView полностью скриптуется с помощью простого, но мощного языка Python. Движок данных ParaView, называемый менеджером сервера, полностью доступен через интерфейс Python. Все изменения, внесенные в движок через Python, автоматически отражаются в пользовательском интерфейсе.
ParaView может быть запущен как пакетное приложение с использованием интерфейса Python. Он был успешно запущен на суперкомпьютерах, включая IBM Blue Gene и Cray Xt3, используя пакетный режим. [8]
Распределенная обработка данных может быть выполнена в Python с использованием Python Programmable Filter. Этот фильтр работает без проблем с NumPy и SciPy.
Дополнительные модули могут быть добавлены либо путем написания XML-описания интерфейса, либо путем написания классов C++ . XML-интерфейс позволяет пользователям/разработчикам добавлять собственные фильтры VTK в ParaView без написания специального кода и/или повторной компиляции. [9] [10]
ParaView в использовании
В 2005 году Sandia National Laboratories , Nvidia и Kitware выпустили несколько пресс-релизов о масштабируемой визуализации и рендеринге, выполненных на ParaView. В релизах сообщалось о прорывах в масштабируемой производительности, достигающих скорости рендеринга более 8 миллиардов полигонов в секунду с использованием ParaView. [11]
ParaView используется в качестве платформы визуализации для программного обеспечения для моделирования OpenFOAM . [12]
Национальный центр вычислительных наук в Национальной лаборатории Оук-Ридж использует ParaView для визуализации больших наборов данных. [8]
SimScale использует ParaView в качестве альтернативы своей интегрированной среде постобработки и предлагает несколько учебных пособий и вебинаров по постобработке с помощью ParaView. [14] [15] [16]
Набор инструментов моделирования FEATool Multiphysics позволяет экспортировать данные в интерактивные веб-графики ParaView Glance одним щелчком мыши. [17]
Моделирование глобального распространения сейсмических волн
Визуализация вихря
ParaView: просмотр карты мира
Смещение в направлении x из-за единичной точечной силы, приложенной к верхней части полупространства
^ ab "Теги · ParaView / ParaView · GitLab" . Получено 2 сентября 2024 г. .
^ Никлас Рёбер (6 августа 2014 г.). Paraview Tutorial for Climate Science (PDF) . DKRZ, Deutsches Klimarechenzentrum. Архивировано из оригинала (PDF) 10 марта 2016 г. . Получено 8 марта 2016 г. .
↑ аб Уткарш Аячит (22 января 2015 г.). Руководство ParaView: Приложение для параллельной визуализации (PDF) . ISBN Kitware, Inc.978-1930934306. Получено 8 марта 2016 г. .
↑ Kitware (10 марта 2000 г.). «Kitware подписывает контракт на разработку инструментов параллельной обработки» . Получено 8 марта 2016 г.
↑ Kitware (13 марта 2007 г.). "ParaView III Alpha Release" . Получено 8 марта 2016 г.
^ Kitware (17 июня 2013 г.). "ParaView 4.0.1 доступен для загрузки" . Получено 11 октября 2016 г.
^ Kitware (12 января 2016 г.). "ParaView 5.0.0 доступен для загрузки" . Получено 11 октября 2016 г.
^ ab Национальный центр вычислительных наук в Национальной лаборатории Оук-Ридж (16 января 2016 г.). "Запуск ParaView на Титане" . Получено 8 марта 2016 г.
↑ Kitware (13 ноября 2015 г.). "ParaView/Plugin HowTo" . Получено 8 марта 2016 г.
↑ Kitware (22 августа 2012 г.). "ParaView/Расширение ParaView во время компиляции" . Получено 8 марта 2016 г.
↑ Дэвид Хайэм (17 марта 2005 г.). «Sandia National Labs достигает прорывной производительности с помощью технологии NVIDIA для научной визуализации» . Получено 8 марта 2016 г.
^ OpenCFD Ltd (ESI Group) (13 января 2016 г.). "OpenFOAM® v3.0+: New Post-processing Functionality". Архивировано из оригинала 29 января 2016 г. Получено 8 марта 2016 г.
^ Рассел Тейлор. "Comp/Phys/Mtsc 715, Визуализация в науках" . Получено 8 марта 2016 г.
^ «Постобработка с помощью стороннего решения — документация SimScale». www.simscale.com . Получено 15.01.2018 .
^ SimScale GmbH (2016-03-08), Вебинар | Онлайн-постобработка с помощью SimScale , получено 2018-01-15
^ "Постобработка с ParaView для Formula Student". SimScale . Получено 2018-01-15 .