partop Class Reference

#include <partop.h>

List of all members.

Public Member Functions

void assemble_gcnd (gtopology *top, long *domproc, FILE *out)
void assemble_gcnd (gtopology *top, long *domproc, FILE *out)
void assemble_gnn (gtopology *top, long *domproc, FILE *out)
void assemble_multip (long *ltg, long *domproc, FILE *out, char *proc_name)
void assemble_nbnd_nind (long *ltg, long *domproc, FILE *out, char *proc_name)
void assemble_nodmultip (long *ltg, long *domproc, FILE *out, char *proc_name)
void assemble_pgcn (gtopology *top, long *domproc, FILE *out)
void boundary_nodes_on_master (gtopology *top, long *domproc, FILE *out)
void boundary_nodes_on_master (gtopology *top, long *domproc, FILE *out)
void coarse_local_nodes ()
void coarse_local_nodes ()
void code_numbers_on_master (gtopology *top, long *domproc, FILE *out)
void code_numbers_on_master (gtopology *top, long *domproc, FILE *out)
void compute_multiplicity (long *ltg, long *domproc, FILE *out)
void compute_multiplicity (long *ltg, long *domproc, FILE *out)
void control_numbers_of_vertices (gtopology *top, FILE *out)
void control_vertices_on_master (gtopology *top, long *domproc, FILE *out)
void corner_detection (gtopology *top, long *domproc, long *ltg, FILE *out)
void corner_nodes (gtopology *top, FILE *out)
void corner_nodes (gtopology *top, FILE *out)
void corner_nodes2d (gtopology *top, FILE *out)
void corner_nodes2d (gtopology *top, FILE *out)
void corner_nodes3d (gtopology *top, FILE *out)
void corner_nodes3d (gtopology *top, FILE *out)
void coupled_dofs (gtopology *top, long *domproc, FILE *out)
void dof_incidence (gtopology *top, long nbdof)
void dof_incidence (gtopology *top, long nbdof)
void dof_multiplicity (gtopology *top, FILE *out)
void dof_multiplicity (gtopology *top, FILE *out)
void dofind_master (gtopology *top, long *domproc, FILE *out, char *proc_name)
void find_boundary_nodes (long *ltg, long *domproc, FILE *out)
void find_boundary_nodes (long *ltg, long *domproc, FILE *out)
void gcnprep (gtopology *top, long *domproc)
void gcnprep (gtopology *top, long *domproc)
long give_whole_dim (gtopology *top)
long give_whole_elemtype (gtopology *top)
void identification_node (gtopology *top, long *ltg, long *domproc, FILE *out)
void identification_node_2d (gtopology *top, long *ltg, long *domproc, FILE *out)
void identification_node_3d (gtopology *top, long *ltg, long *domproc, FILE *out)
void identification_node_hexa (gtopology *top, long *ltg, long *domproc, FILE *out)
void identification_node_tetra (gtopology *top, long *domproc, FILE *out)
void initiation (gtopology *top, long *ltg)
void initiation (gtopology *top, long *ltg)
void ndofn_master (gtopology *top, long *domproc, FILE *out, char *proc_name)
void node_coarse_global_map (FILE *out, char *proc_name)
void node_coarse_numbers (long *domproc, FILE *out, char *proc_name)
void node_global_numbers (long *domproc, FILE *out, char *proc_name)
void node_local_numbers (FILE *out)
void nodesplit_allnodes (gtopology *top, long *domproc)
void nodesplit_allnodes (gtopology *top, long *domproc)
void nodesplit_bnodes (gtopology *top, long *domproc, FILE *out)
void nodesplit_bnodes (gtopology *top, long *domproc, FILE *out)
void number_of_bdofs_on_nodes (gtopology *top, long *domproc, FILE *out)
void number_of_bdofs_on_nodes (gtopology *top, long *domproc, FILE *out)
void numbers_of_all_dofs_on_subdomains (gtopology *top, long *domproc, FILE *out)
void numbers_of_all_dofs_on_subdomains (gtopology *top, long *domproc, FILE *out)
void numbers_of_all_nodes_on_subdomains (long *domproc, FILE *out)
void numbers_of_all_nodes_on_subdomains (long *domproc, FILE *out)
 partop (int np, int mr, long nd, meshdescription meshd)
 partop (int np, int mr, long nd, meshdescription meshd, char *nameproc, int nl)
void prepare_data (long *domproc, long *ltg, gtopology *top, FILE *out, char *proc_name)
void rewrite_ltg (long *ltg)
void rewrite_ltg (long *ltg)
long schur_ordering (gtopology *top, long *domproc, FILE *out, char *proc_name)
void sort_nodes (FILE *out)
void sort_nodes (FILE *out)
void update_multip (gtopology *top, FILE *out, char *proc_name)
 ~partop ()
 ~partop ()

Public Attributes

long ** allnodes
long * amultip
long * bltg
long * bmultip
long * bnmultip
long ** bnodes
long ** cnbn
long ** coupdof
long * coupdofmas
long ** dofind
long ** dofindmas
long * dofmultip
long ** gcn
long * gcnbn
long ** gcnd
long * gnbn
long ** gnbn
long ** gnbncn
long * gnbndom
long ** gnin
long * gnn
long * icmultip
long * icnbn
long ** icnbnmas
long *** lbcn
long ** ldn
long * lgnbn
long ** llnbn
long * lnbn
long * lnbndom
long * lnin
long * lnindom
long maxnbdof
long maxnbn
long maxndof
long maxnn
meshdescription md
 mesh description
long * multip
int myrank
 rank of processor
long * nalldof
int nameLength
long nbcdof
long nbdof
 the number of boundary/interface DOFs on subdomain
long * nbdofd
long ** nbdofnd
long nbn
long * nbnd
long ncdof
long ndof
 the number of DOFs on subdomain
long ndofcp
 number of DOFs in coarse (reduced) problem
long * ndofnmas
long ndom
 number of domain attached to the processor
long ne
 number of elements on subdomain
long nidof
 the number of internal DOFs on subdomain
long nin
long * nind
long nn
 the number of nodes on subdomain
long * nnsd
long * nodeidentif
long * nodmultip
int nproc
 the number of processors
long * nud
 nud[i]=j - the i-th domain contains j unknowns (degrees of freedom)
long * pgcn
char procName [MPI_MAX_PROCESSOR_NAME]
 name of processor
long ** sid
long tnbn
long tndof
 total number of DOFs in the whole problem
long tnin
long tnnp

Detailed Description

class deals with topology in parallel computations it is superior class to the class gtopology which is used for particular subdomains the class partop manages several classes gtopology

notation:

node multiplicity - number of subdomains which share the node

internal node - node with multiplicity 1, (node inside a subdomain, node not lying on inter-subdomain boundary)

boundary node - node with multiplicity at least 2, (node lying on inter-subdomain boundary)

coarse node - artificial node defined on master which collects appropriate boundary nodes

global ordering - node ordering before mesh partitioning global node numbers - node numbers used in undecomposed mesh (node numbers used before decomposition/partitioning)

local ordering - ordering of subdomains (without respect to remaining subdomains) local node numbers - node numbers used in decomposed mesh (node numbers used after decomposition/partitioning)

coarse ordering - ordering of boundary (interface) nodes only coarse node number - node numbers of boundary nodes only, ordering of all boundary nodes in coarse problem

group ordering - ordering of selected nodes only group node number - only selected nodes are ordered on the whole problem, it is similar to the coarse ordering

mesh description: md = 1 - all nodes have their global node number md = 2 - only boundary nodes have coarse number, internal nodes are denoted by -1 md = 3 - all nodes have their global node number, boundary nodes have their global number multiplied by -1

