escript Revision_
speckley Namespace Reference

Classes

class  AbstractAssembler
 
class  Brick
 Brick is the 3-dimensional implementation of a SpeckleyDomain. More...
 
class  DefaultAssembler2D
 
class  DefaultAssembler3D
 
struct  DiracPoint
 A struct to contain a dirac point's information. More...
 
struct  ReaderParameters
 Structure that wraps parameters for the grid reading routines. More...
 
class  Rectangle
 Rectangle is the 2-dimensional implementation of a SpeckleyDomain. More...
 
class  RipleyCoupler
 
class  SpeckleyDomain
 SpeckleyDomain extends the AbstractContinuousDomain interface for the Speckley library and is the base class for Rectangle and Brick. More...
 
class  SpeckleyException
 SpeckleyException exception class. More...
 
class  WaveAssembler2D
 
class  WaveAssembler3D
 

Typedefs

typedef std::map< std::string, escript::DataDataMap
 
typedef std::pair< index_t, index_tIndexPair
 
typedef std::vector< index_tIndexVector
 
typedef std::vector< real_tDoubleVector
 
typedef std::map< std::string, int > TagMap
 
typedef std::map< std::string, int > simap_t
 

Enumerations

enum  {
  DegreesOfFreedom = 1 , ReducedDegreesOfFreedom = 2 , Nodes = 3 , ReducedNodes = 14 ,
  Elements = 4 , ReducedElements = 10 , FaceElements = 5 , ReducedFaceElements = 11 ,
  Points = 6
}
 
enum  assembler_t { DEFAULT_ASSEMBLER }
 
enum  { BYTEORDER_NATIVE = BOOST_BYTE_ORDER , BYTEORDER_LITTLE_ENDIAN = 4321 , BYTEORDER_BIG_ENDIAN = 1234 }
 
enum  { DATATYPE_INT32 = 1 , DATATYPE_FLOAT32 , DATATYPE_FLOAT64 }
 

Functions

escript::Data unpackData (std::string target, std::map< std::string, escript::Data > mapping)
 
typedef POINTER_WRAPPER_CLASS (AbstractAssembler) Assembler_ptr
 
int indexOfMax (dim_t a, dim_t b, dim_t c)
 
bool probeInterpolationAcross (int fsType_source, const escript::AbstractDomain &domain, int fsType_target, int dim)
 
void interpolateAcross3D (escript::Data &target, const escript::Data &source, const Brick *speck, const double s_dx[3], int rank, MPI_Comm comm)
 interpolates data given on source onto target where source and target are given on different domains
 
void factorise (std::vector< int > &factors, int product)
 
const escript::Data unpackData (const std::string target, const DataMap &mapping)
 
bool isNotEmpty (const std::string target, const DataMap &mapping)
 
bool isComplexCoef (const std::string target, const DataMap &mapping)
 returns true if the target data object is complex
 
double lagrange_degree2_0 (double xi)
 
double lagrange_degree2_1 (double xi)
 
double lagrange_degree2_2 (double xi)
 
double lagrange_degree3_0 (double xi)
 
double lagrange_degree3_1 (double xi)
 
double lagrange_degree3_2 (double xi)
 
double lagrange_degree3_3 (double xi)
 
double lagrange_degree4_0 (double xi)
 
double lagrange_degree4_1 (double xi)
 
double lagrange_degree4_2 (double xi)
 
double lagrange_degree4_3 (double xi)
 
double lagrange_degree4_4 (double xi)
 
double lagrange_degree5_0 (double xi)
 
double lagrange_degree5_1 (double xi)
 
double lagrange_degree5_2 (double xi)
 
double lagrange_degree5_3 (double xi)
 
double lagrange_degree5_4 (double xi)
 
double lagrange_degree5_5 (double xi)
 
double lagrange_degree6_0 (double xi)
 
double lagrange_degree6_1 (double xi)
 
double lagrange_degree6_2 (double xi)
 
double lagrange_degree6_3 (double xi)
 
double lagrange_degree6_4 (double xi)
 
double lagrange_degree6_5 (double xi)
 
double lagrange_degree6_6 (double xi)
 
double lagrange_degree7_0 (double xi)
 
double lagrange_degree7_1 (double xi)
 
double lagrange_degree7_2 (double xi)
 
double lagrange_degree7_3 (double xi)
 
double lagrange_degree7_4 (double xi)
 
double lagrange_degree7_5 (double xi)
 
double lagrange_degree7_6 (double xi)
 
double lagrange_degree7_7 (double xi)
 
double lagrange_degree8_0 (double xi)
 
