dpfeti Class Reference

#include <dpfeti.h>

List of all members.

Public Member Functions

void arrmatrix (double *condmat, long *domproc, FILE *out)
void arrmatrix (double *condmat)
void arrmatrix (double *condmat)
void arrmatrix (double *condmat, long *domproc, FILE *out)
void cg (gtopology *top, long *domproc, gmatrix *gm, long iv, FILE *out)
void cg (gtopology *top, long *domproc, gmatrix *gm, long iv, FILE *out)
void cg (gtopology *top, long *domproc, gmatrix *gm, long iv, FILE *out)
void cg (gtopology *top, long *domproc, gmatrix *gm, long iv, FILE *out)
void compute_displ (gtopology *top, gmatrix *gm, long *domproc, double *subdispl, double *rhs)
void compute_displ (gtopology *top, gmatrix *gm, long *domproc, double *subdispl, double *rhs)
void compute_displ (gtopology *top, gmatrix *gm, long *domproc, double *subdispl, double *rhs)
void compute_displ (gtopology *top, gmatrix *gm, long *domproc, double *subdispl, double *rhs, FILE *out)
void corner_displ (gtopology *top, long *domproc, gmatrix *gm)
void corner_displ (gtopology *top, long *domproc, gmatrix *gm)
void corner_displ (gtopology *top, long *domproc, gmatrix *gm)
void corner_displ (gtopology *top, long *domproc, gmatrix *gm, FILE *out)
void cornodedetection (gtopology *top, long *ltg, long *domproc, FILE *out)
void cornodedetection (gtopology *top, long *ltg, long *domproc, FILE *out)
 dpfeti (int np, int mr, long nd)
 dpfeti (int np, int mr, int nd)
 dpfeti (int np, int mr, int nd)
 dpfeti (int np, int mr, long nd)
void dpfetiordering (gtopology *top, long *ltg)
void dpfetiordering (gtopology *top, long *ltg)
void dpfetiordering (gtopology *top, long *ltg)
void dpfetiordering (gtopology *top, long *ltg)
void extract_from_global_vector (double *ev, double *gv, long nsub)
void extract_from_global_vector (double *ev, double *gv, long nsub)
void extract_from_global_vector (double *ev, double *gv, long nsub)
void extract_from_local_vector (double *ev, double *lv)
void extract_from_local_vector (double *ev, double *lv)
void extract_from_local_vector (double *ev, double *lv)
void globcnnum_dpfeti (gtopology *top, long *ltg, long *domproc, FILE *out)
void globcnnum_dpfeti (gtopology *top, long *ltg, long *domproc, FILE *out)
void globcnnum_dpfeti (gtopology *top, long *ltg, long *domproc, FILE *out)
void globcnnum_dpfeti (gtopology *top, long *ltg, long *domproc, FILE *out)
void globlocfeti (gtopology *top, double *gv, double *lv)
void initiate (selnodes *selnodschur, selnodes *selnodfeti)
void initiate (selnodes *selnodschur, selnodes *selnodfeti)
void locglobfeti (gtopology *top, double *gv, double *lv)
void matxvect (gtopology *top, long *domproc, gmatrix *gm, double *input, double *output)
void matxvect (gtopology *top, long *domproc, gmatrix *gm, double *input, double *output)
void matxvect (gtopology *top, long *domproc, gmatrix *gm, double *input, double *output)
void matxvect (gtopology *top, long *domproc, gmatrix *gm, double *input, double *output, FILE *out)
void put_into_global_vector (double *ev, double *gv, long nsub)
void put_into_global_vector (double *ev, double *gv, long nsub)
void put_into_global_vector (double *ev, double *gv, long nsub)
void put_into_local_vector (double *ev, double *lv)
void put_into_local_vector (double *ev, double *lv)
void put_into_local_vector (double *ev, double *lv)
void rhs_dpfeti (gtopology *top, long *domproc, gmatrix *gm, FILE *out)
void rhs_dpfeti (gtopology *top, long *domproc, gmatrix *gm)
void rhs_dpfeti (gtopology *top, long *domproc, gmatrix *gm)
void rhs_dpfeti (gtopology *top, long *domproc, gmatrix *gm, FILE *out)
void solve_system (gtopology *top, gmatrix *gm, long *domproc, double *lhs, double *rhs, FILE *out, long mespr)
void solve_system (gtopology *top, gmatrix *gm, long *domproc, double *lhs, double *rhs, FILE *out, long mespr)
void solve_system (gtopology *top, gmatrix *gm, long *domproc, double *lhs, double *rhs, FILE *out, long mespr)
void solve_system (gtopology *top, gmatrix *gm, long *domproc, double *lhs, double *rhs, FILE *out, long mespr)
void vectors_br_bm (gtopology *top, gmatrix *gm, double *condmat, double *condvect, double *rhs, long *domproc, FILE *out)
void vectors_br_bm (gtopology *top, gmatrix *gm, double *condmat, double *condvect, double *rhs)
void vectors_br_bm (gtopology *top, gmatrix *gm, double *condmat, double *condvect, double *rhs)
void vectors_br_bm (gtopology *top, gmatrix *gm, double *condmat, double *condvect, double *rhs, long *domproc, FILE *out)
 ~dpfeti ()
 ~dpfeti ()
 ~dpfeti ()
 ~dpfeti ()

