[Debian-astro-commits] [gyoto] 143/221: UniformSphere::deltaMax(pos): don't use operator() if pos is outside rmax_, as this can lead to extremely lon integration in case of moving Star

Thibaut Jean-Claude Paumard thibaut at moszumanska.debian.org
Fri May 22 20:52:41 UTC 2015


This is an automated email from the git hooks/post-receive script.

thibaut pushed a commit to branch master
in repository gyoto.

commit c82d2af0a41698357c4579d618560d3efb51363d
Author: Thibaut Paumard <paumard at users.sourceforge.net>
Date:   Thu Dec 11 22:13:34 2014 +0100

    UniformSphere::deltaMax(pos): don't use operator() if pos is outside rmax_, as this can lead to extremely lon integration in case of moving Star
---
 lib/UniformSphere.C | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/lib/UniformSphere.C b/lib/UniformSphere.C
index b1061c6..7394fd1 100644
--- a/lib/UniformSphere.C
+++ b/lib/UniformSphere.C
@@ -139,6 +139,18 @@ double UniformSphere::operator()(double const coord[4]) {
 }
 
 double UniformSphere::deltaMax(double * coord) {
+  double r;
+  switch (gg_->coordKind()) {
+  case GYOTO_COORDKIND_CARTESIAN:
+    r=sqrt(coord[1]*coord[1]+coord[2]*coord[2]+coord[3]*coord[3]);
+    break;
+  case GYOTO_COORDKIND_SPHERICAL:
+    r=coord[1];
+    break;
+  default:
+    throwError("unsupported coordkind");
+  }
+  if (rmax_!=DBL_MAX && r>rmax_) return r*0.5; 
   return max(dltmod_*sqrt((*this)(coord)), dltmor_*radius_);
 }
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-astro/packages/gyoto.git



More information about the Debian-astro-commits mailing list