double lagrange_degree8_1 (double xi)
 
double lagrange_degree8_2 (double xi)
 
double lagrange_degree8_3 (double xi)
 
double lagrange_degree8_4 (double xi)
 
double lagrange_degree8_5 (double xi)
 
double lagrange_degree8_6 (double xi)
 
double lagrange_degree8_7 (double xi)
 
double lagrange_degree8_8 (double xi)
 
double lagrange_degree9_0 (double xi)
 
double lagrange_degree9_1 (double xi)
 
double lagrange_degree9_2 (double xi)
 
double lagrange_degree9_3 (double xi)
 
double lagrange_degree9_4 (double xi)
 
double lagrange_degree9_5 (double xi)
 
double lagrange_degree9_6 (double xi)
 
double lagrange_degree9_7 (double xi)
 
double lagrange_degree9_8 (double xi)
 
double lagrange_degree9_9 (double xi)
 
double lagrange_degree10_0 (double xi)
 
double lagrange_degree10_1 (double xi)
 
double lagrange_degree10_2 (double xi)
 
double lagrange_degree10_3 (double xi)
 
double lagrange_degree10_4 (double xi)
 
double lagrange_degree10_5 (double xi)
 
double lagrange_degree10_6 (double xi)
 
double lagrange_degree10_7 (double xi)
 
double lagrange_degree10_8 (double xi)
 
double lagrange_degree10_9 (double xi)
 
double lagrange_degree10_10 (double xi)
 
template<typename T >
std::vector< T > extractPyArray (const object &obj, const std::string &name, int expectedLength=0)
 
escript::Data readBinaryGrid (std::string filename, escript::FunctionSpace fs, const object &pyShape, double fill, int byteOrder, int dataType, const object &pyFirst, const object &pyNum, const object &pyMultiplier, const object &pyReverse)
 
escript::Data readBinaryGridFromZipped (std::string filename, escript::FunctionSpace fs, const object &pyShape, double fill, int byteOrder, int dataType, const object &pyFirst, const object &pyNum, const object &pyMultiplier, const object &pyReverse)
 
escript::Data readNcGrid (std::string filename, std::string varname, escript::FunctionSpace fs, const object &pyShape, double fill, const object &pyFirst, const object &pyNum, const object &pyMultiplier, const object &pyReverse)
 
escript::Domain_ptr _brick (int order, double _n0, double _n1, double _n2, const object &l0, const object &l1, const object &l2, int d0, int d1, int d2, const object &objpoints, const object &objtags, escript::SubWorld_ptr world)
 
escript::Domain_ptr _rectangle (int order, double _n0, double _n1, const object &l0, const object &l1, int d0, int d1, const object &objpoints, const object &objtags, escript::SubWorld_ptr world)
 
void tupleListToMap (DataMap &mapping, const bp::list &list)
 
char * byte_swap32 (char *val)
 
char * byte_swap64 (char *val)
 

Variables

const double ripleyLocations [2] = {.21132486540518711775, .78867513459481288225}
 
const double point_locations [][11]
 

Typedef Documentation

◆ DataMap

typedef std::map<std::string, escript::Data> speckley::DataMap

◆ DoubleVector

typedef std::vector<real_t> speckley::DoubleVector

◆ IndexPair

typedef std::pair<index_t,index_t> speckley::IndexPair

◆ IndexVector

typedef std::vector<index_t> speckley::IndexVector

◆ simap_t

typedef std::map<std::string, int> speckley::simap_t

◆ TagMap

typedef std::map<std::string,int> speckley::TagMap

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
DegreesOfFreedom 
ReducedDegreesOfFreedom 
Nodes 
ReducedNodes 
Elements 
ReducedElements 
FaceElements 
ReducedFaceElements 
Points 

◆ anonymous enum

anonymous enum
Enumerator
BYTEORDER_NATIVE 
BYTEORDER_LITTLE_ENDIAN 
BYTEORDER_BIG_ENDIAN 

◆ anonymous enum

anonymous enum
Enumerator
DATATYPE_INT32 
DATATYPE_FLOAT32 
DATATYPE_FLOAT64 

◆ assembler_t

Enumerator
DEFAULT_ASSEMBLER 

Function Documentation

◆ _brick()

escript::Domain_ptr speckley::_brick ( int order,
double _n0,
double _n1,
double _n2,
const object & l0,
const object & l1,
const object & l2,
int d0,
int d1,
int d2,
const object & objpoints,
const object & objtags,
escript::SubWorld_ptr world )

Referenced by BOOST_PYTHON_MODULE().