Public Attributes

double aerrcg
double aerrcgdpfeti
 attained error
long anicg
long anicgdpfeti
 number of performed iterations in conjugate gradient method
gmatrixarr
 matrix A_rr
doublebm
 vector b_m
doublebr
 vector b_r
doublecglhs
doublecgrhs
doubledispl
 double
double errcg
double errcgdpfeti
 required error
long * globalcn
long ** globcn
long * inc
 indegamma
doublekrc
 matrix K_rc
long ** lcngcn
long * localcn
long ** loccn
long ** masgcn
long maxinc
long maxnbdof
long maxncdof
int myrank
 rank of processor
long nbn
long * nbndom
long ncdof
 number of corner degrees of freedom on subdomain
long * ncdofdom
long ncn
long * ncndom
long ndof
 number of degrees of freedom on subdomain
int ndom
 number of subdomain
long ndom
 number of subdomain
long nicg
long nicgdpfeti
 maximum number of iterations in conjugate gradient method
long nidof
 number of internal degrees of freedom on subdomain
long * nlbdof
long nlbdof
long * nlbdofdom
long * nodnum
int nproc
 number of processors
 omega
gtopologyptop
storagetype rsmstor
 storage of reduced system matrix
slesolv ssle
 type of linear system solver
slesolvssle
 type of linear system solver
linsolvertype tlinsol
long tncdof
 number of all corner unknowns
long tnmdof
 number of all multipliers
long totmaxndofn
precondtype tprec
redsystsolver trssol
 type of reduced system solver
double zero
 computer zero

Detailed Description

class dpfeti contains information about local-global ordering

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 24 of file dpfeti.h.


Constructor & Destructor Documentation

dpfeti ( int  np,
int  mr,
long  nd 
)

Definition at line 7 of file dpfeti.cpp.

References myrank, ndom, nproc, and ssle.

~dpfeti (  ) 

Definition at line 19 of file dpfeti.cpp.

References bm, br, cglhs, cgrhs, displ, globalcn, globcn, krc, localcn, loccn, ncdofdom, nlbdofdom, and nproc.

dpfeti ( int  np,
int  mr,
int  nd 
)

Definition at line 6 of file dpfeti_new.cpp.

References myrank, ndom, and nproc.

~dpfeti (  ) 
dpfeti ( int  np,
int  mr,
int  nd 
)
~dpfeti (  ) 
dpfeti ( int  np,
int  mr,
long  nd 
)
~dpfeti (  ) 

Member Function Documentation

void arrmatrix ( double condmat,
long *  domproc,
FILE *  out 
)
void arrmatrix ( double condmat  ) 
void arrmatrix ( double condmat  ) 
void arrmatrix ( double condmat,
long *  domproc,
FILE *  out 
)
void cg ( gtopology top,
long *  domproc,
gmatrix gm,
long  iv,
FILE *  out 
)
void cg ( gtopology top,
long *  domproc,
gmatrix gm,
long  iv,
FILE *  out 
)
void cg ( gtopology top,
long *  domproc,
gmatrix gm,
long  iv,
FILE *  out 
)
void cg ( gtopology top,
long *  domproc,
gmatrix gm,
long  iv,
FILE *  out 
)
void compute_displ ( gtopology top,
gmatrix gm,
long *  domproc,
double subdispl,
double rhs 
)
void compute_displ ( gtopology top,
gmatrix gm,
long *  domproc,
double subdispl,
double rhs 
)
void compute_displ ( gtopology top,
gmatrix gm,
long *  domproc,
double subdispl,
double rhs 
)
void compute_displ ( gtopology top,
gmatrix gm,
long *  domproc,
double subdispl,
double rhs,
FILE *  out 
)
void corner_displ ( gtopology top,
long *  domproc,
gmatrix gm 
)
void corner_displ ( gtopology top,
long *  domproc,
gmatrix gm 
)
void corner_displ ( gtopology top,
long *  domproc,
gmatrix gm 
)
void corner_displ ( gtopology top,
long *  domproc,
gmatrix gm,
FILE *  out 
)
void cornodedetection ( gtopology top,
long *  ltg,
long *  domproc,
FILE *  out 
)
void cornodedetection ( gtopology top,
long *  ltg,
long *  domproc,
FILE *  out 
)

