PRAgMaTIc  master
Functions | Variables
cpragmatic.cpp File Reference
#include <cassert>
#include "Mesh.h"
#include "MetricField.h"
#include "Coarsen.h"
#include "Refine.h"
#include "Swapping.h"
#include "Smooth.h"
#include "VTKTools.h"

Go to the source code of this file.

Functions

void pragmatic_dump (const char *filename)
 
void pragmatic_dump_debug ()
 
void pragmatic_2d_init (const int *NNodes, const int *NElements, const int *enlist, const double *x, const double *y)
 
void pragmatic_3d_init (const int *NNodes, const int *NElements, const int *enlist, const double *x, const double *y, const double *z)
 
void pragmatic_vtk_init (const char *filename)
 
void pragmatic_add_field (const double *psi, const double *error, int *pnorm)
 
void pragmatic_set_metric (const double *metric)
 
void pragmatic_set_boundary (const int *nfacets, const int *facets, const int *ids)
 
void pragmatic_adapt ()
 
void pragmatic_get_info (int *NNodes, int *NElements)
 
void pragmatic_get_coords_2d (double *x, double *y)
 
void pragmatic_get_coords_3d (double *x, double *y, double *z)
 
void pragmatic_get_elements (int *elements)
 
void pragmatic_get_metric (double *metric)
 
void pragmatic_finalize ()
 

Variables

static void * _pragmatic_mesh =NULL
 
static void * _pragmatic_metric_field =NULL
 

Function Documentation

void pragmatic_2d_init ( const int *  NNodes,
const int *  NElements,
const int *  enlist,
const double *  x,
const double *  y 
)

Initialise pragmatic with mesh to be adapted. pragmatic_finalize must be called before this can be called again, i.e. cannot adapt multiple meshes at the same time.

Parameters
[in]NNodesNumber of nodes
[in]NElementsNumber of elements
[in]enlistElement-node list
[in]xx coordinate array
[in]yy coordinate array

Definition at line 71 of file cpragmatic.cpp.

void pragmatic_3d_init ( const int *  NNodes,
const int *  NElements,
const int *  enlist,
const double *  x,
const double *  y,
const double *  z 
)

Initialise pragmatic with mesh to be adapted. pragmatic_finalize must be called before this can be called again, i.e. cannot adapt multiple meshes at the same time.

Parameters
[in]NNodesNumber of nodes
[in]NElementsNumber of elements
[in]enlistElement-node list
[in]xx coordinate array
[in]yy coordinate array
[in]zz coordinate array

Definition at line 92 of file cpragmatic.cpp.

void pragmatic_adapt ( )

Adapt the mesh.

Definition at line 190 of file cpragmatic.cpp.

void pragmatic_add_field ( const double *  psi,
const double *  error,
int *  pnorm 
)

Add field which should be adapted to.

Parameters
[in]psiNode centred field variable
[in]errorError target
[in]pnormP-norm value for error measure. Applies the p-norm scaling to the metric, as in Chen, Sun and Xu, Mathematics of Computation, Volume 76, Number 257, January
  1. Set to -1 to default to absolute error measure.

Definition at line 122 of file cpragmatic.cpp.

void pragmatic_dump ( const char *  filename)

Definition at line 53 of file cpragmatic.cpp.

void pragmatic_dump_debug ( )

Definition at line 57 of file cpragmatic.cpp.

void pragmatic_finalize ( )

Definition at line 320 of file cpragmatic.cpp.

void pragmatic_get_coords_2d ( double *  x,
double *  y 
)

Definition at line 268 of file cpragmatic.cpp.

void pragmatic_get_coords_3d ( double *  x,
double *  y,
double *  z 
)

Definition at line 276 of file cpragmatic.cpp.

void pragmatic_get_elements ( int *  elements)

Definition at line 285 of file cpragmatic.cpp.

void pragmatic_get_info ( int *  NNodes,
int *  NElements 
)

Get size of mesh.

Parameters
[out]NNodes
[out]NElements

Definition at line 261 of file cpragmatic.cpp.

void pragmatic_get_metric ( double *  metric)

Definition at line 312 of file cpragmatic.cpp.

void pragmatic_set_boundary ( const int *  nfacets,
const int *  facets,
const int *  ids 
)

Set the domain boundary.

Parameters
[in]nfacetsNumber of boundary facets
[in]facetsFacet list
[in]idsBoundary ids

Definition at line 181 of file cpragmatic.cpp.

void pragmatic_set_metric ( const double *  metric)

Set the node centred metric field

Parameters
[in]metricMetric tensor field.

Definition at line 150 of file cpragmatic.cpp.

void pragmatic_vtk_init ( const char *  filename)

Initialise pragmatic with name of VTK file to be adapted.

Definition at line 103 of file cpragmatic.cpp.

Variable Documentation

void* _pragmatic_mesh =NULL
static

Definition at line 49 of file cpragmatic.cpp.

void* _pragmatic_metric_field =NULL
static

Definition at line 50 of file cpragmatic.cpp.