JK

Definition at line 57 of file partop.h.


Constructor & Destructor Documentation

partop ( int  np,
int  mr,
long  nd,
meshdescription  meshd,
char *  nameproc,
int  nl 
)

constructor

Parameters:
np - number of processors
mr - my rank
nd - number of subdomain
meshd - type of mesh description
*nameproc - name of processor
nl - length of processor name

JK, 3.5.2004

Definition at line 23 of file partop.cpp.

References allnodes, amultip, bltg, bmultip, bnmultip, bnodes, cnbn, coupdof, coupdofmas, dofind, dofindmas, dofmultip, gcnbn, gnbn, gnbncn, gnbndom, gnin, icmultip, icnbn, icnbnmas, lbcn, ldn, lgnbn, llnbn, lnbn, lnbndom, lnin, lnindom, maxnbn, maxndof, maxnn, md, multip, myrank, nalldof, nameLength, nbcdof, nbdofd, nbdofnd, nbn, nbnd, ncdof, ndof, ndofnmas, ndom, ne, nin, nind, nn, nnsd, nodmultip, nproc, procName, sid, tnbn, and tnnp.

~partop (  ) 
partop ( int  np,
int  mr,
long  nd,
meshdescription  meshd 
)

constructor

Parameters:
np - number of processors
mr - my rank
nd - number of subdomain

JK, 3.5.2004

Definition at line 15 of file partop_old.cpp.

References allnodes, bnmultip, cnbn, dofmultip, gcnbn, gnn, lbcn, ldn, lgnbn, llnbn, lnbn, lnin, maxnbn, maxndof, maxnn, md, multip, myrank, nalldof, nbdofd, nbdofnd, nbn, nbnd, ndom, ne, nn, nnsd, nodeidentif, nodmultip, nproc, pgcn, tnbn, and tnnp.

~partop (  ) 

Member Function Documentation

void assemble_gcnd ( gtopology top,
long *  domproc,
FILE *  out 
)
void assemble_gcnd ( gtopology top,
long *  domproc,
FILE *  out 
)

function assembles global code numbers on master processor for using of class parcongrad

function assembles array gcnd gcnd[i][j] = k - the j-th DOF on i-th subdomain has global code number k

Parameters:
top - pointer to gtopology of subdomain
domproc - domain-processor correspondence
out - output file

10.5.2007, JB

function assembles global code numbers on master processor

the following functions have to be called before this function: void initiation (top,ltg); void numbers_of_all_nodes_on_subdomains (top,domproc,out); void compute_multiplicity (top,domproc,out); void find_boundary_nodes (top,domproc,out); void assemble_gnn(gtopology *top,long *domproc,FILE *out); void assemble_pgcn(gtopology *top,long *domproc,FILE *out);

function assembles array gcnd

Parameters:
top - pointer to gtopology of subdomain
domproc - domain-processor correspondence
out - output file

10.5.2007, JB

Definition at line 4304 of file partop.cpp.

References allnodes, bound_nodes, gcnd, gtopology::give_ndofn(), gnn, icnbnmas, lnbndom, maxnbn, maxndof, maxnn, md, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, nbn, nbnd, nn, nnsd, nproc, nud, pgcn, stat, tnbn, tndof, and tnnp.

void assemble_gnn ( gtopology top,
long *  domproc,
FILE *  out 
)

function

param top - pointer to gtopology

10.5.2007, JB

Definition at line 2667 of file partop_old.cpp.

References allnodes, gnn, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, and tndof.

void assemble_multip ( long *  ltg,
long *  domproc,
FILE *  out,
char *  proc_name 
)

function assembles the array bmultip or amultip function computes the variables tnnp or tnbn

this function can assemble also arrays nbnd and nind but the coupled DOFs generate additional boundary/interface nodes which are not known in this function therefore, there is function assemble_nbnd which does it

function determines:

maxnbn - maximum number of boundary/interface nodes on subdomain nbn - number of boundary/interface nodes tnbn - total number of boundary/interface nodes in the problem bnodes - (M) bmultip - (M) maxnbn - maximum number of boundary/interface nodes on subdomain tnnp - (M) total number of nodes in the problem allnodes - (M) amultip - (M)

Parameters:
ltg - local to global correspondence
domproc - array containing domain-processor correspondence
out - output file for auxiliary print
proc_name - processor name

27.7.2009, JK

Definition at line 1741 of file partop.cpp.

References all_nodes, allnodes, amultip, bmultip, bnodes, bound_nodes, maxnbn, maxnn, md, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, nbn, neg_bound_nodes, nn, nnsd, nproc, par_print_err(), stat, tnbn, and tnnp.

Referenced by prepare_data().

void assemble_nbnd_nind ( long *  ltg,
long *  domproc,
FILE *  out,
char *  proc_name 
)

function assembles the arrays nbnd a nind

these arrays are assembled separately in this function they can be assembled in the function assemble_multip but the coupled DOFs generate additional boundary/interface nodes, these nodes are not known in the function assemble_multip

function assembles: nbnd - (M) array of the numbers of boundary/interface nodes nind - array of the numbers of internal nodes tnbn - the total number of all boundary/interface nodes it is computed once again because additional boundary/interface nodes may be added due to the coupled DOFs maxnbn - maximum number of boundary/interface nodes nbn - the number of boundary/interface nodes nin - the number of internal nodes

Parameters:
ltg - local to global correspondence
domproc - array containing domain-processor correspondence
out - output file (for auxiliary output)
proc_name - processor name

JK, 29.7.2009 TKo, 20.5.2010

Definition at line 2838 of file partop.cpp.

References all_nodes, allnodes, amultip, bound_nodes, maxnbn, maxnn, md, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, nbn, nbnd, neg_bound_nodes, nin, nind, nn, nnsd, nproc, par_print_err(), stat, tnbn, tnin, and tnnp.

Referenced by prepare_data().

void assemble_nodmultip ( long *  ltg,
long *  domproc,
FILE *  out,
char *  proc_name 
)

function assembles the array nodmultip

the array nodmultip can be assembled in the function assemble_multip but the coupled DOFs can generate additional boundary/interface nodes

Parameters:
ltg - local to global correspondence
domproc - array containing domain-processor correspondence
out - output file for auxiliary print
proc_name - processor name

27.7.2009, JK

Definition at line 3050 of file partop.cpp.

References all_nodes, allnodes, amultip, bmultip, bound_nodes, maxnn, md, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), myrank, neg_bound_nodes, nn, nnsd, nodmultip, nproc, par_print_err(), stat, and tnbn.

Referenced by prepare_data().

void assemble_pgcn ( gtopology top,
long *  domproc,
FILE *  out 
)
void boundary_nodes_on_master ( gtopology top,
long *  domproc,
FILE *  out 
)
void boundary_nodes_on_master ( gtopology top,
long *  domproc,
FILE *  out 
)

function assembles boundary nodes on the master processor

the following functions have to be called before this function: void initiation (gtopology *top,long *ltg); void numbers_of_all_nodes_on_subdomains (gtopology *top,long *domproc,FILE *out); void compute_multiplicity (gtopology *top,long *domproc,FILE *out); void find_boundary_nodes (gtopology *top,long *domproc,FILE *out);

function establishes:

cnbn - array of coarse numbers of boundary nodes

Parameters:
top - pointer to subdomain topology
domproc - array containing domain-processor correspondence

JK, 30.6.2005

Definition at line 1102 of file partop.cpp.

References gnode::ai, all_nodes, allnodes, bound_nodes, cnbn, gcnbn, gtopology::gnodes, maxnbn, md, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, multip, myrank, nbnd, neg_bound_nodes, nn, nnsd, nproc, stat, tnbn, and tnnp.