function detects corner nodes in general problem

in input file ltg[i]=0 - inner node ltg[i]>0 - boundary node in the code ltg[i]=-1 - inner node ltg[i]>-1 - boundary node

22.9.2003, JK

Definition at line 60 of file dpfeti.cpp.

References gnode::ai, gtopology::gnodes, 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, gtopology::nn, nproc, and stat.

void dpfetiordering ( gtopology top,
long *  ltg 
)
void dpfetiordering ( gtopology top,
long *  ltg 
)
void dpfetiordering ( gtopology top,
long *  ltg 
)
void dpfetiordering ( gtopology top,
long *  ltg 
)

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

Parameters:
top - pointer to topology

JK, 26.11.2002, 10.2.2003

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

Parameters:
top - pointer to topology

JK, 26.11.2002

Definition at line 322 of file dpfeti.cpp.

References gtopology::give_cne(), gtopology::give_dof(), gtopology::give_ndofe(), gtopology::give_ndofn(), gtopology::nbdof, ncdof, ndof, gtopology::ne, gtopology::nidof, nidof, gtopology::nn, and gtopology::save_dof().

void extract_from_global_vector ( double ev,
double gv,
long  nsub 
)
void extract_from_global_vector ( double ev,
double gv,
long  nsub 
)
void extract_from_global_vector ( double ev,
double gv,
long  nsub 
)

function extracts boundary components from local vector localization process is generated by FETI ordering

Parameters:
ev - array containing extracted vector
gv - array containing global vector
nsub - number of subdomain

4.12.2001, 11.2.2003

Definition at line 1147 of file dpfeti.cpp.

References globcn, and nlbdofdom.

Referenced by compute_displ(), corner_displ(), and matxvect().

void extract_from_local_vector ( double ev,
double lv 
)
void extract_from_local_vector ( double ev,
double lv 
)
void extract_from_local_vector ( double ev,
double lv 
)

function extracts boundary components from local vector localization process is generated by FETI ordering

Parameters:
ev - array containing extracted vector
lv - array containing local vector

4.12.2001, 11.2.2003

Definition at line 1075 of file dpfeti.cpp.

References localcn, and nlbdof.

Referenced by matxvect(), rhs_dpfeti(), and vectors_br_bm().

void globcnnum_dpfeti ( gtopology top,
long *  ltg,
long *  domproc,
FILE *  out 
)
void globcnnum_dpfeti ( gtopology top,
long *  ltg,
long *  domproc,
FILE *  out 
)
void globcnnum_dpfeti ( gtopology top,
long *  ltg,
long *  domproc,
FILE *  out 
)
void globcnnum_dpfeti ( gtopology top,
long *  ltg,
long *  domproc,
FILE *  out 
)

function creates code numbers for DP-FETI method

Parameters:
top - topology object pointer
out - output stream

JK, 15.1.2002

Definition at line 423 of file dpfeti.cpp.

References gtopology::give_dof(), gtopology::give_ndofn(), globalcn, globcn, gtopology::initiate(), localcn, loccn, maxnbdof, maxncdof, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, nbn, nbndom, ncdofdom, ncn, ncndom, nlbdof, nlbdofdom, gtopology::nn, nproc, ptop, stat, tncdof, and tnmdof.

void globlocfeti ( gtopology top,
double gv,
double lv 
)

function creates local vector from global vector localization process is generated by FETI ordering

Parameters:
top - topology
gv - array containing global vector
lv - array containing local vector

4.12.2001

Definition at line 881 of file dpfeti_old.cpp.

References gtopology::give_dof(), and nodnum.

void initiate ( selnodes selnodschur,
selnodes selnodfeti 
)
void initiate ( selnodes selnodschur,
selnodes selnodfeti 
)
void locglobfeti ( gtopology top,
double gv,
double lv 
)

function localizes local vector components to global vector localization process is generated by FETI ordering

Parameters:
gv - array containing global vector
lv - array containing local vector

4.12.2001

Definition at line 847 of file dpfeti_old.cpp.

