Nalu
Nalu: a generalized unstructured massively parallel low Mach flow code designed to support a variety of energy applications of interest (most notably Wind ECP) built on the Sierra Toolkit and Trilinos solver Tpetra/Epetra stack. The open source BSD, clause 3 license model has been chosen for the code base. See LICENSE for more information. http://NaluCFD.org
MasterElementUtils.h
Go to the documentation of this file.
1 /*------------------------------------------------------------------------*/
2 /* Copyright 2014 Sandia Corporation. */
3 /* This software is released under the license detailed */
4 /* in the file, LICENSE, which is located in the top-level Nalu */
5 /* directory structure */
6 /*------------------------------------------------------------------------*/
7 #ifndef MasterElementUtils_h
8 #define MasterElementUtils_h
9 
10 #include <vector>
11 #include <array>
12 #include <limits>
13 
14 #ifdef __INTEL_COMPILER
15 #define POINTER_RESTRICT restrict
16 #else
17 #define POINTER_RESTRICT __restrict__
18 #endif
19 
20 namespace sierra{
21 namespace nalu{
22  class LagrangeBasis;
23 
25  LagrangeBasis& basis,
26  const double* POINTER_RESTRICT elemNodalCoords,
27  const double* POINTER_RESTRICT pointCoord,
28  double* POINTER_RESTRICT isoParCoord,
29  std::array<double,2> initialGuess,
30  int maxIter,
31  double tolerance,
32  double deltaLimit = 1.0e4
33  );
34 
36  LagrangeBasis& basis,
37  const double* POINTER_RESTRICT elemNodalCoords,
38  const double* POINTER_RESTRICT pointCoord,
39  double* POINTER_RESTRICT isoParCoord,
40  std::array<double,3> initialGuess,
41  int maxIter,
42  double tolerance,
43  double deltaLimit = 1.0e4
44  );
45 
46 }
47 }
48 
49 #endif
#define POINTER_RESTRICT
Definition: MasterElementUtils.h:17
bool isoparameteric_coordinates_for_point_2d(sierra::nalu::LagrangeBasis &basis, const double *POINTER_RESTRICT elemNodalCoords, const double *POINTER_RESTRICT pointCoord, double *POINTER_RESTRICT isoParCoord, std::array< double, 2 > initialGuess, int maxIter, double tol, double deltaLimit)
Definition: MasterElementUtils.C:92
Definition: ABLForcingAlgorithm.C:26
bool isoparameteric_coordinates_for_point_3d(sierra::nalu::LagrangeBasis &basis, const double *POINTER_RESTRICT elemNodalCoords, const double *POINTER_RESTRICT pointCoord, double *POINTER_RESTRICT isoParCoord, std::array< double, 3 > initialGuess, int maxIter, double tol, double deltaLimit)
Definition: MasterElementUtils.C:26