#include <partop.h>
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 |
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.
partop | ( | int | np, | |
int | mr, | |||
long | nd, | |||
meshdescription | meshd, | |||
char * | nameproc, | |||
int | nl | |||
) |
constructor
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 | ( | ) |
destructor
JK, 3.5.2004
Definition at line 165 of file partop.cpp.
References allnodes, amultip, bltg, bmultip, bnmultip, bnodes, cnbn, coupdof, coupdofmas, dofind, dofindmas, dofmultip, gnbn, gnbncn, gnbndom, gnin, icmultip, icnbn, icnbnmas, ldn, lgnbn, llnbn, lnbn, lnbndom, lnin, lnindom, multip, myrank, nalldof, nbdofd, nbdofnd, nbnd, ndofnmas, nind, nnsd, nodmultip, nproc, sid, tnbn, and tnnp.
partop | ( | int | np, | |
int | mr, | |||
long | nd, | |||
meshdescription | meshd | |||
) |
constructor
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 | ( | ) |
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
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
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)
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
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
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 | |||
) |
Definition at line 2838 of file partop_old.cpp.
References allnodes, gtopology::give_ndofn(), gnn, maxndof, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, pgcn, and tndof.
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
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
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)
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)
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 | |||
) |
Definition at line 2359 of file partop_old.cpp.
References cnbn, lnbn, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, and nodeidentif.
Referenced by corner_detection().
void corner_detection | ( | gtopology * | top, | |
long * | domproc, | |||
long * | ltg, | |||
FILE * | out | |||
) |
Definition at line 2518 of file partop_old.cpp.
References cnbn, control_numbers_of_vertices(), control_vertices_on_master(), identification_node(), MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_Barrier(), MPI_COMM_WORLD, MPI_LONG, MPI_Recv(), MPI_Send(), MPI_Status::MPI_TAG, myrank, and nodeidentif.
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
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 -
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
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
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
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
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
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
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 | |||
) |
Definition at line 1882 of file partop_old.cpp.
References gtopology::adjacnodes_edge(), gtopology::adjacnodesedge, gtopology::nadjacnodesedge, nodeidentif, and nodmultip.
Referenced by identification_node_3d().
void identification_node_tetra | ( | gtopology * | top, | |
long * | domproc, | |||
FILE * | out | |||
) |
Definition at line 2076 of file partop_old.cpp.
References gtopology::adjacnodes_edge(), gtopology::adjacnodesedge, gtopology::nadjacnodesedge, nodeidentif, and nodmultip.
Referenced by identification_node_3d().
void initiation | ( | gtopology * | top, | |
long * | ltg | |||
) |
void initiation | ( | gtopology * | top, | |
long * | ltg | |||
) |
function assignes node numbers to auxiliary indicators at nodes
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
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
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
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
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
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
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
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
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
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
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 | ) |
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)
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 | ) |
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
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().
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
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().
mesh description
Definition at line 368 of file partop.h.
Referenced by assemble_gcnd(), assemble_multip(), assemble_nbnd_nind(), assemble_nodmultip(), boundary_nodes_on_master(), coarse_local_nodes(), compute_multiplicity(), find_boundary_nodes(), initiation(), node_coarse_numbers(), node_global_numbers(), partop(), prepare_data(), and schur_ordering().
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 |
rank of processor
Definition at line 366 of file partop.h.
Referenced by assemble_gcnd(), assemble_gnn(), assemble_multip(), assemble_nbnd_nind(), assemble_nodmultip(), assemble_pgcn(), boundary_nodes_on_master(), coarse_local_nodes(), code_numbers_on_master(), compute_multiplicity(), control_vertices_on_master(), corner_detection(), coupled_dofs(), dofind_master(), find_boundary_nodes(), initiation(), ndofn_master(), node_coarse_global_map(), node_coarse_numbers(), node_global_numbers(), number_of_bdofs_on_nodes(), numbers_of_all_dofs_on_subdomains(), numbers_of_all_nodes_on_subdomains(), partop(), schur_ordering(), sort_nodes(), update_multip(), and ~partop().
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().
int nameLength |
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* 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 |
the number of nodes on subdomain
number of nodes on subdomain
Definition at line 370 of file partop.h.
Referenced by assemble_gcnd(), assemble_multip(), assemble_nbnd_nind(), assemble_nodmultip(), boundary_nodes_on_master(), compute_multiplicity(), coupled_dofs(), dof_multiplicity(), dofind_master(), find_boundary_nodes(), initiation(), ndofn_master(), node_local_numbers(), numbers_of_all_dofs_on_subdomains(), numbers_of_all_nodes_on_subdomains(), partop(), prepare_data(), rewrite_ltg(), and schur_ordering().
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 |
Definition at line 241 of file partop_old.h.
Referenced by control_numbers_of_vertices(), control_vertices_on_master(), corner_detection(), identification_node_2d(), identification_node_hexa(), identification_node_tetra(), and partop().
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 |
the number of processors
number of processors
Definition at line 364 of file partop.h.
Referenced by assemble_gcnd(), assemble_multip(), assemble_nbnd_nind(), assemble_nodmultip(), boundary_nodes_on_master(), coarse_local_nodes(), code_numbers_on_master(), compute_multiplicity(), coupled_dofs(), dofind_master(), find_boundary_nodes(), ndofn_master(), node_coarse_global_map(), node_coarse_numbers(), node_global_numbers(), number_of_bdofs_on_nodes(), numbers_of_all_dofs_on_subdomains(), numbers_of_all_nodes_on_subdomains(), partop(), schur_ordering(), sort_nodes(), update_multip(), and ~partop().
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] |
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().