void coarse_local_nodes (  ) 
void coarse_local_nodes (  ) 

function assembles correspondence among coarse nodes and local boundary nodes

function assembles:

llnbn - list of local numbers of boundary nodes belonging to coarse node ldn - list of subdomains which contain boundary nodes belonging to coarse node

not checked

JK, 6.7.2005

Definition at line 1261 of file partop.cpp.

References all_nodes, bnmultip, bound_nodes, cnbn, ldn, llnbn, md, multip, myrank, nbnd, nproc, tnbn, and tnnp.

void code_numbers_on_master ( gtopology top,
long *  domproc,
FILE *  out 
)
void code_numbers_on_master ( gtopology top,
long *  domproc,
FILE *  out 
)

function assembles code numbers on master

in fact, it assembles indicators 0 or 1 which will be used later for code number generation

the following functions have to be called before this function: void initiation (gtopology *top,long *ltg); void numbers_of_all_nodes_on_subdomains (gtopology *top,long *domproc,FILE *out); void compute_multiplicity (gtopology *top,long *domproc,FILE *out); void find_boundary_nodes (gtopology *top,long *domproc,FILE *out); void boundary_nodes_on_master (gtopology *top,long *domproc,FILE *out); void number_of_bdofs_on_nodes (gtopology *top,long *domproc,FILE *out);

function assembles:

nbdofd - array containing number of boundary DOFs on subdomains lbcn - array containing local boundary code numbers

Parameters:
top - pointer to general topology
domproc - array containing domain-processor correspondence

JK, 6.7.2005

Definition at line 1485 of file partop.cpp.

References gtopology::give_dof(), gtopology::give_ndofn(), lbcn, lnbn, maxnbdof, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, nbdofd, nbdofnd, nbn, nbnd, nproc, and stat.

void compute_multiplicity ( long *  ltg,
long *  domproc,
FILE *  out 
)
void compute_multiplicity ( long *  ltg,
long *  domproc,
FILE *  out 
)

function computes node multiplicity function is used only for mesh description = all_nodes or neg_bound_nodes

the following functions have to be called before this function: void initiation (gtopology *top,long *ltg); void numbers_of_all_nodes_on_subdomains (gtopology *top,long *domproc,FILE *out);

function establishes: maxnbn - maximum number of boundary nodes

nbn - number of boundary nodes on each subdomain

tnbn - total number of boundary nodes

nbnd - array containing numbers of boundary nodes on subdomains

tnnp - total number of nodes in problem

multip - array of boundary node multiplicity (on the master)

nodmultip - array of node multiplicity (on all processors)

Parameters:
top - pointer to subdomain topology
domproc - array containing domain-processor correspondence

JK, 30.6.2005

function computes node multiplicity function is used only for mesh description = all_nodes or neg_bound_nodes

the following functions have to be called before this function: void initiation (gtopology *top,long *ltg); void numbers_of_all_nodes_on_subdomains (gtopology *top,long *domproc,FILE *out);

function establishes:

tnnp - total number of nodes in problem

multip - array of boundary node multiplicity (on the master)

nodmultip - array of node multiplicity (on all processors)

Parameters:
top - pointer to subdomain topology
domproc - array containing domain-processor correspondence

JK, 30.6.2005

Definition at line 357 of file partop.cpp.

References all_nodes, allnodes, bound_nodes, maxnbn, maxnn, md, memset(), MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, multip, myrank, nbn, nbnd, neg_bound_nodes, nn, nnsd, nodmultip, nproc, stat, tnbn, and tnnp.

void control_numbers_of_vertices ( gtopology top,
FILE *  out 
)

Definition at line 2199 of file partop_old.cpp.

References give_whole_dim(), gtopology::gnodes, nodeidentif, gnode::x, gnode::y, and gnode::z.

Referenced by corner_detection().

void control_vertices_on_master ( gtopology top,
long *  domproc,
FILE *  out 
)
void corner_detection ( gtopology top,
long *  domproc,
long *  ltg,
FILE *  out 
)
void corner_nodes ( gtopology top,
FILE *  out 
)
void corner_nodes ( gtopology top,
FILE *  out 
)
void corner_nodes2d ( gtopology top,
FILE *  out 
)
void corner_nodes2d ( gtopology top,
FILE *  out 
)
void corner_nodes3d ( gtopology top,
FILE *  out 
)
void corner_nodes3d ( gtopology top,
FILE *  out 
)
void coupled_dofs ( gtopology top,
long *  domproc,
FILE *  out 
)

function searches for coupled DOFs which are shared by interfaces

ncdof - the number of coupled DOFs coupdof - (M) array containing number of coupled DOFs on subdomains coupdofmas - (M) array containing suspicious indicators of coupled DOFs nbcdof - the number of boundary/interface coupled DOFs

Parameters:
top - pointer to the general topology
domproc - array containing domain-processor correspondence
out - output file

28.7.2009, JK TKo, 20.5.2010

Definition at line 2119 of file partop.cpp.

References coupdof, coupdofmas, gtopology::give_dof(), gtopology::give_ndofn(), MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, nbcdof, ncdof, nn, nproc, and stat.

Referenced by prepare_data().

void dof_incidence ( gtopology top,
long  nbdof 
)
void dof_incidence ( gtopology top,
long  nbdof 
)
void dof_multiplicity ( gtopology top,
FILE *  out 
)
void dof_multiplicity ( gtopology top,
FILE *  out 
)

function assembles multiplicity of degrees of freedom it is different from the function compute_multiplicity, which computes multiplicity of nodes

JK, 14.6.2007

function assmebles multiplicity of degrees of freedom it is different from the function compute_multiplicity, which computes multiplicity of nodes

JK, 14.6.2007

Definition at line 705 of file partop.cpp.

References dofmultip, gtopology::give_dof(), gtopology::give_ndofn(), ndof, nn, and nodmultip.

void dofind_master ( gtopology top,
long *  domproc,
FILE *  out,
char *  proc_name 
)

function collects id of DOFs on the master

function establishes:

difind_mas -

Parameters:
top - pointer to the general topology
domproc - array containing domain-processor correspondence
out - output file
proc_name - processor name

JK, 28.7.2009

Definition at line 2526 of file partop.cpp.

References allnodes, dofindmas, gtopology::give_dof(), gtopology::give_ndofn(), maxndof, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, ndofnmas, nn, nnsd, nproc, par_print_err(), stat, and tnnp.

Referenced by prepare_data().

void find_boundary_nodes ( long *  ltg,
long *  domproc,
FILE *  out 
)
void find_boundary_nodes ( long *  ltg,
long *  domproc,
FILE *  out 
)

function selects boundary nodes

the following functions have to be called before this function: void initiation (gtopology *top,long *ltg); void numbers_of_all_nodes_on_subdomains (gtopology *top,long *domproc,FILE *out); void compute_multiplicity (gtopology *top,long *domproc,FILE *out);

function establishes:

lgnbn - global numbers of boundary nodes lnbn - local numbers of boundary nodes nin - number of interanl nodes lnin - local numbers of internal nodes

Parameters:
ltg - local to global correspondence
domproc - array containing domain-processor correspondence

JK, 30.6.2005

function selects boundary nodes

the following functions have to be called before this function: void initiation (gtopology *top,long *ltg); void numbers_of_all_nodes_on_subdomains (gtopology *top,long *domproc,FILE *out); void compute_multiplicity (gtopology *top,long *domproc,FILE *out);

function establishes:

maxnbn - maximum number of boundary nodes

