#include <zal_paral.h>
Public Member Functions | |
void | dpfetiordering (gtopology *top) |
void | globcnnum_dpfeti (gtopology *top, FILE *out) |
void | globcnnum_feti (gtopology *top, FILE *out) |
void | globcnnum_pdd (gtopology *top, FILE *out) |
void | globlocfeti (gtopology *top, double *gv, double *lv) |
void | locglobfeti (gtopology *top, double *gv, double *lv) |
paral (int np, int mr, int nd) | |
void | procdomcorr () |
void | read (FILE *in, gtopology *top) |
void | schurordering (gtopology *top) |
~paral () | |
Public Attributes | |
long * | domproc |
long * | gcn |
long * | inc |
long | indof |
long ** | lcngcn |
long * | ltg |
long ** | masgcn |
long | maxnrdof |
int | myrank |
long | nbn |
long * | nbndom |
long | ndof |
int | ndom |
long | ngdof |
long * | nodnum |
int | nproc |
long * | nrbmdom |
long * | nrdofdom |
long * | rbmadr |
long | totmaxndofn |
class paral contains information about local-global ordering
PRIMAL DOMAIN DECOMPOSITION METHOD
nproc, myrank, ndom number of processors, myrank and number of domain are established after constructor execution
ndof, indof total number of local unknowns and number of internal unknowns on subdomains are established after execution of function schurordering
ngdof (M) total number of global unknowns is established after execution of function globcnnum_pdd
maxnbn, maxnrdof, totmaxndofn maximum number of boundary nodes, maximum number of boundary unknowns on subdomain and maximum number of degrees of freedom on node are established after execution of globcnnum_pdd
gcn array of local to global code numbers correspondence is established after execution of function globcnnum_pdd
nbndom (M) array of numbers of boundary nodes on subdomains is established after execution of function globcnnum_pdd
nrdofdom (M) array of numbers of reduced unknowns on subdomains is established after execution of function globcnnum_pdd
masgcn (M) array of local to global code numbers of all subdomains is established after execution of function globcnnum_pdd
FINITE ELEMENT TEARING AND INTERCONNECTING METHOD
nproc, myrank, ndom number of processors, myrank and number of domain are established after constructor execution
ndof total number of local unknowns is established after execution of function schurordering
nbndom (M) array of numbers of boundary nodes on subdomains is established after execution of function globcnnum_feti
maxnbn, totmaxndofn maximum number of boundary nodes and maximum number of degrees of freedom on node are established after execution of globcnnum_feti
maxinc maximum number of incidencies is established after execution of globcnnum_feti
ngdof (M) total number of global unknowns is established after execution of function globcnnum_feti
nodnum array of legth nbn containing global node numbers; components correspond only to boundary nodes, internal nodes are excluded array is established after execution of function globcnnum_feti
inc, lcngcn array of numbers of incidencies of nodes to subdomains and global code numbers in FETI method are established after execution of function globcnnum_feti
DUAL-PRIMAL FINITE ELEMENT TEARING AND INTERCONNECTING METHOD
totmaxndofn, maxncn, maxncdof, maxnbn maximum number of degrees of freedom on node, maximum number of corner noeds on subdomain, maximum number of corner unknowns on subdomain and maximum number of bounadary nodes on subdomain are established after after execution of function globcnnum_dpfeti
Definition at line 98 of file zal_paral.h.
paral | ( | int | np, | |
int | mr, | |||
int | nd | |||
) |
~paral | ( | ) |
void dpfetiordering | ( | gtopology * | top | ) |
function orders unknowns on subdomain with respect of DP-FETI method unknowns are decomposed into three parts first part contains inner nodes/unknowns second part contains boundary nodes/unknowns except corner nodes/unknowns third part contains corner nodes/unknowns function orders unknowns from two first parts at the beginning unknowns from the third part are ordered at the end nodes are marked with help of ltg array
in the input file ltg[first part]=0 ltg[second part]>0 ltg[third part]<0 before use ltg[first part]=-1 ltg[second part]>-1 ltg[third part]<-1
top | - pointer to topology |
JK, 26.11.2002
Definition at line 1030 of file zal_paral.cpp.
References gtopology::give_cne(), gtopology::give_dof(), gtopology::give_ndofe(), gtopology::give_ndofn(), indof, ltg, ndof, gtopology::ne, gtopology::nn, and gtopology::save_dof().
void globcnnum_dpfeti | ( | gtopology * | top, | |
FILE * | out | |||
) |
function creates code numbers for DP-FETI method
top | - topology object pointer | |
out | - output stream |
JK, 15.1.2002
Definition at line 1087 of file zal_paral.cpp.
References domproc, gcn, gtopology::give_dof(), gtopology::give_ndofn(), inc, indof, lcngcn, ll, ltg, masgcn, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, nbn, nbndom, ndof, ndom, gtopology::nn, nodnum, nproc, stat, and totmaxndofn.
void globcnnum_feti | ( | gtopology * | top, | |
FILE * | out | |||
) |
function creates code numbers
maxnbn - maximum number of boundary nodes (each processor) pcor->totmaxndofn - maximum number of DOFs in one node (each processor) maxgnn - maximum node number in the problem (only on master) maxinc - maximum number of node to subdomain incidency (each processor)
pcor->nbndom (nproc) - array containing numbers of boundary nodes on subdomains (only on master) noddom (maxnbn,nproc) - array containing node-subdomain correspondence (only on master) nodinc (maxgnn) - array containing number of node to subdomain incidencies (only on master) gncn (maxgnn,nodinc*pcor->totmaxndofn) - array containing local code numbers (only on master), global code numbers (only on master) pcor->lcngcn (nbn,inc*pcor->totmaxndofn) - array containing (each processor) pcor->nodnum (nbn) - array containing only numbers of boundary nodes (each processor)
top | - topology object pointer | |
out | - output stream |
JK, 15.1.2002
Definition at line 468 of file zal_paral.cpp.
References domproc, gtopology::give_dof(), gtopology::give_ndofn(), inc, lcngcn, ll, ltg, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, nbn, nbndom, ndom, ngdof, gtopology::nn, nodnum, nproc, stat, and totmaxndofn.
void globcnnum_pdd | ( | gtopology * | top, | |
FILE * | out | |||
) |
function creates code numbers of global nodes
function is called from primal domain decomposition function detects maximum number of reduced DOFs on subdomains function collects local to global code numbers on master processor
JK, 30.1.2002
Definition at line 147 of file zal_paral.cpp.
References gcn, gtopology::give_dof(), gtopology::give_ndofn(), indof, ltg, masgcn, maxnrdof, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, nbn, nbndom, ndof, ndom, ngdof, gtopology::nn, nproc, nrdofdom, stat, and totmaxndofn.
void globlocfeti | ( | gtopology * | top, | |
double * | gv, | |||
double * | lv | |||
) |
function creates local vector from global vector localization process is generated by FETI ordering
gv | - array containing global vector | |
lv | - array containing local vector |
4.12.2001
Definition at line 957 of file zal_paral.cpp.
References gtopology::give_dof(), inc, lcngcn, nbn, nodnum, and totmaxndofn.
void locglobfeti | ( | gtopology * | top, | |
double * | gv, | |||
double * | lv | |||
) |
function localizes local vector components to global vector localization process is generated by FETI ordering
gv | - array containing global vector | |
lv | - array containing local vector |
4.12.2001
Definition at line 909 of file zal_paral.cpp.
References gtopology::give_dof(), inc, lcngcn, nbn, nodnum, and totmaxndofn.
void procdomcorr | ( | ) |
function establishes correspondence among processors and subdomains
JK
Definition at line 60 of file zal_paral.cpp.
References domproc, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, ndom, nproc, and stat.
void read | ( | FILE * | in, | |
gtopology * | top | |||
) |
function reads local to global correspondence of nodes
JK, 20.1.2002
Definition at line 43 of file zal_paral.cpp.
References ltg, and gtopology::nn.
void schurordering | ( | gtopology * | top | ) |
function orders unknowns on subdomain with respect of Schur complement method inner variables are ordered at the beginning boundary variables are ordered at he end
top | - pointer to topology |
JK, 26.11.2002
Definition at line 89 of file zal_paral.cpp.
References gtopology::give_cne(), gtopology::give_dof(), gtopology::give_ndofe(), gtopology::give_ndofn(), indof, ltg, ndof, gtopology::ne, gtopology::nn, and gtopology::save_dof().
long* domproc |
Definition at line 124 of file zal_paral.h.
Referenced by globcnnum_dpfeti(), globcnnum_feti(), paral(), procdomcorr(), and ~paral().
long* gcn |
Definition at line 142 of file zal_paral.h.
Referenced by globcnnum_dpfeti(), globcnnum_pdd(), paral(), and ~paral().
long* inc |
Definition at line 150 of file zal_paral.h.
Referenced by globcnnum_dpfeti(), globcnnum_feti(), globlocfeti(), locglobfeti(), paral(), and ~paral().
long indof |
Definition at line 129 of file zal_paral.h.
Referenced by dpfetiordering(), globcnnum_dpfeti(), globcnnum_pdd(), and schurordering().
long** lcngcn |
Definition at line 148 of file zal_paral.h.
Referenced by globcnnum_dpfeti(), globcnnum_feti(), globlocfeti(), locglobfeti(), paral(), and ~paral().
long* ltg |
Definition at line 138 of file zal_paral.h.
Referenced by dpfetiordering(), globcnnum_dpfeti(), globcnnum_feti(), globcnnum_pdd(), paral(), read(), schurordering(), and ~paral().
long** masgcn |
Definition at line 166 of file zal_paral.h.
Referenced by globcnnum_dpfeti(), globcnnum_pdd(), paral(), and ~paral().
long maxnrdof |
Definition at line 133 of file zal_paral.h.
Referenced by globcnnum_pdd().
int myrank |
Definition at line 119 of file zal_paral.h.
Referenced by globcnnum_dpfeti(), globcnnum_feti(), globcnnum_pdd(), paral(), and procdomcorr().
long nbn |
Definition at line 131 of file zal_paral.h.
Referenced by globcnnum_dpfeti(), globcnnum_feti(), globcnnum_pdd(), globlocfeti(), and locglobfeti().
long* nbndom |
Definition at line 162 of file zal_paral.h.
Referenced by globcnnum_dpfeti(), globcnnum_feti(), globcnnum_pdd(), paral(), and ~paral().
long ndof |
Definition at line 127 of file zal_paral.h.
Referenced by dpfetiordering(), globcnnum_dpfeti(), globcnnum_pdd(), and schurordering().
int ndom |
Definition at line 121 of file zal_paral.h.
Referenced by globcnnum_dpfeti(), globcnnum_feti(), globcnnum_pdd(), paral(), and procdomcorr().
long ngdof |
Definition at line 159 of file zal_paral.h.
Referenced by globcnnum_feti(), and globcnnum_pdd().
long* nodnum |
Definition at line 152 of file zal_paral.h.
Referenced by globcnnum_dpfeti(), globcnnum_feti(), globlocfeti(), locglobfeti(), paral(), and ~paral().
int nproc |
Definition at line 117 of file zal_paral.h.
Referenced by globcnnum_dpfeti(), globcnnum_feti(), globcnnum_pdd(), paral(), and procdomcorr().
long* nrbmdom |
Definition at line 169 of file zal_paral.h.
long* nrdofdom |
Definition at line 164 of file zal_paral.h.
Referenced by globcnnum_pdd(), paral(), and ~paral().
long* rbmadr |
Definition at line 171 of file zal_paral.h.
long totmaxndofn |
Definition at line 135 of file zal_paral.h.
Referenced by globcnnum_dpfeti(), globcnnum_feti(), globcnnum_pdd(), globlocfeti(), and locglobfeti().