References gtopology::give_dof(), and nodnum.

void matxvect ( gtopology top,
long *  domproc,
gmatrix gm,
double input,
double output 
)
void matxvect ( gtopology top,
long *  domproc,
gmatrix gm,
double input,
double output 
)
void matxvect ( gtopology top,
long *  domproc,
gmatrix gm,
double input,
double output 
)
void matxvect ( gtopology top,
long *  domproc,
gmatrix gm,
double input,
double output,
FILE *  out 
)
void put_into_global_vector ( double ev,
double gv,
long  nsub 
)
void put_into_global_vector ( double ev,
double gv,
long  nsub 
)
void put_into_global_vector ( double ev,
double gv,
long  nsub 
)

function extracts boundary components from local vector localization process is generated by FETI ordering

Parameters:
ev - array containing extracted vector
lv - array containing global vector
nsub - number of subdomain

4.12.2001, 11.2.2003

Definition at line 1178 of file dpfeti.cpp.

References globcn, and nlbdofdom.

Referenced by matxvect(), rhs_dpfeti(), and vectors_br_bm().

void put_into_local_vector ( double ev,
double lv 
)
void put_into_local_vector ( double ev,
double lv 
)
void put_into_local_vector ( double ev,
double lv 
)

function extracts boundary components from local vector localization process is generated by FETI ordering

Parameters:
ev - array containing extracted vector
lv - array containing local vector

4.12.2001, 11.2.2003

Definition at line 1110 of file dpfeti.cpp.

References localcn, and nlbdof.

Referenced by compute_displ(), corner_displ(), and matxvect().

void rhs_dpfeti ( gtopology top,
long *  domproc,
gmatrix gm,
FILE *  out 
)
void rhs_dpfeti ( gtopology top,
long *  domproc,
gmatrix gm 
)
void rhs_dpfeti ( gtopology top,
long *  domproc,
gmatrix gm 
)
void rhs_dpfeti ( gtopology top,
long *  domproc,
gmatrix gm,
FILE *  out 
)
void solve_system ( gtopology top,
gmatrix gm,
long *  domproc,
double lhs,
double rhs,
FILE *  out,
long  mespr 
)
void solve_system ( gtopology top,
gmatrix gm,
long *  domproc,
double lhs,
double rhs,
FILE *  out,
long  mespr 
)
void solve_system ( gtopology top,
gmatrix gm,
long *  domproc,
double lhs,
double rhs,
FILE *  out,
long  mespr 
)
void solve_system ( gtopology top,
gmatrix gm,
long *  domproc,
double lhs,
double rhs,
FILE *  out,
long  mespr 
)
void vectors_br_bm ( gtopology top,
gmatrix gm,
double condmat,
double condvect,
double rhs,
long *  domproc,
FILE *  out 
)
void vectors_br_bm ( gtopology top,
gmatrix gm,
double condmat,
double condvect,
double rhs 
)
void vectors_br_bm ( gtopology top,
gmatrix gm,
double condmat,
double condvect,
double rhs 
)
void vectors_br_bm ( gtopology top,
gmatrix gm,
double condmat,
double condvect,
double rhs,
long *  domproc,
FILE *  out 
)

Member Data Documentation

Definition at line 89 of file dpfeti_new.h.

attained error

Definition at line 96 of file dpfeti.h.

Referenced by cg().

long anicg

Definition at line 85 of file dpfeti_new.h.

number of performed iterations in conjugate gradient method

Definition at line 92 of file dpfeti.h.

Referenced by cg().

matrix A_rr

Definition at line 136 of file dpfeti.h.

Referenced by arrmatrix(), corner_displ(), matxvect(), and rhs_dpfeti().

vector b_m

Definition at line 133 of file dpfeti.h.

Referenced by rhs_dpfeti(), vectors_br_bm(), and ~dpfeti().

vector b_r

Definition at line 131 of file dpfeti.h.

Referenced by corner_displ(), rhs_dpfeti(), vectors_br_bm(), and ~dpfeti().

Definition at line 139 of file dpfeti.h.

Referenced by cg(), compute_displ(), corner_displ(), solve_system(), and ~dpfeti().

Definition at line 138 of file dpfeti.h.

Referenced by cg(), rhs_dpfeti(), solve_system(), and ~dpfeti().

Definition at line 140 of file dpfeti.h.

Referenced by compute_displ(), corner_displ(), solve_system(), and ~dpfeti().

Definition at line 93 of file dpfeti_new.h.

Definition at line 87 of file dpfeti_new.h.

required error