nbn - number of boundary nodes on each subdomain

tnbn - total number of boundary nodes

nbnd - array containing numbers of boundary nodes on subdomains

lnbn - local numbers of boundary nodes

Parameters:
ltg - local to global correspondence
domproc - array containing domain-processor correspondence

JK, 30.6.2005

Definition at line 768 of file partop.cpp.

References all_nodes, allnodes, bound_nodes, lgnbn, lnbn, lnin, maxnbn, md, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), multip, myrank, nbn, nbnd, neg_bound_nodes, nin, nn, nnsd, nodmultip, nproc, and stat.

void gcnprep ( gtopology top,
long *  domproc 
)
void gcnprep ( gtopology top,
long *  domproc 
)
long give_whole_dim ( gtopology top  ) 

function recognizes spatial dimension of the mesh

Parameters:
top - general topology

29.5.2007, JB

Definition at line 1589 of file partop_old.cpp.

References elem, gtopology::give_elem_type(), linbar, linhexa, linquad, lintetra, lintriag, ne, quadbar, quadhexa, quadquad, quadtetra, and quadtriag.

Referenced by control_numbers_of_vertices(), and identification_node().

long give_whole_elemtype ( gtopology top  ) 

function recognizes homogeneous or nonhomogeneous meshes

Parameters:
top - general topology

29.5.2007, JB

Definition at line 1541 of file partop_old.cpp.

References elem, gtopology::give_elem_type(), linbar, linhexa, linquad, lintetra, lintriag, ne, quadbar, quadhexa, quadquad, quadtetra, quadtriag, and type.

Referenced by identification_node_3d().

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

Definition at line 1636 of file partop_old.cpp.

References give_whole_dim(), identification_node_2d(), and identification_node_3d().

Referenced by corner_detection().

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

function searches for corner nodes in 2D problems

array nodeidentif contains node identification on subdomain

1 - internal node 2 - edge node 3 - corner node

Parameters:
out - pointer to output file stream
top - pointer to general topology

08.03.2007 JB

Definition at line 1673 of file partop_old.cpp.

References gtopology::adjacnodes_edge(), gtopology::adjacnodesedge, gtopology::nadjacnodesedge, nodeidentif, and nodmultip.

Referenced by identification_node().

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

function searches for corner nodes in 3D problems

array nodeidentif contains node identification on subdomain

1 - internal node 2 - edge and surface node 3 - corner node

Parameters:
out - pointer to output file stream
top - pointer to general topology

08.03.2007 JB

Definition at line 1835 of file partop_old.cpp.

References give_whole_elemtype(), identification_node_hexa(), identification_node_tetra(), and type.

Referenced by identification_node().

void identification_node_hexa ( gtopology top,
long *  ltg,
long *  domproc,
FILE *  out 
)
void identification_node_tetra ( gtopology top,
long *  domproc,
FILE *  out 
)
void initiation ( gtopology top,
long *  ltg 
)
void initiation ( gtopology top,
long *  ltg 
)

function assignes node numbers to auxiliary indicators at nodes

Parameters:
top - pointer to general topology
ltg - array of local to global correcpondence

JK, 1.7.2005

Definition at line 286 of file partop.cpp.

References gnode::ai, all_nodes, bound_nodes, gtopology::gnodes, md, myrank, gtopology::ne, ne, neg_bound_nodes, gtopology::nn, nn, and par_print_err().

Referenced by prepare_data().

void ndofn_master ( gtopology top,
long *  domproc,
FILE *  out,
char *  proc_name 
)

function assembles array ndofnmas it contains the number of DOFs on nodes

Parameters:
top - pointer to the general topology
domproc - array containing domain-processor correspondence
out - output file
proc_name - processor name

JK, 28.7.2009

Definition at line 2408 of file partop.cpp.

References allnodes, gtopology::give_ndofn(), maxnn, memset(), MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, ndofnmas, nn, nnsd, nproc, par_print_err(), stat, and tnnp.

Referenced by prepare_data().

void node_coarse_global_map ( FILE *  out,
char *  proc_name 
)

function assembles coarse - global numbers map

the following arrays are assembled:

gnbncn - (M) global numbers of boundary/interface nodes of the coarse node sid - (M) subdomain id of interface/boundary nodes of the coarse node

Parameters:
out - output file for auxiliary print
proc_name - processor name

JK, 30.7.2009

Definition at line 3694 of file partop.cpp.

References gnbn, gnbncn, icmultip, icnbnmas, myrank, nbnd, nproc, par_print_err(), sid, and tnbn.

Referenced by prepare_data().

void node_coarse_numbers ( long *  domproc,
FILE *  out,
char *  proc_name 
)

function assembles coarse numbers of nodes

the following arrays are assembled:

icnbnmas - (M) coarse numbers of interface/boundary nodes icmultip - (M) number of multiplicity of boundary/interface nodes icnbn - array containing coarse numbers of interface/boundary nodes on one subdomain

Parameters:
domproc - array containing domain-processor correspondence
out - output file for auxiliary print
proc_name - processor name

JK, 29.7.2009

Definition at line 3461 of file partop.cpp.

References all_nodes, allnodes, amultip, bnodes, bound_nodes, icmultip, icnbn, icnbnmas, maxnbn, md, memset(), metis, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), myrank, nbn, nbnd, neg_bound_nodes, nnsd, nproc, par_print_err(), print_err(), stat, tnbn, and tnnp.

Referenced by prepare_data().

void node_global_numbers ( long *  domproc,
FILE *  out,
char *  proc_name 
)

function assembles global numbers of nodes

the following arrays are assembled:

gnbn - (M) global numbers of interface/boundary nodes gnin - (M) global numbers of internal nodes gnbndom - array containing global numbers of interface/boundary nodes on subdomain

Parameters:
domproc - array containing domain-processor correspondence
out - output file for auxiliary print
proc_name - processor name

JK, 30.7.2009

Definition at line 3188 of file partop.cpp.

References all_nodes, allnodes, amultip, bound_nodes, gnbn, gnbndom, gnin, maxnbn, md, memset(), metis, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), myrank, nbn, nbnd, neg_bound_nodes, nind, nnsd, nproc, par_print_err(), and stat.

Referenced by prepare_data().

void node_local_numbers ( FILE *  out  ) 

function assembles local numbers of nodes

the following arrays are assembled:

lnbndom - local numbers of interface/boundary nodes lnindom - local numbers of internal nodes

Parameters:
out - output file for auxiliary print

JK, 16.9.2009

Definition at line 3398 of file partop.cpp.

References lnbndom, lnindom, nbn, nin, nn, nodmultip, and stat.

Referenced by prepare_data().

void nodesplit_allnodes ( gtopology top,
long *  domproc 
)
void nodesplit_allnodes ( gtopology top,
long *  domproc 
)
void nodesplit_bnodes ( gtopology top,
long *  domproc,
FILE *  out 
)
void nodesplit_bnodes ( gtopology top,
long *  domproc,
FILE *  out 
)
void number_of_bdofs_on_nodes ( gtopology top,
long *  domproc,
FILE *  out 
)
void number_of_bdofs_on_nodes ( gtopology top,
long *  domproc,
FILE *  out 
)

function detects numbers of degrees of freedom on boundary nodes

the following functions have to be called before this function: void initiation (gtopology *top,long *ltg); void numbers_of_all_nodes_on_subdomains (gtopology *top,long *domproc,FILE *out); void compute_multiplicity (gtopology *top,long *domproc,FILE *out); void find_boundary_nodes (gtopology *top,long *domproc,FILE *out); void boundary_nodes_on_master (gtopology *top,long *domproc,FILE *out);

function assembles:

