Go to the source code of this file.
Functions | |
long | adjacnode (gtopology *gt, double x, double y, double z) |
void | allipcoord (double **ipcoord) |
void | findout_parentel_ip (gtopology *gt_old, gtopology *gt_new, mechmat *mm_new, mechtop *mt_new, double **ipcoord, long *parentel_ip) |
void | findout_parentel_nod (gtopology *gt_old, gtopology *gt_new, long *parentel_nod, long dim) |
long | give_nodvals_ip (long dim, long nipcomp[], double *&nodvalues) |
void | give_rfull (long lcid, double *rfull) |
void | give_valuesinpoints (gtopology *gt, long eid, long npoints, double *xx, double *yy, long nval, double *nodvalues, double **pointval, char flag) |
long | isnodonlhsof3pcurve (gnode &n1, gnode &n2, gnode &n3, double xx, double yy) |
long | isnodonlhsofline (gnode &n1, gnode &n2, double xx, double yy) |
long | ispointinel (gnode *nod, long *elnod, double x, double y, long ndd) |
void | locintpoints (gtopology *gt_old, gtopology *gt_new, mechtop *mt_new, double **ipcoord, long *passedel1, long *passedel2, long nelheap, long *elheap, long *newelheap, long *susel, long *newsusel, long *parentel) |
void | locnodes (gtopology *gt_old, gtopology *gt_new, long *parentel, long dim) |
void | newmeshread (const char *filename, long lcid) |
void | transfvalues_ip_direct (gtopology *gt_old, mechmat *mm_new, const double **apcoord, const long *parentel, long nipcomp[], const mechmat *mm_old, long dim) |
void | transfvalues_ip_indirect (gtopology *gt_old, mechmat *mm_new, double **ipcoord, long *parentel, long nipcomp[], double *nodvalue) |
void | transfvalues_nod (problem *po, problem *pn, long lcid, long dim, long ndofn, long *parentel, char spr) |
long | whereispoint (gtopology *gt, long nsusel, long *susel, long *newsusel, long *passedel, double x, double y, char flag) |
long adjacnode | ( | gtopology * | gt, | |
double | x, | |||
double | y, | |||
double | z | |||
) |
Function approximates values stored on integration points (in arrays `strain` `stress` `eqother`) to nodes - for "global" mesh. Used interpolation method is 'spr_smoothing'. Values in nodes are returned by array nodvalues. Value position in array is (val[0] on nod[0] ... val[0] on nod[gt->nn] ... val[nval] on nod[0] ... val[nval] on nod[gt->nn]) Necessary precondition is Mm->ip[i].ncompstr and Mm->ip[i].ncompother are constant all over the domain !!!!
dim | - dimension of solved problem | |
nipcomp | - number of members (of arrays Mm->ip[].strain , Mm->ip[].stress and Mm->ip[].eqother), which are approximated; nipcomp[0] <0;Mm->ip[].ncompstr>, nipcomp[1] <0;Mm->ip[].ncompstr>, nipcomp[2] <0;Mm->ip[].ncompother> if nipcomp = -1 => all members | |
nodvalues | - answer ; nonalocated |
created 9.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz Function returns array of deformations in ALL nodes of problem 'p'. Deformation position in answer array is (r[node_1][x] ... r[node_nn][x] , r[node_1][y] ... r[node_nn][y])
lcid | - id of load case | |
p | - pointr on problem | |
rfull | - answer - allocated 1D array, size is p->mt->nn * p->mm->ip[0].ndofn |
created 9.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz function computes coordinates of all integration points in "global" mesh
ipcoord | - empty 1D array, size is Mt->tnip x 3 |
created 5.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz Function alocates required arrays for function 'locintpoints', which finds out (for every integration point from new mesh) "parent" element (from old mesh), in which the integration point lays. Parent elements are returned in array "parentel_ip".
gt_old | - gtopology of old mesh | |
gt_new | - gtopology of new mesh | |
mm_new | - mechmat of new mesh | |
mt_new | - mechtop of new mesh | |
ipcoord | - array of coordinates of new mesh int. points, size is mm_new->tnip x dim | |
parentel_ip | - answer = 1D array, size is mt_new->tnip |
created 3.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz For every integration point (from new mesh) function finds out "parent" element (from old mesh), in which the int. point lays. Parent elements are returned in array "parentel".
gt_old | - gtopology of old mesh | |
gt_new | - gtopology of new mesh | |
mt_new | - mechtop of new mesh | |
ipcoord | - array of coordinates of new mesh int. points, size is mm_new->tnip x dim | |
passedel1 | - empty array, size is gt_old->ne | |
passedel2 | - zero array, size is gt_new->ne | |
nelheap | = 1 | |
elheap | - array of size gt_new->ne, elheap[0] = 0 | |
newelheap | - empty array, size is gt_new->ne | |
susel | - empty array, size is gt_old->ne | |
newsusel | - answer = 1D array, size is gt_old->ne | |
parentel | - answer = 1D array, size is mm_new->tnip |
created 3.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz Function runs function 'locnodes'.
gt_old | - gtopology of old mesh | |
gt_new | - gtopology of new mesh | |
parentel_nod | - answer = array of parent elements, size is mt_new->nn |
created 6.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz For every node (from new mesh) function finds out "parent" element (from old mesh), in which the "new" node lays.
gt_old | - gtopology of old mesh | |
gt_new | - gtopology of new mesh | |
parentel | - answer = allocated array of parent elements, size is mt_new->nn |
created 4.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz Function finds out element including "point". First of all, the elements in "susel" are investigated.
gt | - gtopology, where the element is finding out | |
nsusel | - number suspected elements | |
susel | - array of suspected elements, size is gt->ne | |
newsusel | - empty array, size is gt->ne | |
passedel | - zero !!!!! array, size is gt->ne | |
x,y | - coordinates of point |
created 3.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz Function finds out, whether 'node' lays in 'element'. Node is defined by its coordinates - x,y. Element is defined by its node numbers - 'elnod' and dimdegnne - 'ndd'
nod | - array of all gnodes | |
elnod | - array of node numbers of element | |
x,y | - coordinates of node | |
ndd | - nnedimdeg of element |
created 3.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz Function finds out, whether point (xx,yy) lays on the left hand side of 'line'. Line is defined by two nodes n1,n2.
created 3.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz Function finds out, whether point (xx,yy) lays on the left hand side of 'curve'. Curve is defined by three nodes n1,n2,n3.
created 3.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz Function transforms values from nodes of old mesh into int. points of new mesh.
gt_old | - gtopology of old mesh | |
mm_new | - mechmat of new mesh | |
ipcoord | - array of coordinates of new mesh int. points, size is mm_new->tnip x dim | |
parentel | - array of parent elements of new mesh int. points, size is mt_new->tnip | |
nipcomp | - number of members (of arrays Mm->ip[].strain , Mm->ip[].stress and Mm->ip[].eqother), which are approximated; nipcomp[0] <0;Mm->ip[].ncompstr>, nipcomp[1] <0;Mm->ip[].ncompstr>, nipcomp[2] <0;Mm->ip[].ncompother> if nipcomp = -1 => all members | |
nodvalue | - 1D array of nodal values of old mesh, size is gt_old->nn * nvals value position in array is (val[0] on nod[0] ... val[0] on nod[gt->nn] ... val[nval] on nod[0] ... val[nval] on nod[gt->nn]) |
created 7.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz Function transforms values from int. points of old mesh into int. points of new mesh.
gt_old | - gtopology of old mesh | |
mm_new | - mechmat of new mesh | |
apcoord | - array of coordinates of new mesh int. points, size is mm_new->tnip x dim | |
parentel | - array of parent elements of new mesh int. points, size is mt_new->tnip | |
nipcomp | - number of members (of arrays Mm->ip[].strain , Mm->ip[].stress and Mm->ip[].eqother), which are approximated; nipcomp[0] <0;Mm->ip[].ncompstr>, nipcomp[1] <0;Mm->ip[].ncompstr>, nipcomp[2] <0;Mm->ip[].ncompother> if nipcomp = -1 => all members | |
mm_old | - mechmat of old mesh | |
dim | - dimension of solved problem |
created 7.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz Function transforms displacement from nodes of old mesh into nodes of new mesh by direct interpolation.
po | - problem of old mesh | |
pn | - problem of new mesh | |
lcid | - id of load case | |
ndofn | - number of DOFs in node | |
parentel | - array of parent (old)elements of new mesh nodes, size is p_new->mt->nn |
created 7.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz Function transforms values from nodes of old mesh into nodes of new mesh.
po | - problem of old mesh | |
pn | - problem of new mesh | |
lcid | - id of load case | |
dim | - dimension of solved problem | |
ndofn | - number of DOFs in node | |
parentel | - array of parent (old)elements of new mesh nodes, size is p_new->mt->nn |
created 7.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz Function approximates 'values' from nodes into 'points'. All the point lays in 'element', which is determined by 'gt' and 'eid'. Values in points are returned by array pointval.
npoints | - number of points | |
xx | - array of x-coordinates of points, size is npoints | |
yy | - array of y-coordinates of points, size is npoints | |
nval | - number of values | |
nodvalues | - 1D array of values in nodes, size is nval*gt->nn, value position in array is (val[0] on nod[0] ... val[0] on nod[gt->nn] ... val[nval] on nod[0] ... val[nval] on nod[gt->nn]) | |
pointval | - answer = 2D array, size is npoints*nval |
created 7.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz function finds out node(from gt), which is the closest by required point
x,y,z | - coordinates of point |
created 30.1.2003, Ladislav Svoboda, termit@cml.fsv.cvut.cz
Definition at line 981 of file meshtransfer.cpp.
References gtopology::gnodes, gtopology::ne, gnode::x, gnode::y, and gnode::z.
Referenced by outdiagm::read().
void allipcoord | ( | double ** | ipcoord | ) |
void findout_parentel_ip | ( | gtopology * | gt_old, | |
gtopology * | gt_new, | |||
mechmat * | mm_new, | |||
mechtop * | mt_new, | |||
double ** | ipcoord, | |||
long * | parentel_ip | |||
) |
Referenced by adaptivityt::statedata_transfer().
long give_nodvals_ip | ( | long | dim, | |
long | nipcomp[], | |||
double *& | nodvalues | |||
) |
void give_rfull | ( | long | lcid, | |
double * | rfull | |||
) |
void give_valuesinpoints | ( | gtopology * | gt, | |
long | eid, | |||
long | npoints, | |||
double * | xx, | |||
double * | yy, | |||
long | nval, | |||
double * | nodvalues, | |||
double ** | pointval, | |||
char | flag | |||
) |
Referenced by transfvalues_nod().
Function finds out, whether point (xx,yy) lays on the left hand side of the curve defined by three nodes n1,n2 and n3.
created 3.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz
Definition at line 515 of file adaptivityt.cpp.
References isnodonlhsofline(), gnode::x, and gnode::y.
Referenced by ispointinel().
Function finds out, whether point (xx,yy) lays on the left hand side of the line defined by two nodes n1 and n2.
created 3.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz
Definition at line 499 of file adaptivityt.cpp.
References gnode::x, and gnode::y.
Referenced by isnodonlhsof3pcurve(), and ispointinel().
long ispointinel | ( | gnode * | nod, | |
long * | elnod, | |||
double | x, | |||
double | y, | |||
long | ndd | |||
) |
Function finds out, whether 'node' lays in 'element'. Node is defined by its coordinates - x,y. Element is defined by its node numbers - 'elnod' and dimdegnne - 'ndd'
nod | - array of all gnodes | |
elnod | - array of node numbers of element | |
x,y | - coordinates of node | |
ndd | - nnedimdeg of element |
created 3.12.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz
Definition at line 556 of file adaptivityt.cpp.
References isnodonlhsof3pcurve(), isnodonlhsofline(), and print_err().
Referenced by whereispoint(), and whereispoint_outpoint().
void locintpoints | ( | gtopology * | gt_old, | |
gtopology * | gt_new, | |||
mechtop * | mt_new, | |||
double ** | ipcoord, | |||
long * | passedel1, | |||
long * | passedel2, | |||
long | nelheap, | |||
long * | elheap, | |||
long * | newelheap, | |||
long * | susel, | |||
long * | newsusel, | |||
long * | parentel | |||
) |
void newmeshread | ( | const char * | filename, | |
long | lcid | |||
) |
Referenced by nonlinear_solver_adaptiv().
void transfvalues_ip_direct | ( | gtopology * | gt_old, | |
mechmat * | mm_new, | |||
const double ** | apcoord, | |||
const long * | parentel, | |||
long | nipcomp[], | |||
const mechmat * | mm_old, | |||
long | dim | |||
) |
void transfvalues_ip_indirect | ( | gtopology * | gt_old, | |
mechmat * | mm_new, | |||
double ** | ipcoord, | |||
long * | parentel, | |||
long | nipcomp[], | |||
double * | nodvalue | |||
) |
void transfvalues_nod | ( | problem * | po, | |
problem * | pn, | |||
long | lcid, | |||
long | dim, | |||
long | ndofn, | |||
long * | parentel, | |||
char | spr | |||
) |
Referenced by adaptivityt::statedata_transfer().
long whereispoint | ( | gtopology * | gt, | |
long | nsusel, | |||
long * | susel, | |||
long * | newsusel, | |||
long * | passedel, | |||
double | x, | |||
double | y, | |||
char | flag | |||
) |
Referenced by findout_parentel_nod(), and whereispoint().