seqselnodes Class Reference

#include <seqselnodes.h>

List of all members.

Public Member Functions

void contrib_dofs_cn (FILE *out)
void contrib_dofs_ln (gtopology *top, FILE *out)
void define_feti_implementation (fetiimplem fi)
 function defines the type of implementation of the FETI method
void dof_feti (gtopology *top, FILE *out)
 function assembles array snndofmas
void dof_indicators (gtopology *top, FILE *out)
void ndofn_on_master (gtopology *top, FILE *out)
void node_coarse_numbers (FILE *out)
void number_all_dofs (gtopology *top, FILE *out)
void number_contrib_dofs (gtopology *top, FILE *out)
 variable fetiimpl is determined
long prepare_feti (fetiimplem fi, gtopology *top, FILE *out)
void prepare_schur (gtopology *top, FILE *out)
void schur_ordering (long **dofind, FILE *out)
 seqselnodes (long nd, long *nnsd, long **jj, long **nodmultip, long **ggnbn, long **icnbnmas, long itnbn, long *iicmultip, long **ilnbncn, long **iggnbncn, long **isid, meshdescription d, FILE *out, long mespr)
 ~seqselnodes ()

Public Attributes

long ** cndofmas
long ** cnsnmas
long ** codensn
long **** doffeti
fetiimplem fetiimpl
long ** ggnbncn
long ** ggnsn
long * icmultip
long ** lnbncn
long ** lndofmas
long ** lnsn
meshdescription md
long * ndofnsn
long ns
long * nsnmas
long ** sid
long *** sndofmas
long ** snggnbncn
long * snicmultip
long ** snlnbncn
long * snndofmas
long ** snndofnmas
long ** snsid
long tnbn
long tndofsn
long tnsn

Detailed Description

class deals with selected nodes on subdomains the class is sequential version of the class selnodes nodes could be selected for Schur complement method, FETI method, etc.

JK, 14.9.2007

Definition at line 16 of file seqselnodes.h.


Constructor & Destructor Documentation

seqselnodes ( long  nd,
long *  nnsd,
long **  jj,
long **  nodmultip,
long **  ggnbn,
long **  icnbnmas,
long  itnbn,
long *  iicmultip,
long **  ilnbncn,
long **  iggnbncn,
long **  isid,
meshdescription  d,
FILE *  out,
long  mespr 
)

constructor

Parameters:
nd - number of subdomains
nnsd - number of all nodes on subdomains
jj - array containing list of selected nodes it contains nd,innsd[i] components
nodmultip - array containing number of subdomains which share the nodes
ggnbn - array containing global glued numbers of boundary/interface nodes
icnbnmas - array containing coarse numbers of interface/boundary nodes it contains nd,nbnd[i] components
itnbn - total number of boundary/interface nodes
iicmultip - array containing node multiplicity of boundary/interface nodes
ilnbncn - local numbers of boundary/interface nodes appropriate to coarse node
iggnbncn - global glued numbers of boundary/interface nodes appropriate to coarse node
isid - subdomain id of interface/boundary nodes of the coarse node
d - type of mesh description
out - output stream
mespr - message printing indicator

jj[i][k]>-1 - the k-th node on the i-th subdomain is selected

ns - number of subdomains is determined tnbn - total number of boundary nodes is determined md - mesh description is determined nsnmas - array of numbers of selected nodes on subdomains is assembled ggnsn - array of global glued numbers of selected nodes is assembled cnsnmas - array of coarse numbers of selected boundary/interface nodes is assembled icmultip - array of multiplicity of all boundary/interface nodes is assembled ggnbncn - local numbers of boundary/interface nodes appropriate to coarse node sid - subdomain id of interface/boundary nodes appropriate to coarse node

JK, 14.9.2007, 5.7.2009

Definition at line 45 of file seqselnodes.cpp.

References cndofmas, cnsnmas, codensn, doffeti, fetiimpl, ggnbncn, ggnsn, icmultip, lnbncn, lnsn, md, ndofnsn, no_impl, ns, nsnmas, print_err(), sid, sndofmas, snggnbncn, snicmultip, snlnbncn, snndofmas, snndofnmas, snsid, tnbn, tndofsn, and tnsn.

