yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #11567
[Branch ~yade-pkg/yade/git-trunk] Rev 3506: Simplify Lucy kernel function
------------------------------------------------------------
revno: 3506
committer: Anton Gladky <gladky.anton@xxxxxxxxx>
timestamp: Fri 2014-10-24 10:50:30 +0200
message:
Simplify Lucy kernel function
modified:
pkg/common/SPHEngine.cpp
--
lp:yade
https://code.launchpad.net/~yade-pkg/yade/git-trunk
Your team Yade developers is subscribed to branch lp:yade.
To unsubscribe from this branch go to https://code.launchpad.net/~yade-pkg/yade/git-trunk/+edit-subscription
=== modified file 'pkg/common/SPHEngine.cpp'
--- pkg/common/SPHEngine.cpp 2014-10-24 08:39:43 +0000
+++ pkg/common/SPHEngine.cpp 2014-10-24 08:50:30 +0000
@@ -55,7 +55,8 @@
Real smoothkernelLucy(const double & r, const double & h) {
if (r<=h && h>0) {
// Lucy Kernel function, [Lucy1977] (27)
- return 105./(16.*M_PI*h*h*h) * (1 + 3 * r / h) * pow((1.0 - r / h), 3);
+ const Real r_h = r / h;
+ return 105./(16.*M_PI*h*h*h) * (1 + 3 * r_h) * pow((1.0 - r_h), 3);
} else {
return 0;
}
@@ -64,7 +65,7 @@
Real smoothkernelLucyGrad(const double & r, const double & h) {
if (r<=h && h>0) {
// 1st derivative of Lucy Kernel function, [Lucy1977] (27)
- return 105./(16.*M_PI*h*h*h) * (-12 * r) * (1/( h * h ) - 2 * r / (h * h * h ) + r * r / (h * h * h * h));
+ return 105./(16.*M_PI*h*h*h) * (-12 * r) * pow((h - r), 2) / ( h * h * h * h );
} else {
return 0;
}