escript  Revision_
Speckley.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2017 by The University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Apache License, version 2.0
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development 2012-2013 by School of Earth Sciences
13 * Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 *
15 *****************************************************************************/
16 
17 #ifndef __SPECKLEY_SPECKLEY_H__
18 #define __SPECKLEY_SPECKLEY_H__
19 
20 /*****************************************************************************
21  * Speckley is a spectral element domain library with regular
22  * hexagonal/rectangular elements and high order quadrature points
23  ****************************************************************************/
24 
25 #include <speckley/system_dep.h>
26 
27 #include <escript/EsysMPI.h>
28 
29 #include <boost/shared_ptr.hpp>
30 #include <list>
31 #include <map>
32 #include <string>
33 #include <vector>
34 
35 namespace speckley {
36 
41 
42 typedef std::pair<index_t,index_t> IndexPair;
43 typedef std::vector<index_t> IndexVector;
44 typedef std::vector<real_t> DoubleVector;
45 typedef std::map<std::string,int> TagMap;
46 
47 enum {
50  Nodes=3,
57 };
58 
59 //quadrature point locations
60 const double point_locations[][11] = {
61  {0.0, 0.5, 1.0},
62  {0.0, 0.27639320225, 0.72360679775, 1.0},
63  {0.0, 0.172673164646, 0.5, 0.827326835354, 1.0},
64  {0.0, 0.117472338035, 0.35738424176, 0.64261575824, 0.882527661965, 1.0},
65  {0.0, 0.0848880518607, 0.265575603265, 0.5, 0.734424396735, 0.915111948139, 1.0},
66  {0.0, 0.0641299257452, 0.204149909283, 0.395350391049, 0.604649608951, 0.795850090717, 0.935870074255, 1.0},
67  {0.0, 0.0501210022943, 0.161406860245, 0.318441268087, 0.5, 0.681558731913, 0.838593139755, 0.949878997706, 1.0},
68  {0.0, 0.0402330459168, 0.130613067447, 0.261037525095, 0.417360521167, 0.582639478833, 0.738962474905, 0.869386932553, 0.959766954083, 1.0},
69  {0.0, 0.032999284796, 0.107758263168, 0.217382336502, 0.352120932207, 0.5, 0.647879067793, 0.782617663498, 0.892241736832, 0.967000715204, 1.0}};
70 
71 } // namespace speckley
72 
73 #endif /* __SPECKLEY_SPECKLEY_H__ */
74 
Definition: AbstractAssembler.cpp:18
Definition: Speckley.h:53
std::vector< real_t > DoubleVector
Definition: Speckley.h:44
std::pair< index_t, index_t > IndexPair
Definition: Speckley.h:42
Definition: Speckley.h:49
Definition: Speckley.h:48
Definition: Speckley.h:56
Definition: Speckley.h:54
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:59
Definition: Speckley.h:50
std::vector< index_t > IndexVector
Definition: Speckley.h:43
Definition: Speckley.h:55
Definition: Speckley.h:51
std::map< std::string, int > TagMap
Definition: Speckley.h:45
std::complex< real_t > cplx_t
complex data type
Definition: DataTypes.h:53
const double point_locations[][11]
Definition: Speckley.h:60
Definition: Speckley.h:52
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:50
index_t dim_t
Definition: DataTypes.h:64