Added proper casts to modelsolver.c

This commit is contained in:
jpekkila
2020-06-24 17:03:54 +03:00
parent c0c337610b
commit 196edac46d
2 changed files with 11 additions and 9 deletions

View File

@@ -41,12 +41,11 @@ static __device__ __forceinline__ AcReal3
rk3_integrate(const AcReal3 state_previous, const AcReal3 state_current, rk3_integrate(const AcReal3 state_previous, const AcReal3 state_current,
const AcReal3 rate_of_change, const AcReal dt) const AcReal3 rate_of_change, const AcReal dt)
{ {
return (AcReal3){rk3_integrate<step_number>(state_previous.x, state_current.x, rate_of_change.x, return (AcReal3){
dt), rk3_integrate<step_number>(state_previous.x, state_current.x, rate_of_change.x, dt),
rk3_integrate<step_number>(state_previous.y, state_current.y, rate_of_change.y, rk3_integrate<step_number>(state_previous.y, state_current.y, rate_of_change.y, dt),
dt), rk3_integrate<step_number>(state_previous.z, state_current.z, rate_of_change.z, dt),
rk3_integrate<step_number>(state_previous.z, state_current.z, rate_of_change.z, };
dt)};
} }
#define rk3(state_previous, state_current, rate_of_change, dt) \ #define rk3(state_previous, state_current, rate_of_change, dt) \

View File

@@ -41,6 +41,7 @@
#define LFORCING (1) #define LFORCING (1)
#define LUPWD (1) #define LUPWD (1)
#define AC_THERMAL_CONDUCTIVITY ((Scalar)(0.001)) // TODO: make an actual config parameter #define AC_THERMAL_CONDUCTIVITY ((Scalar)(0.001)) // TODO: make an actual config parameter
#define R_PI ((Scalar)M_PI)
typedef AcReal Scalar; typedef AcReal Scalar;
// typedef AcReal3 Vector; // typedef AcReal3 Vector;
@@ -54,6 +55,8 @@ typedef float Vector __attribute__((vector_size(4 * sizeof(float))));
#define fabs fabsf #define fabs fabsf
#define exp expf #define exp expf
#define sqrt sqrtf #define sqrt sqrtf
#define cos cosf
#define sin sinf
#endif #endif
typedef struct { typedef struct {
@@ -802,9 +805,9 @@ Vector
helical_forcing(Scalar magnitude, Vector k_force, Vector xx, Vector ff_re, Vector ff_im, Scalar phi) helical_forcing(Scalar magnitude, Vector k_force, Vector xx, Vector ff_re, Vector ff_im, Scalar phi)
{ {
(void)magnitude; // WARNING: unused (void)magnitude; // WARNING: unused
xx[0] = xx[0] * (2.0 * M_PI / (getReal(AC_dsx) * getInt(AC_nx))); xx[0] = xx[0] * ((Scalar)2.0 * R_PI / (getReal(AC_dsx) * getInt(AC_nx)));
xx[1] = xx[1] * (2.0 * M_PI / (getReal(AC_dsy) * getInt(AC_ny))); xx[1] = xx[1] * ((Scalar)2.0 * R_PI / (getReal(AC_dsy) * getInt(AC_ny)));
xx[2] = xx[2] * (2.0 * M_PI / (getReal(AC_dsz) * getInt(AC_nz))); xx[2] = xx[2] * ((Scalar)2.0 * R_PI / (getReal(AC_dsz) * getInt(AC_nz)));
Scalar cos_phi = cos(phi); Scalar cos_phi = cos(phi);
Scalar sin_phi = sin(phi); Scalar sin_phi = sin(phi);