~seqselnodes (  ) 

destructor

JK, 14.9.2007

Definition at line 235 of file seqselnodes.cpp.

References cndofmas, cnsnmas, codensn, ggnbncn, ggnsn, icmultip, ndofnsn, ns, nsnmas, sid, sndofmas, snggnbncn, snicmultip, snndofmas, snndofnmas, snsid, tnbn, and tnsn.


Member Function Documentation

void contrib_dofs_cn ( FILE *  out  ) 

function assembles coarse code numbers of DOFs contributing to the coarse proble in the FETI method

Parameters:
out - output file

JK, 14.9.2007, revised 5.10.2009

Definition at line 2574 of file seqselnodes.cpp.

References boolean_matrices, cndofmas, doffeti, fetiimpl, ndofnsn, nonredundant, ns, print_err(), redundant, snicmultip, snndofmas, snsid, and tnsn.

Referenced by prepare_feti().

void contrib_dofs_ln ( gtopology top,
FILE *  out 
)

function assembles local number of DOFs contributing to the coarse problem in the FETI method

Parameters:
top - pointer to the topology
out - output file

JK, 14.9.2007, revised 2.10.2009

Definition at line 2362 of file seqselnodes.cpp.

References boolean_matrices, doffeti, fetiimpl, gtopology::give_dof(), gtopology::give_ndofn(), lndofmas, ndofnsn, nonredundant, ns, print_err(), redundant, snggnbncn, snicmultip, snndofmas, snsid, and tnsn.

Referenced by prepare_feti().

void define_feti_implementation ( fetiimplem  fi  ) 

function defines the type of implementation of the FETI method

function computes multiplicity of selected nodes

function assembles array nodmultip

JK, 14.9.2007 function assembles lists of connected nodes to coarse nodes and numbers of subdomains which contain connected nodes

arrays ljn and lsn are assembled

JK, 14.9.2007 function assembles indicators of code numbers and then generates code numbers

JK, 14.9.2007 function determines the multiplicity of unknowns the multiplicity of unknown is obtained from the multiplicity of nodes

array dofmultip is allocated and assembled

Parameters:
out - output file

JB function determines number of contributions to coarse problem from particular subdomains

maxndof is rewritten ndofdom is rewritten

array ncn is assembled

JK, 14.9.2007 function assmebles nodes contributing to the coarse proble in the FETI method

JK, 14.9.2007 function defines type of implementation of the FETI method possible types can be found in the file galias.h

Parameters:
fi - type of the FETI implementation

JK, 29.9.2009

Definition at line 1979 of file seqselnodes.cpp.

References fetiimpl.

Referenced by prepare_feti().

void dof_feti ( gtopology top,
FILE *  out 
)

function assembles array snndofmas

function assembles indicators of code numbers and then generates code numbers

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

JK, 14.9.2007, revised 29.9.2009

Definition at line 2108 of file seqselnodes.cpp.

References boolean_matrices, doffeti, fetiimpl, gtopology::give_dof(), gtopology::give_ndofn(), ndofnsn, nonredundant, print_err(), redundant, snggnbncn, snicmultip, tndofsn, and tnsn.

Referenced by prepare_feti().

void dof_indicators ( gtopology top,
FILE *  out 
)

function assembles DOFs indicators at selected nodes

function assembles the array sndofmas - array of DOFs or indicators at selected nodes

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

JK, 14.9.2007

Definition at line 619 of file seqselnodes.cpp.

References ggnsn, gtopology::give_dof(), ns, nsnmas, sndofmas, and snndofnmas.

Referenced by prepare_schur().

void ndofn_on_master ( gtopology top,
FILE *  out 
)

function collects numbers of DOFs on selected nodes numbers are stored on master in the array snndofnmas

array snndofnmas is assembled

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

JK, 31.7.2007

Definition at line 571 of file seqselnodes.cpp.

References ggnsn, gtopology::give_ndofn(), ns, nsnmas, and snndofnmas.

Referenced by prepare_schur().

void node_coarse_numbers ( FILE *  out  ) 

function collects node numbers on master

function assembles arrays:

snicmultip - number of multiplicity of selected boundary/interface nodes snggnbncn - global glued numbers of selected boundary/interface nodes appropriate to coarse node snsid - subdomain id of selected interface/boundary nodes of the coarse node

