Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
|
Data Types | |
module | clusteringmethods |
Functions/Subroutines | |
subroutine | setparallelpassive () |
subroutine | passiveextrudedmesh () |
subroutine | clusterextrudedmesh (CFLayer) |
subroutine | cmgbonds (Amat, Bonds, Passive, Fixed, Components, Component1) |
subroutine | cmgclusterform (Amat, Bonds, Passive, Fixed, Components, Component1, CF) |
subroutine chooseclusternodes::clusterextrudedmesh | ( | integer, dimension(:), optional, pointer | CFLayer) |
First detects an extruded structure using mesh information, and then clusters the nodes along the extruded directions only.
References meshutils::detectextrudedstructure(), lists::listgetinteger(), and solver().
Referenced by clusteringmethods::chooseclusternodes().
subroutine chooseclusternodes::cmgbonds | ( | type(matrix_t), pointer | Amat, |
logical, dimension(:), pointer | Bonds, | ||
logical, dimension(:), pointer | Passive, | ||
logical, dimension(:), pointer | Fixed, | ||
integer | Components, | ||
integer | Component1 | ||
) |
Mark the strong connections based on the relative absolute magnitude of the matrix element.
References messages::info(), lists::listgetconstreal(), lists::listgetinteger(), solver(), and generalutils::sortr().
Referenced by clusteringmethods::chooseclusternodes().
subroutine chooseclusternodes::cmgclusterform | ( | type(matrix_t), pointer | Amat, |
logical, dimension(:) | Bonds, | ||
logical, dimension(:) | Passive, | ||
logical, dimension(:) | Fixed, | ||
integer | Components, | ||
integer | Component1, | ||
integer, dimension(:), pointer | CF | ||
) |
Creates clusters of nodes using the given list of strong connections. Nodes assigned by the Passive vector may not be included in the clusters - others are ignored. The subroutine returns the vector CF which tells to which cluster each node belongs to.
References messages::info(), lists::listgetinteger(), lists::listgetlogical(), solver(), and generalutils::sortr().
Referenced by clusteringmethods::chooseclusternodes().
subroutine chooseclusternodes::passiveextrudedmesh | ( | ) |
Sets a marker for passive dofs everywhere else than at the top layer. This is intended for the hybrid method where a cluster is first made on a level and this is then inherited on the extruded levels.
References meshutils::detectextrudedstructure(), messages::info(), and solver().
Referenced by clusteringmethods::chooseclusternodes().
subroutine chooseclusternodes::setparallelpassive | ( | ) |
This subroutine sets nodes that are now owned by the partition to be passive before making the clustering. The idea is to communicate the clustering on parallel level based on the ownership.
Referenced by clusteringmethods::chooseclusternodes().