◆ _rectangle()

escript::Domain_ptr speckley::_rectangle ( int order,
double _n0,
double _n1,
const object & l0,
const object & l1,
int d0,
int d1,
const object & objpoints,
const object & objtags,
escript::SubWorld_ptr world )

Referenced by BOOST_PYTHON_MODULE().

◆ byte_swap32()

◆ byte_swap64()

◆ extractPyArray()

template<typename T >
std::vector< T > speckley::extractPyArray ( const object & obj,
const std::string & name,
int expectedLength = 0 )

◆ factorise()

void speckley::factorise ( std::vector< int > & factors,
int product )

factorises 'product' and inserts the factors into the vector 'factors' in order of smallest to largest

Referenced by speckley::Brick::Brick(), and speckley::Rectangle::Rectangle().

◆ indexOfMax()

int speckley::indexOfMax ( dim_t a,
dim_t b,
dim_t c )
inline

◆ interpolateAcross3D()

void speckley::interpolateAcross3D ( escript::Data & target,
const escript::Data & source,
const Brick * speck,
const double s_dx[3],
int rank,
MPI_Comm comm )

interpolates data given on source onto target where source and target are given on different domains

◆ isComplexCoef()

bool speckley::isComplexCoef ( const std::string target,
const DataMap & mapping )
inline

returns true if the target data object is complex

Referenced by speckley::SpeckleyDomain::assemblePDEDiracWrap().

◆ isNotEmpty()

◆ lagrange_degree10_0()

double speckley::lagrange_degree10_0 ( double xi)
inline

◆ lagrange_degree10_1()

double speckley::lagrange_degree10_1 ( double xi)
inline

◆ lagrange_degree10_10()

double speckley::lagrange_degree10_10 ( double xi)
inline

◆ lagrange_degree10_2()

double speckley::lagrange_degree10_2 ( double xi)
inline

◆ lagrange_degree10_3()

double speckley::lagrange_degree10_3 ( double xi)
inline

◆ lagrange_degree10_4()

double speckley::lagrange_degree10_4 ( double xi)
inline

◆ lagrange_degree10_5()

double speckley::lagrange_degree10_5 ( double xi)
inline

◆ lagrange_degree10_6()

double speckley::lagrange_degree10_6 ( double xi)
inline

◆ lagrange_degree10_7()

double speckley::lagrange_degree10_7 ( double xi)
inline

◆ lagrange_degree10_8()

double speckley::lagrange_degree10_8 ( double xi)
inline

◆ lagrange_degree10_9()

double speckley::lagrange_degree10_9 ( double xi)
inline

◆ lagrange_degree2_0()

double speckley::lagrange_degree2_0 ( double xi)
inline

◆ lagrange_degree2_1()

double speckley::lagrange_degree2_1 ( double xi)
inline

◆ lagrange_degree2_2()

double speckley::lagrange_degree2_2 ( double xi)
inline

◆ lagrange_degree3_0()

double speckley::lagrange_degree3_0 ( double xi)
inline

◆ lagrange_degree3_1()

double speckley::lagrange_degree3_1 ( double xi)
inline

◆ lagrange_degree3_2()

double speckley::lagrange_degree3_2 ( double xi)
inline

◆ lagrange_degree3_3()

double speckley::lagrange_degree3_3 ( double xi)
inline

◆ lagrange_degree4_0()

double speckley::lagrange_degree4_0 ( double xi)
inline

◆ lagrange_degree4_1()

double speckley::lagrange_degree4_1 ( double xi)
inline

◆ lagrange_degree4_2()

double speckley::lagrange_degree4_2 ( double xi)
inline

◆ lagrange_degree4_3()

double speckley::lagrange_degree4_3 ( double xi)
inline

◆ lagrange_degree4_4()

double speckley::lagrange_degree4_4 ( double xi)
inline

◆ lagrange_degree5_0()

double speckley::lagrange_degree5_0 ( double xi)
inline

◆ lagrange_degree5_1()

double speckley::lagrange_degree5_1 ( double xi)
inline

◆ lagrange_degree5_2()

double speckley::lagrange_degree5_2 ( double xi)
inline

◆ lagrange_degree5_3()

double speckley::lagrange_degree5_3 ( double xi)
inline

◆ lagrange_degree5_4()

double speckley::lagrange_degree5_4 ( double xi)
inline

◆ lagrange_degree5_5()

double speckley::lagrange_degree5_5 ( double xi)
inline

◆ lagrange_degree6_0()

double speckley::lagrange_degree6_0 ( double xi)
inline

