#include "meshtransfer.h"
#include "global.h"
#include "globmat.h"
#include "intpoints.h"
#include "loadcase.h"
#include "element.h"
#include "plelemlt.h"
#include "plelemqt.h"
#include "plelemlq.h"
#include "plelemqq.h"
#include "nssolver.h"
#include "stochdriver.h"
#include "mefelinit.h"
#include "gtopology.h"
#include "gelement.h"
#include "gnode.h"
#include "gmatrix.h"
#include "mathem.h"
#include "problem.h"
#include <time.h>
#include <math.h>
#include <stdlib.h>
Go to the source code of this file.
Functions | |
long | adjacnode (gtopology *gt, double x, double y, double z) |
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().