mFES - molecular Finite Element Solver  0.4
Classes | Namespaces | Defines | Typedefs | Enumerations | Functions
nginterface.h File Reference

Go to the source code of this file.

Classes

struct  Ng_SolutionData

Namespaces

namespace  netgen
 

namespace defined for NETGEN


Defines

#define DLL_HEADER
#define NG_ELEMENT_MAXPOINTS   12
#define NG_SURFACE_ELEMENT_MAXPOINTS   8

Typedefs

typedef double NG_POINT [3]
typedef int NG_EDGE [2]
typedef int NG_FACE [4]
typedef void * Ng_Mesh
typedef int( Ng_Tcl_CmdProc )(Ng_Tcl_Interp *interp, int argc, const char *argv[])

Enumerations

enum  NG_ELEMENT_TYPE {
  NG_PNT = 0, NG_SEGM = 1, NG_SEGM3 = 2, NG_TRIG = 10,
  NG_QUAD = 11, NG_TRIG6 = 12, NG_QUAD6 = 13, NG_TET = 20,
  NG_TET10 = 21, NG_PYRAMID = 22, NG_PRISM = 23, NG_PRISM12 = 24,
  NG_HEX = 25
}
enum  NG_REFINEMENT_TYPE { NG_REFINE_H = 0, NG_REFINE_P = 1, NG_REFINE_HP = 2 }
enum  Ng_SolutionType {
  NG_SOLUTION_NODAL = 1, NG_SOLUTION_ELEMENT = 2, NG_SOLUTION_SURFACE_ELEMENT = 3, NG_SOLUTION_NONCONTINUOUS = 4,
  NG_SOLUTION_SURFACE_NONCONTINUOUS = 5, NG_SOLUTION_VIRTUAL_FUNCTION = 6, NG_SOLUTION_MARKED_ELEMENTS = 10, NG_SOLUTION_ELEMENT_ORDER = 11
}

Functions

DLL_HEADER void Ng_LoadGeometry (const char *filename)
DLL_HEADER void Ng_LoadMesh (const char *filename)
 Load a Netgen VOL Mesh from disk into memory.
DLL_HEADER void Ng_LoadMeshFromString (const char *mesh_as_string)
DLL_HEADER int Ng_GetDimension ()
DLL_HEADER int Ng_GetNP ()
DLL_HEADER int Ng_GetNV ()
DLL_HEADER int Ng_GetNE ()
DLL_HEADER int Ng_GetNSE ()
DLL_HEADER void Ng_GetPoint (int pi, double *p)
DLL_HEADER NG_ELEMENT_TYPE Ng_GetElement (int ei, int *epi, int *np=0)
DLL_HEADER NG_ELEMENT_TYPE Ng_GetElementType (int ei)
DLL_HEADER int Ng_GetElementIndex (int ei)
DLL_HEADER void Ng_SetElementIndex (const int ei, const int index)
DLL_HEADER void Ng_addElIndex (const int el)
 Added by Ilkay Sakalli.
DLL_HEADER int Ng_elIndexSize ()
DLL_HEADER int Ng_getElIndex (const int idx)
DLL_HEADER void Ng_addIpPoint (NG_POINT p)
DLL_HEADER int Ng_ipPointSize ()
DLL_HEADER void Ng_setIpPoint (const int idx, double *p)
DLL_HEADER char * Ng_GetElementMaterial (int ei)
DLL_HEADER char * Ng_GetDomainMaterial (int dom)
DLL_HEADER int Ng_GetUserDataSize (char *id)
DLL_HEADER void Ng_GetUserData (char *id, double *data)
DLL_HEADER NG_ELEMENT_TYPE Ng_GetSurfaceElement (int ei, int *epi, int *np=0)
DLL_HEADER NG_ELEMENT_TYPE Ng_GetSurfaceElementType (int ei)
DLL_HEADER int Ng_GetSurfaceElementIndex (int ei)
DLL_HEADER int Ng_GetSurfaceElementSurfaceNumber (int ei)
DLL_HEADER int Ng_GetSurfaceElementFDNumber (int ei)
DLL_HEADER char * Ng_GetSurfaceElementBCName (int ei)
DLL_HEADER char * Ng_GetBCNumBCName (int bcnr)
DLL_HEADER void Ng_GetNormalVector (int sei, int locpi, double *nv)
DLL_HEADER void Ng_SetPointSearchStartElement (int el)
DLL_HEADER int Ng_FindElementOfPoint (double *p, double *lami, int build_searchtrees=0, const int *const indices=NULL, const int numind=0)
DLL_HEADER int Ng_FindSurfaceElementOfPoint (double *p, double *lami, int build_searchtrees=0, const int *const indices=NULL, const int numind=0)
DLL_HEADER int Ng_IsElementCurved (int ei)
DLL_HEADER int Ng_IsSurfaceElementCurved (int sei)
DLL_HEADER void Ng_GetElementTransformation (int ei, const double *xi, double *x, double *dxdxi)
DLL_HEADER void Ng_GetBufferedElementTransformation (int ei, const double *xi, double *x, double *dxdxi, void *buffer, int buffervalid)
 buffer must be at least 100 doubles, alignment of double