Definition at line 94 of file dpfeti.h.

Referenced by cg().

long * globalcn

Definition at line 83 of file dpfeti.h.

Referenced by globcnnum_dpfeti(), and ~dpfeti().

long ** globcn
long* inc

Definition at line 96 of file dpfeti_old.h.

Definition at line 93 of file dpfeti_new.h.

matrix K_rc

Definition at line 102 of file dpfeti.h.

Referenced by compute_displ(), corner_displ(), matxvect(), rhs_dpfeti(), solve_system(), and ~dpfeti().

long** lcngcn

Definition at line 94 of file dpfeti_old.h.

long * localcn
long ** loccn

Definition at line 109 of file dpfeti.h.

Referenced by globcnnum_dpfeti(), and ~dpfeti().

long** masgcn

Definition at line 115 of file dpfeti_old.h.

long maxinc

Definition at line 78 of file dpfeti_old.h.

long maxnbdof
long maxncdof
int myrank
long nbn

Definition at line 72 of file dpfeti_old.h.

Referenced by cornodedetection(), and globcnnum_dpfeti().

long* nbndom

Definition at line 109 of file dpfeti_old.h.

Referenced by cornodedetection(), and globcnnum_dpfeti().

long ncdof

number of corner degrees of freedom on subdomain

Definition at line 69 of file dpfeti.h.

Referenced by arrmatrix(), compute_displ(), corner_displ(), dpfetiordering(), initiate(), matxvect(), rhs_dpfeti(), solve_system(), and vectors_br_bm().

long * ncdofdom

Definition at line 113 of file dpfeti.h.

Referenced by arrmatrix(), globcnnum_dpfeti(), initiate(), vectors_br_bm(), and ~dpfeti().

long ncn

Definition at line 70 of file dpfeti_old.h.

Referenced by globcnnum_dpfeti().

long* ncndom

Definition at line 111 of file dpfeti_old.h.

Referenced by globcnnum_dpfeti().

long ndof

number of degrees of freedom on subdomain

Definition at line 65 of file dpfeti.h.

Referenced by corner_displ(), dpfetiordering(), matxvect(), rhs_dpfeti(), solve_system(), and vectors_br_bm().

int ndom

number of subdomain

Definition at line 58 of file dpfeti_new.h.

long ndom

number of subdomain

Definition at line 62 of file dpfeti.h.

Referenced by arrmatrix(), compute_displ(), corner_displ(), cornodedetection(), dpfeti(), matxvect(), rhs_dpfeti(), and vectors_br_bm().

long nicg

Definition at line 83 of file dpfeti_new.h.

long nicgdpfeti

maximum number of iterations in conjugate gradient method

Definition at line 90 of file dpfeti.h.

Referenced by cg().

long nidof

number of internal degrees of freedom on subdomain

Definition at line 67 of file dpfeti.h.

Referenced by compute_displ(), corner_displ(), dpfetiordering(), matxvect(), rhs_dpfeti(), solve_system(), and vectors_br_bm().

long* nlbdof

Definition at line 110 of file dpfeti_new.h.

long nlbdof
long * nlbdofdom
long* nodnum

Definition at line 98 of file dpfeti_old.h.

Referenced by globlocfeti(), and locglobfeti().

int nproc

Definition at line 93 of file dpfeti_new.h.

storage of reduced system matrix

Definition at line 122 of file dpfeti.h.

Referenced by arrmatrix().

type of linear system solver

Definition at line 124 of file jkdpf.h.

type of linear system solver

Definition at line 125 of file dpfeti.h.

Referenced by arrmatrix(), and dpfeti().

Definition at line 123 of file dpfeti_new.h.

Referenced by arrmatrix().

long tncdof

number of all corner unknowns

Definition at line 71 of file dpfeti.h.

Referenced by arrmatrix(), corner_displ(), globcnnum_dpfeti(), initiate(), matxvect(), rhs_dpfeti(), solve_system(), and vectors_br_bm().

long tnmdof

number of all multipliers

Definition at line 73 of file dpfeti.h.

Referenced by cg(), globcnnum_dpfeti(), initiate(), matxvect(), rhs_dpfeti(), solve_system(), and vectors_br_bm().

Definition at line 76 of file dpfeti_old.h.

Definition at line 126 of file dpfeti_new.h.

type of reduced system solver

Definition at line 119 of file dpfeti.h.

computer zero

Definition at line 98 of file dpfeti.h.

Referenced by arrmatrix(), and cg().


The documentation for this class was generated from the following files:

Generated by  doxygen 1.6.2