00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 char star_bin_C[] = "$Header: /cvsroot/Lorene/C++/Source/Star/star_bin.C,v 1.18 2006/04/11 14:24:44 f_limousin Exp $" ;
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094 #include "math.h"
00095
00096
00097 #include "etoile.h"
00098 #include "star.h"
00099 #include "eos.h"
00100 #include "unites.h"
00101
00102
00103 Cmp raccord_c1(const Cmp& uu, int l1) ;
00104
00105
00106
00107
00108
00109
00110
00111 Star_bin::Star_bin(Map& mpi, int nzet_i, const Eos& eos_i,
00112 bool irrot, bool conf_flat0)
00113 : Star(mpi, nzet_i, eos_i),
00114 irrotational(irrot),
00115 psi0(mpi),
00116 d_psi(mpi, COV, mpi.get_bvect_cart()),
00117 wit_w(mpi, CON, mpi.get_bvect_cart()),
00118 loggam(mpi),
00119 bsn(mpi, CON, mpi.get_bvect_cart()),
00120 pot_centri(mpi),
00121 logn_auto(mpi),
00122 logn_comp(mpi),
00123 dcov_logn(mpi, COV, mpi.get_bvect_cart()),
00124 dcon_logn(mpi, CON, mpi.get_bvect_cart()),
00125 lnq_auto(mpi),
00126 lnq_comp(mpi),
00127 psi4(mpi),
00128 dcov_phi(mpi, COV, mpi.get_bvect_cart()),
00129 dcon_phi(mpi, CON, mpi.get_bvect_cart()),
00130 flat(mpi, mpi.get_bvect_cart()),
00131 gtilde(flat),
00132 beta_auto(mpi, CON, mpi.get_bvect_cart()),
00133 beta_comp(mpi, CON, mpi.get_bvect_cart()),
00134 hij(mpi, CON, mpi.get_bvect_cart()),
00135 hij_auto(mpi, CON, mpi.get_bvect_cart()),
00136 hij_comp(mpi, CON, mpi.get_bvect_cart()),
00137 tkij_auto(mpi, CON, mpi.get_bvect_cart()),
00138 tkij_comp(mpi, CON, mpi.get_bvect_cart()),
00139 kcar_auto(mpi),
00140 kcar_comp(mpi),
00141 ssjm1_logn(mpi),
00142 ssjm1_lnq(mpi),
00143 ssjm1_khi(mpi),
00144 ssjm1_wbeta(mpi, CON, mpi.get_bvect_cart()),
00145 ssjm1_h11(mpi),
00146 ssjm1_h21(mpi),
00147 ssjm1_h31(mpi),
00148 ssjm1_h22(mpi),
00149 ssjm1_h32(mpi),
00150 ssjm1_h33(mpi),
00151 decouple(mpi),
00152 conf_flat(conf_flat0){
00153
00154
00155 set_der_0x0() ;
00156
00157
00158
00159 u_euler.change_triad(mpi.get_bvect_cart()) ;
00160 stress_euler.change_triad(mpi.get_bvect_cart()) ;
00161 beta.change_triad(mpi.get_bvect_cart()) ;
00162 Metric temp_met (mp.flat_met_cart()) ;
00163 gamma = temp_met ;
00164
00165
00166 psi0 = 0 ;
00167 d_psi.set_etat_zero() ;
00168 wit_w.set_etat_zero() ;
00169 loggam = 0 ;
00170 bsn.set_etat_zero() ;
00171 pot_centri = 0 ;
00172
00173 logn_auto = 0 ;
00174 logn_comp = 0 ;
00175 dcov_logn.set_etat_zero() ;
00176 dcon_logn.set_etat_zero() ;
00177 beta_auto.set_etat_zero() ;
00178 beta_comp.set_etat_zero() ;
00179 lnq_auto = 0 ;
00180 lnq_comp = 0 ;
00181 psi4 = 1 ;
00182 dcov_phi.set_etat_zero() ;
00183 dcon_phi.set_etat_zero() ;
00184 hij.set_etat_zero() ;
00185 hij_auto.set_etat_zero() ;
00186 hij_comp.set_etat_zero() ;
00187
00188 tkij_auto.set_etat_zero() ;
00189 tkij_comp.set_etat_zero() ;
00190 kcar_auto = 0 ;
00191 kcar_comp = 0 ;
00192 ssjm1_logn = 0 ;
00193 ssjm1_lnq = 0 ;
00194 ssjm1_khi = 0 ;
00195 ssjm1_wbeta.set_etat_zero() ;
00196 ssjm1_h11 = 0 ;
00197 ssjm1_h21 = 0 ;
00198 ssjm1_h31 = 0 ;
00199 ssjm1_h22 = 0 ;
00200 ssjm1_h32 = 0 ;
00201 ssjm1_h33 = 0 ;
00202 }
00203
00204
00205
00206 Star_bin::Star_bin(const Star_bin& star)
00207 : Star(star),
00208 irrotational(star.irrotational),
00209 psi0(star.psi0),
00210 d_psi(star.d_psi),
00211 wit_w(star.wit_w),
00212 loggam(star.loggam),
00213 bsn(star.bsn),
00214 pot_centri(star.pot_centri),
00215 logn_auto(star.logn_auto),
00216 logn_comp(star.logn_comp),
00217 dcov_logn(star.dcov_logn),
00218 dcon_logn(star.dcon_logn),
00219 lnq_auto(star.lnq_auto),
00220 lnq_comp(star.lnq_comp),
00221 psi4(star.psi4),
00222 dcov_phi(star.dcov_phi),
00223 dcon_phi(star.dcon_phi),
00224 flat(star.flat),
00225 gtilde(star.gtilde),
00226 beta_auto(star.beta_auto),
00227 beta_comp(star.beta_comp),
00228 hij(star.hij),
00229 hij_auto(star.hij_auto),
00230 hij_comp(star.hij_comp),
00231 tkij_auto(star.tkij_auto),
00232 tkij_comp(star.tkij_comp),
00233 kcar_auto(star.kcar_auto),
00234 kcar_comp(star.kcar_comp),
00235 ssjm1_logn(star.ssjm1_logn),
00236 ssjm1_lnq(star.ssjm1_lnq),
00237 ssjm1_khi(star.ssjm1_khi),
00238 ssjm1_wbeta(star.ssjm1_wbeta),
00239 ssjm1_h11(star.ssjm1_h11),
00240 ssjm1_h21(star.ssjm1_h21),
00241 ssjm1_h31(star.ssjm1_h31),
00242 ssjm1_h22(star.ssjm1_h22),
00243 ssjm1_h32(star.ssjm1_h32),
00244 ssjm1_h33(star.ssjm1_h33),
00245 decouple(star.decouple),
00246 conf_flat(star.conf_flat)
00247 {
00248 set_der_0x0() ;
00249
00250 }
00251
00252
00253
00254 Star_bin::Star_bin(Map& mpi, const Eos& eos_i, FILE* fich)
00255 : Star(mpi, eos_i, fich),
00256 psi0(mpi),
00257 d_psi(mpi, COV, mpi.get_bvect_cart()),
00258 wit_w(mpi, CON, mpi.get_bvect_cart()),
00259 loggam(mpi),
00260 bsn(mpi, CON, mpi.get_bvect_cart()),
00261 pot_centri(mpi),
00262 logn_auto(mpi, *(mpi.get_mg()), fich),
00263 logn_comp(mpi),
00264 dcov_logn(mpi, COV, mpi.get_bvect_cart()),
00265 dcon_logn(mpi, CON, mpi.get_bvect_cart()),
00266 lnq_auto(mpi, *(mpi.get_mg()), fich),
00267 lnq_comp(mpi),
00268 psi4(mpi),
00269 dcov_phi(mpi, COV, mpi.get_bvect_cart()),
00270 dcon_phi(mpi, CON, mpi.get_bvect_cart()),
00271 flat(mpi, mpi.get_bvect_cart()),
00272 gtilde(flat),
00273 beta_auto(mpi, mpi.get_bvect_cart(), fich),
00274 beta_comp(mpi, CON, mpi.get_bvect_cart()),
00275 hij(mpi, CON, mpi.get_bvect_cart()),
00276 hij_auto(mpi, mpi.get_bvect_cart(), fich),
00277 hij_comp(mpi, CON, mpi.get_bvect_cart()),
00278 tkij_auto(mpi, CON, mpi.get_bvect_cart()),
00279 tkij_comp(mpi, CON, mpi.get_bvect_cart()),
00280 kcar_auto(mpi),
00281 kcar_comp(mpi),
00282 ssjm1_logn(mpi, *(mpi.get_mg()), fich),
00283 ssjm1_lnq(mpi, *(mpi.get_mg()), fich),
00284 ssjm1_khi(mpi, *(mpi.get_mg()), fich),
00285 ssjm1_wbeta(mpi, mpi.get_bvect_cart(), fich),
00286 ssjm1_h11(mpi, *(mpi.get_mg()), fich),
00287 ssjm1_h21(mpi, *(mpi.get_mg()), fich),
00288 ssjm1_h31(mpi, *(mpi.get_mg()), fich),
00289 ssjm1_h22(mpi, *(mpi.get_mg()), fich),
00290 ssjm1_h32(mpi, *(mpi.get_mg()), fich),
00291 ssjm1_h33(mpi, *(mpi.get_mg()), fich),
00292 decouple(mpi){
00293
00294
00295
00296
00297
00298 fread(&irrotational, sizeof(bool), 1, fich) ;
00299 fread(&conf_flat, sizeof(bool), 1, fich) ;
00300
00301
00302
00303
00304
00305 if (irrotational) {
00306 Scalar gam_euler_file(mp, *(mp.get_mg()), fich) ;
00307 gam_euler = gam_euler_file ;
00308
00309 Scalar psi0_file(mp, *(mp.get_mg()), fich) ;
00310 psi0 = psi0_file ;
00311 }
00312
00313
00314
00315 u_euler.change_triad(mpi.get_bvect_cart()) ;
00316 stress_euler.change_triad(mpi.get_bvect_cart()) ;
00317 beta.change_triad(mpi.get_bvect_cart()) ;
00318 Metric temp_met (mp.flat_met_cart()) ;
00319 gamma = temp_met ;
00320
00321
00322
00323
00324 d_psi.set_etat_zero() ;
00325 wit_w.set_etat_zero() ;
00326 loggam = 0 ;
00327 bsn.set_etat_zero() ;
00328 pot_centri = 0 ;
00329 logn_comp = 0 ;
00330 dcov_logn.set_etat_zero() ;
00331 dcon_logn.set_etat_zero() ;
00332 beta_comp.set_etat_zero() ;
00333 lnq_comp = 0 ;
00334 psi4 = 1 ;
00335 dcov_phi.set_etat_zero() ;
00336 dcon_phi.set_etat_zero() ;
00337 hij.set_etat_zero() ;
00338 hij_comp.set_etat_zero() ;
00339
00340 tkij_auto.set_etat_zero() ;
00341 tkij_comp.set_etat_zero() ;
00342 kcar_auto = 0 ;
00343 kcar_comp = 0 ;
00344
00345
00346
00347 set_der_0x0() ;
00348
00349 }
00350
00351
00352
00353
00354
00355 Star_bin::~Star_bin(){
00356
00357 del_deriv() ;
00358
00359 }
00360
00361
00362
00363
00364
00365 void Star_bin::del_deriv() const {
00366
00367 Star::del_deriv() ;
00368
00369 if (p_xa_barycenter != 0x0) delete p_xa_barycenter ;
00370
00371 set_der_0x0() ;
00372 }
00373
00374
00375
00376
00377 void Star_bin::set_der_0x0() const {
00378
00379 Star::set_der_0x0() ;
00380
00381 p_xa_barycenter = 0x0 ;
00382
00383 }
00384
00385 void Star_bin::del_hydro_euler() {
00386
00387 Star::del_hydro_euler() ;
00388
00389 del_deriv() ;
00390
00391 }
00392
00393
00394
00395
00396
00397
00398
00399
00400 void Star_bin::operator=(const Star_bin& star) {
00401
00402
00403 Star::operator=(star) ;
00404
00405
00406 irrotational = star.irrotational ;
00407 psi0 = star.psi0 ;
00408 d_psi = star.d_psi ;
00409 wit_w = star.wit_w ;
00410 loggam = star.loggam ;
00411 bsn = star.bsn ;
00412 pot_centri = star.pot_centri ;
00413 logn_auto = star.logn_auto ;
00414 logn_comp = star.logn_comp ;
00415 dcov_logn = star.dcov_logn ;
00416 dcon_logn = star.dcon_logn ;
00417 lnq_auto = star.lnq_auto ;
00418 lnq_comp = star.lnq_comp ;
00419 psi4 = star.psi4 ;
00420 dcov_phi = star.dcov_phi ;
00421 dcon_phi = star.dcon_phi ;
00422 flat = star.flat ;
00423 gtilde = star.gtilde ;
00424 beta_auto = star.beta_auto ;
00425 beta_comp = star.beta_comp ;
00426 hij = star.hij ;
00427 hij_auto = star.hij_auto ;
00428 hij_comp = star.hij_comp ;
00429 tkij_auto = star.tkij_auto ;
00430 tkij_comp = star.tkij_comp ;
00431 kcar_auto = star.kcar_auto ;
00432 kcar_comp = star.kcar_comp ;
00433 ssjm1_logn = star.ssjm1_logn ;
00434 ssjm1_lnq = star.ssjm1_lnq ;
00435 ssjm1_khi = star.ssjm1_khi ;
00436 ssjm1_wbeta = star.ssjm1_wbeta ;
00437 ssjm1_h11 = star.ssjm1_h11 ;
00438 ssjm1_h21 = star.ssjm1_h21 ;
00439 ssjm1_h31 = star.ssjm1_h31 ;
00440 ssjm1_h22 = star.ssjm1_h22 ;
00441 ssjm1_h32 = star.ssjm1_h32 ;
00442 ssjm1_h33 = star.ssjm1_h33 ;
00443 decouple = star.decouple ;
00444 conf_flat = star.conf_flat ;
00445
00446 del_deriv() ;
00447
00448 }
00449
00450 Scalar& Star_bin::set_pot_centri() {
00451
00452 del_deriv() ;
00453 return pot_centri ;
00454
00455 }
00456
00457 Scalar& Star_bin::set_logn_comp() {
00458
00459 del_deriv() ;
00460 return logn_comp ;
00461
00462 }
00463
00464 Vector& Star_bin::set_beta_auto() {
00465
00466 del_deriv() ;
00467 return beta_auto ;
00468
00469 }
00470
00471 Vector& Star_bin::set_beta() {
00472
00473 del_deriv() ;
00474 return beta ;
00475
00476 }
00477
00478
00479
00480
00481
00482
00483
00484
00485 void Star_bin::sauve(FILE* fich) const {
00486
00487 Star::sauve(fich) ;
00488
00489 logn_auto.sauve(fich) ;
00490 lnq_auto.sauve(fich) ;
00491 beta_auto.sauve(fich) ;
00492 hij_auto.sauve(fich) ;
00493
00494 ssjm1_logn.sauve(fich) ;
00495 ssjm1_lnq.sauve(fich) ;
00496 ssjm1_khi.sauve(fich) ;
00497 ssjm1_wbeta.sauve(fich) ;
00498 ssjm1_h11.sauve(fich) ;
00499 ssjm1_h21.sauve(fich) ;
00500 ssjm1_h31.sauve(fich) ;
00501 ssjm1_h22.sauve(fich) ;
00502 ssjm1_h32.sauve(fich) ;
00503 ssjm1_h33.sauve(fich) ;
00504
00505 fwrite(&irrotational, sizeof(bool), 1, fich) ;
00506 fwrite(&conf_flat, sizeof(bool), 1, fich) ;
00507
00508 if (irrotational) {
00509 gam_euler.sauve(fich) ;
00510 psi0.sauve(fich) ;
00511 }
00512
00513 }
00514
00515
00516
00517
00518 ostream& Star_bin::operator>>(ostream& ost) const {
00519
00520 using namespace Unites ;
00521
00522 Star::operator>>(ost) ;
00523
00524 ost << endl ;
00525 ost << "Star in a binary system" << endl ;
00526 ost << "-----------------------" << endl ;
00527
00528 if (irrotational) {
00529 ost << "irrotational configuration" << endl ;
00530 }
00531 else {
00532 ost << "corotating configuration" << endl ;
00533 }
00534
00535 ost << "Absolute abscidia of the stellar center: " <<
00536 mp.get_ori_x() / km << " km" << endl ;
00537
00538 ost << "Absolute abscidia of the barycenter of the baryon density : " <<
00539 xa_barycenter() / km << " km" << endl ;
00540
00541 double r_0 = 0.5 * ( ray_eq() + ray_eq_pi() ) ;
00542 double d_ns = fabs( mp.get_ori_x() ) + ray_eq_pi() - r_0 ;
00543 double d_tilde = 2 * d_ns / r_0 ;
00544
00545 ost << "d_tilde : " << d_tilde << endl ;
00546
00547 ost << "Central value of gam_euler : "
00548 << gam_euler.val_grid_point(0, 0, 0, 0) << endl ;
00549
00550 ost << "Central u_euler (U^r, U^t, U^p) [c] : "
00551 << u_euler(1).val_grid_point(0, 0, 0, 0) << " "
00552 << u_euler(2).val_grid_point(0, 0, 0, 0) << " "
00553 << u_euler(3).val_grid_point(0, 0, 0, 0) << endl ;
00554
00555 if (irrotational) {
00556 ost << "Central d_psi (r, t, p) [c] : "
00557 << d_psi(1).val_grid_point(0, 0, 0, 0) << " "
00558 << d_psi(2).val_grid_point(0, 0, 0, 0) << " "
00559 << d_psi(3).val_grid_point(0, 0, 0, 0) << endl ;
00560
00561 ost << "Central vel. / co-orb. (W^r, W^t, W^p) [c] : "
00562 << wit_w(1).val_grid_point(0, 0, 0, 0) << " "
00563 << wit_w(2).val_grid_point(0, 0, 0, 0) << " "
00564 << wit_w(3).val_grid_point(0, 0, 0, 0) << endl ;
00565
00566 ost << "Max vel. / co-orb. (W^r, W^t, W^p) [c] : "
00567 << max(max(wit_w(1))) << " "
00568 << max(max(wit_w(2))) << " "
00569 << max(max(wit_w(3))) << endl ;
00570
00571 ost << "Min vel. / co-orb. (W^r, W^t, W^p) [c] : "
00572 << min(min(wit_w(1))) << " "
00573 << min(min(wit_w(2))) << " "
00574 << min(min(wit_w(3))) << endl ;
00575
00576 double r_surf = mp.val_r(0,1.,M_PI/4,M_PI/4) ;
00577
00578 ost << "Velocity at (r_surf,pi/4,pi/4) / co-orb. [c] : "
00579 << wit_w(1).val_point(r_surf,M_PI/4,M_PI/4) << " "
00580 << wit_w(2).val_point(r_surf,M_PI/4,M_PI/4) << " "
00581 << wit_w(3).val_point(r_surf,M_PI/4,M_PI/4) << endl ;
00582
00583 ost << "Central value of loggam : "
00584 << loggam.val_grid_point(0, 0, 0, 0) << endl ;
00585 }
00586
00587
00588 ost << "Central value of log(N) auto, comp : "
00589 << logn_auto.val_grid_point(0, 0, 0, 0) << " "
00590 << logn_comp.val_grid_point(0, 0, 0, 0) << endl ;
00591
00592 ost << "Central value of beta (N^r, N^t, N^p) [c] : "
00593 << beta(1).val_grid_point(0, 0, 0, 0) << " "
00594 << beta(2).val_grid_point(0, 0, 0, 0) << " "
00595 << beta(3).val_grid_point(0, 0, 0, 0) << endl ;
00596
00597 ost << " ... beta_auto part of it [c] : "
00598 << beta_auto(1).val_grid_point(0, 0, 0, 0) << " "
00599 << beta_auto(2).val_grid_point(0, 0, 0, 0) << " "
00600 << beta_auto(3).val_grid_point(0, 0, 0, 0) << endl ;
00601
00602 ost << endl << "Central value of (B^r, B^t, B^p)/N [c] : "
00603 << bsn(1).val_grid_point(0, 0, 0, 0) << " "
00604 << bsn(2).val_grid_point(0, 0, 0, 0) << " "
00605 << bsn(3).val_grid_point(0, 0, 0, 0) << endl ;
00606
00607
00608 ost << endl << "Central A^{ij} [c/km] : " << endl ;
00609 ost << " A^{xx} auto, comp : "
00610 << tkij_auto(1, 1).val_grid_point(0, 0, 0, 0) * km << " "
00611 << tkij_comp(1, 1).val_grid_point(0, 0, 0, 0) * km << endl ;
00612 ost << " A^{xy} auto, comp : "
00613 << tkij_auto(1, 2).val_grid_point(0, 0, 0, 0) * km << " "
00614 << tkij_comp(1, 2).val_grid_point(0, 0, 0, 0) * km << endl ;
00615 ost << " A^{xz} auto, comp : "
00616 << tkij_auto(1, 3).val_grid_point(0, 0, 0, 0) * km << " "
00617 << tkij_comp(1, 3).val_grid_point(0, 0, 0, 0) * km << endl ;
00618 ost << " A^{yy} auto, comp : "
00619 << tkij_auto(2, 2).val_grid_point(0, 0, 0, 0) * km << " "
00620 << tkij_comp(2, 2).val_grid_point(0, 0, 0, 0) * km << endl ;
00621 ost << " A^{yz} auto, comp : "
00622 << tkij_auto(2, 3).val_grid_point(0, 0, 0, 0) * km << " "
00623 << tkij_comp(2, 3).val_grid_point(0, 0, 0, 0) * km << endl ;
00624 ost << " A^{zz} auto, comp : "
00625 << tkij_auto(3, 3).val_grid_point(0, 0, 0, 0) * km << " "
00626 << tkij_comp(3, 3).val_grid_point(0, 0, 0, 0) * km << endl ;
00627
00628 ost << endl << "Central A_{ij} A^{ij} [c^2/km^2] : " << endl ;
00629 ost << " A_{ij} A^{ij} auto, comp : "
00630 << kcar_auto.val_grid_point(0, 0, 0, 0) * km*km << " "
00631 << kcar_comp.val_grid_point(0, 0, 0, 0) * km*km << endl ;
00632
00633
00634 return ost ;
00635 }
00636
00637
00638
00639
00640
00641 void Star_bin::fait_d_psi() {
00642
00643 if (!irrotational) {
00644 d_psi.set_etat_nondef() ;
00645 return ;
00646 }
00647
00648
00649
00650
00651 Scalar hhh = exp(ent) ;
00652
00653
00654
00655
00656 Vector www = hhh * gam_euler * bsn * psi4 ;
00657
00658
00659
00660
00661 Vector v_orb(mp, COV, mp.get_bvect_cart()) ;
00662
00663 for (int i=1; i<=3; i++) {
00664 v_orb.set(i) = www(i).val_grid_point(0, 0, 0, 0) ;
00665 }
00666
00667
00668
00669
00670 Vector d_psi0 = psi0.derive_cov(flat) ;
00671
00672 d_psi0.change_triad( mp.get_bvect_cart() ) ;
00673 d_psi0.std_spectral_base() ;
00674
00675 d_psi = d_psi0 + v_orb ;
00676 for (int i=1; i<=3; i++) {
00677 if (d_psi(i).get_etat() == ETATZERO)
00678 d_psi.set(i).annule_hard() ;
00679 }
00680
00681
00682
00683
00684
00685 int nzm1 = mp.get_mg()->get_nzone() - 1 ;
00686 d_psi.annule(nzet, nzm1) ;
00687 for (int i=1; i<=3; i++) {
00688 Cmp d_psi_i (d_psi(i)) ;
00689 d_psi_i.va.set_base( d_psi0(i).get_spectral_va().base ) ;
00690 d_psi_i = raccord_c1(d_psi_i, nzet) ;
00691 d_psi.set(i) = d_psi_i ;
00692 }
00693
00694 }
00695
00696
00697 void Star_bin::relaxation(const Star_bin& star_jm1, double relax_ent,
00698 double relax_met, int mer, int fmer_met) {
00699
00700 double relax_ent_jm1 = 1. - relax_ent ;
00701 double relax_met_jm1 = 1. - relax_met ;
00702
00703 ent = relax_ent * ent + relax_ent_jm1 * star_jm1.ent ;
00704
00705 if ( (mer != 0) && (mer % fmer_met == 0)) {
00706
00707 logn_auto = relax_met * logn_auto + relax_met_jm1 * star_jm1.logn_auto ;
00708 lnq_auto = relax_met * lnq_auto + relax_met_jm1 * star_jm1.lnq_auto ;
00709
00710 beta_auto = relax_met * beta_auto
00711 + relax_met_jm1 * star_jm1.beta_auto ;
00712
00713 hij_auto = relax_met * hij_auto + relax_met_jm1 * star_jm1.hij_auto ;
00714
00715 }
00716
00717 del_deriv() ;
00718
00719 equation_of_state() ;
00720
00721 }
00722
00723 void Star_bin::test_K_Hi() const {
00724
00725 int nr = mp.get_mg()->get_nr(0) ;
00726 int nt = mp.get_mg()->get_nt(0) ;
00727 int np = mp.get_mg()->get_np(0) ;
00728
00729 cout << "La jauge de Dirac est elle bien satisfaite ??" << endl ;
00730 cout << "Vector Hi" << endl ;
00731 for (int i=1; i<=3; i++)
00732 cout << " Comp. " << i << " : " << norme((gtilde.con()
00733 .divergence(flat))(i)/(nr*nt*np)) << endl ;
00734
00735
00736 cout << "Pour comparaison valeur de D_i(g^1i)" << endl ;
00737 for (int i=1; i<=3; i++)
00738 cout << " i = " << i << " : " << norme((gtilde.con().derive_cov(flat))
00739 (1, i, i)/(nr*nt*np)) << endl ;
00740
00741
00742
00743 }