tnsn - total number of selected nodes

Parameters:
out - output file

5.7.2009, JK

Definition at line 364 of file seqselnodes.cpp.

References cnsnmas, ggnbncn, icmultip, lnbncn, ns, nsnmas, sid, snggnbncn, snicmultip, snlnbncn, snsid, tnbn, and tnsn.

Referenced by prepare_feti(), and prepare_schur().

void number_all_dofs ( gtopology top,
FILE *  out 
)

function searches for all possible DOFs in selected nodes prescribed DOFs are included

function assembles the following array: snndofmas - array of numbers of DOFs on subdomains at selected nodes

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

JK, 31.7.2007

Definition at line 533 of file seqselnodes.cpp.

References ggnsn, gtopology::give_ndofn(), ns, nsnmas, and snndofmas.

Referenced by prepare_schur().

void number_contrib_dofs ( gtopology top,
FILE *  out 
)

variable fetiimpl is determined

function determines the number of contributions to the coarse problem from particular subdomains

function searches for all possible contributing DOFs in selected nodes prescribed DOFs are included

if a node is shared by n subdomains, it may contribute n-1 times this strategy is used in the FETI method in the case of the Schur complement method, each node contributes only once

function assembles the following array: snndofmas - array of numbers of contributing DOFs on subdomains in selected nodes

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

JK, 29.9.2009

Definition at line 2000 of file seqselnodes.cpp.

References boolean_matrices, cnsnmas, fetiimpl, ggnsn, gtopology::give_ndofn(), nonredundant, ns, nsnmas, print_err(), redundant, snggnbncn, snicmultip, snndofmas, snsid, and tnsn.

Referenced by prepare_feti().

long prepare_feti ( fetiimplem  fi,
gtopology top,
FILE *  out 
)

function prepares all data for the FETI method

Parameters:
fi - type of FETI implementation, possibilities are in the file galias.h
gt - pointer to the general topology
out - output file

JK, 18.11.2007

Definition at line 2690 of file seqselnodes.cpp.

References gtopology::cngen, gtopology::codenum_generation(), contrib_dofs_cn(), contrib_dofs_ln(), define_feti_implementation(), dof_feti(), node_coarse_numbers(), and number_contrib_dofs().

Referenced by slesolv::prepare_data().

void prepare_schur ( gtopology top,
FILE *  out 
)

function generates the Schur complement ordering

array codensn and ndofnsn are assembled

Parameters:
out - output file

JK, 10.7.2009 function generates the Schur complement ordering

array codensn and ndofnsn are assembled

Parameters:
out - output file

JK, 10.7.2009 function prepares all data for the Schur complement method

Parameters:
gt - pointer to the general topology
out - output file

JK, 21.5.2009

Definition at line 1411 of file seqselnodes.cpp.

References dof_indicators(), seqtop::dofind, ndofn_on_master(), node_coarse_numbers(), number_all_dofs(), schur_ordering(), and gtopology::stop.

Referenced by slesolv::prepare_data().

void schur_ordering ( long **  dofind,
FILE *  out 
)

function generates the Schur complement ordering

array codensn and ndofnsn are assembled

Parameters:
out - output file

JK, 10.7.2009

Definition at line 677 of file seqselnodes.cpp.

References cndofmas, cnsnmas, codensn, g, ggnsn, ndofnsn, ns, nsnmas, sndofmas, snndofmas, snndofnmas, tndofsn, and tnsn.

Referenced by prepare_schur().


Member Data Documentation

long** cndofmas

coarse code numbers of subdomains considered as superelements it contains ns, snndofmas[i] components cndofmas[i][j]=k - the j-th DOF on the i-th subdomain has coarse code number k array is allocated in the function schur_ordering or contrib_dofs_cn

Definition at line 218 of file seqselnodes.h.

Referenced by contrib_dofs_cn(), seqschur::initiate(), seqfeti::initiate(), schur_ordering(), seqselnodes(), and ~seqselnodes().

long** cnsnmas

coarse numbers of selected nodes cnsnmas contains ns, nsnmas[i] components cnsnmas[i][j]=k - the j-th selected node on the i-th subdomain has coarse number k array is allocated in the constructor