DLL_HEADER void Ng_GetSurfaceElementTransformation (int sei, const double *xi, double *x, double *dxdxi)
DLL_HEADER void Ng_GetMultiElementTransformation (int ei, int n, const double *xi, size_t sxi, double *x, size_t sx, double *dxdxi, size_t sdxdxi)
DLL_HEADER int Ng_GetSegmentIndex (int elnr)
DLL_HEADER NG_ELEMENT_TYPE Ng_GetSegment (int elnr, int *epi, int *np=0)
DLL_HEADER void Ng_SetRefinementFlag (int ei, int flag)
DLL_HEADER void Ng_SetSurfaceRefinementFlag (int sei, int flag)
DLL_HEADER void Ng_Refine (NG_REFINEMENT_TYPE reftype)
DLL_HEADER void Ng_SecondOrder ()
DLL_HEADER void Ng_HighOrder (int order, bool rational=false)
DLL_HEADER void Ng_HPRefinement (int levels, double parameter=0.125, bool setorders=true, bool ref_level=false)
DLL_HEADER int Ng_ME_GetNVertices (NG_ELEMENT_TYPE et)
DLL_HEADER int Ng_ME_GetNEdges (NG_ELEMENT_TYPE et)
DLL_HEADER int Ng_ME_GetNFaces (NG_ELEMENT_TYPE et)
DLL_HEADER const NG_POINTNg_ME_GetVertices (NG_ELEMENT_TYPE et)
DLL_HEADER const NG_EDGENg_ME_GetEdges (NG_ELEMENT_TYPE et)
DLL_HEADER const NG_FACENg_ME_GetFaces (NG_ELEMENT_TYPE et)
DLL_HEADER void Ng_UpdateTopology ()
DLL_HEADER int Ng_GetNEdges ()
DLL_HEADER int Ng_GetNFaces ()
DLL_HEADER int Ng_GetElement_Edges (int elnr, int *edges, int *orient=0)
DLL_HEADER int Ng_GetElement_Faces (int elnr, int *faces, int *orient=0)
DLL_HEADER int Ng_GetSurfaceElement_Edges (int selnr, int *edges, int *orient=0)
DLL_HEADER int Ng_GetSurfaceElement_Face (int selnr, int *orient=0)
DLL_HEADER void Ng_GetSurfaceElementNeighbouringDomains (const int selnr, int &in, int &out)
DLL_HEADER int Ng_GetFace_Vertices (int fnr, int *vert)
DLL_HEADER void Ng_GetEdge_Vertices (int ednr, int *vert)
DLL_HEADER int Ng_GetFace_Edges (int fnr, int *edge)
DLL_HEADER int Ng_GetNVertexElements (int vnr)
DLL_HEADER void Ng_GetVertexElements (int vnr, int *els)
DLL_HEADER int Ng_GetElementOrder (int enr)
DLL_HEADER void Ng_GetElementOrders (int enr, int *ox, int *oy, int *oz)
DLL_HEADER void Ng_SetElementOrder (int enr, int order)
DLL_HEADER void Ng_SetElementOrders (int enr, int ox, int oy, int oz)
DLL_HEADER int Ng_GetSurfaceElementOrder (int enr)
DLL_HEADER void Ng_GetSurfaceElementOrders (int enr, int *ox, int *oy)
DLL_HEADER void Ng_SetSurfaceElementOrder (int enr, int order)
DLL_HEADER void Ng_SetSurfaceElementOrders (int enr, int ox, int oy)
DLL_HEADER int Ng_GetNLevels ()
DLL_HEADER void Ng_GetParentNodes (int ni, int *parents)
DLL_HEADER int Ng_GetParentElement (int ei)
DLL_HEADER int Ng_GetParentSElement (int ei)
DLL_HEADER int Ng_GetClusterRepVertex (int vi)
DLL_HEADER int Ng_GetClusterRepEdge (int edi)
DLL_HEADER int Ng_GetClusterRepFace (int fai)
DLL_HEADER int Ng_GetClusterRepElement (int eli)
void Ng_SurfaceElementTransformation (int eli, double x, double y, double *p3d, double *jacobian)
DLL_HEADER void Ng_InitSolutionData (Ng_SolutionData *soldata)
DLL_HEADER void Ng_SetSolutionData (Ng_SolutionData *soldata)
DLL_HEADER void Ng_ClearSolutionData ()
 delete gridfunctions
