gedge Class Reference

#include <gedge.h>

List of all members.

Public Member Functions

void alloc_cn (long nccnfn, long nccnln)
void check_normal (vector &x, vector &y, ivector &nod)
void direction_vector (gnode *gnodes)
 gedge ()
void give_dirvect (double *v)
void give_first_node_numbers (long *fnn)
void give_last_node_numbers (long *lnn)
void give_mult_code_numbers (long fln, long *mcn)
void give_norvect (double *v)
void normal_vector (gnode *gnodes)
void print (FILE *out)
 ~gedge ()

Public Attributes

long * adjel
 numbers of adjacent elements
long * cnfn
 array of code numbers for the first nodes (code numbers of Lagrange multipliers)
long * cnln
 array of code numbers for the last nodes (code numbers of Lagrange multipliers)
double * dv
 direction vector
long fn
 first node (number of first node)
double l
 length of the edge
long ln
 last node (number of last node)
long ndofnf
 the number of DOFs defined on first nodes
long ndofnl
 the number of DOFs defined on last nodes
long next
 next edge
long * nlist
 list of nodes on edge
long nm
 node multiplicity
long nn
 the number of nodes on edge
double * nv
 normal vector
long prev
 previous edge
long re
 number of reference element
double threshold
 threshold

Detailed Description

class gedge

this class defines general edge, which can be used in connection with general finite elements only topological informations are collected

the class is motivated by solution of hemivariational inequalities, in 2D problems, there is a contact between two parts of a body matching mesh is assumed and therefore two elements share one edge, the edge has to know four nodes because it will work with differences of displacements

example:

BODY 1 3 4 5 ---2-------3--------4--------5---- ---6-------7--------8--------9---- 2 3 4 BODY 2

edge 4 from the body 1 and edge 3 from body 2 are identical, they are stored in one general edge which has to know nodes 3,7,4,8 nodes in body 1 are ordered first, nodes in body 2 are ordered after ordering of body 1 number of nodes on edge nn=4 node multiplicity nm=2 list of nodes on edge nlist[0]=3, nlist[1]=7, nlist[2]=4, nlist[3]=8

JK, 9.7.2007

Definition at line 43 of file gedge.h.


Constructor & Destructor Documentation

gedge ( void   ) 

Definition at line 6 of file gedge.cpp.

References adjel, cnfn, cnln, dv, fn, l, ln, ndofnf, ndofnl, next, nlist, nm, nn, nv, prev, re, and threshold.

~gedge ( void   ) 

Definition at line 51 of file gedge.cpp.

References adjel, cnfn, cnln, dv, nlist, and nv.


Member Function Documentation

void alloc_cn ( long  nccnfn,
long  nccnln 
)

function allocates array for code numbers of Lagrange multipliers

Parameters:
nccnfn - number of components in array cn of the first nodes
nccnln - number of components in array cn of the last nodes

JK, 6.1.2008

Definition at line 273 of file gedge.cpp.

References cnfn, cnln, ndofnf, and ndofnl.

Referenced by gtopology::alloc_edge_cn().

void check_normal ( vector x,
vector y,
ivector nod 
)

function checks normal vector

JK, 21.10.2007

Definition at line 221 of file gedge.cpp.

References fn, vector::n, nv, and ss().

Referenced by gtopology::normvectorient().

void direction_vector ( gnode gnodes  ) 

function computes direction vector

Parameters:
top - pointer to topology

JK, 9.7.2007

Definition at line 68 of file gedge.cpp.

References dv, fn, l, ln, print_err(), threshold, gnode::x, gnode::y, and gnode::z.

Referenced by gtopology::edge_dirvect(), and normal_vector().

void give_dirvect ( double *  v  ) 

function returns directional vector

JK, 28.8.2007

Definition at line 199 of file gedge.cpp.

References dv.

Referenced by edgem::tan_nor_displacements().

void give_first_node_numbers ( long *  fnn  ) 

function assembles node numbers of first nodes

Parameters:
fnn - array containing node numbers of first nodes

JK, 6.8.2008

Definition at line 295 of file gedge.cpp.

References nlist.

Referenced by gtopology::give_edge_code_numbers().

void give_last_node_numbers ( long *  lnn  ) 

