parcongrad Class Reference

#include <parcongrad.h>

List of all members.

Public Member Functions

void buff_coarse (double *cv, double *buff, long nd)
void buff_local (double *lv, double *buff)
void coarse_buff (double *cv, double *buff, long nd)
void coarse_problem_ordering (long *domproc, gtopology *top, partop *ptop, FILE *out)
void initiate (partop *ptop, gtopology *top, FILE *out)
void local_buff (double *lv, double *buff)
double mod_scal_prod (double *u, double *v)
 parcongrad (int np, int mr, long nd, long mes)
void solve_system (partop *ptop, gtopology *top, gmatrix *gm, long *domproc, double *lhs, double *rhs, FILE *out, long iv)
void subdomain_ordering (partop *ptop, gtopology *top, FILE *out)
 ~parcongrad ()

Public Attributes

long ** bcn
double err
long * lbdof
 list of boundary DOFs
long * lidof
 list of internal DOFs
long maxnbdof
 maximum number of boundary DOFs on one subdomain
long maxndof
long mespr
 message printing
int myrank
 rank of processor
long nbdof
 number of boundary degrees of freedom on subdomain
long * nbdofdom
 array containing numbers of boundary DOFs on subdomains
long nbn
 number of boundary nodes on subdomain
long ndof
 number of degrees of freedom on subdomain
long ndofcp
 DATA DEFINED ONLY ON MASTER.
long * ndofdom
long ndom
 number of subdomain
long ni
long nidof
 number of internal degrees of freedom on subdomain
int nproc
 number of processors
long tndof

Detailed Description

Definition at line 14 of file parcongrad.h.


Constructor & Destructor Documentation

parcongrad ( int  np,
int  mr,
long  nd,
long  mes 
)

Constructor of class parcongrad

Definition at line 9 of file parcongrad.cpp.

References maxnbdof, mespr, myrank, nbdof, nbn, ndof, ndom, and nproc.

~parcongrad (  ) 

Definition at line 21 of file parcongrad.cpp.


Member Function Documentation

void buff_coarse ( double *  cv,
double *  buff,
long  nd 
)

function scaters boundary DOFs from buffer to coarse vector

Parameters:
lv - local vector
buff - buffer
nd - number of subdomain

JK, 4.1.2006

Definition at line 52 of file parcongrad.cpp.

References bcn, and ndofdom.

Referenced by solve_system().

void buff_local ( double *  lv,
double *  buff 
)
void coarse_buff ( double *  cv,
double *  buff,
long  nd 
)

function scaters boundary DOFs from buffer to coarse vector

Parameters:
lv - local vector
buff - buffer
nd - number of subdomain

JK, 4.1.2006

Definition at line 72 of file parcongrad.cpp.

References bcn, and ndofdom.

Referenced by solve_system().

void coarse_problem_ordering ( long *  domproc,
gtopology top,
partop ptop,
FILE *  out 
)
void initiate ( partop ptop,
gtopology top,
FILE *  out 
)
void local_buff ( double *  lv,
double *  buff 
)
double mod_scal_prod ( double *  u,
double *  v 
)
void solve_system ( partop ptop,
gtopology top,
gmatrix gm,
long *  domproc,
double *  lhs,
double *  rhs,
FILE *  out,
long  iv 
)

function solves system of algebraic equations by parallel conjugate gradient method

Parameters:
top - topology
gm - matrix of the system
domproc - domain-processor correspondence
lhs - array containing solution of the system
rhs - array containing right hand side
out - output stream
iv - initial values indicator

iv=0 - initial vector is zero vector iv=1 - initial vector is taken from x array

JK, 4.1.2006

Definition at line 101 of file parcongrad.cpp.

References buff_coarse(), coarse_buff(), copyv(), err, gmatrix::gmxv(), maxndof, mespr, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_DOUBLE, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, ndof, ni, nproc, nullv(), p, ss(), stat, subv(), and tndof.

void subdomain_ordering ( partop ptop,
gtopology top,
FILE *  out 
)

Member Data Documentation

long** bcn

Definition at line 66 of file parcongrad.h.

Referenced by buff_coarse(), coarse_buff(), and initiate().

double err

Definition at line 73 of file parcongrad.h.

Referenced by solve_system().

long* lbdof

list of boundary DOFs

Definition at line 53 of file parcongrad.h.

long* lidof

list of internal DOFs

Definition at line 55 of file parcongrad.h.

long maxnbdof

maximum number of boundary DOFs on one subdomain

Definition at line 50 of file parcongrad.h.

Referenced by parcongrad().

long maxndof

Definition at line 69 of file parcongrad.h.

Referenced by initiate(), and solve_system().

long mespr

message printing

Definition at line 32 of file parcongrad.h.

Referenced by parcongrad(), and solve_system().

int myrank

rank of processor

Definition at line 37 of file parcongrad.h.

Referenced by parcongrad(), and solve_system().

long nbdof

number of boundary degrees of freedom on subdomain

Definition at line 46 of file parcongrad.h.

Referenced by parcongrad().

long* nbdofdom

array containing numbers of boundary DOFs on subdomains

Definition at line 64 of file parcongrad.h.

long nbn

number of boundary nodes on subdomain

Definition at line 48 of file parcongrad.h.

Referenced by parcongrad().

long ndof

number of degrees of freedom on subdomain

Definition at line 42 of file parcongrad.h.

Referenced by initiate(), parcongrad(), and solve_system().

long ndofcp

DATA DEFINED ONLY ON MASTER.

number of global DOFs = total number of boundary DOFs number of DOFs of coarse problem

Definition at line 61 of file parcongrad.h.

long* ndofdom

Definition at line 71 of file parcongrad.h.

Referenced by buff_coarse(), coarse_buff(), and initiate().

long ndom

number of subdomain

Definition at line 39 of file parcongrad.h.

Referenced by parcongrad().

long ni

Definition at line 72 of file parcongrad.h.

Referenced by solve_system().

long nidof

number of internal degrees of freedom on subdomain

Definition at line 44 of file parcongrad.h.

int nproc

number of processors

Definition at line 35 of file parcongrad.h.

Referenced by parcongrad(), and solve_system().

long tndof

Definition at line 70 of file parcongrad.h.

Referenced by initiate(), and solve_system().


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

Generated by  doxygen 1.6.2