DLL_HEADER void Ng_Redraw ()
DLL_HEADER void Ng_SetMouseEventHandler (netgen::MouseEventHandler *handler)
DLL_HEADER void Ng_SetVisualizationParameter (const char *name, const char *value)
DLL_HEADER int Ng_GetNPeriodicVertices (int idnr)
DLL_HEADER void Ng_GetPeriodicVertices (int idnr, int *pairs)
DLL_HEADER int Ng_GetNPeriodicEdges (int idnr)
DLL_HEADER void Ng_GetPeriodicEdges (int idnr, int *pairs)
DLL_HEADER void RunParallel (void *(*fun)(void *), void *in)
DLL_HEADER void Ng_PushStatus (const char *str)
DLL_HEADER void Ng_PopStatus ()
DLL_HEADER void Ng_SetThreadPercentage (double percent)
DLL_HEADER void Ng_GetStatus (char **str, double &percent)
DLL_HEADER void Ng_SetTerminate (void)
DLL_HEADER void Ng_UnSetTerminate (void)
DLL_HEADER int Ng_ShouldTerminate (void)
DLL_HEADER void Ng_SetRunning (int flag)
DLL_HEADER int Ng_IsRunning ()
DLL_HEADER int Ng_GetVertex_Elements (int vnr, int *elems)
DLL_HEADER int Ng_GetVertex_SurfaceElements (int vnr, int *elems)
DLL_HEADER int Ng_GetVertex_NElements (int vnr)
DLL_HEADER int Ng_GetVertex_NSurfaceElements (int vnr)
DLL_HEADER void Ng_InitPointCurve (double red, double green, double blue)
DLL_HEADER void Ng_AddPointCurvePoint (const double *point)
DLL_HEADER void Ng_SaveMesh (const char *meshfile)
DLL_HEADER void Ng_Bisect (const char *refinementfile)
DLL_HEADER int Ng_Bisect_WithInfo (const char *refinementfile, double **qualityloss)
DLL_HEADER Ng_Mesh Ng_SelectMesh (Ng_Mesh mesh)
DLL_HEADER void Ng_GetArgs (int &argc, char **&argv)
DLL_HEADER int Ng_GetNNodes (int nt)
DLL_HEADER int Ng_GetClosureNodes (int nt, int nodenr, int nodeset, int *nodes)
DLL_HEADER int Ng_GetNElements (int dim)
DLL_HEADER int Ng_GetElementClosureNodes (int dim, int elementnr, int nodeset, int *nodes)
DLL_HEADER void Ng_Tcl_CreateCommand (Ng_Tcl_Interp *interp, const char *cmdName, Ng_Tcl_CmdProc *proc)
void Ng_Tcl_SetResult (Ng_Tcl_Interp *interp, const char *result)

Define Documentation

#define DLL_HEADER
#define NG_ELEMENT_MAXPOINTS   12

Typedef Documentation

typedef int NG_EDGE[2]
typedef int NG_FACE[4]
typedef void* Ng_Mesh
typedef double NG_POINT[3]
typedef int( Ng_Tcl_CmdProc)(Ng_Tcl_Interp *interp, int argc, const char *argv[])

Enumeration Type Documentation

Enumerator:
NG_PNT 
NG_SEGM 
NG_SEGM3 
NG_TRIG 
NG_QUAD 
NG_TRIG6 
NG_QUAD6 
NG_TET 
NG_TET10 
NG_PYRAMID 
NG_PRISM 
NG_PRISM12 
NG_HEX 
Enumerator:
NG_REFINE_H 
NG_REFINE_P 
NG_REFINE_HP 
Enumerator:
NG_SOLUTION_NODAL 
NG_SOLUTION_ELEMENT 
NG_SOLUTION_SURFACE_ELEMENT 
NG_SOLUTION_NONCONTINUOUS 
NG_SOLUTION_SURFACE_NONCONTINUOUS 
NG_SOLUTION_VIRTUAL_FUNCTION 
NG_SOLUTION_MARKED_ELEMENTS 
NG_SOLUTION_ELEMENT_ORDER 