function assembles node numbers of last nodes

Parameters:
lnn - array containing node numbers of last nodes

JK, 6.8.2008

Definition at line 308 of file gedge.cpp.

References nlist.

Referenced by gtopology::give_edge_code_numbers().

void give_mult_code_numbers ( long  fln,
long *  mcn 
)

function assembles code numbers of Lagrange multipliers defined between selected nodes

Parameters:
fln - first or last node indicator fln=1 - first nodes are assumed fln=2 - last nodes are assumed
mcn - code numbers of selected multipliers

JK, 6.8.2008

Definition at line 326 of file gedge.cpp.

References cnfn, cnln, ndofnf, and ndofnl.

Referenced by gtopology::give_edge_code_numbers().

void give_norvect ( double *  v  ) 

function returns normal vector

JK, 28.8.2007

Definition at line 210 of file gedge.cpp.

References nv.

Referenced by transtop::compute_resistance_factor(), and edgem::tan_nor_displacements().

void normal_vector ( gnode gnodes  ) 

function computes normal vector

Parameters:
top - pointer to topology

JK, 9.7.2007

Definition at line 104 of file gedge.cpp.

References direction_vector(), dv, nv, print_err(), and threshold.

Referenced by gtopology::edge_normvect().

void print ( FILE *  out  ) 

function prints

Parameters:
out - output stream

JK, 11.7.2007

Definition at line 167 of file gedge.cpp.

References dv, next, nlist, nm, nn, nv, and prev.


Member Data Documentation

long* adjel

numbers of adjacent elements

Definition at line 87 of file gedge.h.

Referenced by gtopology::edge_allelem(), gtopology::edges_mat(), gedge(), edget::init(), transtop::mod_view_factors(), and ~gedge().

long* cnfn

array of code numbers for the first nodes (code numbers of Lagrange multipliers)

Definition at line 94 of file gedge.h.

Referenced by alloc_cn(), gtopology::codenum_multip(), gedge(), give_mult_code_numbers(), and ~gedge().

long* cnln

array of code numbers for the last nodes (code numbers of Lagrange multipliers)

Definition at line 96 of file gedge.h.

Referenced by alloc_cn(), gtopology::codenum_multip(), gedge(), give_mult_code_numbers(), and ~gedge().

double* dv

direction vector

Definition at line 101 of file gedge.h.

Referenced by direction_vector(), gedge(), give_dirvect(), normal_vector(), print(), and ~gedge().

long fn
double l

length of the edge

Definition at line 99 of file gedge.h.

Referenced by direction_vector(), gedge(), transtop::heat_fluxes(), and transtop::view_factors().

long ln
long ndofnf
long ndofnl

the number of DOFs defined on last nodes

Definition at line 77 of file gedge.h.

Referenced by alloc_cn(), skyline::column_lengths(), dskyline::column_lengths(), transtop::compute_jumps(), gtopology::edge_localization(), gedge(), and give_mult_code_numbers().

long next

next edge

Definition at line 82 of file gedge.h.

Referenced by gtopology::edge_series(), gedge(), gtopology::prev_next_edges(), and print().

long* nlist
long nm

node multiplicity

Definition at line 90 of file gedge.h.

Referenced by gtopology::edges(), gtopology::edges_mat(), gedge(), and print().

long nn

the number of nodes on edge

Definition at line 69 of file gedge.h.

Referenced by gtopology::edges(), gtopology::edges_mat(), gedge(), gtopology::give_nnedge(), and print().

double* nv

normal vector

Definition at line 103 of file gedge.h.

Referenced by check_normal(), gedge(), give_norvect(), normal_vector(), print(), and ~gedge().

long prev

previous edge

Definition at line 80 of file gedge.h.

Referenced by gtopology::edge_series(), gedge(), gtopology::prev_next_edges(), and print().

long re

number of reference element

Definition at line 85 of file gedge.h.

Referenced by gtopology::edge_allelem(), gtopology::edge_elem(), gedge(), and gtopology::normvectorient().

double threshold

threshold

Definition at line 106 of file gedge.h.

Referenced by direction_vector(), gedge(), and normal_vector().


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

Generated by  doxygen 1.6.2