33 FTYPE normuconrel,normuconrel_fromui;
36 #if(VARTOINTERPFIELD==PULSARFIELD)
46 for(pl=0;pl<NPR2INTERP;pl++) dopl[pl]=0;
57 #if(VARTOINTERP==PRIMTOINTERP)
70 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
77 #elif(VARTOINTERP==PRIMTOINTERP_JONRESCALED1)
82 scale[
RHO]=pow(r,-1.5);
84 else if(rescaletype==1){
85 scale[
RHO]=pow(r,-2.7);
87 scale[
UU]=scale[
RHO]/r;
94 else if(rescaletype==1){
95 scale[
B1]=pow(r,-2.4);
115 dualfprintf(
fail_file,
"rescale(): no such direction! dir=%d\n",dir);
121 PINTERPLOOP(pliter,pl) p2interp[pl]=pr[pl]/scale[pl];
123 else if(which==UNRESCALE){
124 PINTERPLOOP(pliter,pl) pr[pl]=p2interp[pl]*scale[pl];
127 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
133 #elif(VARTOINTERP==CONSTOINTERP)
139 MYFUN(
get_state(pr, ptrgeom, &q),
"interp.c:rescale()",
"get_state()", 1);
140 MYFUN(
primtoU(
UDIAG,pr, &q, ptrgeom, p2interp, NULL),
"interp.c:rescale()",
"primtoU()", 1);
142 else if(which==UNRESCALE){
143 struct of_newtonstats newtonstats; setnewtonstatsdefault(&newtonstats);
145 int allowlocalfailurefixandnoreport=1;
147 FTYPE dissmeasure=-1.0;
153 MYFUN(
Utoprimgen(showmessages,checkoninversiongas,checkoninversionrad,allowlocalfailurefixandnoreport, 0, &eomtype,whichcap,whichmethod,modprim,
OTHERUTOPRIM,
UDIAG,p2interp, NULL, ptrgeom, dissmeasure, pr, pr,&newtonstats),
"interp.c:rescale()",
"Utoprimgen", 1);
156 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
161 #elif(VARTOINTERP==PRIMTOINTERPLGDEN)
166 if(dopl[
RHO]) p2interp[
RHO]=log(pr[
RHO]);
167 if(dopl[
UU]) p2interp[
UU]=log(pr[
UU]);
169 else if(which==UNRESCALE){
171 if(dopl[RHO]) pr[RHO]=exp(p2interp[RHO]);
172 if(dopl[UU]) pr[UU]=exp(p2interp[UU]);
175 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
179 #elif(VARTOINTERP==PRIMTOINTERP_LGDEN_RHOU)
187 if(dopl[RHO]) p2interp[RHO]=log(pr[RHO]);
188 if(dopl[UU]) p2interp[UU]=log(pr[UU]);
190 if(dopl[
U1]) p2interp[
U1]=pr[RHO]*pr[
U1];
191 if(dopl[
U2]) p2interp[
U2]=pr[RHO]*pr[
U2];
192 if(dopl[
U3]) p2interp[
U3]=pr[RHO]*pr[
U3];
194 else if(which==UNRESCALE){
196 if(dopl[RHO]) pr[RHO]=exp(p2interp[RHO]);
197 if(dopl[UU]) pr[UU]=exp(p2interp[UU]);
199 if(dopl[U1]) pr[U1]=p2interp[U1]/pr[RHO];
200 if(dopl[U2]) pr[U2]=p2interp[U2]/pr[RHO];
201 if(dopl[U3]) pr[U3]=p2interp[U3]/pr[RHO];
205 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
211 #elif(VARTOINTERP==PRIMTOINTERP_RHOU)
217 if(dopl[U1]) p2interp[U1]=pr[RHO]*pr[U1];
218 if(dopl[U2]) p2interp[U2]=pr[RHO]*pr[U2];
219 if(dopl[U3]) p2interp[U3]=pr[RHO]*pr[U3];
221 else if(which==UNRESCALE){
224 if(dopl[U1]) pr[U1]=p2interp[U1]/pr[RHO];
225 if(dopl[U2]) pr[U2]=p2interp[U2]/pr[RHO];
226 if(dopl[U3]) pr[U3]=p2interp[U3]/pr[RHO];
230 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
237 #elif(VARTOINTERP==PRIMTOINTERP_VSQ)
241 #if(DOEXTRAINTERP==0)
242 dualfprintf(
fail_file,
"Shouldn't be trying to do VARTOINTERP=%d if DOEXTRAINTERP=%d\n",VARTOINTERP,
DOEXTRAINTERP);
249 quasivsq_compute(pr, ptrgeom, &quasivsq);
253 if(dopl[U1]) p2interp[U1]=pr[RHO]*pr[U1];
254 if(dopl[U2]) p2interp[U2]=pr[RHO]*pr[U2];
255 if(dopl[U3]) p2interp[U3]=pr[RHO]*pr[U3];
259 p2interp[VSQ]=
max(quasivsq,0.0);
263 else if(which==UNRESCALE){
266 if(dopl[U1]) pr[U1]=p2interp[U1]/pr[RHO];
267 if(dopl[U2]) pr[U2]=p2interp[U2]/pr[RHO];
268 if(dopl[U3]) pr[U3]=p2interp[U3]/pr[RHO];
273 limit_quasivsq(
max(p2interp[VSQ],0.0),ptrgeom,pr);
278 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
284 #elif(VARTOINTERP==PRIMTOINTERP_3VEL_GAMMA)
287 #if(DOEXTRAINTERP==0)
288 dualfprintf(
fail_file,
"Shouldn't be trying to do VARTOINTERP=%d if DOEXTRAINTERP=%d\n",VARTOINTERP,
DOEXTRAINTERP);
295 if(dopl[U1] && VSQ>=0){
296 pr2ucon(
WHICHVEL,pr, ptrgeom ,ucon);
303 for(pl=U1;pl<=U3;pl++) if(dopl[pl]) p2interp[pl]= vcon[pl-U1+1];
305 if(dopl[VSQ] && VSQ>=0) p2interp[VSQ]=ucon[TT];
308 else if(which==UNRESCALE){
312 for(pl=U1;pl<=U3;pl++) if(dopl[pl]) vcon[pl-U1+1] = p2interp[pl];
314 if(dopl[U1] && VSQ>=0){
315 SLOOPA(j) ucon[j] = vcon[j]*p2interp[VSQ];
321 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
327 #elif(VARTOINTERP==PRIMTOINTERP_RHOV_GAMMA)
329 #if(DOEXTRAINTERP==0)
330 dualfprintf(
fail_file,
"Shouldn't be trying to do VARTOINTERP=%d if DOEXTRAINTERP=%d\n",VARTOINTERP,
DOEXTRAINTERP);
336 if(dopl[U1] && dopl[VSQ] && VSQ>=0){
337 pr2ucon(
WHICHVEL,pr, ptrgeom ,ucon);
339 SLOOPA(j) vcon[j]=ucon[j]/ucon[TT];
345 for(pl=U1;pl<=U3;pl++) if(dopl[pl]) p2interp[pl]= pr[RHO] * vcon[pl-U1+1];
347 if(dopl[VSQ]) p2interp[VSQ]=ucon[TT];
350 else if(which==UNRESCALE){
355 for(pl=U1;pl<=U3;pl++) if(dopl[pl]) vcon[pl-U1+1] = p2interp[pl]/pr[RHO];
357 if(dopl[U1] && dopl[VSQ] && VSQ>=0){
358 SLOOPA(j) ucon[j] = vcon[j]*p2interp[VSQ];
364 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
369 #elif(VARTOINTERP==PRIMTOINTERP_VELREL4SQ)
372 #if(DOEXTRAINTERP==0)
373 dualfprintf(
fail_file,
"Shouldn't be trying to do VARTOINTERP=%d if DOEXTRAINTERP=%d\n",VARTOINTERP,
DOEXTRAINTERP);
378 dualfprintf(
fail_file,
"Shouldn't be trying to do VARTOINTERP=%d if WHICHVEL=%d\n",VARTOINTERP,
WHICHVEL);
389 pr2ucon(
WHICHVEL,pr, ptrgeom ,ucon);
390 ucon2pr(
VELREL4,ucon,ptrgeom,newpr);
392 SLOOPA(j) uconrel[j]=newpr[UU+j];
396 SLOOPA(j) uconrel[j]=pr[UU+j];
400 lower_vec(uconrel,ptrgeom,ucovrel);
402 normuconrel=
dot(uconrel,ucovrel);
406 if(dopl[VSQ]) p2interp[VSQ]=normuconrel;
409 else if(which==UNRESCALE){
418 pr2ucon(
WHICHVEL,p2interp, ptrgeom ,ucon);
419 ucon2pr(
VELREL4,ucon,ptrgeom,newpr);
421 SLOOPA(j) uconrel[j]=newpr[UU+j];
425 SLOOPA(j) uconrel[j]=p2interp[UU+j];
429 lower_vec(uconrel,ptrgeom,ucovrel);
431 normuconrel_fromui=
dot(uconrel,ucovrel);
435 if(dopl[VSQ] && VSQ>0){
447 SLOOPA(j) pr[UU+j] = p2interp[UU+j]*fabs(p2interp[VSQ]/normuconrel_fromui);
458 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
464 #elif(VARTOINTERP==PRIMTOINTERP_3VELREL_GAMMAREL)
467 #if(DOEXTRAINTERP==0)
468 dualfprintf(
fail_file,
"Shouldn't be trying to do VARTOINTERP=%d if DOEXTRAINTERP=%d\n",VARTOINTERP,
DOEXTRAINTERP);
478 pr2ucon(
WHICHVEL,pr, ptrgeom ,ucon);
479 ucon2pr(
VELREL4,ucon,ptrgeom,newpr);
481 SLOOPA(j) uconrel[j]=newpr[UU+j];
485 SLOOPA(j) uconrel[j]=pr[UU+j];
496 for(pl=U1;pl<=
U3;pl++) p2interp[pl]= uconrel[pl-U1+1]/gamma;
499 if(dopl[VSQ] && VSQ>=0){
505 else if(which==UNRESCALE){
510 if(dopl[U1] && dopl[VSQ] && VSQ>=0){
513 SLOOPA(j) uconrel[j]=p2interp[UU+j]*p2interp[VSQ];
517 pr2ucon(VELREL4,p2interp, ptrgeom ,ucon);
518 ucon2pr(
WHICHVEL,ucon,ptrgeom,newpr);
519 SLOOPA(j) pr[UU+j]=newpr[UU+j];
522 SLOOPA(j) pr[UU+j]=uconrel[j];
530 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
536 #elif(VARTOINTERP==PRIMTOINTERP_3VELREL_GAMMAREL_DXDXP)
539 #if(DOEXTRAINTERP==0)
540 dualfprintf(
fail_file,
"Shouldn't be trying to do VARTOINTERP=%d if DOEXTRAINTERP=%d\n",VARTOINTERP,
DOEXTRAINTERP);
546 dxdxprim_ijk( ptrgeom->i, ptrgeom->j, ptrgeom->k, ptrgeom->p, dxdxp );
553 pr2ucon(
WHICHVEL,pr, ptrgeom ,ucon);
554 ucon2pr(VELREL4,ucon,ptrgeom,newpr);
556 SLOOPA(j) uconrel[j]=newpr[UU+j];
560 SLOOPA(j) uconrel[j]=pr[UU+j];
571 for(pl=U1;pl<=
U3;pl++) p2interp[pl]= uconrel[pl-U1+1]/gamma;
575 p2interp[
U2] *= dxdxp[2][2];
577 if(dopl[
B2]) p2interp[
B2] *= dxdxp[2][2];
579 if(dopl[VSQ]&&VSQ>=0){
585 else if(which==UNRESCALE){
588 if(dopl[U2]) p2interp[
U2] /= dxdxp[2][2];
589 if(dopl[B2]) p2interp[
B2] /= dxdxp[2][2];
597 SLOOPA(j) uconrel[j]=p2interp[UU+j]*p2interp[VSQ];
602 pr2ucon(VELREL4,p2interp, ptrgeom ,ucon);
603 ucon2pr(
WHICHVEL,ucon,ptrgeom,newpr);
604 SLOOPA(j) pr[UU+j]=newpr[UU+j];
607 SLOOPA(j) pr[UU+j]=uconrel[j];
615 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
621 #elif(VARTOINTERP==PRIMTOINTERP_RAMESH1)
628 if(dopl[
B1]){ pl=
B1; p2interp[pl] = pr[pl] * (sqrt(ptrgeom->gcov[
GIND(1,1)])*pow(r,2.0-
nu) ); }
629 if(dopl[B2]){ pl=
B2; p2interp[pl] = pr[pl] * (sqrt(ptrgeom->gcov[
GIND(2,2)])*pow(r,2.0-
nu) ); }
630 if(dopl[
B3]){ pl=
B3; p2interp[pl] = pr[pl] * (sqrt(ptrgeom->gcov[
GIND(3,3)])*pow(r,2.0-
nu) ); }
632 else if(which==UNRESCALE){
636 if(dopl[B1]){ pl=
B1; pr[pl] = p2interp[pl] / (sqrt(ptrgeom->gcov[
GIND(1,1)])*pow(r,2.0-
nu) ); }
637 if(dopl[B2]){ pl=
B2; pr[pl] = p2interp[pl] / (sqrt(ptrgeom->gcov[
GIND(2,2)])*pow(r,2.0-
nu) ); }
638 if(dopl[B3]){ pl=
B3; pr[pl] = p2interp[pl] / (sqrt(ptrgeom->gcov[
GIND(3,3)])*pow(r,2.0-
nu) ); }
642 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
647 #elif(VARTOINTERP==PRIMTOINTERP_GDETFULLVERSION)
659 if(dopl[U1]) p2interp[
U1]=pr[
U1]*(ptrgeom->gdet);
660 if(dopl[U2]) p2interp[
U2]=pr[
U2]*(ptrgeom->gdet);
661 if(dopl[U3]) p2interp[
U3]=pr[
U3]*(ptrgeom->gdet);
664 if(dopl[URAD1]) p2interp[URAD1]=pr[URAD1]*(ptrgeom->gdet);
665 if(dopl[URAD2]) p2interp[URAD2]=pr[URAD2]*(ptrgeom->gdet);
666 if(dopl[URAD3]) p2interp[URAD3]=pr[URAD3]*(ptrgeom->gdet);
669 if(dopl[B1]) p2interp[
B1]=pr[
B1]*(ptrgeom->gdet);
670 if(dopl[B2]) p2interp[
B2]=pr[
B2]*(ptrgeom->gdet);
671 if(dopl[B3]) p2interp[
B3]=pr[
B3]*(ptrgeom->gdet);
678 if(dopl[B1]) p2interp[
B1]=pr[
B1]*(ptrgeom->gdet);
679 if(dopl[B2]) p2interp[
B2]=pr[
B2]*(ptrgeom->gdet);
680 if(dopl[B3]) p2interp[
B3]=pr[
B3]*(ptrgeom->gdet);
683 else if(which==UNRESCALE){
692 if(dopl[U1]) pr[
U1]=p2interp[
U1]/(ptrgeom->gdet);
693 if(dopl[U2]) pr[
U2]=p2interp[
U2]/(ptrgeom->gdet);
694 if(dopl[U3]) pr[
U3]=p2interp[
U3]/(ptrgeom->gdet);
697 if(dopl[URAD1]) pr[URAD1]=p2interp[URAD1]/(ptrgeom->gdet);
698 if(dopl[URAD2]) pr[URAD2]=p2interp[URAD2]/(ptrgeom->gdet);
699 if(dopl[URAD3]) pr[URAD3]=p2interp[URAD3]/(ptrgeom->gdet);
702 if(dopl[B1]) pr[
B1]=p2interp[
B1]/(ptrgeom->gdet);
703 if(dopl[B2]) pr[
B2]=p2interp[
B2]/(ptrgeom->gdet);
704 if(dopl[B3]) pr[
B3]=p2interp[
B3]/(ptrgeom->gdet);
711 if(dopl[B1]) pr[
B1]=p2interp[
B1]/(ptrgeom->gdet);
712 if(dopl[B2]) pr[
B2]=p2interp[
B2]/(ptrgeom->gdet);
713 if(dopl[B3]) pr[
B3]=p2interp[
B3]/(ptrgeom->gdet);
717 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
722 #elif(VARTOINTERP==PRIMTOINTERP_GDETFULLVERSION_WALD)
735 if(dopl[U1]) p2interp[
U1]=pr[
U1]*(sqrt(fabs(ptrgeom->gcov[
GIND(1,1)]))*(V[1]));
736 if(dopl[U2]) p2interp[
U2]=pr[
U2]*(sqrt(fabs(ptrgeom->gcov[
GIND(2,2)]))*(V[1]));
737 if(dopl[U3]) p2interp[
U3]=pr[
U3]*(sqrt(fabs(ptrgeom->gcov[
GIND(3,3)]))*(V[1]));
740 if(dopl[URAD1]) p2interp[URAD1]=pr[URAD1]*(ptrgeom->gdet);
741 if(dopl[URAD2]) p2interp[URAD2]=pr[URAD2]*(ptrgeom->gdet);
742 if(dopl[URAD3]) p2interp[URAD3]=pr[URAD3]*(ptrgeom->gdet);
745 if(dopl[B1]) p2interp[
B1]=pr[
B1]*sqrt(fabs(ptrgeom->gcov[
GIND(1,1)]));
746 if(dopl[B2]) p2interp[
B2]=pr[
B2]*sqrt(fabs(ptrgeom->gcov[
GIND(2,2)]));
747 if(dopl[B3]) p2interp[
B3]=pr[
B3]*(sqrt(fabs(ptrgeom->gcov[
GIND(3,3)]))*(V[1]));
750 if(dopl[U1]) p2interp[
U1]=pr[
U1]*(sqrt(fabs(ptrgeom->gcov[
GIND(1,1)]))*(V[1]));
751 if(dopl[U2]) p2interp[
U2]=pr[
U2]*(sqrt(fabs(ptrgeom->gcov[
GIND(2,2)]))*(V[1]));
752 if(dopl[U3]) p2interp[
U3]=pr[
U3]*(sqrt(fabs(ptrgeom->gcov[
GIND(3,3)]))*(V[1]));
754 if(dopl[B1]) p2interp[
B1]=pr[
B1]*sqrt(fabs(ptrgeom->gcov[
GIND(1,1)]));
755 if(dopl[B2]) p2interp[
B2]=pr[
B2]*sqrt(fabs(ptrgeom->gcov[
GIND(2,2)]));
756 if(dopl[B3]) p2interp[
B3]=pr[
B3]*(sqrt(fabs(ptrgeom->gcov[
GIND(3,3)]))*(V[1]));
759 else if(which==UNRESCALE){
768 if(dopl[U1]) pr[
U1]=p2interp[
U1]/(sqrt(fabs(ptrgeom->gcov[
GIND(1,1)]))*(V[1]));
769 if(dopl[U2]) pr[
U2]=p2interp[
U2]/(sqrt(fabs(ptrgeom->gcov[
GIND(2,2)]))*(V[1]));
770 if(dopl[U3]) pr[
U3]=p2interp[
U3]/(sqrt(fabs(ptrgeom->gcov[
GIND(3,3)]))*(V[1]));
773 if(dopl[URAD1]) pr[URAD1]=p2interp[URAD1]/(ptrgeom->gdet);
774 if(dopl[URAD2]) pr[URAD2]=p2interp[URAD2]/(ptrgeom->gdet);
775 if(dopl[URAD3]) pr[URAD3]=p2interp[URAD3]/(ptrgeom->gdet);
778 if(dopl[B1]) pr[
B1]=p2interp[
B1]/sqrt(fabs(ptrgeom->gcov[
GIND(1,1)]));
779 if(dopl[B2]) pr[
B2]=p2interp[
B2]/sqrt(fabs(ptrgeom->gcov[
GIND(2,2)]));
780 if(dopl[B3]) pr[
B3]=p2interp[
B3]/(sqrt(fabs(ptrgeom->gcov[
GIND(3,3)]))*(V[1]));
783 if(dopl[U1]) pr[
U1]=p2interp[
U1]/(sqrt(fabs(ptrgeom->gcov[
GIND(1,1)]))*(V[1]));
784 if(dopl[U2]) pr[
U2]=p2interp[
U2]/(sqrt(fabs(ptrgeom->gcov[
GIND(2,2)]))*(V[1]));
785 if(dopl[U3]) pr[
U3]=p2interp[
U3]/(sqrt(fabs(ptrgeom->gcov[
GIND(3,3)]))*(V[1]));
787 if(dopl[B1]) pr[
B1]=p2interp[
B1]/sqrt(fabs(ptrgeom->gcov[
GIND(1,1)]));
788 if(dopl[B2]) pr[
B2]=p2interp[
B2]/sqrt(fabs(ptrgeom->gcov[
GIND(2,2)]));
789 if(dopl[B3]) pr[
B3]=p2interp[
B3]/(sqrt(fabs(ptrgeom->gcov[
GIND(3,3)]))*(V[1]));
793 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
798 #endif // end over choices for VARTOINTERP
814 #if(VARTOINTERPFIELD==NOFIELDRESCALE)
818 #elif(VARTOINTERPFIELD==PULSARFIELD)
831 getconsts(Bconin, V, ptrgeom, dxdxp,Bconout);
833 if(dopl[B1]) p2interp[
B1]=Bconout[1];
834 if(dopl[B2]) p2interp[
B2]=Bconout[2];
835 if(dopl[B3]) p2interp[
B3]=Bconout[3];
837 else if(which==UNRESCALE){
840 Bconin[1]=p2interp[
B1];
841 Bconin[2]=p2interp[
B2];
842 Bconin[3]=p2interp[
B3];
846 undoconsts(Bconin, V, ptrgeom, dxdxp, Bconout);
848 if(dopl[B1]) pr[
B1]=Bconout[1];
849 if(dopl[B2]) pr[
B2]=Bconout[2];
850 if(dopl[B3]) pr[
B3]=Bconout[3];
854 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
861 #elif(VARTOINTERPFIELD==PULSARFIELD2)
874 if(dopl[B1]) p2interp[
B1]=Bconin[1]*dxdxp[1][1]*pow(V[1],3);
875 if(dopl[B2]) p2interp[
B2]=Bconin[2]*dxdxp[2][2]*pow(V[1],4);
876 if(dopl[B3]) p2interp[
B3]=Bconin[3]*pow(V[1],3);
878 else if(which==UNRESCALE){
883 Bconin[1]=p2interp[
B1]/(dxdxp[1][1]*pow(V[1],3));
884 Bconin[2]=p2interp[
B2]/(dxdxp[2][2]*pow(V[1],4));
885 Bconin[3]=p2interp[
B3]/(pow(V[1],3));
887 if(dopl[B1]) pr[
B1]=Bconin[1];
888 if(dopl[B2]) pr[
B2]=Bconin[2];
889 if(dopl[B3]) pr[
B3]=Bconin[3];
893 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
900 #elif(VARTOINTERPFIELD==PULSARFIELD3)
913 if(dopl[B1]) p2interp[
B1]=Bconin[1]*sqrt(fabs(ptrgeom->gcov[
GIND(1,1)]))*pow(V[1],3);
914 if(dopl[B2]) p2interp[
B2]=Bconin[2]*sqrt(fabs(ptrgeom->gcov[
GIND(2,2)]))*pow(V[1],3);
915 if(dopl[B3]) p2interp[
B3]=Bconin[3]*pow(V[1],3);
917 else if(which==UNRESCALE){
922 Bconin[1]=p2interp[
B1]/(sqrt(fabs(ptrgeom->gcov[
GIND(1,1)]))*pow(V[1],3));
923 Bconin[2]=p2interp[
B2]/(sqrt(fabs(ptrgeom->gcov[
GIND(1,1)]))*pow(V[1],3));
924 Bconin[3]=p2interp[
B3]/(pow(V[1],3));
926 if(dopl[B1]) pr[
B1]=Bconin[1];
927 if(dopl[B2]) pr[
B2]=Bconin[2];
928 if(dopl[B3]) pr[
B3]=Bconin[3];
932 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
939 #elif(VARTOINTERPFIELD==GDETVERSION)
952 if(dopl[B1]) p2interp[
B1]=Bconin[1]*(ptrgeom->gdet);
953 if(dopl[B2]) p2interp[
B2]=Bconin[2]*(ptrgeom->gdet);
954 if(dopl[B3]) p2interp[
B3]=Bconin[3]*(ptrgeom->gdet);
957 if(dopl[B1]) p2interp[
B1]=Bconin[1];
958 if(dopl[B2]) p2interp[
B2]=Bconin[2];
959 if(dopl[B3]) p2interp[
B3]=Bconin[3];
962 if(dopl[B1]) p2interp[
B1]=Bconin[1];
963 if(dopl[B2]) p2interp[
B2]=Bconin[2];
964 if(dopl[B3]) p2interp[
B3]=Bconin[3];
967 else if(which==UNRESCALE){
970 Bconin[1]=p2interp[
B1];
971 Bconin[2]=p2interp[
B2];
972 Bconin[3]=p2interp[
B3];
975 if(dopl[B1]) pr[
B1]=p2interp[
B1]/(ptrgeom->gdet);
976 if(dopl[B2]) pr[
B2]=p2interp[
B2]/(ptrgeom->gdet);
977 if(dopl[B3]) pr[
B3]=p2interp[
B3]/(ptrgeom->gdet);
980 if(dopl[B1]) pr[
B1]=Bconin[1];
981 if(dopl[B2]) pr[
B2]=Bconin[2];
982 if(dopl[B3]) pr[
B3]=Bconin[3];
985 if(dopl[B1]) pr[
B1]=Bconin[1];
986 if(dopl[B2]) pr[
B2]=Bconin[2];
987 if(dopl[B3]) pr[
B3]=Bconin[3];
992 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
997 #elif(VARTOINTERPFIELD==GDETFULLVERSION)
1003 if(dopl[B1]) p2interp[
B1]=pr[
B1]*(ptrgeom->gdet);
1004 if(dopl[B2]) p2interp[
B2]=pr[
B2]*(ptrgeom->gdet);
1005 if(dopl[B3]) p2interp[
B3]=pr[
B3]*(ptrgeom->gdet);
1008 if(dopl[B1]) p2interp[
B1]=pr[
B1]*(ptrgeom->gdet);
1009 if(dopl[B2]) p2interp[
B2]=pr[
B2]*(ptrgeom->gdet);
1010 if(dopl[B3]) p2interp[
B3]=pr[
B3]*(ptrgeom->gdet);
1013 else if(which==UNRESCALE){
1016 if(dopl[B1]) pr[
B1]=p2interp[
B1]/(ptrgeom->gdet);
1017 if(dopl[B2]) pr[
B2]=p2interp[
B2]/(ptrgeom->gdet);
1018 if(dopl[B3]) pr[
B3]=p2interp[
B3]/(ptrgeom->gdet);
1021 if(dopl[B1]) pr[
B1]=p2interp[
B1]/(ptrgeom->gdet);
1022 if(dopl[B2]) pr[
B2]=p2interp[
B2]/(ptrgeom->gdet);
1023 if(dopl[B3]) pr[
B3]=p2interp[
B3]/(ptrgeom->gdet);
1028 dualfprintf(
fail_file,
"rescale(): no such rescale type! which=%d\n",which);
1033 #endif // end over choices for VARTOINTERPFIELD