Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
argupta
openfpm_numerics
Commits
c476b51f
Commit
c476b51f
authored
Sep 22, 2016
by
incardon
Browse files
Fixing quadmath
parent
a384941b
Changes
5
Hide whitespace changes
Inline
Side-by-side
configure.ac
View file @
c476b51f
...
...
@@ -136,8 +136,8 @@ AX_LIB_PETSC()
AC_LANG_PUSH([C++])
AC_CHECK_HEADER(quadmath.h, , [])
AC_CHECK_LIB(quadmath, sinq, [
AC_CHECK_HEADER( quadmath.h ,[
AC_DEFINE(HAVE_LIBQUADMATH,[],[Have quad math lib])
LIBQUADMATH=" -lquadmath "
],[])
AC_CHECK_LIB(quadmath, sinq, [
AC_DEFINE(HAVE_LIBQUADMATH,[],[Have quad math lib])
LIBQUADMATH=" -lquadmath "
], [])
AC_LANG_POP([C++])
...
...
src/FiniteDifference/eq_unit_test_3d.hpp
View file @
c476b51f
...
...
@@ -22,57 +22,56 @@
BOOST_AUTO_TEST_SUITE
(
eq_test_suite_3d
)
//!
//! Specify the general caratteristic of system to solve
struct
lid_nn_3d_eigen
{
// dimensionaly of the equation ( 3D problem ...)
//
!
dimensionaly of the equation ( 3D problem ...)
static
const
unsigned
int
dims
=
3
;
// number of fields in the system
//
!
number of fields in the system
static
const
unsigned
int
nvar
=
4
;
// boundary at X and Y
//
!
boundary at X and Y
static
const
bool
boundary
[];
// type of space float, double, ...
//
!
type of space float, double, ...
typedef
float
stype
;
// type of base grid
//
!
type of base grid
typedef
grid_dist_id
<
3
,
float
,
aggregate
<
float
[
3
],
float
>
,
CartDecomposition
<
3
,
float
>>
b_grid
;
// type of SparseMatrix for the linear solver
//
!
type of SparseMatrix for the linear solver
typedef
SparseMatrix
<
double
,
int
>
SparseMatrix_type
;
// type of Vector for the linear solver
//
!
type of Vector for the linear solver
typedef
Vector
<
double
>
Vector_type
;
// Define the underline grid is staggered
//
!
Define the underline grid is staggered
static
const
int
grid_type
=
STAGGERED_GRID
;
};
struct
lid_nn_3d_petsc
{
// dimensionaly of the equation ( 3D problem ...)
//
!
dimensionaly of the equation ( 3D problem ...)
static
const
unsigned
int
dims
=
3
;
// number of fields in the system
//
!
number of fields in the system
static
const
unsigned
int
nvar
=
4
;
// boundary at X and Y
//
!
boundary at X and Y
static
const
bool
boundary
[];
// type of space float, double, ...
//
!
type of space float, double, ...
typedef
float
stype
;
// type of base grid
//
!
type of base grid
typedef
grid_dist_id
<
3
,
float
,
aggregate
<
float
[
3
],
float
>
,
CartDecomposition
<
3
,
float
>>
b_grid
;
// type of SparseMatrix for the linear solver
//
!
type of SparseMatrix for the linear solver
typedef
SparseMatrix
<
double
,
int
,
PETSC_BASE
>
SparseMatrix_type
;
// type of Vector for the linear solver
//
!
type of Vector for the linear solver
typedef
Vector
<
double
,
PETSC_BASE
>
Vector_type
;
// Define the underline grid is staggered
//
!
Define the underline grid is staggered
static
const
int
grid_type
=
STAGGERED_GRID
;
};
...
...
src/Matrix/SparseMatrix_petsc.hpp
View file @
c476b51f
...
...
@@ -24,22 +24,42 @@
template
<
typename
T
>
class
triplet
<
T
,
PETSC_BASE
>
{
//! Row of the sparse matrix
PetscInt
row_
;
//! Colum of the sparse matrix
PetscInt
col_
;
//! Value of the Matrix
PetscScalar
val_
;
public:
/*! \brief Return the row of the triplet
*
* \return the row index
*
*/
PetscInt
&
row
()
{
return
row_
;
}
/*! \brief Return the colum of the triplet
*
* \return the colum index
*
*/
PetscInt
&
col
()
{
return
col_
;
}
/*! \brief Return the value of the triplet
*
* \return the value
*
*/
PetscScalar
&
value
()
{
return
val_
;
...
...
src/Operators/Vector/vector_dist_operators.hpp
View file @
c476b51f
...
...
@@ -499,12 +499,15 @@ public:
template
<
unsigned
int
prp
>
class
vector_dist_expression
<
prp
,
float
>
{
//! constant value
float
d
;
public:
//! type of object the structure return then evaluated
typedef
float
vtype
;
//! constrictir from constant value
inline
vector_dist_expression
(
const
float
&
d
)
:
d
(
d
)
{}
...
...
@@ -519,7 +522,9 @@ public:
/*! \brief Evaluate the expression
*
* It just return the velue set in the constructor
* It just return the value set in the constructor
*
* \return the constant value set in the constructor
*
*/
inline
float
value
(
const
vect_dist_key_dx
&
k
)
const
...
...
src/Operators/Vector/vector_dist_operators_functions.hpp
View file @
c476b51f
...
...
@@ -49,14 +49,6 @@ fun_name(const vector_dist_expression_op<exp1,exp2_,op1> & va)\
return exp_sum;\
}\
\
template<typename exp1, typename exp2_, unsigned int op1>\
inline vector_dist_expression_op<vector_dist_expression<0,double>,void,OP_ID>\
fun_name(double d)\
{\
vector_dist_expression_op<vector_dist_expression<0,double>,void,OP_ID> exp_sum( (vector_dist_expression<0,double>(d)) );\
\
return exp_sum;\
}\
\
template<unsigned int prp1, typename v1>\
inline vector_dist_expression_op<vector_dist_expression<prp1,v1>,void,OP_ID>\
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment