PRAgMaTIc  master
cpragmatic.h
Go to the documentation of this file.
1 #ifndef CPRAGMATIC_H
2 #define CPRAGMATIC_H
3 
4 #include <cassert>
5 
6 // The order of these matters (!)
7 #include "Surface.h"
8 #include "Coarsen.h"
9 
10 #include "Mesh.h"
11 #include "MetricField.h"
12 #include "Refine.h"
13 #include "Swapping.h"
14 #include "Smooth.h"
15 
17 extern Surface<double, int>* _cpragmatic_surface;
19 
20 extern "C" {
21  void cpragmatic_initialise_2d(int* NNodes, int* NElements, int* enlist, double* x, double* y);
22  void cpragmatic_set_boundary(int* nfacets, int* facets, int* boundary_ids);
23  void cpragmatic_set_metric(double* metric);
24  void cpragmatic_metric_add_field(double* psi, double* error, int* pnorm);
25  void cpragmatic_apply_metric_bounds(double* min_len, double* max_len);
26  void cpragmatic_adapt(int* smooth);
27  void cpragmatic_query_output(int* NNodes, int* NElements);
28  void cpragmatic_get_output_2d(int* enlist, double* x, double* y);
29  void cpragmatic_finalise(void);
30 }
31 
32 #endif
void cpragmatic_query_output(int *NNodes, int *NElements)
Manages mesh data.
Definition: Mesh.h:70
void cpragmatic_adapt(int *smooth)
void cpragmatic_set_boundary(int *nfacets, int *facets, int *boundary_ids)
Constructs metric tensor field which encodes anisotropic edge size information.
Definition: MetricField.h:73
void cpragmatic_apply_metric_bounds(double *min_len, double *max_len)
void cpragmatic_metric_add_field(double *psi, double *error, int *pnorm)
void cpragmatic_get_output_2d(int *enlist, double *x, double *y)
MetricField< double, int > * _cpragmatic_metric_field
void cpragmatic_initialise_2d(int *NNodes, int *NElements, int *enlist, double *x, double *y)
void cpragmatic_finalise(void)
void cpragmatic_set_metric(double *metric)
Surface< double, int > * _cpragmatic_surface
Mesh< double, int > * _cpragmatic_mesh