Autoformatted host_forcing.cc
This commit is contained in:
@@ -28,7 +28,6 @@
|
||||
|
||||
#include "core/math_utils.h"
|
||||
|
||||
|
||||
// The is a wrapper for genering random numbers with a chosen system.
|
||||
AcReal
|
||||
get_random_number_01()
|
||||
@@ -37,8 +36,6 @@ get_random_number_01()
|
||||
return AcReal(rand()) / AcReal(RAND_MAX);
|
||||
}
|
||||
|
||||
|
||||
|
||||
AcReal3
|
||||
cross(const AcReal3& a, const AcReal3& b)
|
||||
{
|
||||
@@ -97,16 +94,19 @@ helical_forcing_k_generator(const AcReal kmax, const AcReal kmin)
|
||||
kk = delta_k * get_random_number_01() + kmin;
|
||||
|
||||
// Cast into Cartesian form
|
||||
k_force = (AcReal3){kk*sin(theta)*cos(phi),
|
||||
kk*sin(theta)*sin(phi),
|
||||
k_force = (AcReal3){kk * sin(theta) * cos(phi), //
|
||||
kk * sin(theta) * sin(phi), //
|
||||
kk * cos(theta)};
|
||||
|
||||
// printf("k_force.x %f, k_force.y %f, k_force.z %f \n", k_force.x, k_force.y, k_force.z);
|
||||
|
||||
// Round the numbers. In that way k(x/y/z) will get complete waves.
|
||||
k_force.x = round(k_force.x); k_force.y = round(k_force.y); k_force.z = round(k_force.z);
|
||||
k_force.x = round(k_force.x);
|
||||
k_force.y = round(k_force.y);
|
||||
k_force.z = round(k_force.z);
|
||||
|
||||
//printf("After rounding --> k_force.x %f, k_force.y %f, k_force.z %f \n", k_force.x, k_force.y, k_force.z);
|
||||
// printf("After rounding --> k_force.x %f, k_force.y %f, k_force.z %f \n", k_force.x,
|
||||
// k_force.y, k_force.z);
|
||||
|
||||
return k_force;
|
||||
}
|
||||
@@ -125,9 +125,7 @@ helical_forcing_e_generator(AcReal3* e_force, const AcReal3 k_force)
|
||||
AcReal3 ee_tmp1 = vec_multi_scal(cos(phi), k_cross_e);
|
||||
AcReal3 ee_tmp2 = vec_multi_scal(sin(phi), k_cross_k_cross_e);
|
||||
|
||||
*e_force = (AcReal3){ee_tmp1.x + ee_tmp2.x,
|
||||
ee_tmp1.y + ee_tmp2.y,
|
||||
ee_tmp1.z + ee_tmp2.z};
|
||||
*e_force = (AcReal3){ee_tmp1.x + ee_tmp2.x, ee_tmp1.y + ee_tmp2.y, ee_tmp1.z + ee_tmp2.z};
|
||||
}
|
||||
|
||||
// PC Manual Eq. 223
|
||||
@@ -157,8 +155,9 @@ helical_forcing_special_vector(AcReal3* ff_hel_re, AcReal3* ff_hel_im, const AcR
|
||||
// abs(k)
|
||||
AcReal kabs = sqrt(k_force.x * k_force.x + k_force.y * k_force.y + k_force.z * k_force.z);
|
||||
|
||||
AcReal denominator = sqrt(AcReal(1.0) + relhel*relhel)*kabs
|
||||
*sqrt(kabs*kabs - (kdote.x*kdote.x + kdote.y*kdote.y + kdote.z*kdote.z));
|
||||
AcReal denominator = sqrt(AcReal(1.0) + relhel * relhel) * kabs *
|
||||
sqrt(kabs * kabs -
|
||||
(kdote.x * kdote.x + kdote.y * kdote.y + kdote.z * kdote.z));
|
||||
|
||||
// MV: I suspect there is a typo in the Pencil Code manual!
|
||||
//*ff_hel_re = (AcReal3){-relhel*kabs*k_cross_e.x/denominator,
|
||||
@@ -170,11 +169,9 @@ helical_forcing_special_vector(AcReal3* ff_hel_re, AcReal3* ff_hel_im, const AcR
|
||||
// k_cross_k_cross_e.z/denominator};
|
||||
|
||||
// See PC forcing.f90 forcing_hel_both()
|
||||
*ff_hel_re = (AcReal3){kabs*k_cross_e.x/denominator,
|
||||
kabs*k_cross_e.y,
|
||||
*ff_hel_re = (AcReal3){kabs * k_cross_e.x / denominator, kabs * k_cross_e.y,
|
||||
kabs * k_cross_e.z};
|
||||
|
||||
*ff_hel_im = (AcReal3){relhel*k_cross_k_cross_e.x/denominator,
|
||||
relhel*k_cross_k_cross_e.y,
|
||||
*ff_hel_im = (AcReal3){relhel * k_cross_k_cross_e.x / denominator, relhel * k_cross_k_cross_e.y,
|
||||
relhel * k_cross_k_cross_e.z};
|
||||
}
|
||||
|
Reference in New Issue
Block a user