Ripley.h
Go to the documentation of this file.
/*****************************************************************************
*
* Copyright (c) 2003-2020 by The University of Queensland
* http://www.uq.edu.au
*
* Primary Business: Queensland, Australia
* Licensed under the Apache License, version 2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Development until 2012 by Earth Systems Science Computational Center (ESSCC)
* Development 2012-2013 by School of Earth Sciences
* Development from 2014-2017 by Centre for Geoscience Computing (GeoComp)
* Development from 2019 by School of Earth and Environmental Sciences
**
*****************************************************************************/
#ifndef __RIPLEY_RIPLEY_H__
#define __RIPLEY_RIPLEY_H__
/*****************************************************************************
* Ripley is a FE domain library with regular hexagonal/rectangular
* elements
****************************************************************************/
#include <ripley/system_dep.h>
#include <escript/EsysMPI.h>
#include <boost/shared_ptr.hpp>
#include <list>
#include <map>
#include <string>
#include <vector>
namespace ripley {
using escript::DataTypes::dim_t;
using escript::DataTypes::index_t;
using escript::DataTypes::cplx_t;
using escript::DataTypes::real_t;
typedef std::pair<index_t,index_t> IndexPair;
typedef std::vector<index_t> IndexVector;
typedef std::vector<real_t> DoubleVector;
typedef std::vector<int> RankVector;
typedef std::map<std::string,int> TagMap;
enum {
DegreesOfFreedom=1,
ReducedDegreesOfFreedom=2,
Nodes=3,
ReducedNodes=14,
Elements=4,
ReducedElements=10,
FaceElements=5,
ReducedFaceElements=11,
Points=6
};
} // namespace ripley
#endif /* __RIPLEY_RIPLEY_H__ */
BlockOps.h
ripley::ReducedElements
@ ReducedElements
Definition: Ripley.h:72
ripley
Definition: ripley/src/AbstractAssembler.h:26
escript::DataTypes::real_t
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:79
ripley::Points
@ Points
Definition: Ripley.h:75
ripley::TagMap
std::map< std::string, int > TagMap
Definition: Ripley.h:64
ripley::Nodes
@ Nodes
Definition: Ripley.h:69
ripley::ReducedDegreesOfFreedom
@ ReducedDegreesOfFreedom
Definition: Ripley.h:68
ripley::Elements
@ Elements
Definition: Ripley.h:71
paso::util::cumsum
index_t cumsum(dim_t N, index_t *array)
calculates the cumulative sum in array and returns the total sum
Definition: PasoUtil.cpp:115
ripley::DegreesOfFreedom
@ DegreesOfFreedom
Definition: Ripley.h:67
ripley::IndexPair
std::pair< index_t, index_t > IndexPair
Definition: Ripley.h:60
ripley::ReducedNodes
@ ReducedNodes
Definition: Ripley.h:70
paso::Solver_RILU_free
void Solver_RILU_free(Solver_RILU *in)
Definition: RILU.cpp:50
paso::Solver_updateIncompleteSchurComplement
void Solver_updateIncompleteSchurComplement(SparseMatrix_ptr A_CC, SparseMatrix_ptr A_CF, double *invA_FF, index_t *A_FF_pivot, SparseMatrix_ptr A_FC)
Definition: SchurComplement.cpp:43
ripley::RankVector
std::vector< int > RankVector
Definition: Ripley.h:63
paso::BlockOps_solveAll
void BlockOps_solveAll(dim_t n_block, dim_t n, double *D, index_t *pivot, double *x)
Definition: BlockOps.h:233
paso::util::copy
void copy(dim_t N, double *out, const double *in)
out = in
Definition: PasoUtil.h:116
Paso.h
paso::util::comparIndex
int comparIndex(const void *index1, const void *index2)
this int-comparison function is used by qsort/bsearch in various places
Definition: PasoUtil.cpp:54
escript::DataTypes::dim_t
index_t dim_t
Definition: DataTypes.h:93
paso::Solver_RILU::RILU_of_Schur
Solver_RILU * RILU_of_Schur
Definition: Preconditioner.h:143
paso::Solver_RILU
RILU preconditioner.
Definition: Preconditioner.h:125
ripley::DoubleVector
std::vector< real_t > DoubleVector
Definition: Ripley.h:62
ripley::FaceElements
@ FaceElements
Definition: Ripley.h:73
paso::Solver_solveRILU
void Solver_solveRILU(Solver_RILU *rilu, double *x, double *b)
Definition: RILU.cpp:304
paso::SparseMatrix_ptr
boost::shared_ptr< SparseMatrix > SparseMatrix_ptr
Definition: SparseMatrix.h:50
paso::Solver_RILU::inv_A_FF
double * inv_A_FF
Definition: Preconditioner.h:131
escript::gettime
double gettime()
returns the current ticks for timing
Definition: EsysMPI.h:187
escript::DataTypes::index_t
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:88
ripley::IndexVector
std::vector< index_t > IndexVector
Definition: Ripley.h:61
Preconditioner.h
paso::SparseMatrix_MatrixVector_CSR_OFFSET0
void SparseMatrix_MatrixVector_CSR_OFFSET0(const double alpha, const_SparseMatrix_ptr A, const double *in, const double beta, double *out)
Definition: SparseMatrix_MatrixVector.cpp:298
ripley::ReducedFaceElements
@ ReducedFaceElements
Definition: Ripley.h:74
PasoUtil.h
paso::Solver_getRILU
Solver_RILU * Solver_getRILU(SparseMatrix_ptr A, bool verbose)
Definition: RILU.cpp:86
paso
Definition: BiCGStab.cpp:26
escript::DataTypes::cplx_t
std::complex< real_t > cplx_t
complex data type
Definition: DataTypes.h:82