◆ lagrange_degree6_1()

double speckley::lagrange_degree6_1 ( double xi)
inline

◆ lagrange_degree6_2()

double speckley::lagrange_degree6_2 ( double xi)
inline

◆ lagrange_degree6_3()

double speckley::lagrange_degree6_3 ( double xi)
inline

◆ lagrange_degree6_4()

double speckley::lagrange_degree6_4 ( double xi)
inline

◆ lagrange_degree6_5()

double speckley::lagrange_degree6_5 ( double xi)
inline

◆ lagrange_degree6_6()

double speckley::lagrange_degree6_6 ( double xi)
inline

◆ lagrange_degree7_0()

double speckley::lagrange_degree7_0 ( double xi)
inline

◆ lagrange_degree7_1()

double speckley::lagrange_degree7_1 ( double xi)
inline

◆ lagrange_degree7_2()

double speckley::lagrange_degree7_2 ( double xi)
inline

◆ lagrange_degree7_3()

double speckley::lagrange_degree7_3 ( double xi)
inline

◆ lagrange_degree7_4()

double speckley::lagrange_degree7_4 ( double xi)
inline

◆ lagrange_degree7_5()

double speckley::lagrange_degree7_5 ( double xi)
inline

◆ lagrange_degree7_6()

double speckley::lagrange_degree7_6 ( double xi)
inline

◆ lagrange_degree7_7()

double speckley::lagrange_degree7_7 ( double xi)
inline

◆ lagrange_degree8_0()

double speckley::lagrange_degree8_0 ( double xi)
inline

◆ lagrange_degree8_1()

double speckley::lagrange_degree8_1 ( double xi)
inline

◆ lagrange_degree8_2()

double speckley::lagrange_degree8_2 ( double xi)
inline

◆ lagrange_degree8_3()

double speckley::lagrange_degree8_3 ( double xi)
inline

◆ lagrange_degree8_4()

double speckley::lagrange_degree8_4 ( double xi)
inline

◆ lagrange_degree8_5()

double speckley::lagrange_degree8_5 ( double xi)
inline

◆ lagrange_degree8_6()

double speckley::lagrange_degree8_6 ( double xi)
inline

◆ lagrange_degree8_7()

double speckley::lagrange_degree8_7 ( double xi)
inline

◆ lagrange_degree8_8()

double speckley::lagrange_degree8_8 ( double xi)
inline

◆ lagrange_degree9_0()

double speckley::lagrange_degree9_0 ( double xi)
inline

◆ lagrange_degree9_1()

double speckley::lagrange_degree9_1 ( double xi)
inline

◆ lagrange_degree9_2()

double speckley::lagrange_degree9_2 ( double xi)
inline

◆ lagrange_degree9_3()

double speckley::lagrange_degree9_3 ( double xi)
inline

◆ lagrange_degree9_4()

double speckley::lagrange_degree9_4 ( double xi)
inline

◆ lagrange_degree9_5()

double speckley::lagrange_degree9_5 ( double xi)
inline

◆ lagrange_degree9_6()

double speckley::lagrange_degree9_6 ( double xi)
inline

◆ lagrange_degree9_7()

double speckley::lagrange_degree9_7 ( double xi)
inline

◆ lagrange_degree9_8()

double speckley::lagrange_degree9_8 ( double xi)
inline

◆ lagrange_degree9_9()

double speckley::lagrange_degree9_9 ( double xi)
inline

◆ POINTER_WRAPPER_CLASS()

typedef speckley::POINTER_WRAPPER_CLASS ( AbstractAssembler )

◆ probeInterpolationAcross()

bool speckley::probeInterpolationAcross ( int fsType_source,
const escript::AbstractDomain & domain,
int fsType_target,
int dim )

◆ readBinaryGrid()

escript::Data speckley::readBinaryGrid ( std::string filename,
escript::FunctionSpace fs,
const object & pyShape,
double fill,
int byteOrder,
int dataType,
const object & pyFirst,
const object & pyNum,
const object & pyMultiplier,
const object & pyReverse )

◆ readBinaryGridFromZipped()

escript::Data speckley::readBinaryGridFromZipped ( std::string filename,
escript::FunctionSpace fs,
const object & pyShape,
double fill,
int byteOrder,
int dataType,
const object & pyFirst,
const object & pyNum,
const object & pyMultiplier,
const object & pyReverse )

◆ readNcGrid()

escript::Data speckley::readNcGrid ( std::string filename,
std::string varname,
escript::FunctionSpace fs,
const object & pyShape,
double fill,
const object & pyFirst,
const object & pyNum,
const object & pyMultiplier,
const object & pyReverse )

