SCOREC core
Parallel unstructured mesh tools
spr.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2011 Scientific Computation Research Center
3  *
4  * This work is open source software, licensed under the terms of the
5  * BSD license as described in the LICENSE file in the top-level directory.
6  */
7 
8 #ifndef SPR_H
9 #define SPR_H
10 
15 #include "apf.h"
16 #include "apfNew.h"
17 #include "apfDynamicVector.h"
18 #include "apfDynamicMatrix.h"
19 #include "PCU.h"
20 
21 
25 namespace spr {
26 
33 apf::Field* getGradIPField(apf::Field* f,
34  const char* name,
35  int order);
36 
40 apf::Field* recoverField(apf::Field* ip_field);
41 
48 apf::Field* getSPRSizeField(apf::Field* f, double adapt_ratio, pcu::PCU *PCUObj);
49 
58  apf::Field* f,
59  size_t t,
60  pcu::PCU *PCUObj,
61  double alpha=0.25,
62  double beta=2.0);
63 
64 }
65 
66 #endif
The C++ interface to the Parallel Control Unit.
Small runtime-sized matrices.
Small runtime-sized vectors.
The APF Field interface.
The Parallel Contrul Unit class encapsulates parallel communication.
Definition: PCU.h:26
All SPR error estimator functions.
apf::Field * getGradIPField(apf::Field *f, const char *name, int order)
compute the gradient of a vector or scalar field at integration points
apf::Field * getTargetSPRSizeField(apf::Field *f, size_t t, pcu::PCU *PCUObj, double alpha=0.25, double beta=2.0)
run the SPR ZZ error estimator with a target # of output elems
apf::Field * recoverField(apf::Field *ip_field)
recover a nodal field using patch recovery
apf::Field * getSPRSizeField(apf::Field *f, double adapt_ratio, pcu::PCU *PCUObj)
run the SPR ZZ error estimator