diff --git a/rgrep b/rgrep index 5a8269f19a82116894dfcdd5947dc9c72d87a9f2..5ad84634977894a1f897c097e1aef1cfceda9ad7 100755 --- a/rgrep +++ b/rgrep @@ -1,6 +1,6 @@ #!/bin/bash # search only .c and .h files -grep --include=*.c --include=*.h --color=always "$1" -rI ./src $2 $3 $4 | sed s/\:/\ \:/ +grep --include=*.c --include=*.h --color=always "$1" -rIn ./src $2 $3 $4 | sed s/\:/\ \:/ diff --git a/src/disc/disc_evolve_disc_structure.c b/src/disc/disc_evolve_disc_structure.c index ed37fa727c2b6c67e309dab358c832d41b06ba7b..0d340cad3420d82a922c27bae37c32e55a4fd49b 100644 --- a/src/disc/disc_evolve_disc_structure.c +++ b/src/disc/disc_evolve_disc_structure.c @@ -69,6 +69,9 @@ double disc_evolve_disc_structure(struct stardata_t * stardata, memcpy(discwas,disc,sizeof(struct disc_t)); } + /* + * Detect first timestep entry + */ Boolean first = Boolean_(IS_ZERO(disc->lifetime) || disc->first); /* @@ -91,8 +94,7 @@ double disc_evolve_disc_structure(struct stardata_t * stardata, Discdebug(1," %s ", first==TRUE ? "first" : disc->append==TRUE ? "append" : - "!conv" - ); + "!conv"); disc->dt = DISC_MIN_TIMESTEP; memset(disc->loss,0,sizeof(struct disc_loss_t)*DISC_LOSS_N); disc_initial_structure(disc, @@ -101,11 +103,16 @@ double disc_evolve_disc_structure(struct stardata_t * stardata, t, first, &can_evolve); + + if(can_evolve) { + Discdebug(1,"Have converged initial disc structure\n"); disc->converged = TRUE; memcpy(discwas,disc,sizeof(struct disc_t)); } + disc_parameter_space(stardata,disc); + Exit_binary_c(2,"Found first structure? %s\n",can_evolve?"y":"n"); } @@ -409,13 +416,13 @@ double disc_evolve_disc_structure(struct stardata_t * stardata, /* - * Check for failure modes + * Check for failure modes: failure_reason + * is NULL if there is no failure. */ char * failure_reason = disc_failure_mode(stardata, disc, binary, status); - if(failure_reason) { Discdebug(1, @@ -796,8 +803,6 @@ static char * disc_failure_mode(struct stardata_t * stardata, disc_is_ring ? " is ring" : "", flux_negative ? " flux negative" : "", too_ringlike ? " too ringlike" : ""); - - } else { diff --git a/src/disc/disc_prototypes.h b/src/disc/disc_prototypes.h index 926349c5371ac9e919d86526926aae83997409f4..dd8f1d25489d732af3c75c0c93755447b50743a6 100644 --- a/src/disc/disc_prototypes.h +++ b/src/disc/disc_prototypes.h @@ -276,6 +276,10 @@ void disc_evaporate_cbdiscs(struct stardata_t * stardata); void disc_stellar_wind_to_cbdisc(struct stardata_t * stardata); #endif // DISCS_CIRCUMBINARY_FROM_WIND +void disc_parameter_space(struct stardata_t * stardata, + struct disc_t * disc); + + #endif // DISCS #endif // DISC_PROTOTYPES_H diff --git a/src/disc/disc_trisector.c b/src/disc/disc_trisector.c index 289bd6e558156ab685a5390dcced6c82fe0dacb1..5964e6813088f0b52ab29ad0f9e473eb72da5173 100644 --- a/src/disc/disc_trisector.c +++ b/src/disc/disc_trisector.c @@ -56,7 +56,9 @@ void disc_trisector2(struct disc_t * disc, double *xx) { /* - * + * Function that does the work. This may be + * called from elsewhere for debugging purposes, + * so is not a static function. */ int status = disc_build_disc_zones(disc,binary); @@ -73,7 +75,7 @@ void disc_trisector2(struct disc_t * disc, double M = disc_total_mass(disc); double J = disc_total_angular_momentum(disc,binary); double F = disc_total_angular_momentum_flux(disc,binary); - Discdebug(1, + Discdebug(2, "Trisector : Rin = %g, Rout = %g Rsun, Tvisc0 = %g : M=%30.20e (want %g) J=%30.20e (want %g) F = %30.20e (want %g)\n", disc->Rin/R_SUN, disc->Rout/R_SUN,