◆ tupleListToMap()

◆ unpackData() [1/2]

const escript::Data speckley::unpackData ( const std::string target,
const DataMap & mapping )
inline

returns the data associated with the string key or an empty data object if the map does not contain the given key

◆ unpackData() [2/2]

escript::Data speckley::unpackData ( std::string target,
std::map< std::string, escript::Data > mapping )

Referenced by speckley::SpeckleyDomain::assembleComplexPDEDirac(), speckley::DefaultAssembler2D::assemblePDEBoundarySingle(), speckley::DefaultAssembler3D::assemblePDEBoundarySingle(), speckley::WaveAssembler2D::assemblePDEBoundarySingle(), speckley::WaveAssembler3D::assemblePDEBoundarySingle(), speckley::DefaultAssembler2D::assemblePDEBoundarySingleReduced(), speckley::DefaultAssembler3D::assemblePDEBoundarySingleReduced(), speckley::WaveAssembler2D::assemblePDEBoundarySingleReduced(), speckley::WaveAssembler3D::assemblePDEBoundarySingleReduced(), speckley::DefaultAssembler2D::assemblePDEBoundarySystem(), speckley::DefaultAssembler3D::assemblePDEBoundarySystem(), speckley::WaveAssembler2D::assemblePDEBoundarySystem(), speckley::WaveAssembler3D::assemblePDEBoundarySystem(), speckley::DefaultAssembler2D::assemblePDEBoundarySystemReduced(), speckley::DefaultAssembler3D::assemblePDEBoundarySystemReduced(), speckley::WaveAssembler2D::assemblePDEBoundarySystemReduced(), speckley::WaveAssembler3D::assemblePDEBoundarySystemReduced(), speckley::SpeckleyDomain::assemblePDEDirac(), speckley::DefaultAssembler2D::assemblePDESingle(), speckley::DefaultAssembler3D::assemblePDESingle(), speckley::WaveAssembler2D::assemblePDESingle(), speckley::WaveAssembler3D::assemblePDESingle(), speckley::DefaultAssembler2D::assemblePDESingleReduced(), speckley::DefaultAssembler3D::assemblePDESingleReduced(), speckley::WaveAssembler2D::assemblePDESingleReduced(), speckley::WaveAssembler3D::assemblePDESingleReduced(), speckley::DefaultAssembler2D::assemblePDESystem(), speckley::DefaultAssembler3D::assemblePDESystem(), speckley::WaveAssembler2D::assemblePDESystem(), speckley::WaveAssembler3D::assemblePDESystem(), speckley::DefaultAssembler2D::assemblePDESystemReduced(), speckley::DefaultAssembler3D::assemblePDESystemReduced(), speckley::WaveAssembler2D::assemblePDESystemReduced(), and speckley::WaveAssembler3D::assemblePDESystemReduced().

Variable Documentation

◆ point_locations

const double speckley::point_locations[][11]
Initial value:
= {
{0.0, 0.5, 1.0},
{0.0, 0.27639320225, 0.72360679775, 1.0},
{0.0, 0.172673164646, 0.5, 0.827326835354, 1.0},
{0.0, 0.117472338035, 0.35738424176, 0.64261575824, 0.882527661965, 1.0},
{0.0, 0.0848880518607, 0.265575603265, 0.5, 0.734424396735, 0.915111948139, 1.0},
{0.0, 0.0641299257452, 0.204149909283, 0.395350391049, 0.604649608951, 0.795850090717, 0.935870074255, 1.0},
{0.0, 0.0501210022943, 0.161406860245, 0.318441268087, 0.5, 0.681558731913, 0.838593139755, 0.949878997706, 1.0},
{0.0, 0.0402330459168, 0.130613067447, 0.261037525095, 0.417360521167, 0.582639478833, 0.738962474905, 0.869386932553, 0.959766954083, 1.0},
{0.0, 0.032999284796, 0.107758263168, 0.217382336502, 0.352120932207, 0.5, 0.647879067793, 0.782617663498, 0.892241736832, 0.967000715204, 1.0}}

Referenced by speckley::Brick::getLocalCoordinate(), speckley::Rectangle::getLocalCoordinate(), speckley::Brick::interpolateFromCorners(), speckley::Rectangle::interpolateFromCorners(), speckley::Brick::setToSize(), and speckley::Rectangle::setToSize().

◆ ripleyLocations

const double speckley::ripleyLocations[2] = {.21132486540518711775, .78867513459481288225}