nbdofnd - array containing numbers of DOFs on boundary nodes

Parameters:
top - pointer to general topology
domproc - array containing domain-processor correspondence

JK, 6.7.2005

Definition at line 1391 of file partop.cpp.

References gtopology::give_ndofn(), lnbn, maxnbn, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, nbdofnd, nbn, nbnd, nproc, and stat.

void numbers_of_all_dofs_on_subdomains ( gtopology top,
long *  domproc,
FILE *  out 
)
void numbers_of_all_dofs_on_subdomains ( gtopology top,
long *  domproc,
FILE *  out 
)

function collects the numbers of all degrees of freedom on subdomains constrained and prescribed DOFs are taken into account, it means they are added to the number of DOFs

function establishes:

maxndof - maximum number of degrees of freedom on one subdomain it summarizes number of DOFs at nodes belonging to one subdomain it differs from the actual degrees of freedom of subdomains in constraints

nalldof - (M) array of numbers of degrees of freedom on subdomains

Parameters:
top - pointer to the sequential general topology
domproc - array containing domain-processor correspondence
out - output file (for auxiliary output)

JK, 20.3.2007

function collects numbers of all degrees of freedom on subdomains supports and constraints are not taken into account

function establishes:

maxndof - maximum number of degrees of freedom on one subdomain it summarizes number of DOFs at nodes belonging to one subdomain it differs from the actual degrees of freedom of subdomains in constraints

nalldof - array of numbers of degrees of freedom on subdomains

JK, 20.3.2007

Definition at line 2340 of file partop.cpp.

References gtopology::give_ndofn(), maxndof, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, nalldof, nn, nproc, and stat.

Referenced by prepare_data().

void numbers_of_all_nodes_on_subdomains ( long *  domproc,
FILE *  out 
)
void numbers_of_all_nodes_on_subdomains ( long *  domproc,
FILE *  out 
)

function collects numbers of all nodes on subdomains

the following function has to be called before this function: void initiation (gtopology *top,long *ltg);

function establishes:

maxnn - maximum number of nodes on one subdomain nnsd - (M) array containing numbers of nodes on subdomains

Parameters:
domproc - array containing domain-processor correspondence
out - output file (for auxiliary output)

JK, 30.6.2005

function collects numbers of all nodes on subdomains

the following function has to be called before this function: void initiation (gtopology *top,long *ltg);

function establishes:

maxnn - maximum number of nodes on one subdomain

nnsd - array containing numbers of nodes on subdomains

Parameters:
domproc - array containing domain-processor correspondence

JK, 30.6.2005

Definition at line 1658 of file partop.cpp.

References maxnn, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, nn, nnsd, nproc, and stat.

Referenced by prepare_data().

void prepare_data ( long *  domproc,
long *  ltg,
gtopology top,
FILE *  out,
char *  proc_name 
)

function prepares all data needed

Parameters:
domproc - array containing domain-processor correspondence
ltg - local to global correspondence
top - pointer to the sequential general topology
out - output file (used for auxiliary output)
proc_name - processor name

JK, 16.9.2009 TKo, 20.5.2010

Definition at line 4134 of file partop.cpp.

References all_nodes, assemble_multip(), assemble_nbnd_nind(), assemble_nodmultip(), bltg, bound_nodes, coupled_dofs(), dofind_master(), initiation(), lnbn, lnin, maxnbn, md, MPI_Barrier(), MPI_COMM_WORLD, nbcdof, nbn, ndofn_master(), ndom, neg_bound_nodes, nin, nind, nn, gtopology::nn, node_coarse_global_map(), node_coarse_numbers(), node_global_numbers(), node_local_numbers(), numbers_of_all_dofs_on_subdomains(), numbers_of_all_nodes_on_subdomains(), tnin, and update_multip().

void rewrite_ltg ( long *  ltg  ) 
void rewrite_ltg ( long *  ltg  ) 

function rewrites array ltg

JK, 8.8.2007

Definition at line 1070 of file partop.cpp.

References lgnbn, lnbn, nbn, and nn.

long schur_ordering ( gtopology top,
long *  domproc,
FILE *  out,
char *  proc_name 
)

function generates the Schur complement ordering it takes into account the coupled DOFs

ordering of subdomains is performed ordering of the coarse problem is in selnodes::schur_ordering

function determines: ndof - the number of all DOFs (unknowns) nidof - the number of internal DOFs (unknowns) nbdof - the number of boundary/interface DOFs (unknowns)

Parameters:
top - pointer to general topology
domproc - array containing domain-processor correspondence
out - output file
proc_name - processor name

JK, 29.7.2009

Definition at line 3807 of file partop.cpp.

References all_nodes, allnodes, bound_nodes, gnode::cn, gtopology::cnstate, dofind, gtopology::give_cne(), gtopology::give_dof(), gtopology::give_ndofe(), gtopology::give_ndofn(), gtopology::gnodes, lnbndom, lnindom, maxndof, md, metis, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), myrank, nbdof, nbn, ncdof, ndof, ndofnmas, gtopology::ne, nidof, nin, nn, nnsd, nproc, par_print_err(), print_err(), gtopology::save_dof(), and stat.

void sort_nodes ( FILE *  out  ) 
void sort_nodes ( FILE *  out  ) 

function sorts node numbers of nodes shared at coarse node increasingly

not checked

JK, 11.7.2005

Definition at line 1317 of file partop.cpp.

References bnmultip, ldn, llnbn, myrank, nproc, and tnbn.

void update_multip ( gtopology top,
FILE *  out,
char *  proc_name 
)

function updates node multiplicity

function establishes:

tnbn - (M) total number of boundary nodes amultip - (M) array of all node multiplicity, it is assembled if md=all_nodes dofind - (M) array containing DOF indicators

Parameters:
top - pointer to the general topology
out - output file for auxiliary print
proc_name - processor name

JK, 28.7.2009

Definition at line 2661 of file partop.cpp.

References allnodes, amultip, coupdofmas, dofind, dofindmas, myrank, ndofnmas, nnsd, nproc, tnbn, and tnnp.

Referenced by prepare_data().


Member Data Documentation

long ** allnodes

array containing global node numbers this array is assembled for mesh description = all_nodes it contains nproc rows and nn[i] columns allnodes[i][j]=k - the j-th node on the i-th subdomain has global number k array is allocated in function assemble_multip

array containing global node numbers it contains nproc rows and nn[i] columns allnodes[i][j]=k - the j-th node on the i-th subdomain has global number k array is allocated in function compute_multiplicity

Definition at line 467 of file partop.h.

Referenced by assemble_gcnd(), assemble_gnn(), assemble_multip(), assemble_nbnd_nind(), assemble_nodmultip(), assemble_pgcn(), boundary_nodes_on_master(), compute_multiplicity(), dofind_master(), find_boundary_nodes(), ndofn_master(), node_coarse_numbers(), node_global_numbers(), partop(), schur_ordering(), update_multip(), and ~partop().

long* amultip

array containing number of subdomains which each node belongs to it contains tnnp components, multip[i]=j - the i-th node belongs to j subdomains array is assembled in the function assemble_multip (FILE *out)

Definition at line 415 of file partop.h.

Referenced by assemble_multip(), assemble_nbnd_nind(), assemble_nodmultip(), node_coarse_numbers(), node_global_numbers(), partop(), update_multip(), and ~partop().

long* bltg

Definition at line 605 of file partop.h.

Referenced by partop(), prepare_data(), and ~partop().

long* bmultip

array containing number of subdomains which each boundary/interface node belongs to it contains tnbn components, multip[i]=j - the i-th interface/boundary node belongs to j subdomains array is assembled in the function assemble_multip (FILE *out)

