我正在尝试编写一个基于PETSC的FEM代码来解决粘弹性结构问题。我需要存储所有先前迭代$('selector').mySelect2(options);
的位移向量,并使用它们来更新当前迭代(U)的位移。假设,对于第五次迭代,(function() {
var CustomDataAdapter = $.fn.select2.amd.require('select2/data/customDataAdapter');
var Utils = $.fn.select2.amd.require('select2/utils');
var Tags = $.fn.select2.amd.require('select2/data/tags');
var MinimumInputLength = $.fn.select2.amd.require('select2/data/minimumInputLength');
var baseApply = $.fn.select2.defaults.apply;
$.fn.select2.defaults.apply = function (options) {
if (!options.dataAdapter && options.customDataAdapterOptions) {
options.dataAdapter = CustomDataAdapter;
if (options.minimumInputLength > 0) {
options.dataAdapter = Utils.Decorate(options.dataAdapter, MinimumInputLength);
}
if (options.tags) {
options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags);
}
}
return baseApply.apply(this, arguments);
};
}());
看起来像
$('selector').select2(options);
一次,我在第五次迭代(U5)上计算位移。我想将其连接到已经存在的(U_hist)
上,以使U_hist
位移向量用于下一步:
U_hist=[U1 U2 U3 U4];
我看了向量例程“ VecDuplicateVecs”,但是我不确定这是否适合该任务,因为它不存储先前存在的向量,因此我需要从头开始创建整个数据集每次迭代之后。
请为我提供一些指导,说明应采取什么方法在PETSC中有效存储历史相关变量。
谢谢!