Definition at line 114 of file seqselnodes.h.

Referenced by node_coarse_numbers(), number_contrib_dofs(), schur_ordering(), seqselnodes(), and ~seqselnodes().

long** codensn

code numbers at selected nodes on master it contains tnsn, ndofnsn[i] components cnm[i][j]=k - the j-th DOF at the i-th selected node has code number / indicator k array is allocated in the function schur_ordering

Definition at line 202 of file seqselnodes.h.

Referenced by schur_ordering(), seqselnodes(), and ~seqselnodes().

long**** doffeti

code numbers / indicators for FETI method it contains tnsn, snicmultip[i], snicmultip[i], ndofnsn[i] components doffeti[i][j][k][l]=m - the l-th DOF in the couple j-th, k-th node shared by the i-th coarse node has code number / indicator m array is allocated in the function dof_feti

Definition at line 212 of file seqselnodes.h.

Referenced by contrib_dofs_cn(), contrib_dofs_ln(), dof_feti(), and seqselnodes().

type of FETI implementation defined in the function define_feti_implementation

Definition at line 77 of file seqselnodes.h.

Referenced by contrib_dofs_cn(), contrib_dofs_ln(), define_feti_implementation(), dof_feti(), number_contrib_dofs(), and seqselnodes().

long** ggnbncn

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

Definition at line 134 of file seqselnodes.h.

Referenced by node_coarse_numbers(), seqselnodes(), and ~seqselnodes().

long** ggnsn

global glued numbers of selected nodes ggnsn contains ns,nsnmas[i] components ggnsn[i][j]=k - the j-th selected node on the i-th subdomain has global glued number k array is allocated in the constructor

Definition at line 108 of file seqselnodes.h.

Referenced by dof_indicators(), ndofn_on_master(), number_all_dofs(), number_contrib_dofs(), schur_ordering(), seqselnodes(), and ~seqselnodes().

long* icmultip

number of multiplicity of all boundary/interface nodes it contains tnbn components icmultip[i]=j - the i-th boundary/interface node shares j nodes (it belongs to j subdomains) array is allocated in the constructor

Definition at line 120 of file seqselnodes.h.

Referenced by node_coarse_numbers(), seqselnodes(), and ~seqselnodes().

long** lnbncn

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

Definition at line 127 of file seqselnodes.h.

Referenced by node_coarse_numbers(), and seqselnodes().

long** lndofmas

list of local code numbers which contribute to the coarse problem it contains ns, snndofmas[i] components lndofmas[i][j]=k - the j-th DOF which contributes to the coarse problem on the i-th subdomain has local code number k array is allocated in the function contrib_dofs_ln

Definition at line 224 of file seqselnodes.h.

Referenced by contrib_dofs_ln(), and seqfeti::initiate().

long** lnsn

local numbers of selected nodes lnsn contains ns,nsnmas[i] components lnsn[i][j]=k - the j-th selected node on the i-th subdomain has local number k array is allocated in the constructor

Definition at line 102 of file seqselnodes.h.

Referenced by seqselnodes().

type of mesh description defined in the constructor

Definition at line 73 of file seqselnodes.h.

Referenced by seqselnodes().

long* ndofnsn

array of numbers of DOFs for selected nodes it contains tnsn components ndofnsn[i]=j - the i-th selected node (in group ordering) has j DOFs array is allocated in the function schur_ordering or in the function dof_feti in the case of Schur complement method, it contains ndofn for each boundary/interface node in the case of FETI, it contains (nmultip-1)*ndofn

Definition at line 196 of file seqselnodes.h.

Referenced by contrib_dofs_cn(), contrib_dofs_ln(), dof_feti(), schur_ordering(), seqselnodes(), and ~seqselnodes().

long ns
long* nsnmas

numbers of selected nodes on subdomains it contains ns components nsnmas[i]=j - there are j selected nodes on the i-th subdomain array is assembled in the constructor

Definition at line 96 of file seqselnodes.h.

Referenced by dof_indicators(), ndofn_on_master(), node_coarse_numbers(), number_all_dofs(), number_contrib_dofs(), schur_ordering(), seqselnodes(), and ~seqselnodes().

long** sid

