Sierra Toolkit
Version of the Day
|
Namespaces | |
impl | |
Classes | |
class | AggregateLinearSystem |
class | DofMapper |
class | LinearSystem |
Typedefs | |
typedef std::map< const stk_classic::mesh::FieldBase *, int > | FieldIdMap |
Functions | |
void | add_connectivities (stk_classic::linsys::LinearSystemInterface &ls, stk_classic::mesh::EntityRank entity_rank, stk_classic::mesh::EntityRank connected_entity_rank, const stk_classic::mesh::FieldBase &field, const stk_classic::mesh::Selector &selector, const stk_classic::mesh::BulkData &mesh_bulk) |
void | dirichlet_bc (stk_classic::linsys::LinearSystemInterface &ls, const stk_classic::mesh::BulkData &mesh, const stk_classic::mesh::Part &bcpart, stk_classic::mesh::EntityRank entity_rank, const stk_classic::mesh::FieldBase &field, unsigned field_component, double prescribed_value) |
int | fei_solve (int &status, fei::LinearSystem &fei_ls, const Teuchos::ParameterList ¶ms) |
double | compute_residual_norm2 (fei::LinearSystem &fei_ls, fei::Vector &r) |
void | copy_vector_to_mesh (fei::Vector &vec, const DofMapper &dof, stk_classic::mesh::BulkData &mesh_bulk_data) |
void | scale_matrix (double scalar, fei::Matrix &matrix) |
void | add_matrix_to_matrix (double scalar, const fei::Matrix &src_matrix, fei::Matrix &dest_matrix) |
void | scale_vector (double scalar, fei::Vector &vec) |
void | add_vector_to_vector (double scalar, const fei::Vector &src_vector, fei::Vector &dest_vector) |
Linear-System Assembly
typedef std::map<const stk_classic::mesh::FieldBase*,int> stk_classic::linsys::FieldIdMap |
Mappings from stk_classic::mesh::Field objects to integer ids used by fei objects.
Definition at line 20 of file FieldIdMap.hpp.
void stk_classic::linsys::add_connectivities | ( | stk_classic::linsys::LinearSystemInterface & | ls, |
stk_classic::mesh::EntityRank | from_type, | ||
stk_classic::mesh::EntityRank | to_connected_type, | ||
const stk_classic::mesh::FieldBase & | field, | ||
const stk_classic::mesh::Selector & | selector, | ||
const stk_classic::mesh::BulkData & | mesh_bulk | ||
) |
Add connectivities (matrix-graph sparsity contributions) to the fei::MatrixGraph object in the specified LinearSystemInterface object.
Connectivities are connections between two types of entities that are related to each other in the mesh. The most common example of this is element-to-node connectivities. So when from_type is element and to_connected_type is node, the matrix-graph will be populated with connectivities for nodes connected to each element selected by the given selector.
Definition at line 25 of file LinsysFunctions.cpp.
void stk_classic::linsys::dirichlet_bc | ( | stk_classic::linsys::LinearSystemInterface & | ls, |
const stk_classic::mesh::BulkData & | mesh, | ||
const stk_classic::mesh::Part & | bcpart, | ||
stk_classic::mesh::EntityRank | entity_rank, | ||
const stk_classic::mesh::FieldBase & | field, | ||
unsigned | field_component, | ||
double | prescribed_value | ||
) |
Apply a Dirichlet boundary-condition for the specified field, on entities of the specified entity-type which are members of the specified Part. Obtains the list of entity-ids and passes that along with the prescribed value, etc., to the fei::LinearSystem object. The corresponding modifications to the matrix and vector will be made when LinearSystemInterface::finalize_assembly() is called.
Definition at line 77 of file LinsysFunctions.cpp.
int stk_classic::linsys::fei_solve | ( | int & | status, |
fei::LinearSystem & | fei_ls, | ||
const Teuchos::ParameterList & | params | ||
) |
Create an fei::Solver instance and perform a linear-solve on the matrix and vectors contained in the given fei::LinearSystem instance.
status | Output flag indicating the termination condition of the underlying linear-solver. Values are solver-specific. In general, 0 indicates that the solver achieved a solution that satisfied the stopping test, within the iteration limit, etc. If an iterative solver fails to converge, this status value will generally be non-zero, but the actual value can vary by solver-library. |
Definition at line 110 of file LinsysFunctions.cpp.
double stk_classic::linsys::compute_residual_norm2 | ( | fei::LinearSystem & | fei_ls, |
fei::Vector & | r | ||
) |
Return a 2-norm of |b - A*x|
!!!!! fix this !!!!!!!!!
Definition at line 129 of file LinsysFunctions.cpp.
void stk_classic::linsys::copy_vector_to_mesh | ( | fei::Vector & | vec, |
const DofMapper & | dof, | ||
stk_classic::mesh::BulkData & | mesh_bulk_data | ||
) |
Copy the contents of an fei::Vector to the corresponding field-data locations in a stk_classic::mesh::BulkData instance. This function first calls vec.scatterToOverlap() to ensure that coefficients for shared-entities are available on all sharing processors.
Definition at line 163 of file LinsysFunctions.cpp.
void stk_classic::linsys::scale_matrix | ( | double | scalar, |
fei::Matrix & | matrix | ||
) |
Scale matrix by a scalar: matrix = scalar*matrix
Definition at line 218 of file LinsysFunctions.cpp.
void stk_classic::linsys::add_matrix_to_matrix | ( | double | scalar, |
const fei::Matrix & | src_matrix, | ||
fei::Matrix & | dest_matrix | ||
) |
Add a scaled matrix to another: dest += scalar*src
Definition at line 249 of file LinsysFunctions.cpp.
void stk_classic::linsys::scale_vector | ( | double | scalar, |
fei::Vector & | vec | ||
) |
Scale vector by a scalar: vec = scalar*vec
Definition at line 282 of file LinsysFunctions.cpp.
void stk_classic::linsys::add_vector_to_vector | ( | double | scalar, |
const fei::Vector & | src_vector, | ||
fei::Vector & | dest_vector | ||
) |
Add a scaled vector to another: dest += scalar*src
Definition at line 302 of file LinsysFunctions.cpp.