Function Documentation

DLL_HEADER void Ng_addElIndex ( const int  el)

Added by Ilkay Sakalli.

DLL_HEADER void Ng_AddPointCurvePoint ( const double *  point)
DLL_HEADER void Ng_Bisect ( const char *  refinementfile)
DLL_HEADER int Ng_Bisect_WithInfo ( const char *  refinementfile,
double **  qualityloss 
)

delete gridfunctions

DLL_HEADER int Ng_FindElementOfPoint ( double *  p,
double *  lami,
int  build_searchtrees = 0,
const int *const  indices = NULL,
const int  numind = 0 
)
DLL_HEADER int Ng_FindSurfaceElementOfPoint ( double *  p,
double *  lami,
int  build_searchtrees = 0,
const int *const  indices = NULL,
const int  numind = 0 
)
DLL_HEADER void Ng_GetArgs ( int &  argc,
char **&  argv 
)
DLL_HEADER char* Ng_GetBCNumBCName ( int  bcnr)
DLL_HEADER void Ng_GetBufferedElementTransformation ( int  ei,
const double *  xi,
double *  x,
double *  dxdxi,
void *  buffer,
int  buffervalid 
)

buffer must be at least 100 doubles, alignment of double

DLL_HEADER int Ng_GetClosureNodes ( int  nt,
int  nodenr,
int  nodeset,
int *  nodes 
)
DLL_HEADER int Ng_GetClusterRepEdge ( int  edi)
DLL_HEADER int Ng_GetClusterRepFace ( int  fai)
DLL_HEADER char* Ng_GetDomainMaterial ( int  dom)
DLL_HEADER void Ng_GetEdge_Vertices ( int  ednr,
int *  vert 
)
DLL_HEADER NG_ELEMENT_TYPE Ng_GetElement ( int  ei,
int *  epi,
int *  np = 0 
)
DLL_HEADER int Ng_GetElement_Edges ( int  elnr,
int *  edges,
int *  orient = 0 
)
DLL_HEADER int Ng_GetElement_Faces ( int  elnr,
int *  faces,
int *  orient = 0 
)
DLL_HEADER int Ng_GetElementClosureNodes ( int  dim,
int  elementnr,
int  nodeset,
int *  nodes 
)
DLL_HEADER int Ng_GetElementIndex ( int  ei)
DLL_HEADER char* Ng_GetElementMaterial ( int  ei)
DLL_HEADER int Ng_GetElementOrder ( int  enr)
DLL_HEADER void Ng_GetElementOrders ( int  enr,
int *  ox,
int *  oy,
int *  oz 
)
DLL_HEADER void Ng_GetElementTransformation ( int  ei,
const double *  xi,
double *  x,
double *  dxdxi 
)

Curved Elemens: xi..local coordinates x ..global coordinates dxdxi...D x D Jacobian matrix (row major storage)

DLL_HEADER int Ng_getElIndex ( const int  idx)
DLL_HEADER int Ng_GetFace_Edges ( int  fnr,
int *  edge 
)
DLL_HEADER int Ng_GetFace_Vertices ( int  fnr,
int *  vert 
)
DLL_HEADER void Ng_GetMultiElementTransformation ( int  ei,
int  n,
const double *  xi,
size_t  sxi,
double *  x,
size_t  sx,
double *  dxdxi,
size_t  sdxdxi 
)

Curved Elemens: xi..local coordinates sxi..step xi x ..global coordinates dxdxi...D x D Jacobian matrix (row major storage)

