![]() |
v0.14.0 |
Creating and scattering vectors on the mesh for given problem. More...
Files | |
file | VecManager.hpp |
Interface managing vectors. | |
Functions | |
MoFEMErrorCode | MoFEM::VecManager::vecCreateSeq (const std::string name, RowColData rc, Vec *V) const |
create local vector for problem More... | |
MoFEMErrorCode | MoFEM::VecManager::vecCreateGhost (const std::string name, RowColData rc, Vec *V) const |
create ghost vector for problem (collective) More... | |
MoFEMErrorCode | MoFEM::VecManager::vecScatterCreate (Vec xin, const std::string x_problem, const std::string x_field_name, RowColData x_rc, Vec yin, const std::string y_problem, const std::string y_field_name, RowColData y_rc, VecScatter *newctx) const |
create scatter for vectors form one to another problem (collective) More... | |
MoFEMErrorCode | MoFEM::VecManager::vecScatterCreate (Vec xin, const std::string x_problem, RowColData x_rc, Vec yin, const std::string y_problem, RowColData y_rc, VecScatter *newctx) const |
create scatter for vectors from one to another problem (collective) More... | |
MoFEMErrorCode | MoFEM::VecManager::setLocalGhostVector (const Problem *problem_ptr, RowColData rc, Vec V, InsertMode mode, ScatterMode scatter_mode) const |
set values of vector from/to mesh database More... | |
MoFEMErrorCode | MoFEM::VecManager::setLocalGhostVector (const std::string name, RowColData rc, Vec V, InsertMode mode, ScatterMode scatter_mode) const |
set values of vector from/to mesh database More... | |
MoFEMErrorCode | MoFEM::VecManager::setGlobalGhostVector (const Problem *problem_ptr, RowColData rc, Vec V, InsertMode mode, ScatterMode scatter_mode) const |
set values of vector from/to mesh database (collective) More... | |
MoFEMErrorCode | MoFEM::VecManager::setGlobalGhostVector (const std::string name, RowColData rc, Vec V, InsertMode mode, ScatterMode scatter_mode) const |
set values of vector from/to mesh database (collective) More... | |
MoFEMErrorCode | MoFEM::VecManager::setOtherLocalGhostVector (const Problem *problem_ptr, const std::string field_name, const std::string cpy_field_name, RowColData rc, Vec V, InsertMode mode, ScatterMode scatter_mode) const |
Copy vector to field which is not part of the problem. More... | |
MoFEMErrorCode | MoFEM::VecManager::setOtherLocalGhostVector (const std::string name, const std::string field_name, const std::string cpy_field_name, RowColData rc, Vec V, InsertMode mode, ScatterMode scatter_mode) const |
Copy vector to field which is not part of the problem. More... | |
MoFEMErrorCode | MoFEM::VecManager::setOtherGlobalGhostVector (const Problem *problem_ptr, const std::string field_name, const std::string cpy_field_name, RowColData rc, Vec V, InsertMode mode, ScatterMode scatter_mode) const |
Copy vector to field which is not part of the problem (collective) More... | |
MoFEMErrorCode | MoFEM::VecManager::setOtherGlobalGhostVector (const std::string name, const std::string field_name, const std::string cpy_field_name, RowColData rc, Vec V, InsertMode mode, ScatterMode scatter_mode) const |
Copy vector to field which is not part of the problem (collective) More... | |
Creating and scattering vectors on the mesh for given problem.
MoFEMErrorCode MoFEM::VecManager::setGlobalGhostVector | ( | const Problem * | problem_ptr, |
RowColData | rc, | ||
Vec | V, | ||
InsertMode | mode, | ||
ScatterMode | scatter_mode | ||
) | const |
set values of vector from/to mesh database (collective)
collective - need tu be run on all processors in communicator
pointer | to porblem struture |
RowColData | for row or column (i.e. Row,Col) |
V | vector |
mode | see petsc manual for VecSetValue (ADD_VALUES or INSERT_VALUES) |
scatter_mode | see petsc manual for ScatterMode (The available modes are: SCATTER_FORWARD or SCATTER_REVERSE) |
SCATTER_REVERSE set data to field entities form V vector.
Definition at line 301 of file VecManager.cpp.
MoFEMErrorCode MoFEM::VecManager::setGlobalGhostVector | ( | const std::string | name, |
RowColData | rc, | ||
Vec | V, | ||
InsertMode | mode, | ||
ScatterMode | scatter_mode | ||
) | const |
set values of vector from/to mesh database (collective)
collective - need tu be run on all processors in communicator
name | of the problem |
RowColData | for row or column (i.e. Row,Col) |
V | vector |
mode | see petsc manual for VecSetValue (ADD_VALUES or INSERT_VALUES) |
scatter_mode | see petsc manual for ScatterMode (The available modes are: SCATTER_FORWARD or SCATTER_REVERSE) |
SCATTER_REVERSE set data to field entities form V vector.
Definition at line 368 of file VecManager.cpp.
MoFEMErrorCode MoFEM::VecManager::setLocalGhostVector | ( | const Problem * | problem_ptr, |
RowColData | rc, | ||
Vec | V, | ||
InsertMode | mode, | ||
ScatterMode | scatter_mode | ||
) | const |
set values of vector from/to mesh database
pointer | to problem struture |
RowColData | for row or column:e (i.e. Row,Col) |
V | vector |
mode | see petsc manual for VecSetValue (ADD_VALUES or INSERT_VALUES) |
scatter_mode | see petsc manual for ScatterMode (The available modes are: SCATTER_FORWARD or SCATTER_REVERSE) |
SCATTER_REVERSE set data to field entities from V vector.
SCATTER_FORWARD set vector V from data field entities
Definition at line 202 of file VecManager.cpp.
MoFEMErrorCode MoFEM::VecManager::setLocalGhostVector | ( | const std::string | name, |
RowColData | rc, | ||
Vec | V, | ||
InsertMode | mode, | ||
ScatterMode | scatter_mode | ||
) | const |
set values of vector from/to mesh database
name | of the problem |
RowColData | for row or column:e (i.e. Row,Col) |
V | vector |
mode | see petsc manual for VecSetValue (ADD_VALUES or INSERT_VALUES) |
scatter_mode | see petsc manual for ScatterMode (The available modes are: SCATTER_FORWARD or SCATTER_REVERSE) |
SCATTER_REVERSE set data to field entities from V vector.
SCATTER_FORWARD set vector V from data field entities
Definition at line 288 of file VecManager.cpp.
MoFEMErrorCode MoFEM::VecManager::setOtherGlobalGhostVector | ( | const Problem * | problem_ptr, |
const std::string | field_name, | ||
const std::string | cpy_field_name, | ||
RowColData | rc, | ||
Vec | V, | ||
InsertMode | mode, | ||
ScatterMode | scatter_mode | ||
) | const |
Copy vector to field which is not part of the problem (collective)
collective - need tu be run on all processors in communicator
problem_ptr | pointer to problem |
field_name | field name used for indexing petsc vectors used in the problem |
cpy_field | field name where data from vector are stored |
RowColData | for row or column |
V | vector |
mode | see petsc manual for VecSetValue (ADD_VALUES or INSERT_VALUES) |
scatter_mode | see petsc manual for ScatterMode (The available modes are: SCATTER_FORWARD or SCATTER_REVERSE) |
SCATTER_REVERSE set data to field entities form V vector.
Definition at line 544 of file VecManager.cpp.
MoFEMErrorCode MoFEM::VecManager::setOtherGlobalGhostVector | ( | const std::string | name, |
const std::string | field_name, | ||
const std::string | cpy_field_name, | ||
RowColData | rc, | ||
Vec | V, | ||
InsertMode | mode, | ||
ScatterMode | scatter_mode | ||
) | const |
Copy vector to field which is not part of the problem (collective)
collective - need tu be run on all processors in communicator
name | problem name |
field_name | field name used for indexing petsc vectors used in the problem |
cpy_field | field name where data from vector are stored |
RowColData | for row or column |
V | vector |
mode | see petsc manual for VecSetValue (ADD_VALUES or INSERT_VALUES) |
scatter_mode | see petsc manual for ScatterMode (The available modes are: SCATTER_FORWARD or SCATTER_REVERSE) |
SCATTER_REVERSE set data to field entities form V vector.
Definition at line 646 of file VecManager.cpp.
MoFEMErrorCode MoFEM::VecManager::setOtherLocalGhostVector | ( | const Problem * | problem_ptr, |
const std::string | field_name, | ||
const std::string | cpy_field_name, | ||
RowColData | rc, | ||
Vec | V, | ||
InsertMode | mode, | ||
ScatterMode | scatter_mode | ||
) | const |
Copy vector to field which is not part of the problem.
pointer | to problem multi_index |
field_name | field name used for indexing petsc vectors used in the problem |
cpy_field | field name where data from vector are stored |
RowColData | for row or column |
V | vector |
mode | see petsc manual for VecSetValue (ADD_VALUES or INSERT_VALUES) |
scatter_mode | see petsc manual for ScatterMode (The available modes are: SCATTER_FORWARD or SCATTER_REVERSE) |
SCATTER_REVERSE set data to field entities form V vector.
Definition at line 413 of file VecManager.cpp.
MoFEMErrorCode MoFEM::VecManager::setOtherLocalGhostVector | ( | const std::string | name, |
const std::string | field_name, | ||
const std::string | cpy_field_name, | ||
RowColData | rc, | ||
Vec | V, | ||
InsertMode | mode, | ||
ScatterMode | scatter_mode | ||
) | const |
Copy vector to field which is not part of the problem.
name | problem name |
field_name | field name used for indexing petsc vectors used in the problem |
cpy_field | field name where data from vector are stored |
RowColData | for row or column |
V | vector |
mode | see petsc manual for VecSetValue (ADD_VALUES or INSERT_VALUES) |
scatter_mode | see petsc manual for ScatterMode (The available modes are: SCATTER_FORWARD or SCATTER_REVERSE) |
SCATTER_REVERSE set data to field entities form V vector.
Definition at line 506 of file VecManager.cpp.
MoFEMErrorCode MoFEM::VecManager::vecCreateGhost | ( | const std::string | name, |
RowColData | rc, | ||
Vec * | V | ||
) | const |
create ghost vector for problem (collective)
collective - need to be run on all processors in communicator
name | problem name |
RowColData | specify what data is taken from Row, Col or Data |
Vec | the vector where data is stored |
Definition at line 64 of file VecManager.cpp.
MoFEMErrorCode MoFEM::VecManager::vecCreateSeq | ( | const std::string | name, |
RowColData | rc, | ||
Vec * | V | ||
) | const |
create local vector for problem
name | problem name |
RowColData | specify what data is taken from Row, Col or Data |
Vec | the vector where data is stored |
Definition at line 38 of file VecManager.cpp.
MoFEMErrorCode MoFEM::VecManager::vecScatterCreate | ( | Vec | xin, |
const std::string | x_problem, | ||
const std::string | x_field_name, | ||
RowColData | x_rc, | ||
Vec | yin, | ||
const std::string | y_problem, | ||
const std::string | y_field_name, | ||
RowColData | y_rc, | ||
VecScatter * | newctx | ||
) | const |
create scatter for vectors form one to another problem (collective)
User specify what name of field on one problem is scattered to another.
xin | vector |
x_proble | problem name |
x_field | name |
yin | vector |
y_problem | problem name |
y_field_name |
newctx | scatter |
Definition at line 131 of file VecManager.cpp.
MoFEMErrorCode MoFEM::VecManager::vecScatterCreate | ( | Vec | xin, |
const std::string | x_problem, | ||
RowColData | x_rc, | ||
Vec | yin, | ||
const std::string | y_problem, | ||
RowColData | y_rc, | ||
VecScatter * | newctx | ||
) | const |
create scatter for vectors from one to another problem (collective)
xin | vector |
x_proble | problem name |
yin | vector |
y_problem | problem name |
newctx | scatter |
Definition at line 153 of file VecManager.cpp.