00001 #ifndef SSELNODES_H 00002 #define SSELNODES_H 00003 00004 /** 00005 class sequential selected nodes 00006 00007 the class serves for problems with subdomains or aggregates 00008 it manipulates with nodes and unknowns (DOFs) on particular 00009 subdomains/aggregates and deals with relationships among them 00010 00011 JK, 28.8.2007 00012 */ 00013 class sselnodes 00014 { 00015 public: 00016 00017 sselnodes (long nd,long k,long *j); 00018 sselnodes (long nd,long *ii,long **jj); 00019 ~sselnodes (); 00020 00021 void assemble_list_unknowns (gtopology *gt); 00022 00023 00024 /// number of nodes on subdomain 00025 long nn; 00026 00027 /// number of selected nodes 00028 long nsn; 00029 00030 /// maximum number of DOFs on subdomain/aggregate 00031 long maxndof; 00032 00033 00034 /// list of selected nodes - local numbers 00035 /// lsnl[i]=j - the i-th selected node has local number j 00036 /// j-th node on subdomain is selected as the i-th 00037 /// lsn contains nsn components, where nsn is the number of selected nodes on subdomain 00038 long *lsnl; 00039 00040 /// list of selected nodes - global numbers 00041 /// lsng[i]=j - the i-th selected node has global/coarse number j 00042 /// lsng contains nsn components, where nsn is the number of selected nodes on subdomain 00043 long *lsng; 00044 00045 00046 /// nsndom[i]=j - j nodes are selected on the i-th subdomain 00047 long *nsndom; 00048 00049 /// group node numbers (see partop.h) 00050 /// gnn[i][j]=k - the j-th selected node on the i-th subdomain has group number k 00051 long **gnn; 00052 00053 /// array of numbers of DOFs on subdomains 00054 /// it contains prescribed values before code number generation 00055 /// after code number generation, only unknown (unconstrained DOFs) are taken into account 00056 /// array is rewritten in the function schur_ordering 00057 /// ndofdom[i]=j - the i-th subdomain contains j DOFs 00058 long *ndofdom; 00059 00060 /// code numbers 00061 /// cndom[i][j]=k - the j-th DOF on the i-th subdomain/aggregate has group code number k 00062 long **cndom; 00063 00064 00065 }; 00066 00067 #endif