DLL_HEADER int Ng_GetNElements ( int  dim)
DLL_HEADER int Ng_GetNNodes ( int  nt)
DLL_HEADER void Ng_GetNormalVector ( int  sei,
int  locpi,
double *  nv 
)
DLL_HEADER int Ng_GetNPeriodicEdges ( int  idnr)
DLL_HEADER void Ng_GetParentNodes ( int  ni,
int *  parents 
)
DLL_HEADER void Ng_GetPeriodicEdges ( int  idnr,
int *  pairs 
)
DLL_HEADER void Ng_GetPeriodicVertices ( int  idnr,
int *  pairs 
)
DLL_HEADER void Ng_GetPoint ( int  pi,
double *  p 
)
DLL_HEADER NG_ELEMENT_TYPE Ng_GetSegment ( int  elnr,
int *  epi,
int *  np = 0 
)
DLL_HEADER int Ng_GetSegmentIndex ( int  elnr)
DLL_HEADER void Ng_GetStatus ( char **  str,
double &  percent 
)
DLL_HEADER NG_ELEMENT_TYPE Ng_GetSurfaceElement ( int  ei,
int *  epi,
int *  np = 0 
)
DLL_HEADER int Ng_GetSurfaceElement_Edges ( int  selnr,
int *  edges,
int *  orient = 0 
)
DLL_HEADER int Ng_GetSurfaceElement_Face ( int  selnr,
int *  orient = 0 
)
DLL_HEADER void Ng_GetSurfaceElementNeighbouringDomains ( const int  selnr,
int &  in,
int &  out 
)
DLL_HEADER void Ng_GetSurfaceElementOrders ( int  enr,
int *  ox,
int *  oy 
)
DLL_HEADER void Ng_GetSurfaceElementTransformation ( int  sei,
const double *  xi,
double *  x,
double *  dxdxi 
)

Curved Elemens: xi..local coordinates x ..global coordinates dxdxi...D x D-1 Jacobian matrix (row major storage) curved ...is element curved ?

DLL_HEADER void Ng_GetUserData ( char *  id,
double *  data 
)
DLL_HEADER int Ng_GetUserDataSize ( char *  id)
DLL_HEADER int Ng_GetVertex_Elements ( int  vnr,
int *  elems 
)
DLL_HEADER int Ng_GetVertex_SurfaceElements ( int  vnr,
int *  elems 
)
DLL_HEADER void Ng_GetVertexElements ( int  vnr,
int *  els 
)
DLL_HEADER void Ng_HighOrder ( int  order,
bool  rational = false 
)
DLL_HEADER void Ng_HPRefinement ( int  levels,
double  parameter = 0.125,
bool  setorders = true,
bool  ref_level = false 
)
DLL_HEADER void Ng_InitPointCurve ( double  red,
double  green,
double  blue 
)
DLL_HEADER int Ng_IsElementCurved ( int  ei)
DLL_HEADER void Ng_LoadGeometry ( const char *  filename)
DLL_HEADER void Ng_LoadMesh ( const char *  filename)

Load a Netgen VOL Mesh from disk into memory.

A Netgen mesh saved in the internal VOL format can be loaded into a Netgen Mesh structure using this function.

Parameters:
filenamePointer to a character array containing the name of the file to load
Returns:
Ng_Mesh Pointer to a Netgen Mesh type Ng_Mesh containing the mesh loaded from disk
DLL_HEADER void Ng_LoadMeshFromString ( const char *  mesh_as_string)
DLL_HEADER void Ng_PushStatus ( const char *  str)
DLL_HEADER void Ng_SaveMesh ( const char *  meshfile)
DLL_HEADER void Ng_SetElementIndex ( const int  ei,
const int  index 
)
DLL_HEADER void Ng_SetElementOrder ( int  enr,
int  order 
)
DLL_HEADER void Ng_SetElementOrders ( int  enr,
int  ox,
int  oy,
int  oz 
)
DLL_HEADER void Ng_setIpPoint ( const int  idx,
double *  p 
)
DLL_HEADER void Ng_SetMouseEventHandler ( netgen::MouseEventHandler *  handler)
DLL_HEADER void Ng_SetRefinementFlag ( int  ei,
int  flag 
)
DLL_HEADER void Ng_SetRunning ( int  flag)
DLL_HEADER void Ng_SetSurfaceElementOrder ( int  enr,
int  order 
)
DLL_HEADER void Ng_SetSurfaceElementOrders ( int  enr,
int  ox,
int  oy 
)
DLL_HEADER void Ng_SetSurfaceRefinementFlag ( int  sei,
int  flag 
)
DLL_HEADER void Ng_SetTerminate ( void  )
DLL_HEADER void Ng_SetThreadPercentage ( double  percent)
DLL_HEADER void Ng_SetVisualizationParameter ( const char *  name,
const char *  value 
)
void Ng_SurfaceElementTransformation ( int  eli,
double  x,
double  y,
double *  p3d,
double *  jacobian 
)
DLL_HEADER void Ng_Tcl_CreateCommand ( Ng_Tcl_Interp *  interp,
const char *  cmdName,
Ng_Tcl_CmdProc proc 
)
void Ng_Tcl_SetResult ( Ng_Tcl_Interp *  interp,
const char *  result 
)
DLL_HEADER void Ng_UnSetTerminate ( void  )
DLL_HEADER void RunParallel ( void *(*)(void *)  fun,
void *  in 
)