Functions | |
tmath::sparse::SparseMatrix | AssembleBlock (const tmath::sparse::SparseMatrix &A, const tmath::Matrix B, const tmath::Matrix &C, const tmath::Matrix &D) |
void | createHexaeder27from8 (unsigned int index, const std::string &type, sfem::mesh::MeshPart &part0, const std::vector< unsigned int > &e_nodes, const double tolerance=1e-10) |
creates a 27-nodes hexahedron This method helps to create a 27-noded hexahedron given the data that are required to build up a 8-nodes hexahedron. The mid-edge nodes will be created automatically (if not yet existing in the instance) and appended to the instance's node vector. | |
void | createTetraeder10from4 (unsigned int index, const std::string &type, sfem::mesh::MeshPart &part0, const std::vector< unsigned int > &e_nodes, const double tolerance=1e-10) |
creates a 10-nodes tetrahedron This method helps to create a 10-noded tetrahedron given the data that are required to build up a 4-nodes tetraedron. The mid-edge nodes will be created automatically (if not yet existing in the instance) and appended to the instance's node vector. | |
unsigned int | createUniquePoint (sfem::mesh::MeshPart &part0, const double *coor, const double tolerance=1e-10) |
checks existence of a point, creates it and returns the point index The method checks if a point with given coordinates already exists. If yes it returns the point's index, if not it creates a new point and returns its index. | |
tmath::sparse::SparseMatrix | SmoothingFilter (const tmath::sparse::SparseMatrix &M) |
tmath::sparse::SparseMatrix sfem::utility::AssembleBlock | ( | const tmath::sparse::SparseMatrix & | A, | |
const tmath::Matrix | B, | |||
const tmath::Matrix & | C, | |||
const tmath::Matrix & | D | |||
) |
Assembles a sparse matrix from given matrix blocks The blocks are A, B, C, D with A sparse and B, C, D dense. They are set according to [[A,B][C,D]]
void sfem::utility::createHexaeder27from8 | ( | unsigned int | index, | |
const std::string & | type, | |||
sfem::mesh::MeshPart & | part0, | |||
const std::vector< unsigned int > & | e_nodes, | |||
const double | tolerance = 1e-10 | |||
) |
creates a 27-nodes hexahedron This method helps to create a 27-noded hexahedron given the data that are required to build up a 8-nodes hexahedron. The mid-edge nodes will be created automatically (if not yet existing in the instance) and appended to the instance's node vector.
index | element index in given instance | |
type | element type given as string | |
part0 | the instance where the element is to be created | |
e_nodes | the vector of node indices of the corresponding 8-noded base type | |
tolerance | a tolerance identifying two points being equal |
void sfem::utility::createTetraeder10from4 | ( | unsigned int | index, | |
const std::string & | type, | |||
sfem::mesh::MeshPart & | part0, | |||
const std::vector< unsigned int > & | e_nodes, | |||
const double | tolerance = 1e-10 | |||
) |
creates a 10-nodes tetrahedron This method helps to create a 10-noded tetrahedron given the data that are required to build up a 4-nodes tetraedron. The mid-edge nodes will be created automatically (if not yet existing in the instance) and appended to the instance's node vector.
index | element index in given instance | |
type | element type given as string | |
part0 | the instance where the element is to be created | |
e_nodes | the vector of node indices of the corresponding 4-noded base type | |
tolerance | a tolerance identifying two points being equal |
unsigned int sfem::utility::createUniquePoint | ( | sfem::mesh::MeshPart & | part0, | |
const double * | coor, | |||
const double | tolerance = 1e-10 | |||
) |
checks existence of a point, creates it and returns the point index The method checks if a point with given coordinates already exists. If yes it returns the point's index, if not it creates a new point and returns its index.
part0 | the instance to be modified | |
coor | the 3d coordinates | |
tolerance | a tolerance identifying two points being equal |
tmath::sparse::SparseMatrix sfem::utility::SmoothingFilter | ( | const tmath::sparse::SparseMatrix & | M | ) |
Creates a smoothing filter matrix. It denotes the weight matrix W_AB=M_AB/N_A whereby N_A is the sum of the A-th column of M_AB