Выращивать вектор путем объединения текущего вектора с существующими векторами в PETSC - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь написать код ПЭМ на основе PETSC для решения вязкоупругих структурных проблем.Мне нужно сохранить векторы смещения для всех предыдущих итераций (U_hist) и использовать их для обновления смещения текущей итерации (U).Скажем, для пятой итерации U_hist будет выглядеть как

 U_hist=[U1 U2 U3 U4];

. Однажды я вычислю смещения на пятой итерации (U5).Я хочу объединить его с уже существующим U_hist, чтобы сделать вектор смещения U_hist для следующего шага следующим образом:

U_hist=[U5 U_hist].

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

Пожалуйста, дайте мне несколько советов относительно того, какой методследует использовать для эффективного хранения зависящих от истории переменных в PETSC.

Спасибо!

...