Definition at line 408 of file partop.h.

Referenced by assemble_multip(), assemble_nodmultip(), fixnodesel::initiate(), partop(), and ~partop().

long * bnmultip

array containing multiplicity of boundary nodes it is different array from array multip which is defined for all nodes in problem it contains tnbn components bnmultip[i]=j - the i-th boundary node has multiplicity j the i-th boundary node is shared by j subdomains array is allocated in function coarse_local_nodes

Definition at line 235 of file partop.h.

Referenced by feti1::coarse_dofs(), coarse_local_nodes(), feti1::contributing_nodes_dofs(), feti1::number_contributing_nodes_dofs(), partop(), sort_nodes(), and ~partop().

long** bnodes

array containing coarse node numbers this array is assembled for mesh description = bound_nodes it contains nproc rows and nn[i] columns bnodes[i][j]=k - the j-th node on the i-th subdomain has coarse number k if k=-1, the node is internal array is allocated in function assemble_multip

Definition at line 476 of file partop.h.

Referenced by assemble_multip(), node_coarse_numbers(), partop(), and ~partop().

long ** cnbn

array containing coarse node numbers of boundary nodes it contains nproc rows and nbnd[i] columns cnbn[i][j]=k - the j-th boundary node on the i-th subdomain has coarse node number k array is allocated in function boundary_nodes_on_master

Definition at line 208 of file partop.h.

Referenced by boundary_nodes_on_master(), coarse_local_nodes(), feti1::contributing_nodes_dofs(), control_vertices_on_master(), corner_detection(), feti1::number_contributing_nodes_dofs(), partop(), and ~partop().

long** coupdof

array containing indicators of coupled DOFs it has ns, ncdof components coupdof[i][j]=k - the j-th coupled DOFs on the i-th subdomain is shared by k nodes array is allocated in the function coupled_dofs

Definition at line 483 of file partop.h.

Referenced by coupled_dofs(), partop(), and ~partop().

long* coupdofmas

array containing suspicious indicators of coupled DOFs it has ncdof components coupdofmas[i]=0 - the i-th coupled DOF is not a boundary/interface DOF coupdofmas[i]=1 - the i-th coupled DOF is a boundary/interface DOF array is allocated in the function coupled_dofs

Definition at line 491 of file partop.h.

Referenced by coupled_dofs(), partop(), update_multip(), and ~partop().

long** dofind

array containing DOF indicators if there are coupled DOFs, it is not enough to deal with nodes DOFs have to be split to internal and boundary/interface it has tnnp, ndofnmas[i] components dofind[i][j]=0 - the j-th DOF in the i-th node is internal dofind[i][j]=1 - the j-th DOF in the i-th node is boundary/interface array is allocated in the function update_multip

Definition at line 524 of file partop.h.

Referenced by partop(), schur_ordering(), update_multip(), and ~partop().

long** dofindmas

array containing DOF indicators indicators are used for code number generation it has tnnp, ndofnmas[i] components dofindmas[i][j]=k - the j-th DOF in the i-th node has indicator k array is allocated in the function dofind_master

Definition at line 515 of file partop.h.

Referenced by dofind_master(), partop(), update_multip(), and ~partop().

long * dofmultip

array containing number of subdomains which share the degree of freedom it contains ndof components nodmultip[i]=j - the i-th dof belongs to j subdomains array is allocated in function dof_multiplicity

Definition at line 154 of file partop.h.

Referenced by dof_multiplicity(), partop(), and ~partop().

long ** gcn

array containing numbers of DOFs at coarse nodes it contains tnbn components ndofncn[i]=j - the i-th coarse node contains j DOFs array is allocated in function schurordering array containing code numbers at coarse nodes it contains tnbn rows and ndofncn[i] columns cncn[i][j]=k - the j-th unknown at the i-th coarse node has number k array is allocated in function schurordering array containing global code numbers gcn[i][j]=k - the j-th component of the i-th boundary node (the i is the global number of node) is equal to the k

array containing global code numbers gcn[i][j]=k - the j-th component of the i-th boundary node (the i is the global number of node) is equal to the k

Definition at line 270 of file partop.h.

long * gcnbn

array containing correspondence between global and coarse node numbers it contains tnnp components gcnbn[i]=j - the i-th node is the j-th boundary node, j=-1 for internal nodes array is allocated and deallocated in function boundary_nodes_on_master

Definition at line 202 of file partop.h.

Referenced by boundary_nodes_on_master(), and partop().

long ** gcnd

master gcnd[i][j]=k - the j-th unknown on the i-th subdomain has global number k gcnd[i] is a pointer to array with code numbers of the i-th subdomain it is similar to arrays cn on elements, the subdomain plays a role of a superelement

gcnd[i][j]=k - the j-th unknown on the i-th subdomain has global number k gcnd[i] is a pointer to array with code numbers of the i-th subdomain it is similar to arrays cn on elements, the subdomain plays a role of a superelement

Definition at line 595 of file partop.h.

Referenced by assemble_gcnd(), and parcongrad::initiate().

long* gnbn

array containing numbers of DOFs at coarse nodes it contains tnbn components ndofncn[i]=j - the i-th coarse node contains j DOFs array is allocated in function schurordering array containing code numbers at coarse nodes it contains tnbn rows and ndofncn[i] columns cncn[i][j]=k - the j-th unknown at the i-th coarse node has number k array is allocated in function schurordering global numbers of boundary nodes on subdomains it contains nbn components

Definition at line 360 of file partop_old.h.

long** gnbn

global numbers of boundary/interface nodes on the master it contains nproc, nbn components gnbn[i][j]=k - the j-th boundary/interface node on the i-th subdomain has global number k array is allocated and assembled in the function node_global_numbers

Definition at line 548 of file partop.h.

Referenced by node_coarse_global_map(), node_global_numbers(), partop(), and ~partop().

long** gnbncn

global numbers of boundary/interface nodes appropriate to coarse node it contains global numbers of boundary/interafce nodes of each coarse node it contains tnbn rows and icmultip[i] columns gnbncn[i][j]=k - the j-th node shared by the i-th coarse node has global number k aray is allocated in the function node_coarse_global_map

Definition at line 579 of file partop.h.

Referenced by node_coarse_global_map(), partop(), and ~partop().

long* gnbndom

global numbers of boundary/interface nodes on subdomains it contains nbn components gnbndom[i]=j - the i-th boundary/interface node has global number j array is allocated and assembled in the function node_global_numbers

Definition at line 560 of file partop.h.

Referenced by node_global_numbers(), partop(), and ~partop().

long** gnin

global numbers of internal nodes on the master it contains nproc, nin components gnin[i][j]=k - the j-th internal node on the i-th subdomain has global number k array is allocated and assembled in the function node_global_numbers

Definition at line 554 of file partop.h.

Referenced by node_global_numbers(), partop(), and ~partop().

long* gnn

gnn[i]=j - unknows of the i-th node in the problem are located from the j-th position in tha array pgcn gnn contains nn components, where nn is the number of all nodes in the problem

Definition at line 367 of file partop_old.h.

Referenced by assemble_gcnd(), assemble_gnn(), assemble_pgcn(), and partop().

long* icmultip

array containing node multiplicity of boundary/interface nodes it contains tnbn components icmultip[i]=j - the i-th boundary/interface node belongs to j subdomains array is allocated in the function node_coarse_numbers

Definition at line 542 of file partop.h.

Referenced by node_coarse_global_map(), node_coarse_numbers(), partop(), and ~partop().

long* icnbn