subdomain id of interface/boundary nodes appropriate to all coarse nodes 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 constructor

Definition at line 140 of file seqselnodes.h.

Referenced by node_coarse_numbers(), seqselnodes(), and ~seqselnodes().

long*** sndofmas

array of DOFs or indicators at selected nodes it contains ns, nsnmas[i], snndofnmas[i][j] components sndofmas[i][j][k]=l - the k-th DOF at the j-th selected node on the i-th subdomain has value l array is allocated in the function dof_indicators

Definition at line 186 of file seqselnodes.h.

Referenced by dof_indicators(), schur_ordering(), seqselnodes(), and ~seqselnodes().

long** snggnbncn

global glued numbers of selected boundary/interface nodes appropriate to coarse node it contains tnsn rows and snicmultip[i] columns snggnbncn[i][j]=k - the j-th node shared by the i-th coarse node has global glued number k aray is allocated in the function node_coarse_numbers

Definition at line 154 of file seqselnodes.h.

Referenced by contrib_dofs_ln(), dof_feti(), node_coarse_numbers(), number_contrib_dofs(), seqselnodes(), and ~seqselnodes().

long* snicmultip

number of multiplicity of selected boundary/interface nodes it contains tnsn components snicmultip[i]=j - the i-th selected boundary/interface node shares j nodes (it belongs to j subdomains) array is alloctaed in the function node_coarse_numbers

Definition at line 148 of file seqselnodes.h.

Referenced by contrib_dofs_cn(), contrib_dofs_ln(), dof_feti(), node_coarse_numbers(), number_contrib_dofs(), seqselnodes(), and ~seqselnodes().

long** snlnbncn

local numbers of selected boundary/interface nodes appropriate to coarse node it contains tnsn rows and snicmultip[i] columns snlnbncn[i][j]=k - the j-th node shared by the i-th coarse node has local number k aray is allocated in the function coarse_local_nodes

Definition at line 160 of file seqselnodes.h.

Referenced by node_coarse_numbers(), and seqselnodes().

long* snndofmas

array of numbers of DOFs on subdomains at selected nodes it contains prescribed values before code number generation it contains ns components after code number generation, only unknown (unconstrained DOFs) are taken into account snndofmas[i]=j - selected nodes on the i-th subdomain contain j DOFs array is allocated in the function number_all_dofs

Definition at line 174 of file seqselnodes.h.

Referenced by contrib_dofs_cn(), contrib_dofs_ln(), seqschur::initiate(), seqfeti::initiate(), number_all_dofs(), number_contrib_dofs(), schur_ordering(), seqselnodes(), and ~seqselnodes().

long** snndofnmas

array of numbers of DOF at selected nodes it contains ns, nsnmas[i] components snndofnmas[i][j]=k - the selected j-th node on the i-th subdomain contains k DOFs array is allocated in the function ndofn_on_master

Definition at line 180 of file seqselnodes.h.

Referenced by dof_indicators(), ndofn_on_master(), schur_ordering(), seqselnodes(), and ~seqselnodes().

long** snsid

subdomain id of selected interface/boundary nodes of the coarse node it contains tnsn rows and snicmultip[i] columns snsid[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_numbers

Definition at line 166 of file seqselnodes.h.

Referenced by contrib_dofs_cn(), contrib_dofs_ln(), node_coarse_numbers(), number_contrib_dofs(), seqselnodes(), and ~seqselnodes().

long tnbn

total number of boundary/interface nodes defined in the constructor

Definition at line 85 of file seqselnodes.h.

Referenced by node_coarse_numbers(), seqselnodes(), and ~seqselnodes().

long tndofsn

total number of DOFs on selected nodes defined in the function schur_ordering

Definition at line 206 of file seqselnodes.h.

Referenced by dof_feti(), seqschur::initiate(), seqfeti::initiate(), schur_ordering(), and seqselnodes().

long tnsn

total number of selected nodes defined in the function node_coarse_numbers

Definition at line 89 of file seqselnodes.h.

Referenced by contrib_dofs_cn(), contrib_dofs_ln(), dof_feti(), node_coarse_numbers(), number_contrib_dofs(), schur_ordering(), seqselnodes(), and ~seqselnodes().


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

Generated by  doxygen 1.6.2