![]() |
v0.13.2 |
Construct index sets for MoFEM problems. More...
Files | |
file | FieldBlas.hpp |
Field basic algebra. | |
file | ISManager.cpp |
IS creating. | |
file | ISManager.hpp |
Interface managing IS. | |
Classes | |
struct | MoFEM::ISManager |
Section manager is used to create indexes and sections. More... | |
Functions | |
MoFEMErrorCode | MoFEM::ISManager::sectionCreate (const std::string problem_name, PetscSection *s, const RowColData row_col=COL) const |
Create global selection. More... | |
SmartPetscObj< PetscSection > | MoFEM::ISManager::sectionCreate (const std::string problem_name, const RowColData row_col=COL) const |
Create global selection. More... | |
MoFEMErrorCode | MoFEM::ISManager::isCreateProblemOrder (const std::string problem_name, RowColData rc, int min_order, int max_order, IS *is) const |
create IS for given order range (collective) More... | |
MoFEMErrorCode | MoFEM::ISManager::isCreateProblemFieldAndRank (const std::string problem_name, RowColData rc, const std::string field, int min_coeff_idx, int max_coeff_idx, IS *is, Range *ents=nullptr) const |
create IS for given problem, field and rank range (collective) More... | |
MoFEMErrorCode | MoFEM::ISManager::isCreateProblemFieldAndRank (const std::string problem_name, RowColData rc, const std::string field, int min_coeff_idx, int max_coeff_idx, SmartPetscObj< IS > &smart_is, Range *ents=nullptr) const |
IS for given problem, field and rank range (collective) More... | |
MoFEMErrorCode | MoFEM::ISManager::isCreateProblemFieldAndEntityType (const std::string problem_name, RowColData rc, const std::string field, EntityType low_type, EntityType hi_type, int min_coeff_idx, int max_coeff_idx, IS *is, Range *ents=nullptr) const |
create IS for given problem, field and type range (collective) More... | |
MoFEMErrorCode | MoFEM::ISManager::isCreateFromProblemFieldToOtherProblemField (const std::string x_problem, const std::string x_field_name, RowColData x_rc, const std::string y_problem, const std::string y_field_name, RowColData y_rc, std::vector< int > &idx, std::vector< int > &idy) const |
create IS for give two problems and field More... | |
MoFEMErrorCode | MoFEM::ISManager::isCreateFromProblemFieldToOtherProblemField (const std::string x_problem, const std::string x_field_name, RowColData x_rc, const std::string y_problem, const std::string y_field_name, RowColData y_rc, IS *ix, IS *iy) const |
create IS for give two problems and field More... | |
MoFEMErrorCode | MoFEM::ISManager::isCreateFromProblemToOtherProblem (const std::string x_problem, RowColData x_rc, const std::string y_problem, RowColData y_rc, std::vector< int > &idx, std::vector< int > &idy) const |
Create is from one problem to other problem. More... | |
MoFEMErrorCode | MoFEM::ISManager::isCreateFromProblemToOtherProblem (const std::string x_problem, RowColData x_rc, const std::string y_problem, RowColData y_rc, IS *ix, IS *iy) const |
Create is from one problem to other problem. More... | |
Construct index sets for MoFEM problems.
MoFEMErrorCode MoFEM::ISManager::isCreateFromProblemFieldToOtherProblemField | ( | const std::string | x_problem, |
const std::string | x_field_name, | ||
RowColData | x_rc, | ||
const std::string | y_problem, | ||
const std::string | y_field_name, | ||
RowColData | y_rc, | ||
IS * | ix, | ||
IS * | iy | ||
) | const |
create IS for give two problems and field
Indices are sorted by global PETSc index in problem_x.
x_problem | name of problem |
x_field_name | name of field in problem_x |
x_rc | that is ROW or COL |
y_problem | name of problem |
y_field_name | name of field in problem_y |
y_rc | that is ROW or COL |
ix | IS indexes in problem_x (can be PETSC_NULL) |
iy | IS indexes in problem_y |
Definition at line 471 of file ISManager.cpp.
MoFEMErrorCode MoFEM::ISManager::isCreateFromProblemFieldToOtherProblemField | ( | const std::string | x_problem, |
const std::string | x_field_name, | ||
RowColData | x_rc, | ||
const std::string | y_problem, | ||
const std::string | y_field_name, | ||
RowColData | y_rc, | ||
std::vector< int > & | idx, | ||
std::vector< int > & | idy | ||
) | const |
create IS for give two problems and field
Note that indices are ordered in ascending order of local indices in problem_y
x_problem | name of problem |
x_field_name | name of field in problem_x |
x_rc | that is ROW or COL |
y_problem | name of problem |
y_field_name | name of field in problem_y |
y_rc | that is ROW or COL |
idx | indexes in problem_x |
idy | indexes in problem_y |
Definition at line 368 of file ISManager.cpp.
MoFEMErrorCode MoFEM::ISManager::isCreateFromProblemToOtherProblem | ( | const std::string | x_problem, |
RowColData | x_rc, | ||
const std::string | y_problem, | ||
RowColData | y_rc, | ||
IS * | ix, | ||
IS * | iy | ||
) | const |
Create is from one problem to other problem.
x_problem | |
x_rc | |
y_problem | |
y_rc | |
ix | |
iy |
Definition at line 545 of file ISManager.cpp.
MoFEMErrorCode MoFEM::ISManager::isCreateFromProblemToOtherProblem | ( | const std::string | x_problem, |
RowColData | x_rc, | ||
const std::string | y_problem, | ||
RowColData | y_rc, | ||
std::vector< int > & | idx, | ||
std::vector< int > & | idy | ||
) | const |
Create is from one problem to other problem.
x_problem | |
x_rc | |
y_problem | |
y_rc | |
idx | |
idy |
Definition at line 492 of file ISManager.cpp.
MoFEMErrorCode MoFEM::ISManager::isCreateProblemFieldAndEntityType | ( | const std::string | problem_name, |
RowColData | rc, | ||
const std::string | field, | ||
EntityType | low_type, | ||
EntityType | hi_type, | ||
int | min_coeff_idx, | ||
int | max_coeff_idx, | ||
IS * | is, | ||
Range * | ents = nullptr |
||
) | const |
create IS for given problem, field and type range (collective)
problem | |
rc | |
field | |
low_type | |
hi_type | |
min_coeff_idx | |
max_coeff_idx | |
is | |
ents |
Definition at line 350 of file ISManager.cpp.
MoFEMErrorCode MoFEM::ISManager::isCreateProblemFieldAndRank | ( | const std::string | problem_name, |
RowColData | rc, | ||
const std::string | field, | ||
int | min_coeff_idx, | ||
int | max_coeff_idx, | ||
IS * | is, | ||
Range * | ents = nullptr |
||
) | const |
create IS for given problem, field and rank range (collective)
problem | name |
rc | ROW or COL |
field | name |
min_coeff_idx | |
max_coeff_idx | |
ents | if not null get dofs only on given entities |
is | out value |
Definition at line 265 of file ISManager.cpp.
MoFEMErrorCode MoFEM::ISManager::isCreateProblemFieldAndRank | ( | const std::string | problem_name, |
RowColData | rc, | ||
const std::string | field, | ||
int | min_coeff_idx, | ||
int | max_coeff_idx, | ||
SmartPetscObj< IS > & | smart_is, | ||
Range * | ents = nullptr |
||
) | const |
IS for given problem, field and rank range (collective)
problem | name |
rc | ROW or COL |
field | name |
min_coeff_idx | |
max_coeff_idx | |
ents | if not null get dofs only on given entities |
is | out value |
Definition at line 338 of file ISManager.cpp.
MoFEMErrorCode MoFEM::ISManager::isCreateProblemOrder | ( | const std::string | problem_name, |
RowColData | rc, | ||
int | min_order, | ||
int | max_order, | ||
IS * | is | ||
) | const |
create IS for given order range (collective)
problem | name |
rc | ROW or COL |
min_order | |
max_order |
is | out value |
Definition at line 197 of file ISManager.cpp.
SmartPetscObj< PetscSection > MoFEM::ISManager::sectionCreate | ( | const std::string | problem_name, |
const RowColData | row_col = COL |
||
) | const |
Create global selection.
Create section for given problem, such that points are sorted by UId, and number of dofs on point is equal to number of dofs on entity
It takes all fields
problem_name | |
fields_list | |
s | |
row_col | ROE or COL, default is ROW |
Definition at line 140 of file ISManager.cpp.
MoFEMErrorCode MoFEM::ISManager::sectionCreate | ( | const std::string | problem_name, |
PetscSection * | s, | ||
const RowColData | row_col = COL |
||
) | const |
Create global selection.
Create section for given problem, such that points are sorted by UId, and number of dofs on point is equal to number of dofs on entity
It takes all fields
problem_name | |
fields_list | |
s | |
row_col | ROE or COL, default is ROW |
Definition at line 20 of file ISManager.cpp.