array containing coarse numbers of interface/boundary nodes on one subdomain it contains nbn components icnbn[i]=j - the i-th boundary node has coarse number j array is allocated in the function node_coarse_numbers

Definition at line 536 of file partop.h.

Referenced by fixnodesel::initiate(), node_coarse_numbers(), partop(), and ~partop().

long** icnbnmas

array containing coarse numbers of interface/boundary nodes it contains ns, nbnd[i] components icnbnmas[i][j]=k - the j-th boundary node on the i-th subdomain has coarse number k array is allocated in the function node_coarse_numbers

Definition at line 530 of file partop.h.

Referenced by assemble_gcnd(), fixnodesel::initiate(), node_coarse_global_map(), node_coarse_numbers(), partop(), and ~partop().

long *** lbcn

array containing local boundary code numbers lbcn[i][j][k]=m - the k-th DOF on the j-th boundary node on the i-th subdomain has number m array is allocated in function code_numbers_on_master

Definition at line 227 of file partop.h.

Referenced by feti1::coarse_dofs(), code_numbers_on_master(), and partop().

long ** ldn

array containing numbers of subdomain to which coarse nodes belong to it contains tnbn rows and bnmultip[i] columns ldn[i][j]=k - the j-th node belonging to the i-th coarse node belongs to the k-th domain array is allocated in function

Definition at line 247 of file partop.h.

Referenced by feti1::coarse_dofs(), coarse_local_nodes(), feti1::contributing_nodes_dofs(), feti1::number_contributing_nodes_dofs(), partop(), sort_nodes(), and ~partop().

long * lgnbn

array containing list of global numbers of boundary nodes lgnbn[i]=j - the i-th boundary node has global number k

Definition at line 170 of file partop.h.

Referenced by find_boundary_nodes(), partop(), rewrite_ltg(), and ~partop().

long ** llnbn

array containing local numbers of boundary nodes belonging to coarse nodes it contains tnbn rows and bnmultip[i] columns llnbn[i][j]=k - the j-th node belonging to the i-th coarse node has number k array is allocated in function

Definition at line 241 of file partop.h.

Referenced by feti1::coarse_dofs(), coarse_local_nodes(), feti1::contributing_nodes_dofs(), partop(), sort_nodes(), and ~partop().

long * lnbn

array containing numbers of boundary nodes it contains nbn components lnbn[i]=j - the i-th boundary node has local number j array is allocated in function find_boundary_nodes

Definition at line 160 of file partop.h.

Referenced by code_numbers_on_master(), feti1::contributing_nodes_dofs(), control_vertices_on_master(), find_boundary_nodes(), feti1::number_contributing_nodes_dofs(), number_of_bdofs_on_nodes(), partop(), prepare_data(), rewrite_ltg(), and ~partop().

long* lnbndom

local numbers of boundary/interface nodes on subdomains it contains nbn components lnbndom[i]=j - the i-th boundary/interface node has local number j array is allocated and assembled in the function node_local_numbers

Definition at line 566 of file partop.h.

Referenced by assemble_gcnd(), fixnodesel::initiate(), node_local_numbers(), partop(), schur_ordering(), and ~partop().

long * lnin

array containing numbers of internal nodes it contains nin components lnin[i]=j - the i-th internal node has local number j array is allocated in function find_boundary_nodes

Definition at line 166 of file partop.h.

Referenced by find_boundary_nodes(), partop(), prepare_data(), and ~partop().

long* lnindom

local numbers of internal nodes on subdomains it contains nin components lnindom[i]=j - the i-th internal node has local number j array is allocated and assembled in the function node_local_numbers

Definition at line 572 of file partop.h.

Referenced by fixnodesel::initiate(), node_local_numbers(), partop(), schur_ordering(), and ~partop().

long maxnbdof

maximum number of boundary DOFs on one subdomain variable is defined in function code_numbers_on_master

Definition at line 143 of file partop.h.

Referenced by code_numbers_on_master().

long maxnbn

the maximum number of boundary/interface nodes on one subdomain variable is defined in function assemble_multip

maximum number of boundary nodes on one subdomain variable is defined in function find_boundary_nodes

Definition at line 427 of file partop.h.

Referenced by assemble_gcnd(), assemble_multip(), assemble_nbnd_nind(), boundary_nodes_on_master(), compute_multiplicity(), find_boundary_nodes(), fixnodesel::initiate(), node_coarse_numbers(), node_global_numbers(), number_of_bdofs_on_nodes(), partop(), and prepare_data().

long maxndof

the maximum number of all DOFs on one subdomain variable is determined in function numbers_of_all_dofs_on_subdomains

maximum number of all DOFs on one subdomain variables is defined in function numbers_of_all_dofs_on_subdomains

Definition at line 501 of file partop.h.

Referenced by assemble_gcnd(), assemble_pgcn(), dofind_master(), parcongrad::initiate(), numbers_of_all_dofs_on_subdomains(), partop(), and schur_ordering().

long maxnn

the maximum number of nodes on one subdomain variable is determined in function numbers_of_all_nodes_on_subdomains

maximum number of nodes on one subdomain variables is defined in function numbers_of_all_nodes_on_subdomains

Definition at line 394 of file partop.h.

Referenced by assemble_gcnd(), assemble_multip(), assemble_nbnd_nind(), assemble_nodmultip(), compute_multiplicity(), ndofn_master(), numbers_of_all_nodes_on_subdomains(), and partop().

long * multip

array containing number of subdomains which each boundary node belongs to it contains tnnp components multip[i]=j - the i-th node belongs to j subdomains array is allocated in function compute_multiplicity

Definition at line 194 of file partop.h.

Referenced by boundary_nodes_on_master(), coarse_local_nodes(), compute_multiplicity(), find_boundary_nodes(), partop(), and ~partop().

int myrank
long * nalldof

array containing numbers of all degrees of freedom on subdomains nalldof[i]=j - the i-th subdomain contains j degrees of freedom array is allocated in function numbers_of_all_dofs_on_subdomains

array containing numbers of all degrees of freedom on subdomains nalldof[i]=j - the i-th subdomain contains j number of degrees of freedom array is allocated in function numbers_of_all_dofs_on_subdomains

Definition at line 497 of file partop.h.

Referenced by numbers_of_all_dofs_on_subdomains(), partop(), and ~partop().

Definition at line 132 of file partop.h.

Referenced by partop().

long nbcdof

the number of boundary/interface coupled DOFs it is determined in the function coupled_dofs

Definition at line 390 of file partop.h.

Referenced by coupled_dofs(), partop(), and prepare_data().

long nbdof

the number of boundary/interface DOFs on subdomain

Definition at line 376 of file partop.h.

Referenced by schurcompl::initiate(), boundparcongrad::initiate(), and schur_ordering().

long * nbdofd

array containing numbers of boundary DOFs on subdomains it contains nproc components ndofd[i]=j - the i-th domain contains j degrees of freedom on boundary array is allocated in function code_numbers_on_master

Definition at line 222 of file partop.h.

Referenced by code_numbers_on_master(), partop(), and ~partop().

long ** nbdofnd

array containing numbers of DOFs on boundary nodes it contains nproc rows and nbnd[i] columns nbdofnd[i][j]=k - the j-th boundary node on the i-th subdomain contains k degrees of freedom array is allocated in function number_of_bdofs_on_nodes

Definition at line 214 of file partop.h.

Referenced by feti1::coarse_dofs(), code_numbers_on_master(), number_of_bdofs_on_nodes(), partop(), and ~partop().

long nbn

the number of boundary/interface nodes on subdomain variable is determined in function assemble_multip

number of boundary nodes on subdomain variable is defined in function find_boundary_nodes

Definition at line 423 of file partop.h.

Referenced by assemble_gcnd(), assemble_multip(), assemble_nbnd_nind(), code_numbers_on_master(), compute_multiplicity(), find_boundary_nodes(), fixnodesel::initiate(), node_coarse_numbers(), node_global_numbers(), node_local_numbers(), number_of_bdofs_on_nodes(), partop(), prepare_data(), rewrite_ltg(), and schur_ordering().

long * nbnd

array containing the numbers of boundary/interface nodes on subdomains it contains nproc components nbnd[i]=j - the i-th domain contains j boundary/interface nodes array is allocated in function assemble_nbnd_nind

array containing list of numbers of boundary nodes on subdomains it contains nproc components nbnd[i]=j - the i-th domain contains j boundary nodes array is allocated in function find_boundary_nodes

Definition at line 447 of file partop.h.

Referenced by assemble_gcnd(), assemble_nbnd_nind(), boundary_nodes_on_master(), coarse_local_nodes(), code_numbers_on_master(), compute_multiplicity(), feti1::contributing_nodes_dofs(), find_boundary_nodes(), fixnodesel::initiate(), node_coarse_global_map(), node_coarse_numbers(), node_global_numbers(), feti1::number_contributing_nodes_dofs(), number_of_bdofs_on_nodes(), partop(), and ~partop().

long ncdof

the number of coupled DOFs if two or more DOFs are coupled, it means that they have the same code number, they will be localized into one position in vectors and matrices such DOFs are aggregated into one DOF therefore, ncdof is the number of aggregates it is determined in the function coupled_dofs

Definition at line 386 of file partop.h.

Referenced by coupled_dofs(), partop(), and schur_ordering().

long ndof

the number of DOFs on subdomain

number of DOFs on subdomain

Definition at line 372 of file partop.h.

Referenced by dof_multiplicity(), schurcompl::initiate(), boundparcongrad::initiate(), partop(), and schur_ordering().

long ndofcp

number of DOFs in coarse (reduced) problem

Definition at line 185 of file partop.h.

long* ndofnmas

array containing the numbers of DOF on nodes it contains tnnp components ndofnmas[i]=j - the i-th node (in the global ordering) contains j DOFs array is allocated and assembled in the function ndofn_master

Definition at line 508 of file partop.h.

Referenced by dofind_master(), ndofn_master(), partop(), schur_ordering(), update_multip(), and ~partop().

long ndom

number of domain attached to the processor

Definition at line 134 of file partop.h.

Referenced by partop(), and prepare_data().

long ne

number of elements on subdomain

Definition at line 136 of file partop.h.

Referenced by give_whole_dim(), give_whole_elemtype(), initiation(), and partop().

long nidof

the number of internal DOFs on subdomain

Definition at line 374 of file partop.h.

Referenced by schurcompl::initiate(), boundparcongrad::initiate(), and schur_ordering().

long nin

the number of internal nodes variable is defined in function find_boundary_nodes

number of internal nodes variable is defined in function find_boundary_nodes

Definition at line 419 of file partop.h.

Referenced by assemble_nbnd_nind(), find_boundary_nodes(), fixnodesel::initiate(), node_local_numbers(), partop(), prepare_data(), and schur_ordering().

long* nind

array containing the numbers of internal nodes on subdomains it contains nproc components nind[i]=j - the i-th domain contains j internal nodes array is allocated in function assemble_nbnd_nind

Definition at line 453 of file partop.h.

Referenced by assemble_nbnd_nind(), node_global_numbers(), partop(), prepare_data(), and ~partop().

long nn
long * nnsd

array containing the numbers of nodes on subdomains it contains nproc components nnsd[i]=j - j nodes are defined on the i-th subdomain array is allocated in function numbers_of_all_nodes_on_subdomains

array containing number of nodes on subdomain it contains nproc components nnsd[i]=j - j nodes are defined on the i-th subdomain array is allocated in function numbers_of_all_nodes_on_subdomains

Definition at line 401 of file partop.h.

Referenced by assemble_gcnd(), assemble_multip(), assemble_nbnd_nind(), assemble_nodmultip(), boundary_nodes_on_master(), compute_multiplicity(), dofind_master(), find_boundary_nodes(), ndofn_master(), node_coarse_numbers(), node_global_numbers(), numbers_of_all_nodes_on_subdomains(), partop(), schur_ordering(), update_multip(), and ~partop().

long* nodeidentif
long * nodmultip

array containing numbers of subdomains which share the nodes it contains nn components nodmultip[i]=j - the i-th node belongs to j subdomains array is allocated in function assemble_multip

array containing number of subdomains which share the nodes it contains nn components nodmultip[i]=j - the i-th node belong to j subdomains array is allocated in function compute_multiplicity

Definition at line 459 of file partop.h.

Referenced by assemble_nodmultip(), compute_multiplicity(), dof_multiplicity(), find_boundary_nodes(), identification_node_2d(), identification_node_hexa(), identification_node_tetra(), fixnodesel::initiate(), node_local_numbers(), partop(), and ~partop().

int nproc
long * nud

nud[i]=j - the i-th domain contains j unknowns (degrees of freedom)

master nud[i]=j - the i-th domain contains j unknowns (degrees of freedom)

Definition at line 589 of file partop.h.

Referenced by assemble_gcnd(), and parcongrad::initiate().

long* pgcn

pgcn[gnn[i]+k]=j - the k-th unknown at the i-th node has number j pgcn contains gndof components, where gndof is the sum of all possible DOFs, it means that constraints are not taken into account

Definition at line 372 of file partop_old.h.

Referenced by assemble_gcnd(), assemble_pgcn(), and partop().

char procName[MPI_MAX_PROCESSOR_NAME]

name of processor

Definition at line 130 of file partop.h.

Referenced by partop().

long** sid

subdomain id of interface/boundary nodes appropriate to coarse node it contains tnbn rows and icmultip[i] columns sid[i][j]=k - the j-th node shared by the i-th coarse node belongs to the k-th subdomain array is allocated in the function node_coarse_local_map or node_coarse_global_map

Definition at line 585 of file partop.h.

Referenced by node_coarse_global_map(), partop(), and ~partop().

long tnbn

the total number of boundary/interface nodes variable is defined in function assemble_multip

total number of boundary nodes variable is defined in function find_boundary_nodes

Definition at line 431 of file partop.h.

Referenced by assemble_gcnd(), assemble_multip(), assemble_nbnd_nind(), assemble_nodmultip(), boundary_nodes_on_master(), feti1::coarse_dofs(), coarse_local_nodes(), compute_multiplicity(), feti1::contributing_nodes_dofs(), fixnodesel::initiate(), node_coarse_global_map(), node_coarse_numbers(), partop(), sort_nodes(), update_multip(), and ~partop().

long tndof

total number of DOFs in the whole problem

Definition at line 181 of file partop.h.

Referenced by assemble_gcnd(), assemble_gnn(), assemble_pgcn(), and parcongrad::initiate().

long tnin

the total number of internal nodes variable is defined in function assemble_multip

Definition at line 435 of file partop.h.

Referenced by assemble_nbnd_nind(), and prepare_data().

long tnnp

the total number of nodes in the whole problem variable is defined in function compute_multiplicity

total number of nodes in the whole problem variable is defined in function compute_multiplicity

Definition at line 440 of file partop.h.

Referenced by assemble_gcnd(), assemble_multip(), assemble_nbnd_nind(), boundary_nodes_on_master(), coarse_local_nodes(), compute_multiplicity(), dofind_master(), ndofn_master(), node_coarse_numbers(), partop(), update_multip(), and ~partop().


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

Generated by  doxygen 1.6.2