PLUTO
ion_init.c File Reference
#include "pluto.h"
#include "cooling_defs.h"
Include dependency graph for ion_init.c:

Go to the source code of this file.

Functions

void INIT_ATOM (Ion *at, int nat)
 
void HI_INIT (Ion *HIv)
 
void HeI_INIT (Ion *HeIv)
 
void HeII_INIT (Ion *HeIIv)
 
void CI_INIT (Ion *CIv)
 
void CII_INIT (Ion *CIIv)
 
void CIII_INIT (Ion *CIIIv)
 
void CIV_INIT (Ion *CIVv)
 
void CV_INIT (Ion *CVv)
 
void NI_INIT (Ion *NIv)
 
void NII_INIT (Ion *NIIv)
 
void NIII_INIT (Ion *NIIIv)
 
void NIV_INIT (Ion *NIVv)
 
void NV_INIT (Ion *NVv)
 
void OI_INIT (Ion *OIv)
 
void OII_INIT (Ion *OIIv)
 
void OIII_INIT (Ion *OIIIv)
 
void OIV_INIT (Ion *OIVv)
 
void OV_INIT (Ion *OVv)
 
void NeI_INIT (Ion *NeIv)
 
void NeII_INIT (Ion *NeIIv)
 
void NeIII_INIT (Ion *NeIIIv)
 
void NeIV_INIT (Ion *NeIVv)
 
void NeV_INIT (Ion *NeVv)
 
void SI_INIT (Ion *SIv)
 
void SII_INIT (Ion *SIIv)
 
void SIII_INIT (Ion *SIIIv)
 
void SIV_INIT (Ion *SIVv)
 
void SV_INIT (Ion *SVv)
 
void FeI_INIT (Ion *FeIv)
 
void FeII_INIT (Ion *FeIIv)
 
void FeIIb_INIT (Ion *FeIIv)
 
void FeIII_INIT (Ion *FeIIIv)
 

Function Documentation

void CI_INIT ( Ion CIv)

Definition at line 468 of file ion_init.c.

472 {
473  int i, j, n;
474  int _3P0, _3P1, _3P2, _1D2, _1S0, _5S2;
475 
476  /* Old data, commented, is from Pradhan. New T-dep CS from MAPPINGS */
477 
478  CIv->N = 5.e-4; /* abundance of C with respect to H (Raymond) */
479  CIv->nlev = 5;
480 
481  CIv->isMAP = 0;
482 
483  _3P0 = 0;
484  _3P1 = 1;
485  _3P2 = 2;
486  _1D2 = 3;
487  _1S0 = 4;
488 /* _5S2 = 5; */
489 
490  CIv->nTom = 4;
491  CIv->Tom[0] = 0.5e4;
492  CIv->Tom[1] = 1.0e4;
493  CIv->Tom[2] = 1.5e4;
494  CIv->Tom[3] = 2.0e4;
495 
496  if (CIv->dE == NULL){
497  CIv->dE = ARRAY_2D(CIv->nlev, CIv->nlev, double);
498  CIv->A = ARRAY_2D(CIv->nlev, CIv->nlev, double);
499  CIv->omega = ARRAY_3D(CIv->nlev, CIv->nlev, CIv->nTom, double);
500  }
501 
502 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
503  O GET PROPER ORDER LATER */
504 
505  for (i = 0 ; i < CIv->nlev ; i++) {
506  for (j = 0 ; j < CIv->nlev ; j++) {
507  CIv->dE[i][j] = -1.0;
508  CIv->A[i][j] = -1.0;
509  for (n = 0; n < CIv->nTom; n++){
510  CIv->omega[i][j][n] = -1.0;
511  }
512  }}
513 
514 
515  CIv->wght[_3P0] = 1.; /* 2 J + 1 */
516  CIv->wght[_3P1] = 3.; /* */
517  CIv->wght[_3P2] = 5.; /* */
518  CIv->wght[_1D2] = 5.; /* */
519  CIv->wght[_1S0] = 1.; /* */
520 /* CIv->wght[_5S2] = 5.; */
521 
522 
523  CIv->omega[_1D2][_3P0][0] = 6.03e-1 * (1.0)/(3.0*3.0);
524  CIv->omega[_1D2][_3P0][1] = 1.14 * (1.0)/(3.0*3.0);
525  CIv->omega[_1D2][_3P0][2] = 1.60 * (1.0)/(3.0*3.0);
526  CIv->omega[_1D2][_3P0][3] = 1.96 * (1.0)/(3.0*3.0);
527 
528  CIv->omega[_1D2][_3P1][0] = CIv->omega[_1D2][_3P0][0] * (3.0)/(3.0*3.0);
529  CIv->omega[_1D2][_3P1][1] = CIv->omega[_1D2][_3P0][1] * (3.0)/(3.0*3.0);
530  CIv->omega[_1D2][_3P1][2] = CIv->omega[_1D2][_3P0][2] * (3.0)/(3.0*3.0);
531  CIv->omega[_1D2][_3P1][3] = CIv->omega[_1D2][_3P0][3] * (3.0)/(3.0*3.0);
532 
533  CIv->omega[_1D2][_3P2][0] = CIv->omega[_1D2][_3P0][0] * (5.0)/(3.0*3.0);
534  CIv->omega[_1D2][_3P2][1] = CIv->omega[_1D2][_3P0][0] * (5.0)/(3.0*3.0);
535  CIv->omega[_1D2][_3P2][2] = CIv->omega[_1D2][_3P0][0] * (5.0)/(3.0*3.0);
536  CIv->omega[_1D2][_3P2][3] = CIv->omega[_1D2][_3P0][0] * (5.0)/(3.0*3.0);
537 
538  CIv->omega[_1S0][_3P1][0] = 1.49e-1 * (3.0)/(3.0*3.0);
539  CIv->omega[_1S0][_3P1][1] = 2.52e-1 * (3.0)/(3.0*3.0);
540  CIv->omega[_1S0][_3P1][2] = 3.20e-1 * (3.0)/(3.0*3.0);
541  CIv->omega[_1S0][_3P1][3] = 3.65e-1 * (3.0)/(3.0*3.0);
542 
543  CIv->omega[_1S0][_3P2][0] = CIv->omega[_1S0][_3P1][0] * (5.0)/(3.0*3.0);
544  CIv->omega[_1S0][_3P2][1] = CIv->omega[_1S0][_3P1][1] * (5.0)/(3.0*3.0);
545  CIv->omega[_1S0][_3P2][2] = CIv->omega[_1S0][_3P1][2] * (5.0)/(3.0*3.0);
546  CIv->omega[_1S0][_3P2][3] = CIv->omega[_1S0][_3P1][3] * (5.0)/(3.0*3.0);
547 
548  CIv->omega[_1S0][_1D2][0] = 1.96e-1;
549  CIv->omega[_1S0][_1D2][1] = 2.77e-1;
550  CIv->omega[_1S0][_1D2][2] = 3.40e-1;
551  CIv->omega[_1S0][_1D2][3] = 3.92e-1;
552 
553  CIv->omega[_3P1][_3P0][0] = 2.43e-1;
554  CIv->omega[_3P1][_3P0][1] = 3.71e-1;
555  CIv->omega[_3P1][_3P0][2] = 3.71e-1;
556  CIv->omega[_3P1][_3P0][3] = 3.71e-1;
557 
558  CIv->omega[_3P2][_3P0][0] = 1.82e-1;
559  CIv->omega[_3P2][_3P0][1] = 2.46e-1;
560  CIv->omega[_3P2][_3P0][2] = 2.46e-1;
561  CIv->omega[_3P2][_3P0][3] = 2.46e-1;
562 
563  CIv->omega[_3P2][_3P1][0] = 7.14e-1;
564  CIv->omega[_3P2][_3P1][1] = 1.02;
565  CIv->omega[_3P2][_3P1][2] = 1.02;
566  CIv->omega[_3P2][_3P1][3] = 1.02;
567 /*
568  CIv->omega[_5S2][_3P1][0] = 4.75e-1;
569  CIv->omega[_5S2][_3P1][1] = 6.71e-1;
570  CIv->omega[_5S2][_3P1][2] = 8.22e-1;
571  CIv->omega[_5S2][_3P1][3] = 9.50e-1;
572 
573  CIv->omega[_5S2][_3P2][0] = CIv->omega[_5S2][_3P1][0] * (5.0)/(3.0*3.0);
574  CIv->omega[_5S2][_3P2][1] = CIv->omega[_5S2][_3P1][1] * (5.0)/(3.0*3.0);
575  CIv->omega[_5S2][_3P2][2] = CIv->omega[_5S2][_3P1][2] * (5.0)/(3.0*3.0);
576  CIv->omega[_5S2][_3P2][3] = CIv->omega[_5S2][_3P1][3] * (5.0)/(3.0*3.0);
577 */
578 /*
579  And now some fake data to make things work
580  We will add A=0 for these transitions, this is only to initialize the matrix and avoid NaNs
581 */
582 /*
583  CIv->omega[_1S0][_3P0][0] = 1.00e-30;
584  CIv->omega[_1S0][_3P0][1] = 1.00e-30;
585  CIv->omega[_1S0][_3P0][2] = 1.00e-30;
586  CIv->omega[_1S0][_3P0][3] = 1.00e-30;
587 
588  CIv->omega[_5S2][_1S0][0] = 1.00e-30;
589  CIv->omega[_5S2][_1S0][1] = 1.00e-30;
590  CIv->omega[_5S2][_1S0][2] = 1.00e-30;
591  CIv->omega[_5S2][_1S0][3] = 1.00e-30;
592 
593  CIv->omega[_5S2][_3P0][0] = 1.00e-30;
594  CIv->omega[_5S2][_3P0][1] = 1.00e-30;
595  CIv->omega[_5S2][_3P0][2] = 1.00e-30;
596  CIv->omega[_5S2][_3P0][3] = 1.00e-30;
597 
598  CIv->omega[_5S2][_1D2][0] = 1.00e-30;
599  CIv->omega[_5S2][_1D2][1] = 1.00e-30;
600  CIv->omega[_5S2][_1D2][2] = 1.00e-30;
601  CIv->omega[_5S2][_1D2][3] = 1.00e-30;
602 */
603 
604 /* End fake data */
605 
606 /*
607  CIv->omega[_1D2][_3P0][0] = 1.267e-1;
608  CIv->omega[_1D2][_3P0][1] = 0.9190;
609 
610  CIv->omega[_1D2][_3P1][0] = 3.80e-1;
611  CIv->omega[_1D2][_3P1][1] = 0.9190;
612 
613  CIv->omega[_1D2][_3P2][0] = 6.333e-1;
614  CIv->omega[_1D2][_3P2][1] = 0.9190;
615 
616  CIv->omega[_1S0][_3P1][0] = 8.40e-2;
617  CIv->omega[_1S0][_3P1][1] = 0.7580;
618 
619  CIv->omega[_1S0][_3P2][0] = 1.40e-1;
620  CIv->omega[_1S0][_3P2][1] = 0.7580;
621 
622  CIv->omega[_1S0][_1D2][0] = 2.77e-1;
623  CIv->omega[_1S0][_1D2][1] = 0.4990;
624 
625  CIv->omega[_3P1][_3P0][0] = 3.71e-1;
626  CIv->omega[_3P1][_3P0][1] = 0.0000;
627 
628  CIv->omega[_3P2][_3P0][0] = 2.46e-1;
629  CIv->omega[_3P2][_3P0][1] = 0.0000;
630 
631  CIv->omega[_3P2][_3P1][0] = 1.00;
632  CIv->omega[_3P2][_3P1][1] = 0.0000;
633 */
634 
635  CIv->dE[_1D2][_3P0] = 9808.13; CIv->A[_1D2][_3P0] = 8.62e-8;
636  CIv->dE[_1D2][_3P1] = 9824.12; CIv->A[_1D2][_3P1] = 6.05e-5;
637  CIv->dE[_1D2][_3P2] = 9850.26; CIv->A[_1D2][_3P2] = 1.80e-4;
638  CIv->dE[_1S0][_3P1] = 4621.57; CIv->A[_1S0][_3P1] = 2.1e-3;
639  CIv->dE[_1S0][_3P2] = 4627.35; CIv->A[_1S0][_3P2] = 1.79e-5;
640  CIv->dE[_1S0][_1D2] = 8727.18; CIv->A[_1S0][_1D2] = 6.34e-1;
641  CIv->dE[_3P1][_3P0] = 6.094e+6; CIv->A[_3P1][_3P0] = 7.88e-8;
642  CIv->dE[_3P2][_3P0] = 2304147.; CIv->A[_3P2][_3P0] = 1.81e-14;
643  CIv->dE[_3P2][_3P1] = 3704140.; CIv->A[_3P2][_3P1] = 2.65e-7;
644 /* CIv->dE[_5S2][_3P1] = 2965.70; CIv->A[_5S2][_3P1] = 6.94e+0;
645  CIv->dE[_5S2][_3P2] = 2968.08; CIv->A[_5S2][_3P2] = 1.56e+1;
646  CIv->dE[_5S2][_1S0] = 1.e+30; CIv->A[_5S2][_1S0] = 0.00000;
647  CIv->dE[_5S2][_3P0] = 1.e+30; CIv->A[_5S2][_3P0] = 0.00000;
648  CIv->dE[_5S2][_1D2] = 1.e+30; CIv->A[_5S2][_1D2] = 0.00000;
649  CIv->dE[_1S0][_3P0] = 1.e+30; CIv->A[_1S0][_3P0] = 0.00000; */
650 
651 
652  Symmetrize_Coeff (CIv);
653 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
int isMAP
Definition: cooling_defs.h:112
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void CII_INIT ( Ion CIIv)

Definition at line 656 of file ion_init.c.

660 {
661  int i, j, n;
662  int _2P12, _2P32, _4P12, _4P32, _4P52;
663 
664  /* Old data from Pradhan commented. Enlarged T-dep from Blum & Pradhan 1992, ApJSS */
665 
666  CIIv->N = 5.e-4; /* abundance of C with respect to H (Raymond) */
667  CIIv->nlev = 5;
668 
669  _2P12 = 0;
670  _2P32 = 1;
671  _4P12 = 2;
672  _4P32 = 3;
673  _4P52 = 4;
674 
675  CIIv->nTom = 4;
676  CIIv->Tom[0] = 0.3e4;
677  CIIv->Tom[1] = 1.0e4;
678  CIIv->Tom[2] = 2.2e4;
679  CIIv->Tom[3] = 4.0e4;
680 
681  if (CIIv->dE == NULL){
682  CIIv->dE = ARRAY_2D(CIIv->nlev, CIIv->nlev, double);
683  CIIv->A = ARRAY_2D(CIIv->nlev, CIIv->nlev, double);
684  CIIv->omega = ARRAY_3D(CIIv->nlev, CIIv->nlev, CIIv->nTom, double);
685  }
686 
687 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
688  O GET PROPER ORDER LATER */
689 
690  for (i = 0 ; i < CIIv->nlev ; i++) {
691  for (j = 0 ; j < CIIv->nlev ; j++) {
692  CIIv->dE[i][j] = -1.0;
693  CIIv->A[i][j] = -1.0;
694  for (n = 0; n < CIIv->nTom; n++){
695  CIIv->omega[i][j][n] = -1.0;
696  }
697  }}
698 
699 
700  CIIv->wght[_2P12] = 2.; /* 2 J + 1 */
701  CIIv->wght[_2P32] = 4.; /* */
702  CIIv->wght[_4P12] = 2.; /* */
703  CIIv->wght[_4P32] = 4.; /* */
704  CIIv->wght[_4P52] = 6.; /* */
705 
706 /* CIIv->omega[_2P32][_2P12][0] = 1.89;
707  CIIv->omega[_2P32][_2P12][1] = 2.15;
708  CIIv->omega[_2P32][_2P12][2] = 2.26;
709  CIIv->omega[_2P32][_2P12][3] = 2.28;
710 
711  CIIv->omega[_4P12][_2P12][0] = 2.43e-1;
712  CIIv->omega[_4P12][_2P12][1] = 2.42e-1;
713  CIIv->omega[_4P12][_2P12][2] = 2.46e-1;
714  CIIv->omega[_4P12][_2P12][3] = 2.48e-1;
715 
716  CIIv->omega[_4P12][_2P32][0] = 1.74e-1;
717  CIIv->omega[_4P12][_2P32][1] = 1.77e-1;
718  CIIv->omega[_4P12][_2P32][2] = 1.82e-1;
719  CIIv->omega[_4P12][_2P32][3] = 1.84e-1;
720 
721  CIIv->omega[_4P32][_2P12][0] = 3.61e-1;
722  CIIv->omega[_4P32][_2P12][1] = 3.62e-1;
723  CIIv->omega[_4P32][_2P12][2] = 3.68e-1;
724  CIIv->omega[_4P32][_2P12][3] = 3.70e-1;
725 
726  CIIv->omega[_4P32][_2P32][0] = 4.72e-1;
727  CIIv->omega[_4P32][_2P32][1] = 4.77e-1;
728  CIIv->omega[_4P32][_2P32][2] = 4.88e-1;
729  CIIv->omega[_4P32][_2P32][3] = 4.93e-1;
730 
731  CIIv->omega[_4P32][_4P12][0] = 6.60e-1;
732  CIIv->omega[_4P32][_4P12][1] = 8.24e-1;
733  CIIv->omega[_4P32][_4P12][2] = 9.64e-1;
734  CIIv->omega[_4P32][_4P12][3] = 1.06;
735 
736  CIIv->omega[_4P52][_2P12][0] = 2.29e-1;
737  CIIv->omega[_4P52][_2P12][1] = 2.34e-1;
738  CIIv->omega[_4P52][_2P12][2] = 2.42e-1;
739  CIIv->omega[_4P52][_2P12][3] = 2.45e-1;
740 
741  CIIv->omega[_4P52][_2P32][0] = 1.02;
742  CIIv->omega[_4P52][_2P32][1] = 1.02;
743  CIIv->omega[_4P52][_2P32][2] = 1.04;
744  CIIv->omega[_4P52][_2P32][3] = 1.05;
745 
746  CIIv->omega[_4P52][_4P12][0] = 7.30e-1;
747  CIIv->omega[_4P52][_4P12][1] = 8.53e-1;
748  CIIv->omega[_4P52][_4P12][2] = 9.32e-1;
749  CIIv->omega[_4P52][_4P12][3] = 9.71e-1;
750 
751  CIIv->omega[_4P52][_4P32][0] = 1.65;
752  CIIv->omega[_4P52][_4P32][1] = 1.98;
753  CIIv->omega[_4P52][_4P32][2] = 2.23;
754  CIIv->omega[_4P52][_4P32][3] = 2.39;
755 */
756 
757  CIIv->omega[_2P32][_2P12][0] = 1.7157;
758  CIIv->omega[_2P32][_2P12][1] = 2.1519;
759  CIIv->omega[_2P32][_2P12][2] = 2.2816;
760  CIIv->omega[_2P32][_2P12][3] = 2.2460;
761 
762  CIIv->omega[_4P12][_2P12][0] = 2.507e-1;
763  CIIv->omega[_4P12][_2P12][1] = 2.425e-1;
764  CIIv->omega[_4P12][_2P12][2] = 2.476e-1;
765  CIIv->omega[_4P12][_2P12][3] = 2.412e-1;
766 
767  CIIv->omega[_4P12][_2P32][0] = 1.776e-1;
768  CIIv->omega[_4P12][_2P32][1] = 1.771e-1;
769  CIIv->omega[_4P12][_2P32][2] = 1.845e-1;
770  CIIv->omega[_4P12][_2P32][3] = 1.799e-1;
771 
772  CIIv->omega[_4P32][_2P12][0] = 3.719e-1;
773  CIIv->omega[_4P32][_2P12][1] = 3.618e-1;
774  CIIv->omega[_4P32][_2P12][2] = 3.701e-1;
775  CIIv->omega[_4P32][_2P12][3] = 3.614e-1;
776 
777  CIIv->omega[_4P32][_2P32][0] = 4.847e-1;
778  CIIv->omega[_4P32][_2P32][1] = 4.774e-1;
779  CIIv->omega[_4P32][_2P32][2] = 4.934e-1;
780  CIIv->omega[_4P32][_2P32][3] = 4.807e-1;
781 
782  CIIv->omega[_4P32][_4P12][0] = 6.20e-1;
783  CIIv->omega[_4P32][_4P12][1] = 8.237e-1;
784  CIIv->omega[_4P32][_4P12][2] = 1.0898;
785  CIIv->omega[_4P32][_4P12][3] = 1.2207;
786 
787  CIIv->omega[_4P52][_2P12][0] = 2.340e-1;
788  CIIv->omega[_4P52][_2P12][1] = 2.349e-1;
789  CIIv->omega[_4P52][_2P12][2] = 2.457e-1;
790  CIIv->omega[_4P52][_2P12][3] = 2.395e-1;
791 
792  CIIv->omega[_4P52][_2P32][0] = 1.0508;
793  CIIv->omega[_4P52][_2P32][1] = 1.0238;
794  CIIv->omega[_4P52][_2P32][2] = 1.0508;
795  CIIv->omega[_4P52][_2P32][3] = 1.0237;
796 
797  CIIv->omega[_4P52][_4P12][0] = 6.895e-1;
798  CIIv->omega[_4P52][_4P12][1] = 8.533e-1;
799  CIIv->omega[_4P52][_4P12][2] = 9.789e-1;
800  CIIv->omega[_4P52][_4P12][3] = 9.924e-1;
801 
802  CIIv->omega[_4P52][_4P32][0] = 1.5521;
803  CIIv->omega[_4P52][_4P32][1] = 1.9818;
804  CIIv->omega[_4P52][_4P32][2] = 2.4300;
805  CIIv->omega[_4P52][_4P32][3] = 2.5885;
806 
807  CIIv->dE[_2P32][_2P12] = 1.5774e+5;CIIv->A[_2P32][_2P12] = 2.29e-6;
808  CIIv->dE[_4P12][_2P12] = 2325.; CIIv->A[_4P12][_2P12] = 7.0e+1;
809  CIIv->dE[_4P12][_2P32] = 2329.; CIIv->A[_4P12][_2P32] = 6.3e+1;
810  CIIv->dE[_4P32][_2P12] = 2324.; CIIv->A[_4P32][_2P12] = 1.4e+0;
811  CIIv->dE[_4P32][_2P32] = 2328.; CIIv->A[_4P32][_2P32] = 9.4e+0;
812  CIIv->dE[_4P32][_4P12] = 4.55e+6; CIIv->A[_4P32][_4P12] = 2.39e-7;
813 /* CIIv->dE[_4P52][_2P12] = 2323.; CIIv->A[_4P52][_2P12] = 0.00000;
814 */
815  CIIv->dE[_4P52][_2P32] = 2326.; CIIv->A[_4P52][_2P32] = 5.1e+1;
816  CIIv->dE[_4P52][_4P12] = 1.99e+6; CIIv->A[_4P52][_4P12] = 3.49e-14;
817  CIIv->dE[_4P52][_4P32] = 3.53e+6; CIIv->A[_4P52][_4P32] = 3.67e-7;
818 
819  Symmetrize_Coeff (CIIv);
820 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void CIII_INIT ( Ion CIIIv)

Definition at line 824 of file ion_init.c.

828 {
829  int i, j, n;
830  int _3P2, _3P1, _3P0, _1P1, _1S0;
831 
832  CIIIv->N = 5.e-4; /* abundance of C with respect to H (Raymond) */
833  CIIIv->nlev = 5;
834 
835  _1S0 = 0;
836  _3P0 = 1;
837  _3P1 = 2;
838  _3P2 = 3;
839  _1P1 = 4;
840 
841  CIIIv->nTom = 4;
842  CIIIv->Tom[0] = 0.5e4;
843  CIIIv->Tom[1] = 1.0e4;
844  CIIIv->Tom[2] = 1.5e4;
845  CIIIv->Tom[3] = 2.0e4;
846 
847  if (CIIIv->dE == NULL){
848  CIIIv->dE = ARRAY_2D(CIIIv->nlev, CIIIv->nlev, double);
849  CIIIv->A = ARRAY_2D(CIIIv->nlev, CIIIv->nlev, double);
850  CIIIv->omega = ARRAY_3D(CIIIv->nlev, CIIIv->nlev, CIIIv->nTom, double);
851  }
852 
853 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
854  O GET PROPER ORDER LATER */
855 
856  for (i = 0 ; i < CIIIv->nlev ; i++) {
857  for (j = 0 ; j < CIIIv->nlev ; j++) {
858  CIIIv->dE[i][j] = -1.0;
859  CIIIv->A[i][j] = -1.0;
860  for (n = 0; n < CIIIv->nTom; n++){
861  CIIIv->omega[i][j][n] = -1.0;
862  }
863  }}
864 
865 
866  CIIIv->wght[_1S0] = 1.; /* 2 J + 1 */
867  CIIIv->wght[_3P0] = 1.; /* */
868  CIIIv->wght[_3P1] = 3.; /* */
869  CIIIv->wght[_3P2] = 5.; /* */
870  CIIIv->wght[_1P1] = 3.; /* */
871 
872  CIIIv->omega[_3P2][_1S0][0] = 1.12 * (5.0)/(3.0 * 3.0);
873  CIIIv->omega[_3P2][_1S0][1] = 1.01 * (5.0)/(3.0 * 3.0);
874  CIIIv->omega[_3P2][_1S0][2] = 9.90e-1 * (5.0)/(3.0 * 3.0);
875  CIIIv->omega[_3P2][_1S0][3] = 9.96e-1 * (5.0)/(3.0 * 3.0);
876 
877  CIIIv->omega[_3P1][_1S0][0] = 1.12 * (3.0)/(3.0 * 3.0);
878  CIIIv->omega[_3P1][_1S0][1] = 1.01 * (3.0)/(3.0 * 3.0);
879  CIIIv->omega[_3P1][_1S0][2] = 9.90e-1 * (3.0)/(3.0 * 3.0);
880  CIIIv->omega[_3P1][_1S0][3] = 9.96e-1 * (3.0)/(3.0 * 3.0);
881 
882  CIIIv->omega[_1P1][_1S0][0] = 3.85;
883  CIIIv->omega[_1P1][_1S0][1] = 4.34;
884  CIIIv->omega[_1P1][_1S0][2] = 4.56;
885  CIIIv->omega[_1P1][_1S0][3] = 4.69;
886 
887  CIIIv->omega[_3P1][_3P0][0] = 8.48e-1;
888  CIIIv->omega[_3P1][_3P0][1] = 9.11e-1;
889  CIIIv->omega[_3P1][_3P0][2] = 9.75e-1;
890  CIIIv->omega[_3P1][_3P0][3] = 1.03;
891 
892  CIIIv->omega[_3P2][_3P1][0] = 2.36;
893  CIIIv->omega[_3P2][_3P1][1] = 2.66;
894  CIIIv->omega[_3P2][_3P1][2] = 2.97;
895  CIIIv->omega[_3P2][_3P1][3] = 3.23;
896 
897  CIIIv->omega[_3P2][_3P0][0] = 0.579;
898  CIIIv->omega[_3P2][_3P0][1] = 0.677;
899  CIIIv->omega[_3P2][_3P0][2] = 0.776;
900  CIIIv->omega[_3P2][_3P0][3] = 0.867;
901 
902  /* fake data */
903 /*
904  CIIIv->omega[_3P2][_3P0][0] = 8.48e-31;
905  CIIIv->omega[_3P2][_3P0][1] = 9.11e-31;
906  CIIIv->omega[_3P2][_3P0][2] = 9.75e-31;
907  CIIIv->omega[_3P2][_3P0][3] = 1.03e-30;
908 
909  CIIIv->omega[_1P1][_3P0][0] = 8.48e-31;
910  CIIIv->omega[_1P1][_3P0][1] = 9.11e-31;
911  CIIIv->omega[_1P1][_3P0][2] = 9.75e-31;
912  CIIIv->omega[_1P1][_3P0][3] = 1.03e-30;
913 
914  CIIIv->omega[_1P1][_3P1][0] = 8.48e-31;
915  CIIIv->omega[_1P1][_3P1][1] = 9.11e-31;
916  CIIIv->omega[_1P1][_3P1][2] = 9.75e-31;
917  CIIIv->omega[_1P1][_3P1][3] = 1.03e-30;
918 
919  CIIIv->omega[_1P1][_3P2][0] = 8.48e-31;
920  CIIIv->omega[_1P1][_3P2][1] = 9.11e-31;
921  CIIIv->omega[_1P1][_3P2][2] = 9.75e-31;
922  CIIIv->omega[_1P1][_3P2][3] = 1.03e-30;
923 
924  CIIIv->omega[_3P0][_1S0][0] = 8.48e-31;
925  CIIIv->omega[_3P0][_1S0][1] = 9.11e-31;
926  CIIIv->omega[_3P0][_1S0][2] = 9.75e-31;
927  CIIIv->omega[_3P0][_1S0][3] = 1.03e-30;
928 */
929 
930  CIIIv->dE[_3P2][_1S0] = 1907. ; CIIIv->A[_3P2][_1S0] = 5.19e-3;
931  CIIIv->dE[_3P1][_1S0] = 1909. ; CIIIv->A[_3P1][_1S0] = 1.14e+2;
932  CIIIv->dE[_1P1][_1S0] = 977.02; CIIIv->A[_1P1][_1S0] = 1.767e+9;
933  CIIIv->dE[_3P1][_3P0] = 4.22e+6; CIIIv->A[_3P1][_3P0] = 1.4e+0;
934  CIIIv->dE[_3P2][_3P1] = 1.774e+6; CIIIv->A[_3P2][_3P1] = 9.4e+0;
935  CIIIv->dE[_3P2][_3P0] = 1.25e+6 ; CIIIv->A[_3P2][_3P0] = 1.5e-13;
936 /* CIIIv->dE[_1P1][_3P0] = 2323.e+13;CIIIv->A[_1P1][_3P0] = 1.e-31;
937  CIIIv->dE[_1P1][_3P1] = 2326.e+13;CIIIv->A[_1P1][_3P1] = 1.e-31;
938  CIIIv->dE[_1P1][_3P2] = 1.99e+16; CIIIv->A[_1P1][_3P2] = 1.e-31;
939  CIIIv->dE[_3P0][_1S0] = 3.53e+16; CIIIv->A[_3P0][_1S0] = 1.e-31;
940 */
941  Symmetrize_Coeff (CIIIv);
942 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void CIV_INIT ( Ion CIVv)

Definition at line 945 of file ion_init.c.

949 {
950  int i, j, n;
951  int S12, P12, P32;
952 
953  CIVv->N = 5.e-4; /* abundance of C with respect to H (Raymond) */
954  CIVv->nlev = 3;
955 
956  S12 = 0;
957  P12 = 1;
958  P32 = 2;
959 
960  CIVv->nTom = 2;
961  CIVv->Tom[0] = 1.0e4;
962  CIVv->Tom[1] = 2.0e4;
963 
964  if (CIVv->dE == NULL){
965  CIVv->dE = ARRAY_2D(CIVv->nlev, CIVv->nlev, double);
966  CIVv->A = ARRAY_2D(CIVv->nlev, CIVv->nlev, double);
967  CIVv->omega = ARRAY_3D(CIVv->nlev, CIVv->nlev, CIVv->nTom, double);
968  }
969 
970 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
971  O GET PROPER ORDER LATER */
972 
973  for (i = 0 ; i < CIVv->nlev ; i++) {
974  for (j = 0 ; j < CIVv->nlev ; j++) {
975  CIVv->dE[i][j] = -1.0;
976  CIVv->A[i][j] = -1.0;
977  for (n = 0; n < CIVv->nTom; n++){
978  CIVv->omega[i][j][n] = -1.0;
979  }
980  }}
981 
982 
983  CIVv->wght[S12] = 2.; /* 2 J + 1 */
984  CIVv->wght[P12] = 2.; /* */
985  CIVv->wght[P32] = 4.; /* */
986 
987  CIVv->omega[P32][S12][0] = 8.88*(4.0)/(2.0 * 3.0);
988  CIVv->omega[P32][S12][1] = 8.95*(4.0)/(2.0 * 3.0);
989 
990  CIVv->omega[P12][S12][0] = CIVv->omega[P32][S12][0]*(2.0)/(2.0 * 3.0);
991  CIVv->omega[P12][S12][1] = CIVv->omega[P32][S12][1]*(2.0)/(2.0 * 3.0);
992 /*
993  CIVv->omega[P32][P12][0] = 8.88e-31;
994  CIVv->omega[P32][P12][1] = 8.88e-31;
995 */
996 
997  CIVv->dE[P32][S12] = 1548.2 ; CIVv->A[P32][S12] = 2.65e+8;
998  CIVv->dE[P12][S12] = 1550.8 ; CIVv->A[P12][S12] = 2.63e+8;
999 /* CIVv->dE[P32][P12] = 1.e+16 ; CIVv->A[P32][P12] = 1.e-31;
1000 */
1001 
1002  Symmetrize_Coeff (CIVv);
1003 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void CV_INIT ( Ion CVv)

Definition at line 1007 of file ion_init.c.

1011 {
1012  int i, j, n;
1013  int S0, P2, P2_1, P3_1;
1014 
1015  CVv->isCV = 1;
1016 
1017  CVv->N = 5.e-4; /* abundance of C with respect to H (Raymond) */
1018  CVv->nlev = 4;
1019 
1020  S0 = 0;
1021  P2 = 1;
1022  P2_1 = 2;
1023  P3_1 = 3;
1024 
1025  CVv->nTom = 3;
1026  CVv->Tom[0] = 1.0e4;
1027  CVv->Tom[1] = 2.0e4;
1028  CVv->Tom[2] = 3.0e4;
1029 
1030  if (CVv->dE == NULL){
1031  CVv->dE = ARRAY_2D(CVv->nlev, CVv->nlev, double);
1032  CVv->A = ARRAY_2D(CVv->nlev, CVv->nlev, double);
1033  CVv->omega = ARRAY_3D(CVv->nlev, CVv->nlev, CVv->nTom, double);
1034  }
1035 
1036 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
1037  O GET PROPER ORDER LATER */
1038 
1039  for (i = 0 ; i < CVv->nlev ; i++) {
1040  for (j = 0 ; j < CVv->nlev ; j++) {
1041  CVv->dE[i][j] = -1.0;
1042  CVv->A[i][j] = -1.0;
1043  for (n = 0; n < CVv->nTom; n++){
1044  CVv->omega[i][j][n] = -1.0;
1045  }
1046  }}
1047 
1048 
1049  CVv->wght[S0] = 1.; /* 2 J + 1 */
1050  CVv->wght[P2] = 5.; /* */
1051  CVv->wght[P2_1] = 3.; /* */
1052  CVv->wght[P3_1] = 3.; /* */
1053 
1054  CVv->omega[P2][S0][0] = 2.06e-2; /* alpha */
1055  CVv->omega[P2][S0][1] = 0.064; /* beta */
1056  CVv->omega[P2][S0][2] = 5.50; /* log T_m */
1057 
1058  CVv->omega[P2_1][S0][0] = 2.96e-2;
1059  CVv->omega[P2_1][S0][1] = 0.282;
1060  CVv->omega[P2_1][S0][2] = 5.50;
1061 
1062  CVv->omega[P3_1][S0][0] = 1.09e-2;
1063  CVv->omega[P3_1][S0][1] = 0.094;
1064  CVv->omega[P3_1][S0][2] = 5.50;
1065 
1066  CVv->omega[P3_1][P2][0] = 0.00000;
1067  CVv->omega[P3_1][P2][1] = 0.094;
1068  CVv->omega[P3_1][P2][2] = 5.50;
1069 
1070  CVv->omega[P3_1][P2_1][0] = 0.00000;
1071  CVv->omega[P3_1][P2_1][1] = 0.094;
1072  CVv->omega[P3_1][P2_1][2] = 5.50;
1073 
1074  CVv->omega[P2_1][P2][0] = 0.00000;
1075  CVv->omega[P2_1][P2][1] = 0.094;
1076  CVv->omega[P2_1][P2][2] = 5.50;
1077 
1078 
1079  CVv->dE[P2][S0] = 34.97; CVv->A[P2][S0] = 2.554e+11;
1080  CVv->dE[P2_1][S0] = 40.27; CVv->A[P2_1][S0] = 8.873e+11;
1081  CVv->dE[P3_1][S0] = 40.73; CVv->A[P3_1][S0] = 2.62e+4;
1082 /*
1083  CVv->dE[P3_1][P2] = 1.0e+30; CVv->A[P3_1][P2] = 0.00000;
1084  CVv->dE[P3_1][P2_1] = 1.0e+30; CVv->A[P3_1][P2_1] = 0.00000;
1085  CVv->dE[P2_1][P2] = 1.0e+30; CVv->A[P2_1][P2] = 0.00000;
1086 */
1087 
1088  Symmetrize_Coeff (CVv);
1089 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
int isCV
Definition: cooling_defs.h:112
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void FeI_INIT ( Ion FeIv)

Definition at line 3434 of file ion_init.c.

3438 {
3439  int i, j, n;
3440  int L1, L2;
3441 
3442  FeIv->N = 3.e-5; /* abundance of Fe with respect to H (Raymond) */
3443  FeIv->nlev = 2;
3444 
3445  L1 = 0;
3446  L2 = 1;
3447 
3448  FeIv->nTom = 4;
3449  FeIv->Tom[0] = 0.5e4;
3450  FeIv->Tom[1] = 1.0e4;
3451  FeIv->Tom[2] = 1.5e4;
3452  FeIv->Tom[3] = 2.0e4;
3453 
3454  if (FeIv->dE == NULL){
3455  FeIv->dE = ARRAY_2D(FeIv->nlev, FeIv->nlev, double);
3456  FeIv->A = ARRAY_2D(FeIv->nlev, FeIv->nlev, double);
3457  FeIv->omega = ARRAY_3D(FeIv->nlev, FeIv->nlev, FeIv->nTom, double);
3458  }
3459 
3460 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
3461  O GET PROPER ORDER LATER */
3462 
3463  for (i = 0 ; i < FeIv->nlev ; i++) {
3464  for (j = 0 ; j < FeIv->nlev ; j++) {
3465  FeIv->dE[i][j] = -1.0;
3466  FeIv->A[i][j] = -1.0;
3467  for (n = 0; n < FeIv->nTom; n++){
3468  FeIv->omega[i][j][n] = -1.0;
3469  }
3470  }}
3471 
3472 
3473  FeIv->wght[L1] = 3.; /* 2 J + 1 */
3474  FeIv->wght[L2] = 3.; /* */
3475 
3476 /*
3477  FeIv->omega[L2][L1][0] = 0.00;
3478  FeIv->omega[L2][L1][1] = 0.00;
3479  FeIv->omega[L2][L1][2] = 0.00;
3480  FeIv->omega[L2][L1][3] = 0.00;
3481 */
3482  FeIv->dE[L2][L1] = 2.598e+5; FeIv->A[L2][L1] = 2.13e-3;
3483 
3484  Symmetrize_Coeff (FeIv);
3485 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void FeII_INIT ( Ion FeIIv)

Definition at line 3488 of file ion_init.c.

3492 {
3493  int i, j, n;
3494  int _6D12, _6D32, _6D52, _6D72, _6D92, _4F92, _4D72, _4D52, _4D12, _4P52, _4F72, _4D32;
3495 
3496 
3497  FeIIv->N = 3.e-5; /* abundance of Fe with respect to H (Raymond) */
3498  FeIIv->nlev = 6;
3499 
3500 
3501  _6D92 = 0;
3502  _6D72 = 1;
3503  _4F92 = 2;
3504  _4F72 = 3;
3505  _4D32 = 4;
3506  _4P52 = 5;
3507 
3508  FeIIv->nTom = 3;
3509  FeIIv->Tom[0] = 2.37e4;
3510  FeIIv->Tom[1] = 3.15e4;
3511  FeIIv->Tom[2] = 3.94e4;
3512 
3513 
3514  if (FeIIv->dE == NULL){
3515  FeIIv->dE = ARRAY_2D(FeIIv->nlev, FeIIv->nlev, double);
3516  FeIIv->A = ARRAY_2D(FeIIv->nlev, FeIIv->nlev, double);
3517  FeIIv->omega = ARRAY_3D(FeIIv->nlev, FeIIv->nlev, FeIIv->nTom, double);
3518  }
3519 
3520 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
3521  O GET PROPER ORDER LATER */
3522 
3523  for (i = 0 ; i < FeIIv->nlev ; i++) {
3524  for (j = 0 ; j < FeIIv->nlev ; j++) {
3525  FeIIv->dE[i][j] = -1.0;
3526  FeIIv->A[i][j] = -1.0;
3527  for (n = 0; n < FeIIv->nTom; n++)
3528  FeIIv->omega[i][j][n] = -1.0;
3529  }}
3530 
3531 
3532  FeIIv->wght[_6D92] = 10.; /* 2 J + 1 */
3533  FeIIv->wght[_6D72] = 8.; /* */
3534  FeIIv->wght[_4F92] = 10.; /* */
3535  FeIIv->wght[_4F72] = 8.; /* */
3536  FeIIv->wght[_4D32] = 4.; /* */
3537  FeIIv->wght[_4P52] = 6.; /* */
3538 
3539 
3540  FeIIv->omega[_6D72][_6D92][0] = 3.043;
3541  FeIIv->omega[_6D72][_6D92][1] = 3.046;
3542  FeIIv->omega[_6D72][_6D92][2] = 3.049;
3543 
3544  FeIIv->omega[_4F92][_6D92][0] = 1.811;
3545  FeIIv->omega[_4F92][_6D92][1] = 1.742;
3546  FeIIv->omega[_4F92][_6D92][2] = 1.671;
3547 
3548  FeIIv->omega[_4P52][_4F92][0] = 1.967;
3549  FeIIv->omega[_4P52][_4F92][1] = 2.296;
3550  FeIIv->omega[_4P52][_4F92][2] = 3.612;
3551 
3552  FeIIv->omega[_4D32][_4F72][0] = 0.457;
3553  FeIIv->omega[_4D32][_4F72][1] = 0.447;
3554  FeIIv->omega[_4D32][_4F72][2] = 0.429;
3555 
3556  FeIIv->omega[_4F72][_4F92][0] = 3.521;
3557  FeIIv->omega[_4F72][_4F92][1] = 3.405;
3558  FeIIv->omega[_4F72][_4F92][2] = 3.330;
3559 
3560  FeIIv->omega[_4F72][_6D72][0] = 0.645;
3561  FeIIv->omega[_4F72][_6D72][1] = 0.620;
3562  FeIIv->omega[_4F72][_6D72][2] = 0.595;
3563 
3564  FeIIv->omega[_4F92][_6D72][0] = 0.742;
3565  FeIIv->omega[_4F92][_6D72][1] = 0.714;
3566  FeIIv->omega[_4F92][_6D72][2] = 0.685;
3567 
3568  FeIIv->omega[_4F72][_6D92][0] = 0.663;
3569  FeIIv->omega[_4F72][_6D92][1] = 0.638;
3570  FeIIv->omega[_4F72][_6D92][2] = 0.612;
3571 
3572  FeIIv->omega[_4D32][_6D92][0] = 0.132;
3573  FeIIv->omega[_4D32][_6D92][1] = 0.132;
3574  FeIIv->omega[_4D32][_6D92][2] = 0.131;
3575 
3576  FeIIv->omega[_4P52][_6D72][0] = 0.622;
3577  FeIIv->omega[_4P52][_6D72][1] = 0.594;
3578  FeIIv->omega[_4P52][_6D72][2] = 0.567;
3579 
3580  FeIIv->omega[_4P52][_4F72][0] = 1.224;
3581  FeIIv->omega[_4P52][_4F72][1] = 1.554;
3582  FeIIv->omega[_4P52][_4F72][2] = 2.211;
3583 
3584  FeIIv->omega[_4P52][_4D32][0] = 0.241;
3585  FeIIv->omega[_4P52][_4D32][1] = 0.220;
3586  FeIIv->omega[_4P52][_4D32][2] = 0.216;
3587 
3588 /* add now some fake data for not defined transitions - always keep A=0 */
3589 /* for (i=1; i<FeIIv->nlev; i++)
3590  for (j=0; j<i; j++)
3591  if ( (FeIIv->omega[i][j][0] < 0.0) && (FeIIv->omega[j][i][0] < 0.0) ) {
3592  for (n=0; n<FeIIv->nTom; n++)
3593  FeIIv->omega[i][j][n]=1.0e-30;
3594  FeIIv->A[i][j] = 0.0;
3595  FeIIv->dE[i][j] = 1.0e+30;
3596  }
3597 */
3598 
3599  FeIIv->dE[_6D72][_6D92] = 2218.26; FeIIv->A[_6D72][_6D92] = 1.9e+8;
3600  FeIIv->dE[_4F92][_6D92] = 2260.9; FeIIv->A[_4F92][_6D92] = 4.9e+6;
3601  FeIIv->dE[_4P52][_4F92] = 8617.0; FeIIv->A[_4P52][_4F92] = 1.9e-2;
3602  FeIIv->dE[_4D32][_4F72] = 1.5994e+4; FeIIv->A[_4D32][_4F72] = 1.40e-3;
3603  FeIIv->dE[_4F72][_6D92] = 4382.7; FeIIv->A[_4F72][_6D92] = 5.5e-2;
3604  FeIIv->dE[_4D32][_6D92] = dEtoA(1.076239); FeIIv->A[_4D32][_6D92] = 0.0;
3605  FeIIv->dE[_4P52][_6D92] = dEtoA(1.6706139); FeIIv->A[_4P52][_6D92] = 0.0;
3606  FeIIv->dE[_4F92][_6D72] = 2279.9; FeIIv->A[_4F92][_6D72] = 3.9e+6;
3607  FeIIv->dE[_4F72][_6D72] = 2253.1; FeIIv->A[_4F72][_6D72] = 5.1e+6;
3608  FeIIv->dE[_4D32][_6D72] = dEtoA(1.029); FeIIv->A[_4D32][_6D72] = 0.0;
3609  FeIIv->dE[_4P52][_6D72] = dEtoA(0.99); FeIIv->A[_4P52][_6D72] = 1.5e-3;
3610  FeIIv->dE[_4F72][_4F92] = 2331.3; FeIIv->A[_4F72][_4F92] = 2.9e+7;
3611  FeIIv->dE[_4D32][_4F92] = dEtoA(0.84); FeIIv->A[_4D32][_4F92] = 0.0;
3612  FeIIv->dE[_4P52][_4F72] = dEtoA(0.69); FeIIv->A[_4P52][_4F72] = 4.94e-3;
3613  FeIIv->dE[_4P52][_4D32] = dEtoA(0.592); FeIIv->A[_4P52][_4D32] = 7.71e-5;
3614 
3615 /*
3616  FeIIv->dE[_6D52][_6D92] = dEtoA(0.0827821); FeIIv->A[_6D52][_6D92] = 0.0;
3617  FeIIv->dE[_6D32][_6D92] = dEtoA(0.106950); FeIIv->A[_6D32][_6D92] = 0.0;
3618  FeIIv->dE[_6D12][_6D92] = dEtoA(0.121139); FeIIv->A[_6D12][_6D92] = 0.0;
3619  FeIIv->dE[_4F72][_6D92] = dEtoA(0.3012936); FeIIv->A[_4F72][_6D92] = 0.0;
3620  FeIIv->dE[_4D52][_6D92] = dEtoA(1.040468); FeIIv->A[_4D52][_6D92] = 0.0;
3621  FeIIv->dE[_4D32][_6D92] = dEtoA(1.076239); FeIIv->A[_4D32][_6D92] = 0.0;
3622  FeIIv->dE[_4D12][_6D92] = dEtoA(1.096859); FeIIv->A[_4D12][_6D92] = 0.0;
3623  FeIIv->dE[_4P52][_6D92] = dEtoA(1.6706139); FeIIv->A[_4P52][_6D92] = 0.0;
3624  FeIIv->dE[][_6D72] = ; FeIIv->A[][] = ;
3625  FeIIv->dE[][] = ; FeIIv->A[][] = ;
3626  FeIIv->dE[][] = ; FeIIv->A[][] = ;
3627  FeIIv->dE[][] = ; FeIIv->A[][] = ;
3628  FeIIv->dE[][] = ; FeIIv->A[][] = ;
3629 
3630  _6D92 = 0;
3631  _6D72 = 1;
3632  _4F92 = 2;
3633  _4F72 = 3;
3634  _4D32 = 4;
3635  _4P52 = 5;
3636 
3637 */
3638  Symmetrize_Coeff (FeIIv);
3639 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
#define dEtoA(x)
Definition: cooling_defs.h:64
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void FeIIb_INIT ( Ion FeIIv)

Definition at line 3642 of file ion_init.c.

3646 {
3647  int i, j, n;
3648  int _6D12, _6D32, _6D52, _6D72, _6D92, _4F92, _4D72, _4D52, _4D12, _4P52, _4F72, _4D32;
3649  double lev_en[12] = {0.0, 0.047708, 0.0837821, 0.106950, 0.121139, 0.2321687, 0.3012936, 0.9863313, 1.040468, 1.076239, 1.096859, 1.6706139};
3650 
3651 
3652  FeIIv->N = 3.e-5; /* abundance of Fe with respect to H (Raymond) */
3653  FeIIv->nlev = 12;
3654 
3655 
3656  _6D92 = 0;
3657  _6D72 = 1;
3658  _6D52 = 2;
3659  _6D32 = 3;
3660  _6D12 = 4;
3661  _4F92 = 5;
3662  _4F72 = 6;
3663  _4D72 = 7;
3664  _4D52 = 8;
3665  _4D32 = 9;
3666  _4D12 = 10;
3667  _4P52 = 11;
3668 
3669  FeIIv->nTom = 4;
3670  FeIIv->Tom[0] = 0.5e4;
3671  FeIIv->Tom[1] = 1.0e4;
3672  FeIIv->Tom[2] = 1.5e4;
3673  FeIIv->Tom[3] = 2.0e4;
3674 
3675  if (FeIIv->dE == NULL){
3676  FeIIv->dE = ARRAY_2D(FeIIv->nlev, FeIIv->nlev, double);
3677  FeIIv->A = ARRAY_2D(FeIIv->nlev, FeIIv->nlev, double);
3678  FeIIv->omega = ARRAY_3D(FeIIv->nlev, FeIIv->nlev, FeIIv->nTom, double);
3679  }
3680 
3681 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
3682  O GET PROPER ORDER LATER */
3683 
3684  for (i = 0 ; i < FeIIv->nlev ; i++) {
3685  for (j = 0 ; j < FeIIv->nlev ; j++) {
3686  if (j <= i) {
3687  FeIIv->dE[i][j] = -1.0;
3688  FeIIv->A[i][j] = -1.0;
3689  for (n = 0; n < FeIIv->nTom; n++)
3690  FeIIv->omega[i][j][n] = -1.0;
3691  } else {
3692  FeIIv->dE[i][j] = dEtoA(lev_en[j] - lev_en[i]);
3693  FeIIv->A[i][j] = 0.0;
3694  for (n = 0; n < FeIIv->nTom; n++)
3695  FeIIv->omega[i][j][n] = 0.0;
3696  }
3697  }}
3698 
3699 
3700  FeIIv->wght[_6D92] = 10.; /* 2 J + 1 */
3701  FeIIv->wght[_6D72] = 8.; /* */
3702  FeIIv->wght[_6D52] = 6.; /* */
3703  FeIIv->wght[_6D32] = 4.; /* */
3704  FeIIv->wght[_6D12] = 4.; /* */
3705  FeIIv->wght[_4F92] = 10.; /* */
3706  FeIIv->wght[_4F72] = 8.; /* */
3707  FeIIv->wght[_4D72] = 8.; /* */
3708  FeIIv->wght[_4D52] = 6.; /* */
3709  FeIIv->wght[_4D32] = 4.; /* */
3710  FeIIv->wght[_4D12] = 2.;
3711  FeIIv->wght[_4P52] = 6.; /* */
3712 
3713 
3714  FeIIv->omega[_6D72][_6D92][0] = 7.41e-3;
3715  FeIIv->omega[_6D72][_6D92][1] = 5.52;
3716  FeIIv->omega[_6D72][_6D92][2] = 5.46;
3717  FeIIv->omega[_6D72][_6D92][3] = 5.48;
3718 
3719  FeIIv->omega[_4F92][_6D92][0] = 4.77e-2;
3720  FeIIv->omega[_4F92][_6D92][1] = 3.60;
3721  FeIIv->omega[_4F92][_6D92][2] = 3.19;
3722  FeIIv->omega[_4F92][_6D92][3] = 2.89;
3723 
3724  FeIIv->omega[_4D72][_6D92][0] = 3.10;
3725  FeIIv->omega[_4D72][_6D92][1] = 1.10e+1;
3726  FeIIv->omega[_4D72][_6D92][2] = 9.65;
3727  FeIIv->omega[_4D72][_6D92][3] = 8.77;
3728 
3729  FeIIv->omega[_4D52][_6D52][0] = 3.46;
3730  FeIIv->omega[_4D52][_6D52][1] = 2.85;
3731  FeIIv->omega[_4D52][_6D52][2] = 2.56;
3732  FeIIv->omega[_4D52][_6D52][3] = 2.36;
3733 
3734  FeIIv->omega[_4D52][_6D32][0] = 7.11e-1;
3735  FeIIv->omega[_4D52][_6D32][0] = 6.26e-1;
3736  FeIIv->omega[_4D52][_6D32][0] = 6.05e-1;
3737  FeIIv->omega[_4D52][_6D32][0] = 5.87e-1;
3738 
3739  FeIIv->omega[_4D12][_6D12][0] = 2.06;
3740  FeIIv->omega[_4D12][_6D12][1] = 1.65;
3741  FeIIv->omega[_4D12][_6D12][2] = 1.44;
3742  FeIIv->omega[_4D12][_6D12][3] = 1.30;
3743 
3744  FeIIv->omega[_4D72][_4F92][0] = 2.28;
3745  FeIIv->omega[_4D72][_4F92][1] = 2.11;
3746  FeIIv->omega[_4D72][_4F92][2] = 2.14;
3747  FeIIv->omega[_4D72][_4F92][3] = 2.18;
3748 
3749  FeIIv->omega[_4D52][_4F92][0] = 7.77e-1;
3750  FeIIv->omega[_4D52][_4F92][1] = 7.25e-1;
3751  FeIIv->omega[_4D52][_4F92][2] = 7.54e-1;
3752  FeIIv->omega[_4D52][_4F92][3] = 7.83e-1;
3753 
3754  FeIIv->omega[_4P52][_4F92][0] = 1.22;
3755  FeIIv->omega[_4P52][_4F92][1] = 1.23;
3756  FeIIv->omega[_4P52][_4F92][2] = 1.27;
3757  FeIIv->omega[_4P52][_4F92][3] = 1.29;
3758 
3759  FeIIv->omega[_4D32][_4F72][0] = 0.457;
3760  FeIIv->omega[_4D32][_4F72][1] = 0.447;
3761  FeIIv->omega[_4D32][_4F72][2] = 0.429;
3762  FeIIv->omega[_4D32][_4F72][3] = 0.429;
3763 
3764 /* add now some fake data for not defined transitions - always keep A=0 */
3765  for (i=1; i<FeIIv->nlev; i++)
3766  for (j=0; j<i; j++)
3767  if ( (FeIIv->omega[i][j][0] < 0.0) && (FeIIv->omega[j][i][0] < 0.0) ) {
3768  for (n=0; n<FeIIv->nTom; n++)
3769  FeIIv->omega[i][j][n]=1.0e-30;
3770  FeIIv->A[i][j] = 0.0;
3771  FeIIv->dE[i][j] = 1.0e+30;
3772  }
3773 
3774 
3775  FeIIv->dE[_6D72][_6D92] = 2.598e+5; FeIIv->A[_6D72][_6D92] = 2.13e-3;
3776  FeIIv->dE[_4F92][_6D92] = 5.339e+4; FeIIv->A[_4F92][_6D92] = 4.17e-5;
3777  FeIIv->dE[_4D72][_6D92] = 1.257e+4; FeIIv->A[_4D72][_6D92] = 4.83e-3;
3778  FeIIv->dE[_4D52][_6D52] = 1.294e+4; FeIIv->A[_4D52][_6D52] = 1.94e-3;
3779  FeIIv->dE[_4D52][_6D32] = 1.328e+4; FeIIv->A[_4D52][_6D32] = 1.21e-3;
3780  FeIIv->dE[_4D12][_6D12] = 1.270e+4; FeIIv->A[_4D12][_6D12] = 2.91e-3;
3781  FeIIv->dE[_4D72][_4F92] = 1.644e+4; FeIIv->A[_4D72][_4F92] = 4.65e-3;
3782  FeIIv->dE[_4D52][_4F92] = 1.533e+4; FeIIv->A[_4D52][_4F92] = 2.44e-3;
3783  FeIIv->dE[_4P52][_4F92] = 8617.0; FeIIv->A[_4P52][_4F92] = 2.73e-2;
3784  FeIIv->dE[_4D32][_4F72] = 1.5994e+4; FeIIv->A[_4D32][_4F72] = 1.40e-3;
3785 /*
3786  FeIIv->dE[_6D52][_6D92] = dEtoA(0.0827821); FeIIv->A[_6D52][_6D92] = 0.0;
3787  FeIIv->dE[_6D32][_6D92] = dEtoA(0.106950); FeIIv->A[_6D32][_6D92] = 0.0;
3788  FeIIv->dE[_6D12][_6D92] = dEtoA(0.121139); FeIIv->A[_6D12][_6D92] = 0.0;
3789  FeIIv->dE[_4F72][_6D92] = dEtoA(0.3012936); FeIIv->A[_4F72][_6D92] = 0.0;
3790  FeIIv->dE[_4D52][_6D92] = dEtoA(1.040468); FeIIv->A[_4D52][_6D92] = 0.0;
3791  FeIIv->dE[_4D32][_6D92] = dEtoA(1.076239); FeIIv->A[_4D32][_6D92] = 0.0;
3792  FeIIv->dE[_4D12][_6D92] = dEtoA(1.096859); FeIIv->A[_4D12][_6D92] = 0.0;
3793  FeIIv->dE[_4P52][_6D92] = dEtoA(1.6706139); FeIIv->A[_4P52][_6D92] = 0.0;
3794  FeIIv->dE[][_6D72] = ; FeIIv->A[][] = ;
3795  FeIIv->dE[][] = ; FeIIv->A[][] = ;
3796  FeIIv->dE[][] = ; FeIIv->A[][] = ;
3797  FeIIv->dE[][] = ; FeIIv->A[][] = ;
3798  FeIIv->dE[][] = ; FeIIv->A[][] = ;
3799 
3800  _6D92 = 0;
3801  _6D72 = 1;
3802  _6D52 = 2;
3803  _6D32 = 3;
3804  _6D12 = 4;
3805  _4F92 = 5;
3806  _4F72 = 6;
3807  _4D72 = 7;
3808  _4D52 = 8;
3809  _4D32 = 9;
3810  _4D12 = 10;
3811  _4P52 = 11;
3812 */
3813  Symmetrize_Coeff (FeIIv);
3814 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
#define dEtoA(x)
Definition: cooling_defs.h:64
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

void FeIII_INIT ( Ion FeIIIv)

Definition at line 3817 of file ion_init.c.

3821 {
3822  int i, j, n;
3823  int L1, L2;
3824 
3825  FeIIIv->N = 3.e-5; /* abundance of Fe with respect to H (Raymond) */
3826  FeIIIv->nlev = 2;
3827 
3828  L1 = 0;
3829  L2 = 1;
3830 
3831  FeIIIv->nTom = 4;
3832  FeIIIv->Tom[0] = 0.5e4;
3833  FeIIIv->Tom[1] = 1.0e4;
3834  FeIIIv->Tom[2] = 1.5e4;
3835  FeIIIv->Tom[3] = 2.0e4;
3836 
3837  if (FeIIIv->dE == NULL){
3838  FeIIIv->dE = ARRAY_2D(FeIIIv->nlev, FeIIIv->nlev, double);
3839  FeIIIv->A = ARRAY_2D(FeIIIv->nlev, FeIIIv->nlev, double);
3840  FeIIIv->omega = ARRAY_3D(FeIIIv->nlev, FeIIIv->nlev, FeIIIv->nTom, double);
3841  }
3842 
3843 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
3844  O GET PROPER ORDER LATER */
3845 
3846  for (i = 0 ; i < FeIIIv->nlev ; i++) {
3847  for (j = 0 ; j < FeIIIv->nlev ; j++) {
3848  FeIIIv->dE[i][j] = -1.0;
3849  FeIIIv->A[i][j] = -1.0;
3850  for (n = 0; n < FeIIIv->nTom; n++){
3851  FeIIIv->omega[i][j][n] = -1.0;
3852  }
3853  }}
3854 
3855 
3856  FeIIIv->wght[L1] = 3.; /* 2 J + 1 */
3857  FeIIIv->wght[L2] = 3.; /* */
3858 
3859 
3860  FeIIIv->omega[L2][L1][0] = 2.87;
3861  FeIIIv->omega[L2][L1][1] = 2.92;
3862  FeIIIv->omega[L2][L1][2] = 2.95;
3863  FeIIIv->omega[L2][L1][3] = 2.95;
3864 
3865  FeIIIv->dE[L2][L1] = 3239.74; FeIIIv->A[L2][L1] = 2.3e-1;
3866 
3867  Symmetrize_Coeff (FeIIIv);
3868 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void HeI_INIT ( Ion HeIv)

Definition at line 286 of file ion_init.c.

290 {
291  int i, j, n;
292  int S11, S23, S21, P23, P21;
293 
294  HeIv->N = 0.1; /* abundance of He with respect to H (Raymond) */
295  HeIv->nlev = 5;
296 
297  S11 = 0;
298  S23 = 1;
299  S21 = 2;
300  P23 = 3;
301  P21 = 4;
302 
303  HeIv->nTom = 4;
304  HeIv->Tom[0] = 0.5e4;
305  HeIv->Tom[1] = 1.0e4;
306  HeIv->Tom[2] = 1.5e4;
307  HeIv->Tom[3] = 2.0e4;
308 
309  if (HeIv->dE == NULL){
310  HeIv->dE = ARRAY_2D(HeIv->nlev, HeIv->nlev, double);
311  HeIv->A = ARRAY_2D(HeIv->nlev, HeIv->nlev, double);
312  HeIv->omega = ARRAY_3D(HeIv->nlev, HeIv->nlev, HeIv->nTom, double);
313  }
314 
315 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
316  O GET PROPER ORDER LATER */
317 
318  for (i = 0 ; i < HeIv->nlev ; i++) {
319  for (j = 0 ; j < HeIv->nlev ; j++) {
320  HeIv->dE[i][j] = -1.0;
321  HeIv->A[i][j] = -1.0;
322  for (n = 0; n < HeIv->nTom; n++){
323  HeIv->omega[i][j][n] = -1.0;
324  }
325  }}
326 
327 
328  HeIv->wght[S11] = 1.; /* 2 J + 1 */
329  HeIv->wght[S23] = 3.; /* */
330  HeIv->wght[S21] = 1.; /* */
331  HeIv->wght[P21] = 3.; /* */
332  HeIv->wght[P23] = 1.; /* */
333 
334 
335  HeIv->omega[S11][S23][0] = 6.50e-2;
336  HeIv->omega[S11][S23][1] = 6.87e-2;
337  HeIv->omega[S11][S23][2] = 6.81e-2;
338  HeIv->omega[S11][S23][3] = 6.72e-2;
339 
340  HeIv->omega[S11][S21][0] = 3.11e-2;
341  HeIv->omega[S11][S21][1] = 3.61e-2;
342  HeIv->omega[S11][S21][2] = 3.84e-2;
343  HeIv->omega[S11][S21][3] = 4.01e-2;
344 
345  HeIv->omega[S11][P23][0] = 1.60e-2;
346  HeIv->omega[S11][P23][1] = 2.27e-2;
347  HeIv->omega[S11][P23][2] = 2.71e-2;
348  HeIv->omega[S11][P23][3] = 3.07e-2;
349 
350  HeIv->omega[S11][P21][0] = 9.92e-3;
351  HeIv->omega[S11][P21][1] = 1.54e-2;
352  HeIv->omega[S11][P21][2] = 1.98e-2;
353  HeIv->omega[S11][P21][3] = 2.40e-2;
354 
355  HeIv->omega[S23][S21][0] = 2.24;
356  HeIv->omega[S23][S21][1] = 2.40;
357  HeIv->omega[S23][S21][2] = 2.32;
358  HeIv->omega[S23][S21][3] = 2.20;
359 
360  HeIv->omega[S23][P23][0] = 1.50e+1;
361  HeIv->omega[S23][P23][1] = 2.69e+1;
362  HeIv->omega[S23][P23][2] = 3.74e+1;
363  HeIv->omega[S23][P23][3] = 4.66e+1;
364 
365  HeIv->omega[S23][P21][0] = 7.70e-1;
366  HeIv->omega[S23][P21][1] = 9.75e-1;
367  HeIv->omega[S23][P21][2] = 1.05e+0;
368  HeIv->omega[S23][P21][3] = 1.08e+0;
369 
370  HeIv->omega[S21][P23][0] = 1.50;
371  HeIv->omega[S21][P23][1] = 1.70;
372  HeIv->omega[S21][P23][2] = 1.74;
373  HeIv->omega[S21][P23][3] = 1.72;
374 
375  HeIv->omega[S21][P21][0] = 9.73e+0;
376  HeIv->omega[S21][P21][1] = 1.86e+1;
377  HeIv->omega[S21][P21][2] = 2.58e+1;
378  HeIv->omega[S21][P21][3] = 3.32e+1;
379 /*
380  HeIv->omega[P23][P21][0] = 1.45e-30;
381  HeIv->omega[P23][P21][1] = 1.45e-30;
382  HeIv->omega[P23][P21][2] = 1.45e-30;
383  HeIv->omega[P23][P21][3] = 1.45e-30;
384 */
385  HeIv->dE[S11][S23] = 625.48; HeIv->A[S11][S23] = 1.13e-4; /* dE [ HIGHER ][LOWER ] */
386  HeIv->dE[S11][S21] = 601.30; HeIv->A[S11][S21] = 5.13e+1;
387  HeIv->dE[S11][P23] = 591.29; HeIv->A[S11][P23] = 1.76e+2;
388  HeIv->dE[S11][P21] = 584.21; HeIv->A[S11][P21] = 1.80e+9;
389  HeIv->dE[S23][S21] = 15553.7; HeIv->A[S23][S21] = 1.51e-7;
390  HeIv->dE[S23][P23] = 10817.0; HeIv->A[S23][P23] = 1.02e+7;
391  HeIv->dE[S23][P21] = 8854.5; HeIv->A[S23][P21] = 1.29;
392  HeIv->dE[S21][P23] = 35519.5; HeIv->A[S21][P23] = 2.70e-2;
393  HeIv->dE[S21][P21] = 20557.7; HeIv->A[S21][P21] = 1.98e+6;
394 /* HeIv->dE[P23][P21] = 1e+11; HeIv->A[P23][P21] = 0.0000;
395  */
396  Symmetrize_Coeff (HeIv);
397 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void HeII_INIT ( Ion HeIIv)

Definition at line 400 of file ion_init.c.

404 {
405  int i, j, n;
406  int S1, S2, P;
407 
408  HeIIv->N = 0.1; /* abundance with respect to H (Raymond) */
409  HeIIv->nlev = 3;
410 
411  S1 = 0;
412  S2 = 2;
413  P = 1;
414 
415  HeIIv->nTom = 4;
416  HeIIv->Tom[0] = 0.5e4;
417  HeIIv->Tom[1] = 1.0e4;
418  HeIIv->Tom[2] = 1.5e4;
419  HeIIv->Tom[3] = 2.0e4;
420 
421  if (HeIIv->dE == NULL){
422  HeIIv->dE = ARRAY_2D(HeIIv->nlev, HeIIv->nlev, double);
423  HeIIv->A = ARRAY_2D(HeIIv->nlev, HeIIv->nlev, double);
424  HeIIv->omega = ARRAY_3D(HeIIv->nlev, HeIIv->nlev, HeIIv->nTom, double);
425  }
426 
427 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
428  O GET PROPER ORDER LATER */
429 
430  for (i = 0 ; i < HeIIv->nlev ; i++) {
431  for (j = 0 ; j < HeIIv->nlev ; j++) {
432  HeIIv->dE[i][j] = -1.0;
433  HeIIv->A[i][j] = -1.0;
434  for (n = 0; n < HeIIv->nTom; n++){
435  HeIIv->omega[i][j][n] = -1.0;
436  }
437  }}
438 
439 
440  HeIIv->wght[S1] = 2.; /* 2 J + 1 */
441  HeIIv->wght[S2] = 2.; /* */
442  HeIIv->wght[P] = 2.; /* */
443 
444 
445  HeIIv->omega[S1][S2][0] = 1.60e-1;
446  HeIIv->omega[S1][S2][1] = 1.59e-1;
447  HeIIv->omega[S1][S2][2] = 1.57e-1;
448  HeIIv->omega[S1][S2][3] = 1.56e-1;
449 
450  HeIIv->omega[S1][P][0] = 3.40e-1;
451  HeIIv->omega[S1][P][1] = 3.53e-1;
452  HeIIv->omega[S1][P][2] = 3.63e-1;
453  HeIIv->omega[S1][P][3] = 3.73e-1;
454 /*
455  HeIIv->omega[S2][P][0] = 3.40e-30;
456  HeIIv->omega[S2][P][1] = 3.40e-30;
457  HeIIv->omega[S2][P][2] = 3.40e-30;
458  HeIIv->omega[S2][P][3] = 3.40e-30;
459 */
460  HeIIv->dE[S1][S2] = 303.92; HeIIv->A[S1][S2] = 5.66e+2; /* dE [ HIGHER ][LOWER ] */
461  HeIIv->dE[S1][P] = 303.92; HeIIv->A[S1][P] = 1.0e+10;
462 /* HeIIv->dE[S2][P] = 2.0e+30; HeIIv->A[S2][P] = 0.00000; Fake data */
463 
464  Symmetrize_Coeff (HeIIv);
465 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void HI_INIT ( Ion HIv)

Definition at line 83 of file ion_init.c.

87 {
88  int i, j, n;
89  int S1, S2, P2, S3, P3; /* new data from Giovanardi et al, 1987 A&AS */
90 /* int S1, S2, P; */ /* Commented is the old data (3 levels Pradhan) */
91 
92  HIv->N = 1.0 ; /* abundance with respect to H (Raymond) */
93  HIv->nlev = 5;
94 
95  HIv->isH = 1;
96 
97 /* HIv->nlev = 3;
98 
99  S1 = 0;
100  P = 1;
101  S2 = 2;
102 
103  HIv->nTom = 4;
104  HIv->Tom[0] = 0.5e4;
105  HIv->Tom[1] = 1.0e4;
106  HIv->Tom[2] = 1.5e4;
107  HIv->Tom[3] = 2.0e4; */
108 
109 
110  S1 = 0;
111  S2 = 1;
112  P2 = 2;
113  P3 = 3;
114  S3 = 4;
115 
116  HIv->nTom = 8;
117  HIv->Tom[0] = 0.5e4;
118  HIv->Tom[1] = 1.0e4;
119  HIv->Tom[2] = 1.5e4;
120  HIv->Tom[3] = 2.0e4;
121  HIv->Tom[4] = 2.5e4;
122  HIv->Tom[5] = 3.0e4;
123  HIv->Tom[6] = 3.5e4;
124  HIv->Tom[7] = 4.0e4;
125 
126 
127  if (HIv->dE == NULL){
128  HIv->dE = ARRAY_2D(HIv->nlev, HIv->nlev, double);
129  HIv->A = ARRAY_2D(HIv->nlev, HIv->nlev, double);
130  HIv->omega = ARRAY_3D(HIv->nlev, HIv->nlev, HIv->nTom, double);
131  }
132 
133 
134 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
135  O GET PROPER ORDER LATER */
136 
137  for (i = 0 ; i < HIv->nlev ; i++) {
138  for (j = 0 ; j < HIv->nlev ; j++) {
139  HIv->dE[i][j] = -1.0;
140  HIv->A[i][j] = -1.0;
141  for (n = 0; n < HIv->nTom; n++){
142  HIv->omega[i][j][n] = -1.0;
143  }
144  }}
145 
146 
147  HIv->wght[S1] = 2.; /* 2 J + 1 */
148  HIv->wght[S2] = 2.; /* */
149  HIv->wght[P2] = 4.; /* */
150  HIv->wght[P3] = 2.; /* */
151  HIv->wght[S3] = 2.; /* */
152 
153 
154 /* HIv->omega[S1][S2][0] = 2.55e-1;
155  HIv->omega[S1][S2][1] = 2.74e-1;
156  HIv->omega[S1][S2][2] = 2.81e-1;
157  HIv->omega[S1][S2][3] = 2.84e-1;
158 
159  HIv->omega[S1][P][0] = 4.16e-1;
160  HIv->omega[S1][P][1] = 4.72e-1;
161  HIv->omega[S1][P][2] = 5.28e-1;
162  HIv->omega[S1][P][3] = 5.85e-1;
163 
164  HIv->omega[S2][P][0] = 4.16e-30;
165  HIv->omega[S2][P][1] = 4.16e-30;
166  HIv->omega[S2][P][2] = 4.16e-30;
167  HIv->omega[S2][P][3] = 4.16e-30; */
168 
169  HIv->omega[S2][S1][0] = 2.297e-1;
170  HIv->omega[S2][S1][1] = 5.318e-6;
171  HIv->omega[S2][S1][2] = -1.180e-10;
172  HIv->omega[S2][S1][3] = 8.636e-16;
173  HIv->omega[S2][S1][4] = 2.694e-1;
174  HIv->omega[S2][S1][5] = 7.883e-7;
175  HIv->omega[S2][S1][6] = -1.394e-12;
176  HIv->omega[S2][S1][7] = 1.451e-18;
177 
178  HIv->omega[P2][S1][0] = 3.435e-1;
179  HIv->omega[P2][S1][1] = 1.297e-5;
180  HIv->omega[P2][S1][2] = 2.178e-12;
181  HIv->omega[P2][S1][3] = 7.928e-17;
182  HIv->omega[P2][S1][4] = 3.162e-1;
183  HIv->omega[P2][S1][5] = 1.472e-5;
184  HIv->omega[P2][S1][6] = -8.275e-12;
185  HIv->omega[P2][S1][7] = -8.794e-19;
186 /*
187  HIv->omega[P2][S2][0] = 0.000000;
188  HIv->omega[P2][S2][1] = 0.000000;
189  HIv->omega[P2][S2][2] = 0.000000;
190  HIv->omega[P2][S2][3] = 0.000000;
191  HIv->omega[P2][S2][4] = 0.000000;
192  HIv->omega[P2][S2][5] = 0.000000;
193  HIv->omega[P2][S2][6] = 0.000000;
194  HIv->omega[P2][S2][7] = 0.000000;
195 */
196 /* HIv->omega[S3][S1][0] = 6.250e-2;
197  HIv->omega[S3][S1][1] = -1.299e-6;
198  HIv->omega[S3][S1][2] = 2.666e-11;
199  HIv->omega[S3][S1][3] = -1.596e-16;
200  HIv->omega[S3][S1][4] = 3.337e-2;
201  HIv->omega[S3][S1][5] = 2.223e-7;
202  HIv->omega[S3][S1][6] = -2.794e-13;
203  HIv->omega[S3][S1][7] = 1.516e-19; */
204 
205  HIv->omega[P3][S1][0] = 9.941e-2;
206  HIv->omega[P3][S1][1] = -3.714e-7;
207  HIv->omega[P3][S1][2] = 6.134e-11;
208  HIv->omega[P3][S1][3] = -3.973e-16;
209  HIv->omega[P3][S1][4] = 6.985e-2;
210  HIv->omega[P3][S1][5] = 2.538e-6;
211  HIv->omega[P3][S1][6] = -8.729e-13;
212  HIv->omega[P3][S1][7] = -1.291e-18;
213 /*
214  HIv->omega[S3][S2][0] = 0.00000;
215  HIv->omega[S3][S2][1] = 0.00000;
216  HIv->omega[S3][S2][2] = 0.00000;
217  HIv->omega[S3][S2][3] = 0.00000;
218  HIv->omega[S3][S2][4] = 0.00000;
219  HIv->omega[S3][S2][5] = 0.00000;
220  HIv->omega[S3][S2][6] = 0.00000;
221  HIv->omega[S3][S2][7] = 0.00000;
222 */
223 /* HIv->omega[S3][S2][0] = 1.326;
224  HIv->omega[S3][S2][1] = -1.727e-5;
225  HIv->omega[S3][S2][2] = 8.914e-10;
226  HIv->omega[S3][S2][3] = -6.101e-15;
227  HIv->omega[S3][S2][4] = 6.311e-1;
228  HIv->omega[S3][S2][5] = 2.881e-5;
229  HIv->omega[S3][S2][6] = -5.372e-11;
230  HIv->omega[S3][S2][7] = 4.095e-17; */
231 
232  HIv->omega[P3][S2][0] = 2.040;
233  HIv->omega[P3][S2][1] = -1.580e-5;
234  HIv->omega[P3][S2][2] = 1.908e-9;
235  HIv->omega[P3][S2][3] = -1.027e-14;
236  HIv->omega[P3][S2][4] = -1.334;
237  HIv->omega[P3][S2][5] = 1.229e-4;
238  HIv->omega[P3][S2][6] = -9.676e-11;
239  HIv->omega[P3][S2][7] = 2.842e-17;
240 
241  HIv->omega[S3][P2][0] = 1.690;
242  HIv->omega[S3][P2][1] = 4.563e-5;
243  HIv->omega[S3][P2][2] = -6.605e-10;
244  HIv->omega[S3][P2][3] = 4.445e-15;
245  HIv->omega[S3][P2][4] = 2.325;
246  HIv->omega[S3][P2][5] = 1.361e-5;
247  HIv->omega[S3][P2][6] = -2.702e-11;
248  HIv->omega[S3][P2][7] = 2.397e-17;
249 
250 /* HIv->omega[P3][P2][0] = 4.923;
251  HIv->omega[P3][P2][1] = 1.525e-4;
252  HIv->omega[P3][P3][2] = 4.370e-11;
253  HIv->omega[P3][P2][3] = -3.914e-15;
254  HIv->omega[P3][P2][4] = 6.984;
255  HIv->omega[P3][P2][5] = 1.260e-4;
256  HIv->omega[P3][P2][6] = -3.014e-10;
257  HIv->omega[P3][P2][7] = 2.655e-16; */
258 
259  HIv->omega[P3][P2][0] = 0.000000;
260  HIv->omega[P3][P2][1] = 0.000000;
261  HIv->omega[P3][P3][2] = 0.000000;
262  HIv->omega[P3][P2][3] = 0.000000;
263  HIv->omega[P3][P2][4] = 0.000000;
264  HIv->omega[P3][P2][5] = 0.000000;
265  HIv->omega[P3][P2][6] = 0.000000;
266  HIv->omega[P3][P2][7] = 0.000000;
267 
268 
269  HIv->dE[S2][S1] = 1215.6740; HIv->A[S2][S1] = 6.265e+8; /* dE [ HIGHER ][LOWER ] */
270  HIv->dE[P2][S1] = 1215.6680; HIv->A[P2][S1] = 6.265e+8;
271 /* HI->dE[P2][S2] = 2.5e+16; HI->A[P2][S2] = 0.000000;
272  HI->dE[S3][S1] = 2.5e+16; HI->A[S3][S1] = 0.000000;
273 */
274  HIv->dE[P3][S1] = 1025.72; HIv->A[P3][S1] = 1.672e+8;
275 /* HI->dE[S3][S2] = 2.5e+16; HI->A[S3][S2] = 0.000000;
276 */
277  HIv->dE[P3][S2] = 6562.77; HIv->A[P3][S2] = 2.245e+7;
278  HIv->dE[S3][P2] = 6562.91; HIv->A[S3][P2] = 4.209e+6;
279 /* HIv->dE[P3][P2] = 2.5e+16; HIv->A[P3][P2] = 0.000000;
280  HIv->dE[S3][P3] = 2.5e+16; HIv->A[S3][P3] = 0.000000;
281 */
282  Symmetrize_Coeff (HIv);
283 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
int isH
Definition: cooling_defs.h:112
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void INIT_ATOM ( Ion at,
int  nat 
)

Definition at line 25 of file ion_init.c.

29 {
30  int n=0;
31  void (*X_INIT[])(Ion *at) = {HI_INIT, HeI_INIT, HeII_INIT
38  at->isMAP = 0;
39  at->isCV = 0;
40  at->isH = 0;
41  at->isCHEB = 0;
42 
43  (X_INIT[nat])(at);
44 
45 /*
46  switch (nat) {
47  case HI: HI_INIT(at); break;
48  case HeI: HeI_INIT(at); break;
49  case HeII: HeII_INIT(at); break;
50  case CI: CI_INIT(at); break;
51  case CII: CII_INIT(at); break;
52  case CIII: CIII_INIT(at); break;
53  case CIV: CIV_INIT(at); break;
54  case CV: CV_INIT(at); break;
55  case NI: NI_INIT(at); break;
56  case NII: NII_INIT(at); break;
57  case NIII: NIII_INIT(at); break;
58  case NIV: NIV_INIT(at); break;
59  case NV: NV_INIT(at); break;
60  case OI: OI_INIT(at); break;
61  case OII: OII_INIT(at); break;
62  case OIII: OIII_INIT(at); break;
63  case OIV: OIV_INIT(at); break;
64  case OV: OV_INIT(at); break;
65  case NeI: NeI_INIT(at); break;
66  case NeII: NeII_INIT(at); break;
67  case NeIII: NeIII_INIT(at); break;
68  case NeIV: NeIV_INIT(at); break;
69  case NeV: NeV_INIT(at); break;
70  case 23: SI_INIT(at); break;
71  case 24: SII_INIT(at); break;
72  case 25: SIII_INIT(at); break;
73  case 26: SIV_INIT(at); break;
74  case 27: SV_INIT(at); break;
75  case 28: FeI_INIT(at); break;
76  case 29: FeII_INIT(at); break;
77  case 30: FeIII_INIT(at); break;
78  }
79 */
80 }
void NeIV_INIT(Ion *NeIVv)
Definition: ion_init.c:2567
void NIII_INIT(Ion *NIIIv)
Definition: ion_init.c:1409
void SI_INIT(Ion *SIv)
Definition: ion_init.c:2792
void FeII_INIT(Ion *FeIIv)
Definition: ion_init.c:3488
static int n
Definition: analysis.c:3
void NII_INIT(Ion *NIIv)
Definition: ion_init.c:1234
void NeV_INIT(Ion *NeVv)
Definition: ion_init.c:2682
void OIII_INIT(Ion *OIIIv)
Definition: ion_init.c:2021
void HI_INIT(Ion *HIv)
Definition: ion_init.c:83
void OI_INIT(Ion *OIv)
Definition: ion_init.c:1767
void HeII_INIT(Ion *HeIIv)
Definition: ion_init.c:400
void NeIII_INIT(Ion *NeIIIv)
Definition: ion_init.c:2458
void CI_INIT(Ion *CIv)
Definition: ion_init.c:468
#define S_EXPAND(a, b, c, d, e)
Definition: cooling.h:83
void CIII_INIT(Ion *CIIIv)
Definition: ion_init.c:824
#define N_EXPAND(a, b, c, d, e)
Definition: cooling.h:41
void NV_INIT(Ion *NVv)
Definition: ion_init.c:1711
void SIV_INIT(Ion *SIVv)
Definition: ion_init.c:3187
void NI_INIT(Ion *NIv)
Definition: ion_init.c:1092
void OII_INIT(Ion *OIIv)
Definition: ion_init.c:1907
void OV_INIT(Ion *OVv)
Definition: ion_init.c:2233
void HeI_INIT(Ion *HeIv)
Definition: ion_init.c:286
void SII_INIT(Ion *SIIv)
Definition: ion_init.c:2914
void NeI_INIT(Ion *NeIv)
Definition: ion_init.c:2350
#define C_EXPAND(a, b, c, d, e)
Definition: cooling.h:27
void OIV_INIT(Ion *OIVv)
Definition: ion_init.c:2136
void CII_INIT(Ion *CIIv)
Definition: ion_init.c:656
void CIV_INIT(Ion *CIVv)
Definition: ion_init.c:945
void FeI_INIT(Ion *FeIv)
Definition: ion_init.c:3434
void NIV_INIT(Ion *NIVv)
Definition: ion_init.c:1619
void CV_INIT(Ion *CVv)
Definition: ion_init.c:1007
#define O_EXPAND(a, b, c, d, e)
Definition: cooling.h:55
void SIII_INIT(Ion *SIIIv)
Definition: ion_init.c:3077
void FeIII_INIT(Ion *FeIIIv)
Definition: ion_init.c:3817
void SV_INIT(Ion *SVv)
Definition: ion_init.c:3319
#define Fe_EXPAND(a, b, c)
Definition: cooling.h:91
void NeII_INIT(Ion *NeIIv)
Definition: ion_init.c:2404

Here is the call graph for this function:

Here is the caller graph for this function:

void NeI_INIT ( Ion NeIv)

Definition at line 2350 of file ion_init.c.

2354 {
2355  int i, j, n;
2356  int lev1, lev2;
2357 
2358  NeIv->N = 8.e-5; /* abundance of Ne with respect to H (Raymond) */
2359  NeIv->nlev = 2;
2360 
2361  lev1 = 0;
2362  lev2 = 1;
2363 
2364  NeIv->nTom = 4;
2365  NeIv->Tom[0] = 0.5e4;
2366  NeIv->Tom[1] = 1.0e4;
2367  NeIv->Tom[2] = 1.5e4;
2368  NeIv->Tom[3] = 2.0e4;
2369 
2370  if (NeIv->dE == NULL){
2371  NeIv->dE = ARRAY_2D(NeIv->nlev, NeIv->nlev, double);
2372  NeIv->A = ARRAY_2D(NeIv->nlev, NeIv->nlev, double);
2373  NeIv->omega = ARRAY_3D(NeIv->nlev, NeIv->nlev, NeIv->nTom, double);
2374  }
2375 
2376 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
2377  O GET PROPER ORDER LATER */
2378 
2379  for (i = 0 ; i < NeIv->nlev ; i++) {
2380  for (j = 0 ; j < NeIv->nlev ; j++) {
2381  NeIv->dE[i][j] = -1.0;
2382  NeIv->A[i][j] = -1.0;
2383  for (n = 0; n < NeIv->nTom; n++){
2384  NeIv->omega[i][j][n] = -1.0;
2385  }
2386  }}
2387 
2388 
2389  NeIv->wght[lev1] = 1.; /* 2 J + 1 */
2390  NeIv->wght[lev2] = 3.; /* */
2391 
2392  NeIv->omega[lev1][lev2][0] = 0.0;
2393  NeIv->omega[lev1][lev2][1] = 0.0;
2394  NeIv->omega[lev1][lev2][2] = 0.0;
2395  NeIv->omega[lev1][lev2][3] = 0.0;
2396 
2397 
2398  NeIv->dE[lev1][lev2] = 743.7; NeIv->A[lev1][lev2] = 4.76e+7;
2399 
2400  Symmetrize_Coeff (NeIv);
2401 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void NeII_INIT ( Ion NeIIv)

Definition at line 2404 of file ion_init.c.

2408 {
2409  int i, j, n;
2410  int _2P12, _2P32;
2411 
2412  NeIIv->N = 8.e-5; /* abundance of Ne with respect to H (Raymond) */
2413  NeIIv->nlev = 2;
2414 
2415  _2P32 = 0;
2416  _2P12 = 1;
2417 
2418  NeIIv->nTom = 4;
2419  NeIIv->Tom[0] = 0.5e4;
2420  NeIIv->Tom[1] = 1.0e4;
2421  NeIIv->Tom[2] = 1.5e4;
2422  NeIIv->Tom[3] = 2.0e4;
2423 
2424  if (NeIIv->dE == NULL){
2425  NeIIv->dE = ARRAY_2D(NeIIv->nlev, NeIIv->nlev, double);
2426  NeIIv->A = ARRAY_2D(NeIIv->nlev, NeIIv->nlev, double);
2427  NeIIv->omega = ARRAY_3D(NeIIv->nlev, NeIIv->nlev, NeIIv->nTom, double);
2428  }
2429 
2430 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
2431  O GET PROPER ORDER LATER */
2432 
2433  for (i = 0 ; i < NeIIv->nlev ; i++) {
2434  for (j = 0 ; j < NeIIv->nlev ; j++) {
2435  NeIIv->dE[i][j] = -1.0;
2436  NeIIv->A[i][j] = -1.0;
2437  for (n = 0; n < NeIIv->nTom; n++){
2438  NeIIv->omega[i][j][n] = -1.0;
2439  }
2440  }}
2441 
2442 
2443  NeIIv->wght[_2P12] = 2.; /* 2 J + 1 */
2444  NeIIv->wght[_2P32] = 4.; /* */
2445 
2446  NeIIv->omega[_2P12][_2P32][0] = 2.96e-1;
2447  NeIIv->omega[_2P12][_2P32][1] = 3.03e-1;
2448  NeIIv->omega[_2P12][_2P32][2] = 3.10e-1;
2449  NeIIv->omega[_2P12][_2P32][3] = 3.17e-1;
2450 
2451 
2452  NeIIv->dE[_2P12][_2P32] = 1.28e+5; NeIIv->A[_2P12][_2P32] = 8.55e-3;
2453 
2454  Symmetrize_Coeff (NeIIv);
2455 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void NeIII_INIT ( Ion NeIIIv)

Definition at line 2458 of file ion_init.c.

2462 {
2463  int i, j, n;
2464  int _3P2, _3P1, _3P0, _1D2, _1S0;
2465 
2466  NeIIIv->N = 8.e-5; /* abundance of Ne with respect to H (Raymond) */
2467  NeIIIv->nlev = 5;
2468 
2469  _3P2 = 0;
2470  _3P1 = 1;
2471  _3P0 = 2;
2472  _1D2 = 3;
2473  _1S0 = 4;
2474 
2475  NeIIIv->nTom = 4;
2476  NeIIIv->Tom[0] = 0.5e4;
2477  NeIIIv->Tom[1] = 1.0e4;
2478  NeIIIv->Tom[2] = 1.5e4;
2479  NeIIIv->Tom[3] = 2.0e4;
2480 
2481  if (NeIIIv->dE == NULL){
2482  NeIIIv->dE = ARRAY_2D(NeIIIv->nlev, NeIIIv->nlev, double);
2483  NeIIIv->A = ARRAY_2D(NeIIIv->nlev, NeIIIv->nlev, double);
2484  NeIIIv->omega = ARRAY_3D(NeIIIv->nlev, NeIIIv->nlev, NeIIIv->nTom, double);
2485  }
2486 
2487 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
2488  O GET PROPER ORDER LATER */
2489 
2490  for (i = 0 ; i < NeIIIv->nlev ; i++) {
2491  for (j = 0 ; j < NeIIIv->nlev ; j++) {
2492  NeIIIv->dE[i][j] = -1.0;
2493  NeIIIv->A[i][j] = -1.0;
2494  for (n = 0; n < NeIIIv->nTom; n++){
2495  NeIIIv->omega[i][j][n] = -1.0;
2496  }
2497  }}
2498 
2499 
2500  NeIIIv->wght[_3P2] = 5.; /* 2 J + 1 */
2501  NeIIIv->wght[_3P1] = 3.; /* */
2502  NeIIIv->wght[_3P0] = 1.; /* */
2503  NeIIIv->wght[_1D2] = 5.; /* */
2504  NeIIIv->wght[_1S0] = 1.; /* */
2505 
2506  NeIIIv->omega[_1D2][_3P0][0] = 1.63 * (1.0) / (3.0*3.0);
2507  NeIIIv->omega[_1D2][_3P0][1] = 1.65 * (1.0) / (3.0*3.0);
2508  NeIIIv->omega[_1D2][_3P0][2] = 1.65 * (1.0) / (3.0*3.0);
2509  NeIIIv->omega[_1D2][_3P0][3] = 1.64 * (1.0) / (3.0*3.0);
2510 
2511  NeIIIv->omega[_1D2][_3P1][0] = 1.63 * (3.0) / (3.0*3.0);
2512  NeIIIv->omega[_1D2][_3P1][1] = 1.65 * (3.0) / (3.0*3.0);
2513  NeIIIv->omega[_1D2][_3P1][2] = 1.65 * (3.0) / (3.0*3.0);
2514  NeIIIv->omega[_1D2][_3P1][3] = 1.64 * (3.0) / (3.0*3.0);
2515 
2516  NeIIIv->omega[_1D2][_3P2][0] = 1.63 * (5.0) / (3.0*3.0);
2517  NeIIIv->omega[_1D2][_3P2][1] = 1.65 * (5.0) / (3.0*3.0);
2518  NeIIIv->omega[_1D2][_3P2][2] = 1.65 * (5.0) / (3.0*3.0);
2519  NeIIIv->omega[_1D2][_3P2][3] = 1.64 * (5.0) / (3.0*3.0);
2520 
2521  NeIIIv->omega[_1S0][_3P1][0] = 1.51e-1 * (3.0) / (3.0*3.0);
2522  NeIIIv->omega[_1S0][_3P1][1] = 1.69e-1 * (3.0) / (3.0*3.0);
2523  NeIIIv->omega[_1S0][_3P1][2] = 1.75e-1 * (3.0) / (3.0*3.0);
2524  NeIIIv->omega[_1S0][_3P1][3] = 1.79e-1 * (3.0) / (3.0*3.0);
2525 
2526  NeIIIv->omega[_1S0][_3P2][0] = 1.51e-1 * (5.0) / (3.0*3.0);
2527  NeIIIv->omega[_1S0][_3P2][1] = 1.69e-1 * (5.0) / (3.0*3.0);
2528  NeIIIv->omega[_1S0][_3P2][2] = 1.75e-1 * (5.0) / (3.0*3.0);
2529  NeIIIv->omega[_1S0][_3P2][3] = 1.79e-1 * (5.0) / (3.0*3.0);
2530 
2531  NeIIIv->omega[_1S0][_1D2][0] = 2.00e-1;
2532  NeIIIv->omega[_1S0][_1D2][1] = 2.26e-1;
2533  NeIIIv->omega[_1S0][_1D2][2] = 2.43e-1;
2534  NeIIIv->omega[_1S0][_1D2][3] = 2.60e-1;
2535 
2536  NeIIIv->omega[_3P0][_3P1][0] = 3.31e-1;
2537  NeIIIv->omega[_3P0][_3P1][1] = 3.50e-1;
2538  NeIIIv->omega[_3P0][_3P1][2] = 3.51e-1;
2539  NeIIIv->omega[_3P0][_3P1][3] = 3.50e-1;
2540 
2541  NeIIIv->omega[_3P0][_3P2][0] = 3.00e-1;
2542  NeIIIv->omega[_3P0][_3P2][1] = 3.07e-1;
2543  NeIIIv->omega[_3P0][_3P2][2] = 3.03e-1;
2544  NeIIIv->omega[_3P0][_3P2][3] = 2.98e-1;
2545 
2546  NeIIIv->omega[_3P1][_3P2][0] = 1.09;
2547  NeIIIv->omega[_3P1][_3P2][1] = 1.65;
2548  NeIIIv->omega[_3P1][_3P2][2] = 1.65;
2549  NeIIIv->omega[_3P1][_3P2][3] = 1.64;
2550 
2551  NeIIIv->dE[_1D2][_3P0] = 4012.8; NeIIIv->A[_1D2][_3P0] = 8.51e-6;
2552  NeIIIv->dE[_1D2][_3P1] = 3967.5; NeIIIv->A[_1D2][_3P1] = 5.42e-2;
2553  NeIIIv->dE[_1D2][_3P2] = 3868.8; NeIIIv->A[_1D2][_3P2] = 1.71e-1;
2554  NeIIIv->dE[_1S0][_3P1] = 1814.6; NeIIIv->A[_1S0][_3P1] = 2.00;
2555  NeIIIv->dE[_1S0][_3P2] = 1793.7; NeIIIv->A[_1S0][_3P2] = 3.94e-3;
2556  NeIIIv->dE[_1S0][_1D2] = 3342.5; NeIIIv->A[_1S0][_1D2] = 2.71;
2557  NeIIIv->dE[_3P0][_3P1] = 3.60e+5; NeIIIv->A[_3P0][_3P1] = 1.15e-3;
2558  NeIIIv->dE[_3P0][_3P2] = 1.07e+5; NeIIIv->A[_3P0][_3P2] = 2.18e-8;
2559  NeIIIv->dE[_3P1][_3P2] = 1.56e+5; NeIIIv->A[_3P1][_3P2] = 5.97e-3;
2560 /* NeIIIv->dE[_1S0][_3P0] = 1827.6; NeIIIv->A[_1S0][_3P0] = 0.00000; fake */
2561 
2562 
2563  Symmetrize_Coeff (NeIIIv);
2564 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void NeIV_INIT ( Ion NeIVv)

Definition at line 2567 of file ion_init.c.

2571 {
2572  int i, j, n;
2573  int S32, D52, D32, P12, P32;
2574 
2575  NeIVv->N = 8.e-5; /* abundance of Ne with respect to H (Raymond) */
2576  NeIVv->nlev = 5;
2577 
2578  S32 = 0;
2579  D52 = 1;
2580  D32 = 2;
2581  P12 = 3;
2582  P32 = 4;
2583 
2584  NeIVv->nTom = 4;
2585  NeIVv->Tom[0] = 0.5e4;
2586  NeIVv->Tom[1] = 1.0e4;
2587  NeIVv->Tom[2] = 1.5e4;
2588  NeIVv->Tom[3] = 2.0e4;
2589 
2590  if (NeIVv->dE == NULL){
2591  NeIVv->dE = ARRAY_2D(NeIVv->nlev, NeIVv->nlev, double);
2592  NeIVv->A = ARRAY_2D(NeIVv->nlev, NeIVv->nlev, double);
2593  NeIVv->omega = ARRAY_3D(NeIVv->nlev, NeIVv->nlev, NeIVv->nTom, double);
2594  }
2595 
2596 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
2597  O GET PROPER ORDER LATER */
2598 
2599  for (i = 0 ; i < NeIVv->nlev ; i++) {
2600  for (j = 0 ; j < NeIVv->nlev ; j++) {
2601  NeIVv->dE[i][j] = -1.0;
2602  NeIVv->A[i][j] = -1.0;
2603  for (n = 0; n < NeIVv->nTom; n++){
2604  NeIVv->omega[i][j][n] = -1.0;
2605  }
2606  }}
2607 
2608 
2609  NeIVv->wght[S32] = 4.; /* 2 J + 1 */
2610  NeIVv->wght[D52] = 6.; /* */
2611  NeIVv->wght[D32] = 4.; /* */
2612  NeIVv->wght[P12] = 2.; /* */
2613  NeIVv->wght[P32] = 4.; /* */
2614 
2615  NeIVv->omega[D52][S32][0] = 8.45e-1;
2616  NeIVv->omega[D52][S32][1] = 8.43e-1;
2617  NeIVv->omega[D52][S32][2] = 8.32e-1;
2618  NeIVv->omega[D52][S32][3] = 8.24e-1;
2619 
2620  NeIVv->omega[D32][S32][0] = 5.63e-1;
2621  NeIVv->omega[D32][S32][1] = 5.59e-1;
2622  NeIVv->omega[D32][S32][2] = 5.55e-1;
2623  NeIVv->omega[D32][S32][3] = 5.50e-1;
2624 
2625  NeIVv->omega[P32][S32][0] = 3.07e-1;
2626  NeIVv->omega[P32][S32][1] = 3.13e-1;
2627  NeIVv->omega[P32][S32][2] = 3.12e-1;
2628  NeIVv->omega[P32][S32][3] = 3.09e-1;
2629 
2630  NeIVv->omega[P12][S32][0] = 1.53e-1;
2631  NeIVv->omega[P12][S32][1] = 1.56e-1;
2632  NeIVv->omega[P12][S32][2] = 1.56e-1;
2633  NeIVv->omega[P12][S32][3] = 1.55e-1;
2634 
2635  NeIVv->omega[D52][D32][0] = 1.37;
2636  NeIVv->omega[D52][D32][1] = 1.36;
2637  NeIVv->omega[D52][D32][2] = 1.35;
2638  NeIVv->omega[D52][D32][3] = 1.33;
2639 
2640  NeIVv->omega[P32][P12][0] = 3.17e-1;
2641  NeIVv->omega[P32][P12][1] = 3.43e-1;
2642  NeIVv->omega[P32][P12][2] = 3.58e-1;
2643  NeIVv->omega[P32][P12][3] = 3.70e-1;
2644 
2645  NeIVv->omega[P32][D52][0] = 8.56e-1;
2646  NeIVv->omega[P32][D52][1] = 9.00e-1;
2647  NeIVv->omega[P32][D52][2] = 9.08e-1;
2648  NeIVv->omega[P32][D52][3] = 9.09e-1;
2649 
2650  NeIVv->omega[P32][D32][0] = 4.73e-1;
2651  NeIVv->omega[P32][D32][1] = 5.09e-1;
2652  NeIVv->omega[P32][D32][2] = 5.15e-1;
2653  NeIVv->omega[P32][D32][3] = 5.16e-1;
2654 
2655  NeIVv->omega[P12][D52][0] = 3.40e-1;
2656  NeIVv->omega[P12][D52][1] = 3.68e-1;
2657  NeIVv->omega[P12][D52][2] = 3.73e-1;
2658  NeIVv->omega[P12][D52][3] = 3.74e-1;
2659 
2660  NeIVv->omega[P12][D32][0] = 3.24e-1;
2661  NeIVv->omega[P12][D32][1] = 3.36e-1;
2662  NeIVv->omega[P12][D32][2] = 3.39e-1;
2663  NeIVv->omega[P12][D32][3] = 3.39e-1;
2664 
2665 
2666  NeIVv->dE[D52][S32] = 2420.9; NeIVv->A[D52][S32] = 4.58e-4;
2667  NeIVv->dE[D32][S32] = 2418.2; NeIVv->A[D32][S32] = 5.77e-3;
2668  NeIVv->dE[P32][S32] = 1601.5; NeIVv->A[P32][S32] = 1.27;
2669  NeIVv->dE[P12][S32] = 1601.7; NeIVv->A[P12][S32] = 5.21e-1;
2670  NeIVv->dE[D52][D32] = 2.237e+6; NeIVv->A[D52][D32] = 1.48e-6;
2671  NeIVv->dE[P32][P12] = 1.56e+7; NeIVv->A[P32][P12] = 2.82e-9;
2672  NeIVv->dE[P32][D52] = 4714.3; NeIVv->A[P32][D52] = 3.88e-1;
2673  NeIVv->dE[P32][D32] = 4724.2; NeIVv->A[P32][D32] = 4.37e-1;
2674  NeIVv->dE[P12][D52] = 4717.0; NeIVv->A[P12][D52] = 1.15e-2;
2675  NeIVv->dE[P12][D32] = 4725.6; NeIVv->A[P12][D32] = 3.93e-1;
2676 
2677 
2678  Symmetrize_Coeff (NeIVv);
2679 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void NeV_INIT ( Ion NeVv)

Definition at line 2682 of file ion_init.c.

2686 {
2687  int i, j, n;
2688  int _3P2, _3P1, _3P0, _1D2, _1S0;
2689 
2690  NeVv->N = 8.e-5; /* abundance of Ne with respect to H (Raymond) */
2691  NeVv->nlev = 5;
2692 
2693  _3P0 = 0;
2694  _3P1 = 1;
2695  _3P2 = 2;
2696  _1D2 = 3;
2697  _1S0 = 4;
2698 
2699  NeVv->nTom = 4;
2700  NeVv->Tom[0] = 0.5e4;
2701  NeVv->Tom[1] = 1.0e4;
2702  NeVv->Tom[2] = 1.5e4;
2703  NeVv->Tom[3] = 2.0e4;
2704 
2705  if (NeVv->dE == NULL){
2706  NeVv->dE = ARRAY_2D(NeVv->nlev, NeVv->nlev, double);
2707  NeVv->A = ARRAY_2D(NeVv->nlev, NeVv->nlev, double);
2708  NeVv->omega = ARRAY_3D(NeVv->nlev, NeVv->nlev, NeVv->nTom, double);
2709  }
2710 
2711 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
2712  O GET PROPER ORDER LATER */
2713 
2714  for (i = 0 ; i < NeVv->nlev ; i++) {
2715  for (j = 0 ; j < NeVv->nlev ; j++) {
2716  NeVv->dE[i][j] = -1.0;
2717  NeVv->A[i][j] = -1.0;
2718  for (n = 0; n < NeVv->nTom; n++){
2719  NeVv->omega[i][j][n] = -1.0;
2720  }
2721  }}
2722 
2723 
2724  NeVv->wght[_3P0] = 1.; /* 2 J + 1 */
2725  NeVv->wght[_3P1] = 3.; /* */
2726  NeVv->wght[_3P2] = 5.; /* */
2727  NeVv->wght[_1D2] = 5.; /* */
2728  NeVv->wght[_1S0] = 1.; /* */
2729 
2730  NeVv->omega[_1D2][_3P0][0] = 2.13 * (1.0) / (3.0*3.0);
2731  NeVv->omega[_1D2][_3P0][1] = 2.09 * (1.0) / (3.0*3.0);
2732  NeVv->omega[_1D2][_3P0][2] = 2.11 * (1.0) / (3.0*3.0);
2733  NeVv->omega[_1D2][_3P0][3] = 2.14 * (1.0) / (3.0*3.0);
2734 
2735  NeVv->omega[_1D2][_3P1][0] = 2.13 * (3.0) / (3.0*3.0);
2736  NeVv->omega[_1D2][_3P1][1] = 2.09 * (3.0) / (3.0*3.0);
2737  NeVv->omega[_1D2][_3P1][2] = 2.11 * (3.0) / (3.0*3.0);
2738  NeVv->omega[_1D2][_3P1][3] = 2.14 * (3.0) / (3.0*3.0);
2739 
2740  NeVv->omega[_1D2][_3P2][0] = 2.13 * (5.0) / (3.0*3.0);
2741  NeVv->omega[_1D2][_3P2][1] = 2.09 * (5.0) / (3.0*3.0);
2742  NeVv->omega[_1D2][_3P2][2] = 2.11 * (5.0) / (3.0*3.0);
2743  NeVv->omega[_1D2][_3P2][3] = 2.14 * (5.0) / (3.0*3.0);
2744 
2745  NeVv->omega[_1S0][_3P1][0] = 2.54e-1 * (3.0) / (3.0*3.0);
2746  NeVv->omega[_1S0][_3P1][1] = 2.46e-1 * (3.0) / (3.0*3.0);
2747  NeVv->omega[_1S0][_3P1][2] = 2.49e-1 * (3.0) / (3.0*3.0);
2748  NeVv->omega[_1S0][_3P1][3] = 2.51e-1 * (3.0) / (3.0*3.0);
2749 
2750  NeVv->omega[_1S0][_3P2][0] = 2.54e-1 * (5.0) / (3.0*3.0);
2751  NeVv->omega[_1S0][_3P2][1] = 2.46e-1 * (5.0) / (3.0*3.0);
2752  NeVv->omega[_1S0][_3P2][2] = 2.49e-1 * (5.0) / (3.0*3.0);
2753  NeVv->omega[_1S0][_3P2][3] = 2.51e-1 * (5.0) / (3.0*3.0);
2754 
2755  NeVv->omega[_1S0][_1D2][0] = 6.63e-1;
2756  NeVv->omega[_1S0][_1D2][1] = 5.77e-1;
2757  NeVv->omega[_1S0][_1D2][2] = 6.10e-1;
2758  NeVv->omega[_1S0][_1D2][3] = 6.49e-1;
2759 
2760  NeVv->omega[_3P1][_3P0][0] = 1.68;
2761  NeVv->omega[_3P1][_3P0][1] = 1.41;
2762  NeVv->omega[_3P1][_3P0][2] = 1.19;
2763  NeVv->omega[_3P1][_3P0][3] = 1.10;
2764 
2765  NeVv->omega[_3P2][_3P0][0] = 2.44;
2766  NeVv->omega[_3P2][_3P0][1] = 1.81;
2767  NeVv->omega[_3P2][_3P0][2] = 1.42;
2768  NeVv->omega[_3P2][_3P0][3] = 1.26;
2769 
2770  NeVv->omega[_3P2][_3P1][0] = 7.59;
2771  NeVv->omega[_3P2][_3P1][1] = 5.82;
2772  NeVv->omega[_3P2][_3P1][2] = 4.68;
2773  NeVv->omega[_3P2][_3P1][3] = 4.20;
2774 
2775 
2776  NeVv->dE[_1D2][_3P0] = 3301.3; NeVv->A[_1D2][_3P0] = 2.37e-5;
2777  NeVv->dE[_1D2][_3P1] = 3345.8; NeVv->A[_1D2][_3P1] = 1.31e-1;
2778  NeVv->dE[_1D2][_3P2] = 3425.9; NeVv->A[_1D2][_3P2] = 3.65e-1;
2779  NeVv->dE[_1S0][_3P1] = 1574.8; NeVv->A[_1S0][_3P1] = 4.21;
2780  NeVv->dE[_1S0][_3P2] = 1592.3; NeVv->A[_1S0][_3P2] = 6.69e-3;
2781  NeVv->dE[_1S0][_1D2] = 2972.8; NeVv->A[_1S0][_1D2] = 2.85;
2782  NeVv->dE[_3P1][_3P0] = 2.428e+5;NeVv->A[_3P1][_3P0] = 1.28e-3;
2783  NeVv->dE[_3P2][_3P0] = 90082.; NeVv->A[_3P2][_3P0] = 5.08e-9;
2784  NeVv->dE[_3P2][_3P1] = 1.432e+5;NeVv->A[_3P2][_3P1] = 4.59e-3;
2785 /* NeVv->dE[_1S0][_3P0] = 1.6e+16; NeVv->A[_1S0][_3P0] = 0.00000; fake */
2786 
2787 
2788  Symmetrize_Coeff (NeVv);
2789 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void NI_INIT ( Ion NIv)

Definition at line 1092 of file ion_init.c.

1096 {
1097  int i, j, n;
1098  int S32, D52, D32, P32, P12;
1099 
1100 
1101  /* Data from T-dependent CS from MAPPINGS commented */
1102 
1103  NIv->isMAP = 0;
1104 
1105  NIv->N = 0.9e-4 ; /* abundance of N with respect to H (Raymond) */
1106  NIv->nlev = 5;
1107 
1108  S32 = 0;
1109  D52 = 1;
1110  D32 = 2;
1111  P12 = 3;
1112  P32 = 4;
1113 
1114  NIv->nTom = 3;
1115  NIv->Tom[0] = 0.5e4;
1116  NIv->Tom[1] = 1.0e4;
1117  NIv->Tom[2] = 2.0e4;
1118 
1119  if (NIv->dE == NULL){
1120  NIv->dE = ARRAY_2D(NIv->nlev, NIv->nlev, double);
1121  NIv->A = ARRAY_2D(NIv->nlev, NIv->nlev, double);
1122  NIv->omega = ARRAY_3D(NIv->nlev, NIv->nlev, NIv->nTom, double);
1123  }
1124 
1125 
1126 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
1127  O GET PROPER ORDER LATER */
1128 
1129  for (i = 0 ; i < NIv->nlev ; i++) {
1130  for (j = 0 ; j < NIv->nlev ; j++) {
1131  NIv->dE[i][j] = -1.0;
1132  NIv->A[i][j] = -1.0;
1133  for (n = 0; n < NIv->nTom; n++){
1134  NIv->omega[i][j][n] = -1.0;
1135  }
1136  }}
1137 
1138 
1139  NIv->wght[S32] = 4.; /* 2 J + 1 */
1140  NIv->wght[D52] = 6.; /* */
1141  NIv->wght[D32] = 4.; /* */
1142  NIv->wght[P32] = 4.; /* */
1143  NIv->wght[P12] = 2.; /* */
1144 
1145 
1146  NIv->omega[D52][S32][0] = 1.55e-1;
1147  NIv->omega[D52][S32][1] = 2.90e-1;
1148  NIv->omega[D52][S32][2] = 4.76e-1;
1149 
1150  NIv->omega[D32][S32][0] = 1.03-1;
1151  NIv->omega[D32][S32][1] = 1.94-1;
1152  NIv->omega[D32][S32][2] = 3.18-1;
1153 
1154  NIv->omega[P32][S32][0] = 5.97e-2;
1155  NIv->omega[P32][S32][1] = 1.13e-1;
1156  NIv->omega[P32][S32][2] = 1.89e-1;
1157 
1158  NIv->omega[P12][S32][0] = 2.98e-2;
1159  NIv->omega[P12][S32][1] = 5.67e-2;
1160  NIv->omega[P12][S32][2] = 9.47e-2;
1161 
1162  NIv->omega[D52][D32][0] = 1.28e-1;
1163  NIv->omega[D52][D32][1] = 2.69e-1;
1164  NIv->omega[D52][D32][2] = 4.65e-1;
1165 
1166  NIv->omega[P32][P12][0] = 3.29e-2;
1167  NIv->omega[P32][P12][1] = 7.10e-2;
1168  NIv->omega[P32][P12][2] = 1.53e-1;
1169 
1170  NIv->omega[P32][D52][0] = 1.62e-1;
1171  NIv->omega[P32][D52][1] = 2.66e-1;
1172  NIv->omega[P32][D52][2] = 4.38e-1;
1173 
1174  NIv->omega[P32][D32][0] = 8.56e-2;
1175  NIv->omega[P32][D32][1] = 1.47e-1;
1176  NIv->omega[P32][D32][2] = 2.52e-1;
1177 
1178  NIv->omega[P12][D52][0] = 6.26e-2;
1179  NIv->omega[P12][D52][1] = 1.09e-1;
1180  NIv->omega[P12][D52][2] = 1.90e-1;
1181 
1182  NIv->omega[P12][D32][0] = 6.01e-2;
1183  NIv->omega[P12][D32][1] = 9.70e-2;
1184  NIv->omega[P12][D32][2] = 1.57e-1;
1185 
1186 /*
1187  NIv->omega[D52][S32][0] = 2.90e-1;
1188  NIv->omega[D52][S32][1] = 9.10e-1;
1189 
1190  NIv->omega[D32][S32][0] = 1.94-1;
1191  NIv->omega[D32][S32][1] = 9.10-1;
1192 
1193  NIv->omega[P32][S32][0] = 1.13e-1;
1194  NIv->omega[P32][S32][1] = 9.30e-1;
1195 
1196  NIv->omega[P12][S32][0] = 5.67e-2;
1197  NIv->omega[P12][S32][1] = 9.30e-1;
1198 
1199  NIv->omega[D52][D32][0] = 2.69e-1;
1200  NIv->omega[D52][D32][1] = 1.08;
1201 
1202  NIv->omega[P32][P12][0] = 7.10e-2;
1203  NIv->omega[P32][P12][1] = 1.11;
1204 
1205  NIv->omega[P32][D52][0] = 2.66e-1;
1206  NIv->omega[P32][D52][1] = 0.72;
1207 
1208  NIv->omega[P32][D32][0] = 1.47e-1;
1209  NIv->omega[P32][D32][1] = 7.8e-1;
1210 
1211  NIv->omega[P12][D52][0] = 1.09e-1;
1212  NIv->omega[P12][D52][1] = 8.0e-1;
1213 
1214  NIv->omega[P12][D32][0] = 9.70e-2;
1215  NIv->omega[P12][D32][1] = 0.69;
1216 */
1217 
1218  NIv->dE[D52][S32] = 5200.4; NIv->A[D52][S32] = 6.13e-6 ;
1219  NIv->dE[D32][S32] = 5197.9; NIv->A[D32][S32] = 2.28e-5;
1220  NIv->dE[P32][S32] = 3466.5; NIv->A[P32][S32] = 6.60e-3;
1221  NIv->dE[P12][S32] = 3466.5; NIv->A[P12][S32] = 2.72e-3;
1222  NIv->dE[D52][D32] = 1.148e+7; NIv->A[D52][D32] = 1.24e-8;
1223  NIv->dE[P32][P12] = 2.59e+8; NIv->A[P32][P12] = 5.17e-13;
1224  NIv->dE[P32][D52] = 10397.7; NIv->A[P32][D52] = 5.59e-2;
1225  NIv->dE[P32][D32] = 10407.2; NIv->A[P32][D32] = 2.52e-2;
1226  NIv->dE[P12][D52] = 10398.2; NIv->A[P12][D52] = 3.14e-2;
1227  NIv->dE[P12][D32] = 10407.6; NIv->A[P12][D32] = 4.80e-2;
1228 
1229 
1230  Symmetrize_Coeff (NIv);
1231 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
int isMAP
Definition: cooling_defs.h:112
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void NII_INIT ( Ion NIIv)

Definition at line 1234 of file ion_init.c.

1238 {
1239  int i, j, n;
1240  int S0, P0, P1, P2, D2;
1241 
1242  /* Old data from Pradhan, commented. New T-dep data (Chebyshev pol fit) from Stafford et al. 1994 */
1243 
1244  NIIv->isCHEB = 0; /* Chebyshev fit indicator */
1245 
1246  NIIv->N = 0.9e-4 ; /* abundance of N with respect to H (Raymond) */
1247  NIIv->nlev = 5;
1248 
1249  P0 = 0;
1250  P1 = 1;
1251  P2 = 2;
1252  D2 = 3;
1253  S0 = 4;
1254 
1255  NIIv->nTom = 4;
1256  NIIv->Tom[0] = 0.5e4;
1257  NIIv->Tom[1] = 1.0e4;
1258  NIIv->Tom[2] = 1.5e4;
1259  NIIv->Tom[3] = 2.0e4;
1260 
1261  if (NIIv->dE == NULL){
1262  NIIv->dE = ARRAY_2D(NIIv->nlev, NIIv->nlev, double);
1263  NIIv->A = ARRAY_2D(NIIv->nlev, NIIv->nlev, double);
1264  NIIv->omega = ARRAY_3D(NIIv->nlev, NIIv->nlev, NIIv->nTom, double);
1265  }
1266 
1267 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
1268  O GET PROPER ORDER LATER */
1269 
1270  for (i = 0 ; i < NIIv->nlev ; i++) {
1271  for (j = 0 ; j < NIIv->nlev ; j++) {
1272  NIIv->dE[i][j] = -1.0;
1273  NIIv->A[i][j] = -1.0;
1274  for (n = 0; n < NIIv->nTom; n++){
1275  if (NIIv->isCHEB) NIIv->omega[i][j][n] = 0.0;
1276  else NIIv->omega[i][j][n] = -1.0;
1277  }
1278  }}
1279 
1280 
1281  NIIv->wght[S0] = 1.; /* 2 J + 1 */
1282  NIIv->wght[P0] = 1.; /* */
1283  NIIv->wght[P1] = 3.; /* */
1284  NIIv->wght[P2] = 5.; /* */
1285  NIIv->wght[D2] = 5.; /* */
1286 
1287 if (!NIIv->isCHEB) {
1288  NIIv->omega[D2][P0][0] = 2.57 * (1.0 / ( 3.0 * 3.0) );
1289  NIIv->omega[D2][P0][1] = 2.64 * (1.0 / ( 3.0 * 3.0) );
1290  NIIv->omega[D2][P0][2] = 2.70 * (1.0 / ( 3.0 * 3.0) );
1291  NIIv->omega[D2][P0][3] = 2.73 * (1.0 / ( 3.0 * 3.0) );
1292 
1293  NIIv->omega[D2][P1][0] = 2.57 * (3.0)/(3.0 * 3.0);
1294  NIIv->omega[D2][P1][1] = 2.64 * (3.0)/(3.0 * 3.0);
1295  NIIv->omega[D2][P1][2] = 2.70 * (3.0)/(3.0 * 3.0);
1296  NIIv->omega[D2][P1][3] = 2.73 * (3.0)/(3.0 * 3.0);
1297 
1298  NIIv->omega[D2][P2][0] = 2.57 * (5.0)/(3.0 * 3.0);
1299  NIIv->omega[D2][P2][1] = 2.64 * (5.0)/(3.0 * 3.0);
1300  NIIv->omega[D2][P2][2] = 2.70 * (5.0)/(3.0 * 3.0);
1301  NIIv->omega[D2][P2][3] = 2.73 * (5.0)/(3.0 * 3.0);
1302 
1303  NIIv->omega[S0][P1][0] = .287 * (3.0)/(3.0*3.0);
1304  NIIv->omega[S0][P1][1] = .293 * (3.0)/(3.0*3.0);
1305  NIIv->omega[S0][P1][2] = .300 * (3.0)/(3.0*3.0);
1306  NIIv->omega[S0][P1][3] = .305 * (3.0)/(3.0*3.0);
1307 
1308  NIIv->omega[S0][P2][0] = .287 * (5.0)/(3.0*3.0);
1309  NIIv->omega[S0][P2][1] = .293 * (5.0)/(3.0*3.0);
1310  NIIv->omega[S0][P2][2] = .300 * (5.0)/(3.0*3.0);
1311  NIIv->omega[S0][P2][3] = .305 * (5.0)/(3.0*3.0);
1312 
1313  NIIv->omega[S0][D2][0] = .959;
1314  NIIv->omega[S0][D2][1] = .834;
1315  NIIv->omega[S0][D2][2] = .761;
1316  NIIv->omega[S0][D2][3] = .734;
1317 
1318  NIIv->omega[P1][P0][0] = .371;
1319  NIIv->omega[P1][P0][1] = .408;
1320  NIIv->omega[P1][P0][2] = .429;
1321  NIIv->omega[P1][P0][3] = .443;
1322 
1323  NIIv->omega[P2][P0][0] = .243;
1324  NIIv->omega[P2][P0][1] = .272;
1325  NIIv->omega[P2][P0][2] = .301;
1326  NIIv->omega[P2][P0][3] = .316;
1327 
1328  NIIv->omega[P2][P1][0] = 1.01;
1329  NIIv->omega[P2][P1][1] = 1.12;
1330  NIIv->omega[P2][P1][2] = 1.21;
1331  NIIv->omega[P2][P1][3] = 1.26;
1332 /*
1333  NIIv->omega[S0][P0][0] = 1.e-31;
1334  NIIv->omega[S0][P0][1] = 1.e-31;
1335  NIIv->omega[S0][P0][2] = 1.e-31;
1336  NIIv->omega[S0][P0][3] = 1.e-31;
1337 */
1338 }
1339 
1340 if (NIIv->isCHEB) {
1341  NIIv->omega[D2][P0][0] = -2.1882;
1342  NIIv->omega[D2][P0][1] = -0.0023;
1343  NIIv->omega[D2][P0][2] = 0.0082;
1344  NIIv->omega[D2][P0][3] = -0.0005;
1345 
1346  NIIv->omega[D2][P1][0] = 0.0090;
1347  NIIv->omega[D2][P1][1] = -0.0023;
1348  NIIv->omega[D2][P1][2] = 0.0082;
1349  NIIv->omega[D2][P1][3] = -0.0006;
1350 
1351  NIIv->omega[D2][P2][0] = 1.0307;
1352  NIIv->omega[D2][P2][1] = -0.0023;
1353  NIIv->omega[D2][P2][2] = 0.0082;
1354  NIIv->omega[D2][P2][3] = -0.0006;
1355 
1356  NIIv->omega[S0][P1][0] = -4.1820;
1357  NIIv->omega[S0][P1][1] = -0.0076;
1358  NIIv->omega[S0][P1][2] = 0.0190;
1359  NIIv->omega[S0][P1][3] = -0.0013;
1360 
1361  NIIv->omega[S0][P2][0] = -3.1604;
1362  NIIv->omega[S0][P2][1] = -0.0076;
1363  NIIv->omega[S0][P2][2] = 0.0190;
1364  NIIv->omega[S0][P2][3] = -0.0013;
1365 
1366  NIIv->omega[S0][D2][0] = -1.2463;
1367  NIIv->omega[S0][D2][1] = 0.0961;
1368  NIIv->omega[S0][D2][2] = 0.0291;
1369  NIIv->omega[S0][D2][3] = -0.0024;
1370 
1371  NIIv->omega[P1][P0][0] = -1.5340;
1372  NIIv->omega[P1][P0][1] = 0.1436;
1373  NIIv->omega[P1][P0][2] = 0.0107;
1374  NIIv->omega[P1][P0][3] = -0.0076;
1375 
1376  NIIv->omega[P2][P0][0] = -2.4004;
1377  NIIv->omega[P2][P0][1] = 0.1962;
1378  NIIv->omega[P2][P0][2] = -0.0440;
1379  NIIv->omega[P2][P0][3] = -0.0296;
1380 
1381  NIIv->omega[P2][P1][0] = 0.4597;
1382  NIIv->omega[P2][P1][1] = 0.1717;
1383  NIIv->omega[P2][P1][2] = -0.0189;
1384  NIIv->omega[P2][P1][3] = -0.0198;
1385 
1386  NIIv->omega[S0][P0][0] = -6.3792;
1387  NIIv->omega[S0][P0][1] = -0.0076;
1388  NIIv->omega[S0][P0][2] = 0.0190;
1389  NIIv->omega[S0][P0][3] = -0.0013;
1390 
1391 }
1392 
1393  NIIv->dE[D2][P2] = 6583.4; NIIv->A[D2][P2] = 2.72e-3 ;
1394  NIIv->dE[D2][P1] = 6548.1; NIIv->A[D2][P1] = 9.19e-4;
1395  NIIv->dE[D2][P0] = 6527.1; NIIv->A[D2][P0] = 5.4e-7;
1396  NIIv->dE[P1][P0] = 204.e4; NIIv->A[P1][P0] = 2.1e-6;
1397  NIIv->dE[P2][P0] = 76.e4 ; NIIv->A[P2][P0] = 1.2e-12;
1398  NIIv->dE[P2][P1] = 122.e4; NIIv->A[P2][P1] = 7.5e-6;
1399  NIIv->dE[S0][P1] = 3062.9; NIIv->A[S0][P1] = 3.38e-2;
1400  NIIv->dE[S0][P2] = 3071.4; NIIv->A[S0][P2] = 1.51e-4;
1401  NIIv->dE[S0][D2] = 5754.6; NIIv->A[S0][D2] = 1.12;
1402 /* NIIv->dE[S0][P0] = 2.e+21; NIIv->A[S0][P0] = 0.0000; come S2-P2 (Pradhan) */
1403 
1404 
1405  Symmetrize_Coeff (NIIv);
1406 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int isCHEB
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void NIII_INIT ( Ion NIIIv)

Definition at line 1409 of file ion_init.c.

1413 {
1414  int i, j, n;
1415  int _2P12, _2P32, _4P12, _4P32, _4P52;
1416 
1417  /* Old data from Pradhan, commented. New T-dep data (Chebyshev pol fit) from Stafford et al. 1994 */
1418 
1419  NIIIv->N = 0.9e-4; /* abundance of N with respect to H (Raymond) */
1420  NIIIv->nlev = 5;
1421 
1422  _2P12 = 0;
1423  _2P32 = 1;
1424  _4P12 = 2;
1425  _4P32 = 3;
1426  _4P52 = 4;
1427 
1428  NIIIv->isCHEB = 1; /* Use Chebyshev interpolation ( log(T)<5.1 ) */
1429  NIIIv->isMAP = 0; /* Use Mappings T-dep CS data T < 10^7 K */
1430 
1431 
1432  if (NIIIv->isCHEB) {
1433  NIIIv->nTom = 4;
1434  NIIIv->Tom[0] = 0.5e4;
1435  NIIIv->Tom[1] = 1.0e4;
1436  NIIIv->Tom[2] = 1.5e4;
1437  NIIIv->Tom[3] = 2.0e4;
1438  }
1439  if (NIIIv->isMAP) {
1440  NIIIv->nTom = 2;
1441  NIIIv->Tom[0] = 0.5e4;
1442  NIIIv->Tom[1] = 1.0e4;
1443  }
1444 
1445  if (NIIIv->dE == NULL){
1446  NIIIv->dE = ARRAY_2D(NIIIv->nlev, NIIIv->nlev, double);
1447  NIIIv->A = ARRAY_2D(NIIIv->nlev, NIIIv->nlev, double);
1448  NIIIv->omega = ARRAY_3D(NIIIv->nlev, NIIIv->nlev, NIIIv->nTom, double);
1449  }
1450 
1451  for (i = 0 ; i < NIIIv->nlev ; i++) {
1452  for (j = 0 ; j < NIIIv->nlev ; j++) {
1453  NIIIv->dE[i][j] = -1.0;
1454  NIIIv->A[i][j] = -1.0;
1455  for (n = 0; n < NIIIv->nTom; n++){
1456  NIIIv->omega[i][j][n] = 0.0;
1457  }
1458  }}
1459 
1460 
1461  NIIIv->wght[_2P12] = 2.; /* 2 J + 1 */
1462  NIIIv->wght[_2P32] = 4.; /* */
1463  NIIIv->wght[_4P12] = 2.; /* */
1464  NIIIv->wght[_4P32] = 4.; /* */
1465  NIIIv->wght[_4P52] = 6.; /* */
1466 
1467 /*
1468  NIIIv->omega[_2P32][_2P12][0] = 1.32;
1469  NIIIv->omega[_2P32][_2P12][1] = 1.45;
1470  NIIIv->omega[_2P32][_2P12][2] = 1.55;
1471  NIIIv->omega[_2P32][_2P12][3] = 1.64;
1472 
1473  NIIIv->omega[_4P12][_2P12][0] = 1.89e-1;
1474  NIIIv->omega[_4P12][_2P12][1] = 1.98e-1;
1475  NIIIv->omega[_4P12][_2P12][2] = 2.04e-1;
1476  NIIIv->omega[_4P12][_2P12][3] = 2.07e-1;
1477 
1478  NIIIv->omega[_4P12][_2P32][0] = 1.35e-1;
1479  NIIIv->omega[_4P12][_2P32][1] = 1.51e-1;
1480  NIIIv->omega[_4P12][_2P32][2] = 1.62e-1;
1481  NIIIv->omega[_4P12][_2P32][3] = 1.68e-1;
1482 
1483  NIIIv->omega[_4P32][_2P12][0] = 2.81e-1;
1484  NIIIv->omega[_4P32][_2P12][1] = 2.98e-1;
1485  NIIIv->omega[_4P32][_2P12][2] = 3.09e-1;
1486  NIIIv->omega[_4P32][_2P12][3] = 3.16e-1;
1487 
1488  NIIIv->omega[_4P32][_2P32][0] = 3.67e-1;
1489  NIIIv->omega[_4P32][_2P32][1] = 3.99e-1;
1490  NIIIv->omega[_4P32][_2P32][2] = 4.23e-1;
1491  NIIIv->omega[_4P32][_2P32][3] = 4.35e-1;
1492 
1493  NIIIv->omega[_4P32][_4P12][0] = 1.01;
1494  NIIIv->omega[_4P32][_4P12][1] = 1.10;
1495  NIIIv->omega[_4P32][_4P12][2] = 1.14;
1496  NIIIv->omega[_4P32][_4P12][3] = 1.16;
1497 
1498  NIIIv->omega[_4P52][_2P12][0] = 1.78e-1;
1499  NIIIv->omega[_4P52][_2P12][1] = 2.01e-1;
1500  NIIIv->omega[_4P52][_2P12][2] = 2.19e-1;
1501  NIIIv->omega[_4P52][_2P12][3] = 2.29e-1;
1502 
1503  NIIIv->omega[_4P52][_2P32][0] = 7.93e-1;
1504  NIIIv->omega[_4P52][_2P32][1] = 8.44e-1;
1505  NIIIv->omega[_4P52][_2P32][2] = 8.80e-1;
1506  NIIIv->omega[_4P52][_2P32][3] = 8.98e-1;
1507 
1508  NIIIv->omega[_4P52][_4P12][0] = 6.12e-1;
1509  NIIIv->omega[_4P52][_4P12][1] = 6.67e-1;
1510  NIIIv->omega[_4P52][_4P12][2] = 6.95e-1;
1511  NIIIv->omega[_4P52][_4P12][3] = 7.11e-1;
1512 
1513  NIIIv->omega[_4P52][_4P32][0] = 1.88;
1514  NIIIv->omega[_4P52][_4P32][0] = 2.04;
1515  NIIIv->omega[_4P52][_4P32][0] = 2.12;
1516  NIIIv->omega[_4P52][_4P32][0] = 2.16;
1517 */
1518 
1519 if (NIIIv->isCHEB) {
1520  NIIIv->omega[_2P32][_2P12][0] = 0.7240;
1521  NIIIv->omega[_2P32][_2P12][1] = 0.2349;
1522  NIIIv->omega[_2P32][_2P12][2] = -0.0682;
1523  NIIIv->omega[_2P32][_2P12][3] = -0.0517;
1524 
1525  NIIIv->omega[_4P12][_2P12][0] = -3.6087;
1526  NIIIv->omega[_4P12][_2P12][1] = -0.0656;
1527  NIIIv->omega[_4P12][_2P12][2] = -0.0831;
1528  NIIIv->omega[_4P12][_2P12][3] = -0.0165;
1529 
1530  NIIIv->omega[_4P12][_2P32][0] = -4.1572;
1531  NIIIv->omega[_4P12][_2P32][1] = 0.0119;
1532  NIIIv->omega[_4P12][_2P32][2] = -0.1247;
1533  NIIIv->omega[_4P12][_2P32][3] = -0.0311;
1534 
1535  NIIIv->omega[_4P32][_2P12][0] = -2.7917;
1536  NIIIv->omega[_4P32][_2P12][1] = -0.0501;
1537  NIIIv->omega[_4P32][_2P12][2] = -0.0914;
1538  NIIIv->omega[_4P32][_2P12][3] = -0.0197;
1539 
1540  NIIIv->omega[_4P32][_2P32][0] = -2.2053;
1541  NIIIv->omega[_4P32][_2P32][1] = -0.0191;
1542  NIIIv->omega[_4P32][_2P32][2] = -0.1080;
1543  NIIIv->omega[_4P32][_2P32][3] = -0.0257;
1544 
1545  NIIIv->omega[_4P32][_4P12][0] = -0.0975;
1546  NIIIv->omega[_4P32][_4P12][1] = 0.0837;
1547  NIIIv->omega[_4P32][_4P12][2] = -0.0437;
1548  NIIIv->omega[_4P32][_4P12][3] = -0.0195;
1549 
1550  NIIIv->omega[_4P52][_2P12][0] = -3.5774;
1551  NIIIv->omega[_4P52][_2P12][1] = 0.0274;
1552  NIIIv->omega[_4P52][_2P12][2] = -0.1330;
1553  NIIIv->omega[_4P52][_2P12][3] = -0.0337;
1554 
1555  NIIIv->omega[_4P52][_2P32][0] = -0.7075;
1556  NIIIv->omega[_4P52][_2P32][1] = -0.0465;
1557  NIIIv->omega[_4P52][_2P32][2] = -0.0934;
1558  NIIIv->omega[_4P52][_2P32][3] = -0.0204;
1559 
1560  NIIIv->omega[_4P52][_4P12][0] = -0.7808;
1561  NIIIv->omega[_4P52][_4P12][1] = 0.1475;
1562  NIIIv->omega[_4P52][_4P12][2] = -0.0418;
1563  NIIIv->omega[_4P52][_4P12][3] = -0.0211;
1564 
1565  NIIIv->omega[_4P52][_4P32][0] = 1.2787;
1566  NIIIv->omega[_4P52][_4P32][0] = 0.1128;
1567  NIIIv->omega[_4P52][_4P32][0] = -0.0426;
1568  NIIIv->omega[_4P52][_4P32][0] = -0.0203;
1569 }
1570 
1571 if (NIIIv->isMAP) {
1572  NIIIv->omega[_2P32][_2P12][0] = 1.4450;
1573  NIIIv->omega[_2P32][_2P12][1] = 0.1840;
1574 
1575  NIIIv->omega[_4P12][_2P12][0] = 0.1980;
1576  NIIIv->omega[_4P12][_2P12][1] = 0.0630;
1577 
1578  NIIIv->omega[_4P12][_2P32][0] = 0.1510;
1579  NIIIv->omega[_4P12][_2P32][1] = 0.1640;
1580 
1581  NIIIv->omega[_4P32][_2P12][0] = 0.2980;
1582  NIIIv->omega[_4P32][_2P12][1] = 0.0840;
1583 
1584  NIIIv->omega[_4P32][_2P32][0] = 0.3990;
1585  NIIIv->omega[_4P32][_2P32][1] = 0.1250;
1586 
1587  NIIIv->omega[_4P52][_2P32][0] = 0.8440;
1588  NIIIv->omega[_4P52][_2P32][1] = 0.0890;
1589 
1590  NIIIv->omega[_4P32][_4P12][0] = 1.102;
1591  NIIIv->omega[_4P32][_4P12][1] = 0.0720;
1592 
1593  NIIIv->omega[_4P52][_2P12][0] = 0.2010;
1594  NIIIv->omega[_4P52][_2P12][1] = 0.1830;
1595 
1596  NIIIv->omega[_4P52][_4P12][0] = 0.6680;
1597  NIIIv->omega[_4P52][_4P12][1] = 0.0910;
1598 
1599  NIIIv->omega[_4P52][_4P32][0] = 2.0440;
1600  NIIIv->omega[_4P52][_4P32][0] = 0.0800;
1601 
1602 }
1603  NIIIv->dE[_2P32][_2P12] = 5.73e+5; NIIIv->A[_2P32][_2P12] = 4.77e-5;
1604  NIIIv->dE[_4P12][_2P12] = 1748.; NIIIv->A[_4P12][_2P12] = 3.08e+2;
1605  NIIIv->dE[_4P12][_2P32] = 1754.; NIIIv->A[_4P12][_2P32] = 5.22e+2;
1606  NIIIv->dE[_4P32][_2P12] = 1747.; NIIIv->A[_4P32][_2P12] = 9.49;
1607  NIIIv->dE[_4P32][_2P32] = 1752.; NIIIv->A[_4P32][_2P32] = 6.50e+1;
1608  NIIIv->dE[_4P52][_2P32] = 1747.; NIIIv->A[_4P52][_2P32] = 3.08e+2;
1609  NIIIv->dE[_4P32][_4P12] = 1.68e+6; NIIIv->A[_4P32][_4P12] = 0.00000;
1610  NIIIv->dE[_4P52][_2P12] = 1744.4; NIIIv->A[_4P52][_2P12] = 0.00000;
1611  NIIIv->dE[_4P52][_4P12] = 7.10e+5; NIIIv->A[_4P52][_4P12] = 0.00000;
1612  NIIIv->dE[_4P52][_4P32] = 1.23e+6; NIIIv->A[_4P52][_4P32] = 0.00000;
1613 
1614 
1615  Symmetrize_Coeff (NIIIv);
1616 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int isCHEB
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
int isMAP
Definition: cooling_defs.h:112
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void NIV_INIT ( Ion NIVv)

Definition at line 1619 of file ion_init.c.

1623 {
1624  int i, j, n;
1625  int S0, P1, P2, P1_1;
1626 
1627  NIVv->N = 0.9e-4 ; /* abundance of N with respect to H (Raymond) */
1628  NIVv->nlev = 4;
1629 
1630  S0 = 0;
1631  P1 = 1;
1632  P2 = 2;
1633  P1_1 = 3;
1634 
1635  NIVv->nTom = 4;
1636  NIVv->Tom[0] = 0.5e4;
1637  NIVv->Tom[1] = 1.0e4;
1638  NIVv->Tom[2] = 1.5e4;
1639  NIVv->Tom[3] = 2.0e4;
1640 
1641  if (NIVv->dE == NULL){
1642  NIVv->dE = ARRAY_2D(NIVv->nlev, NIVv->nlev, double);
1643  NIVv->A = ARRAY_2D(NIVv->nlev, NIVv->nlev, double);
1644  NIVv->omega = ARRAY_3D(NIVv->nlev, NIVv->nlev, NIVv->nTom, double);
1645  }
1646 
1647 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
1648  O GET PROPER ORDER LATER */
1649 
1650  for (i = 0 ; i < NIVv->nlev ; i++) {
1651  for (j = 0 ; j < NIVv->nlev ; j++) {
1652  NIVv->dE[i][j] = -1.0;
1653  NIVv->A[i][j] = -1.0;
1654  for (n = 0; n < NIVv->nTom; n++){
1655  NIVv->omega[i][j][n] = -1.0;
1656  }
1657  }}
1658 
1659 
1660  NIVv->wght[S0] = 1.; /* 2 J + 1 */
1661  NIVv->wght[P1] = 3.; /* */
1662  NIVv->wght[P2] = 5.; /* */
1663  NIVv->wght[P1_1] = 3.; /* */
1664 
1665 
1666  NIVv->omega[P2][S0][0] = 9.37e-1 * (5.0)/(3.0*3.0);
1667  NIVv->omega[P2][S0][1] = 9.05e-1 * (5.0)/(3.0*3.0);
1668  NIVv->omega[P2][S0][2] = 8.79e-1 * (5.0)/(3.0*3.0);
1669  NIVv->omega[P2][S0][3] = 8.58e-1 * (5.0)/(3.0*3.0);
1670 
1671  NIVv->omega[P1][S0][0] = 9.37e-1 *(3.0)/(3.0 * 3.0);
1672  NIVv->omega[P1][S0][1] = 9.05e-1 *(3.0)/(3.0 * 3.0);
1673  NIVv->omega[P1][S0][2] = 9.05e-1 *(3.0)/(3.0 * 3.0);
1674  NIVv->omega[P1][S0][3] = 8.58e-1 *(3.0)/(3.0 * 3.0);
1675 
1676  NIVv->omega[P1_1][S0][0] = 3.84;
1677  NIVv->omega[P1_1][S0][1] = 3.53;
1678  NIVv->omega[P1_1][S0][2] = 3.41;
1679  NIVv->omega[P1_1][S0][3] = 3.36;
1680 
1681  /* fake data */
1682 /*
1683  NIVv->omega[P2][P1][0] = 9.37e-31;
1684  NIVv->omega[P2][P1][1] = 9.05e-31;
1685  NIVv->omega[P2][P1][2] = 8.79e-31;
1686  NIVv->omega[P2][P1][3] = 8.58e-31;
1687 
1688  NIVv->omega[P1_1][P1][0] = 9.37e-31;
1689  NIVv->omega[P1_1][P1][1] = 9.05e-31;
1690  NIVv->omega[P1_1][P1][2] = 8.79e-31;
1691  NIVv->omega[P1_1][P1][3] = 8.58e-31;
1692 
1693  NIVv->omega[P1_1][P2][0] = 9.37e-31;
1694  NIVv->omega[P1_1][P2][1] = 9.05e-31;
1695  NIVv->omega[P1_1][P2][2] = 8.79e-31;
1696  NIVv->omega[P1_1][P2][3] = 8.58e-31;
1697 */
1698 
1699  NIVv->dE[P2][S0] = 1483.3; NIVv->A[P2][S0] = 3.e-3 ;
1700  NIVv->dE[P1][S0] = 1486.4; NIVv->A[P1][S0] = 1.e-3;
1701  NIVv->dE[P1_1][S0] = 765.15; NIVv->A[P1_1][S0] = 5.4e-7;
1702 /* NIVv->dE[P2][P1] = 6.94e+5; NIVv->A[P2][P1] = 2.1e-31;
1703  NIVv->dE[P1_1][P1] = 6.94e+5; NIVv->A[P1_1][P1] = 1.2e-31;
1704  NIVv->dE[P1_1][P2] = 6.94e+5; NIVv->A[P1_1][P2] = 7.5e-31;
1705 */
1706 
1707  Symmetrize_Coeff (NIVv);
1708 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void NV_INIT ( Ion NVv)

Definition at line 1711 of file ion_init.c.

1715 {
1716  int i, j, n;
1717  int S, P;
1718 
1719  NVv->N = 0.9e-4 ; /* abundance of N with respect to H (Raymond) */
1720  NVv->nlev = 2;
1721 
1722  S = 0;
1723  P = 1;
1724 
1725  NVv->nTom = 4;
1726  NVv->Tom[0] = 0.5e4;
1727  NVv->Tom[1] = 1.0e4;
1728  NVv->Tom[2] = 1.5e4;
1729  NVv->Tom[3] = 2.0e4;
1730 
1731  if (NVv->dE == NULL){
1732  NVv->dE = ARRAY_2D(NVv->nlev, NVv->nlev, double);
1733  NVv->A = ARRAY_2D(NVv->nlev, NVv->nlev, double);
1734  NVv->omega = ARRAY_3D(NVv->nlev, NVv->nlev, NVv->nTom, double);
1735  }
1736 
1737 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
1738  O GET PROPER ORDER LATER */
1739 
1740  for (i = 0 ; i < NVv->nlev ; i++) {
1741  for (j = 0 ; j < NVv->nlev ; j++) {
1742  NVv->dE[i][j] = -1.0;
1743  NVv->A[i][j] = -1.0;
1744  for (n = 0; n < NVv->nTom; n++){
1745  NVv->omega[i][j][n] = -1.0;
1746  }
1747  }}
1748 
1749 
1750  NVv->wght[S] = 2.; /* 2 J + 1 */
1751  NVv->wght[P] = 4.; /* */
1752 /* NVv->wght[P2] = 5.;
1753  NVv->wght[P1_1] = 3.; */
1754 
1755 
1756  NVv->omega[P][S][0] = 6.61;
1757  NVv->omega[P][S][1] = 6.65;
1758  NVv->omega[P][S][2] = 6.69;
1759  NVv->omega[P][S][3] = 6.72;
1760 
1761  NVv->dE[P][S] = 1238.8; NVv->A[P][S] = 3.41e+8 ;
1762 
1763  Symmetrize_Coeff (NVv);
1764 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void OI_INIT ( Ion OIv)

Definition at line 1767 of file ion_init.c.

1771 {
1772  int i, j, n;
1773  int S0, P0, P1, P2, D2;
1774 
1775  OIv->N = 6.e-4 ; /* abundance of O with respect to H (Raymond) */
1776  OIv->nlev = 5;
1777 
1778  OIv->isMAP = 1;
1779 
1780  P0 = 2;
1781  P1 = 1;
1782  P2 = 0;
1783  D2 = 3;
1784  S0 = 4;
1785 
1786  OIv->nTom = 2;
1787  OIv->Tom[0] = 0.5e4;
1788  OIv->Tom[1] = 1.0e4;
1789 
1790  if (OIv->dE == NULL){
1791  OIv->dE = ARRAY_2D(OIv->nlev, OIv->nlev, double);
1792  OIv->A = ARRAY_2D(OIv->nlev, OIv->nlev, double);
1793  OIv->omega = ARRAY_3D(OIv->nlev, OIv->nlev, OIv->nTom, double);
1794  }
1795 
1796 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
1797  O GET PROPER ORDER LATER */
1798 
1799  for (i = 0 ; i < OIv->nlev ; i++) {
1800  for (j = 0 ; j < OIv->nlev ; j++) {
1801  OIv->dE[i][j] = -1.0;
1802  OIv->A[i][j] = -1.0;
1803  for (n = 0; n < OIv->nTom; n++){
1804  OIv->omega[i][j][n] = 0.0;
1805  }
1806  }}
1807 
1808 
1809  OIv->wght[S0] = 1.; /* 2 J + 1 */
1810  OIv->wght[P0] = 1.; /* */
1811  OIv->wght[P1] = 3.; /* */
1812  OIv->wght[P2] = 5.; /* */
1813  OIv->wght[D2] = 5.; /* */
1814 
1815 
1816 /* OLD data from Pradhan commented - T-dep data from MAPPINGS added */
1817 
1818 /*
1819  OIv->omega[D2][P0][0] = 1.24e-1;
1820  OIv->omega[D2][P0][1] = 2.66e-1;
1821  OIv->omega[D2][P0][2] = 5.01e-1;
1822 
1823  OIv->omega[D2][P1][0] = OIv->omega[D2][P0][0]*(3.0)/(3.0 * 3.0);
1824  OIv->omega[D2][P1][1] = OIv->omega[D2][P0][1]*(3.0)/(3.0 * 3.0);
1825  OIv->omega[D2][P1][2] = OIv->omega[D2][P0][2]*(3.0)/(3.0 * 3.0);
1826 
1827  OIv->omega[D2][P2][0] = OIv->omega[D2][P0][0]*(5.0)/(3.0 * 3.0);
1828  OIv->omega[D2][P2][1] = OIv->omega[D2][P0][1]*(5.0)/(3.0 * 3.0);
1829  OIv->omega[D2][P2][2] = OIv->omega[D2][P0][2]*(5.0)/(3.0 * 3.0);
1830 
1831  OIv->omega[S0][P1][0] = 1.53e-2;
1832  OIv->omega[S0][P1][1] = 3.24e-2;
1833  OIv->omega[S0][P1][2] = 6.07e-2;
1834 
1835  OIv->omega[S0][P2][0] = OIv->omega[S0][P1][0]*(5.0)/(3.0*3.0);
1836  OIv->omega[S0][P2][1] = OIv->omega[S0][P1][1]*(5.0)/(3.0*3.0);
1837  OIv->omega[S0][P2][2] = OIv->omega[S0][P1][2]*(5.0)/(3.0*3.0);
1838 
1839  OIv->omega[S0][D2][0] = 7.32e-2;
1840  OIv->omega[S0][D2][1] = 1.05e-1;
1841  OIv->omega[S0][D2][2] = 1.48e-1;
1842 
1843  OIv->omega[P0][P1][0] = 1.12e-2;
1844  OIv->omega[P0][P1][1] = 2.65e-2;
1845  OIv->omega[P0][P1][2] = 6.93e-2;
1846 
1847  OIv->omega[P0][P2][0] = 1.48e-2;
1848  OIv->omega[P0][P2][1] = 2.92e-2;
1849  OIv->omega[P0][P2][2] = 5.36e-2;
1850 
1851  OIv->omega[P1][P2][0] = 4.74e-2;
1852  OIv->omega[P1][P2][1] = 9.87e-2;
1853  OIv->omega[P1][P2][2] = 2.07e-1;
1854 
1855  OIv->omega[S0][P0][0] = 1.0e-30;
1856  OIv->omega[S0][P0][1] = 1.0e-30;
1857  OIv->omega[S0][P0][2] = 1.0e-30;
1858 */
1859 
1860  OIv->omega[D2][P0][0] = 2.955e-2;
1861  OIv->omega[D2][P0][1] = 1.1;
1862 
1863  OIv->omega[D2][P1][0] = 8.866e-2;
1864  OIv->omega[D2][P1][1] = 1.1;
1865 
1866  OIv->omega[D2][P2][0] = 1.4778e-1;
1867  OIv->omega[D2][P2][1] = 1.1;
1868 
1869  OIv->omega[S0][P1][0] = 1.08e-2;
1870  OIv->omega[S0][P1][1] = 1.08;
1871 
1872  OIv->omega[S0][P2][0] = 1.80e-2;
1873  OIv->omega[S0][P2][1] = 1.08;
1874 
1875  OIv->omega[S0][D2][0] = 0.10500;
1876  OIv->omega[S0][D2][1] = 0.52;
1877 
1878  OIv->omega[P0][P1][0] = 3.49e-2;
1879  OIv->omega[P0][P1][1] = 1.2;
1880 
1881  OIv->omega[P0][P2][0] = 0.02710;
1882  OIv->omega[P0][P2][1] = 0.94;
1883 
1884  OIv->omega[P1][P2][0] = 0.10500;
1885  OIv->omega[P1][P2][1] = 1.02;
1886 
1887 /*
1888  OIv->omega[S0][P0][0] = 0.00360;
1889  OIv->omega[S0][P0][1] = 1.08;
1890 */
1891 
1892  OIv->dE[D2][P2] = 6300.3; OIv->A[D2][P2] = 6.34e-3; /* dE [ HIGHER ][LOWER ] */
1893  OIv->dE[D2][P1] = 6363.8; OIv->A[D2][P1] = 2.11e-3;
1894  OIv->dE[D2][P0] = 6393.5; OIv->A[D2][P0] = 7.23e-7;
1895  OIv->dE[P1][P0] = 1.455e+6;OIv->A[P1][P0] = 1.74e-5;
1896  OIv->dE[P2][P0] = 4.406e+5;OIv->A[P2][P0] = 1.0e-10;
1897  OIv->dE[P2][P1] = 6.318e+5;OIv->A[P2][P1] = 8.92e-5;
1898  OIv->dE[S0][P1] = 2972.3; OIv->A[S0][P1] = 7.32e-2;
1899  OIv->dE[S0][P2] = 2959.2; OIv->A[S0][P2] = 2.88e-4;
1900  OIv->dE[S0][D2] = 5577.3; OIv->A[S0][D2] = 1.22e+0;
1901 /* OIv->dE[S0][P0] = 2.e+30; OIv->A[S0][P0] = 0.00000; fittizio */
1902 
1903  Symmetrize_Coeff (OIv);
1904 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
int isMAP
Definition: cooling_defs.h:112
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void OII_INIT ( Ion OIIv)

Definition at line 1907 of file ion_init.c.

1911 {
1912  int i, j, n;
1913  int S32, D52, D32, P32, P12;
1914 
1915  OIIv->N = 6.e-4 ; /* abundance of O with respect to H (Raymond) */
1916  OIIv->nlev = 5;
1917 
1918  S32 = 0;
1919  D52 = 1;
1920  D32 = 2;
1921  P32 = 3;
1922  P12 = 4;
1923 
1924  OIIv->nTom = 4;
1925  OIIv->Tom[0] = 0.5e4;
1926  OIIv->Tom[1] = 1.0e4;
1927  OIIv->Tom[2] = 1.5e4;
1928  OIIv->Tom[3] = 2.0e4;
1929 
1930  if (OIIv->dE == NULL){
1931  OIIv->dE = ARRAY_2D(OIIv->nlev, OIIv->nlev, double);
1932  OIIv->A = ARRAY_2D(OIIv->nlev, OIIv->nlev, double);
1933  OIIv->omega = ARRAY_3D(OIIv->nlev, OIIv->nlev, OIIv->nTom, double);
1934  }
1935 
1936 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
1937  O GET PROPER ORDER LATER */
1938 
1939  for (i = 0 ; i < OIIv->nlev ; i++) {
1940  for (j = 0 ; j < OIIv->nlev ; j++) {
1941  OIIv->dE[i][j] = -1.0;
1942  OIIv->A[i][j] = -1.0;
1943  for (n = 0; n < OIIv->nTom; n++){
1944  OIIv->omega[i][j][n] = -1.0;
1945  }
1946  }}
1947 
1948 
1949  OIIv->wght[S32] = 4.; /* 2 J + 1 */
1950  OIIv->wght[D52] = 6.; /* */
1951  OIIv->wght[D32] = 4.; /* */
1952  OIIv->wght[P32] = 4.; /* */
1953  OIIv->wght[P12] = 2.; /* */
1954 
1955 
1956  OIIv->omega[D52][S32][0] = 7.95e-1;
1957  OIIv->omega[D52][S32][1] = 8.01e-1;
1958  OIIv->omega[D52][S32][2] = 8.10e-1;
1959  OIIv->omega[D52][S32][3] = 8.18e-1;
1960 
1961  OIIv->omega[D32][S32][0] = 5.30e-1;
1962  OIIv->omega[D32][S32][1] = 5.34e-1;
1963  OIIv->omega[D32][S32][2] = 5.41e-1;
1964  OIIv->omega[D32][S32][3] = 5.45e-1;
1965 
1966  OIIv->omega[P32][S32][0] = 2.65e-1;
1967  OIIv->omega[P32][S32][1] = 2.70e-1;
1968  OIIv->omega[P32][S32][2] = 2.75e-1;
1969  OIIv->omega[P32][S32][3] = 2.80e-1;
1970 
1971  OIIv->omega[P12][S32][0] = 1.33e-1;
1972  OIIv->omega[P12][S32][1] = 1.35e-1;
1973  OIIv->omega[P12][S32][2] = 1.37e-1;
1974  OIIv->omega[P12][S32][3] = 1.40e-1;
1975 
1976  OIIv->omega[D52][D32][0] = 1.22;
1977  OIIv->omega[D52][D32][1] = 1.17;
1978  OIIv->omega[D52][D32][2] = 1.14;
1979  OIIv->omega[D52][D32][3] = 1.11;
1980 
1981  OIIv->omega[P32][P12][0] = 2.80e-1;
1982  OIIv->omega[P32][P12][1] = 2.87e-1;
1983  OIIv->omega[P32][P12][2] = 2.93e-1;
1984  OIIv->omega[P32][P12][3] = 3.00e-1;
1985 
1986  OIIv->omega[P32][D52][0] = 7.18e-1;
1987  OIIv->omega[P32][D52][1] = 7.30e-1;
1988  OIIv->omega[P32][D52][2] = 7.41e-1;
1989  OIIv->omega[P32][D52][3] = 7.55e-1;
1990 
1991  OIIv->omega[P32][D32][0] = 4.01e-1;
1992  OIIv->omega[P32][D32][1] = 4.08e-1;
1993  OIIv->omega[P32][D32][2] = 4.14e-1;
1994  OIIv->omega[P32][D32][3] = 4.22e-1;
1995 
1996  OIIv->omega[P12][D52][0] = 2.90e-1;
1997  OIIv->omega[P12][D52][1] = 2.95e-1;
1998  OIIv->omega[P12][D52][2] = 3.00e-1;
1999  OIIv->omega[P12][D52][3] = 3.05e-1;
2000 
2001  OIIv->omega[P12][D32][0] = 2.70e-1;
2002  OIIv->omega[P12][D32][1] = 2.75e-1;
2003  OIIv->omega[P12][D32][2] = 2.81e-1;
2004  OIIv->omega[P12][D32][3] = 2.84e-1;
2005 
2006  OIIv->dE[D52][S32] = 3728.8; OIIv->A[D52][S32] = 3.50e-5; /* dE [ HIGHER ][LOWER ] */
2007  OIIv->dE[D32][S32] = 3726.0; OIIv->A[D32][S32] = 1.79e-4;
2008  OIIv->dE[P32][S32] = 2470.3; OIIv->A[P32][S32] = 5.70e-2;
2009  OIIv->dE[P12][S32] = 2470.2; OIIv->A[P12][S32] = 2.34e-2;
2010  OIIv->dE[D52][D32] = 4.97e+6; OIIv->A[D52][D32] = 1.30e-7;
2011  OIIv->dE[P32][P12] = 5.00e+6; OIIv->A[P32][P12] = 2.08e-11;
2012  OIIv->dE[P32][D52] = 7319.9; OIIv->A[P32][D52] = 1.07e-1;
2013  OIIv->dE[P32][D32] = 7330.7; OIIv->A[P32][D32] = 5.78e-2;
2014  OIIv->dE[P12][D52] = 7321.8; OIIv->A[P12][D52] = 6.15e-2;
2015  OIIv->dE[P12][D32] = 7329.6; OIIv->A[P12][D32] = 1.02e-1;
2016 
2017  Symmetrize_Coeff (OIIv);
2018 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void OIII_INIT ( Ion OIIIv)

Definition at line 2021 of file ion_init.c.

2025 {
2026  int i, j, n;
2027  int P0, P1, P2, D2, S0;
2028 
2029  /* MAPPINGS data used for this one */
2030 
2031  OIIIv->N = 6.e-4; /* abundance of O with respect to H (Raymond) */
2032  OIIIv->nlev = 5;
2033 
2034  P0 = 0;
2035  P1 = 1;
2036  P2 = 2;
2037  D2 = 3;
2038  S0 = 4;
2039 
2040  OIIIv->isMAP = 1;
2041 
2042  OIIIv->nTom = 2;
2043  OIIIv->Tom[0] = 0.5e4;
2044  OIIIv->Tom[1] = 1.5e4;
2045 
2046 
2047  if (OIIIv->dE == NULL){
2048  OIIIv->dE = ARRAY_2D(OIIIv->nlev, OIIIv->nlev, double);
2049  OIIIv->A = ARRAY_2D(OIIIv->nlev, OIIIv->nlev, double);
2050  OIIIv->omega = ARRAY_3D(OIIIv->nlev, OIIIv->nlev, OIIIv->nTom, double);
2051  }
2052 
2053 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
2054  O GET PROPER ORDER LATER */
2055 
2056  for (i = 0 ; i < OIIIv->nlev ; i++) {
2057  for (j = 0 ; j < OIIIv->nlev ; j++) {
2058  OIIIv->dE[i][j] = -1.0;
2059  OIIIv->A[i][j] = -1.0;
2060  for (n = 0; n < OIIIv->nTom; n++){
2061  OIIIv->omega[i][j][n] = 0.0;
2062  }
2063  }}
2064 
2065  OIIIv->wght[P0] = 1.; /* 2 J + 1 */
2066  OIIIv->wght[P1] = 3.; /* */
2067  OIIIv->wght[P2] = 5.; /* */
2068  OIIIv->wght[D2] = 5.; /* */
2069  OIIIv->wght[S0] = 1.; /* */
2070 
2071 
2072  OIIIv->omega[D2][P0][0] = 0.2411;
2073  OIIIv->omega[D2][P0][1] = 0.1400;
2074 
2075  OIIIv->omega[D2][P1][0] = 0.7233;
2076  OIIIv->omega[D2][P1][1] = 0.1400;
2077 
2078  OIIIv->omega[D2][P2][0] = 1.2056;
2079  OIIIv->omega[D2][P2][1] = 0.1400;
2080 
2081  OIIIv->omega[S0][P1][0] = 0.0902;
2082  OIIIv->omega[S0][P1][1] = 0.1860;
2083 
2084  OIIIv->omega[S0][P2][0] = 0.1530;
2085  OIIIv->omega[S0][P2][1] = 0.1860;
2086 
2087  OIIIv->omega[S0][D2][0] = 0.6200;
2088  OIIIv->omega[S0][D2][1] = 0.0000;
2089 
2090  OIIIv->omega[P1][P0][0] = 0.5420;
2091  OIIIv->omega[P1][P0][1] = 0.0000;
2092 
2093  OIIIv->omega[P2][P0][0] = 0.2710;
2094  OIIIv->omega[P2][P0][1] = 0.0000;
2095 
2096  OIIIv->omega[P2][P1][0] = 1.2900;
2097  OIIIv->omega[P2][P1][1] = 0.0000;
2098 
2099  OIIIv->omega[S0][P0][0] = 0.0307;
2100  OIIIv->omega[S0][P0][1] = 0.1860;
2101 
2102 
2103  /* Aggarwal '93 CS data (up to 40000 K)
2104  OIIIv->omega[D][P][0] = 2.039;
2105  OIIIv->omega[D][P][1] = 2.191;
2106  OIIIv->omega[D][P][2] = 2.519;
2107  OIIIv->omega[D][P][3] = 2.582;
2108 
2109  OIIIv->omega[S][P][0] = 2.732e-1;
2110  OIIIv->omega[S][P][1] = 2.885e-1;
2111  OIIIv->omega[S][P][2] = 3.404e-1;
2112  OIIIv->omega[S][P][3] = 3.550e-1;
2113 
2114  OIIIv->omega[S][D][0] = 4.312e-1;
2115  OIIIv->omega[S][D][1] = 5.227e-1;
2116  OIIIv->omega[S][D][2] = 5.812e-1;
2117  OIIIv->omega[S][D][3] = 5.745e-1;
2118 */
2119 
2120  OIIIv->dE[D2][P0] = 4932.6; OIIIv->A[D2][P0] = 2.74e-6; /* dE [ HIGHER ][LOWER ] */
2121  OIIIv->dE[D2][P1] = 4958.9; OIIIv->A[D2][P1] = 6.74e-3;
2122  OIIIv->dE[D2][P2] = 5006.7; OIIIv->A[D2][P2] = 1.96e-2;
2123  OIIIv->dE[S0][P1] = 2321.0; OIIIv->A[S0][P1] = 2.17e-1;
2124  OIIIv->dE[S0][P2] = 2332.1; OIIIv->A[S0][P2] = 7.85e-4;
2125  OIIIv->dE[S0][D2] = 4363.2; OIIIv->A[S0][D2] = 1.78;
2126  OIIIv->dE[P1][P0] = 883562.; OIIIv->A[P1][P0] = 2.62e-5;
2127  OIIIv->dE[P2][P0] = 326611.; OIIIv->A[P2][P0] = 3.02e-11;
2128  OIIIv->dE[P2][P1] = 518145.; OIIIv->A[P2][P1] = 9.76e-5;
2129 /* OIIIv->dE[S0][P0] = 1.e+20; OIIIv->A[S0][P0] = 0.0000;
2130 */
2131 
2132  Symmetrize_Coeff (OIIIv);
2133 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
int isMAP
Definition: cooling_defs.h:112
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void OIV_INIT ( Ion OIVv)

Definition at line 2136 of file ion_init.c.

2140 {
2141  int i, j, n;
2142  int _2P12, _2P32, _4P12, _4P32, _4P52;
2143 
2144  /* MAPPINGS CS data here */
2145 
2146  OIVv->isMAP = 1;
2147 
2148  OIVv->N = 6.e-4 ; /* abundance of O with respect to H (Raymond) */
2149  OIVv->nlev = 5;
2150 
2151  _2P12 = 0;
2152  _2P32 = 1;
2153  _4P12 = 2;
2154  _4P32 = 3;
2155  _4P52 = 4;
2156 
2157  OIVv->nTom = 2;
2158  OIVv->Tom[0] = 0.5e4;
2159  OIVv->Tom[1] = 1.0e4;
2160 
2161  if (OIVv->dE == NULL){
2162  OIVv->dE = ARRAY_2D(OIVv->nlev, OIVv->nlev, double);
2163  OIVv->A = ARRAY_2D(OIVv->nlev, OIVv->nlev, double);
2164  OIVv->omega = ARRAY_3D(OIVv->nlev, OIVv->nlev, OIVv->nTom, double);
2165  }
2166 
2167 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
2168  O GET PROPER ORDER LATER */
2169 
2170  for (i = 0 ; i < OIVv->nlev ; i++) {
2171  for (j = 0 ; j < OIVv->nlev ; j++) {
2172  OIVv->dE[i][j] = -1.0;
2173  OIVv->A[i][j] = -1.0;
2174  for (n = 0; n < OIVv->nTom; n++){
2175  OIVv->omega[i][j][n] = 0.0;
2176  }
2177  }}
2178 
2179 
2180  OIVv->wght[_2P12] = 2.; /* 2 J + 1 */
2181  OIVv->wght[_2P32] = 4.; /* */
2182  OIVv->wght[_4P12] = 2.; /* */
2183  OIVv->wght[_4P32] = 4.; /* */
2184  OIVv->wght[_4P52] = 6.; /* */
2185 
2186 
2187  OIVv->omega[_2P32][_2P12][0] = 2.4200;
2188  OIVv->omega[_2P32][_2P12][1] = 0.0920;
2189 
2190  OIVv->omega[_4P12][_2P12][0] = 0.1330;
2191  OIVv->omega[_4P12][_2P12][1] = 0.1610;
2192 
2193  OIVv->omega[_4P12][_2P32][0] = 0.1020;
2194  OIVv->omega[_4P12][_2P32][1] = 0.2940;
2195 
2196  OIVv->omega[_4P32][_2P12][0] = 0.2010;
2197  OIVv->omega[_4P32][_2P12][1] = 0.1890;
2198 
2199  OIVv->omega[_4P32][_2P32][0] = 0.2700;
2200  OIVv->omega[_4P32][_2P32][1] = 0.2430;
2201 
2202  OIVv->omega[_4P32][_4P12][0] = 1.0880;
2203  OIVv->omega[_4P32][_4P12][1] = 0.1060;
2204 
2205  OIVv->omega[_4P52][_2P12][0] = 0.1370;
2206  OIVv->omega[_4P52][_2P12][1] = 0.3200;
2207 
2208  OIVv->omega[_4P52][_2P32][0] = 0.5690;
2209  OIVv->omega[_4P52][_2P32][1] = 0.1950;
2210 
2211  OIVv->omega[_4P52][_4P12][0] = 0.6870;
2212  OIVv->omega[_4P52][_4P12][1] = 0.1070;
2213 
2214  OIVv->omega[_4P52][_4P32][0] = 2.0540;
2215  OIVv->omega[_4P52][_4P32][1] = 0.1070;
2216 
2217 
2218  OIVv->dE[_2P32][_2P12] = 2.587e+5; OIVv->A[_2P32][_2P12] = 5.18e-4;
2219  OIVv->dE[_4P12][_2P12] = 1426.46; OIVv->A[_4P12][_2P12] = 1.54e+3;
2220  OIVv->dE[_4P12][_2P32] = 1434.07; OIVv->A[_4P12][_2P32] = 1.56e+3;
2221  OIVv->dE[_4P32][_2P12] = 1423.84; OIVv->A[_4P32][_2P12] = 4.50e+1;
2222  OIVv->dE[_4P32][_2P32] = 1431.42; OIVv->A[_4P32][_2P32] = 2.56e+2;
2223  OIVv->dE[_4P32][_4P12] = 1.68e+6; OIVv->A[_4P32][_4P12] = 5.070e-5;
2224  OIVv->dE[_4P52][_2P12] = 1420.19; OIVv->A[_4P52][_2P12] = 0.00000;
2225  OIVv->dE[_4P52][_2P32] = 1427.78; OIVv->A[_4P52][_2P32] = 1.24e+3;
2226  OIVv->dE[_4P52][_4P12] = 3.26e+5; OIVv->A[_4P52][_4P12] = 0.00000;
2227  OIVv->dE[_4P52][_4P32] = 5.62e+5; OIVv->A[_4P52][_4P32] = 1.02e-4;
2228 
2229  Symmetrize_Coeff (OIVv);
2230 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
int isMAP
Definition: cooling_defs.h:112
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void OV_INIT ( Ion OVv)

Definition at line 2233 of file ion_init.c.

2237 {
2238  int i, j, n;
2239  int S0, P0, P1, P2, P11;
2240 
2241  /* Pradhan data here */
2242 
2243  OVv->N = 6.e-4 ; /* abundance of O with respect to H (Raymond) */
2244  OVv->nlev = 5;
2245 
2246  S0 = 0;
2247  P0 = 1;
2248  P1 = 2;
2249  P2 = 3;
2250  P11 = 4;
2251 
2252  OVv->nTom = 4;
2253  OVv->Tom[0] = 0.5e4;
2254  OVv->Tom[1] = 1.0e4;
2255  OVv->Tom[2] = 1.5e4;
2256  OVv->Tom[3] = 2.0e4;
2257 
2258  if (OVv->dE == NULL){
2259  OVv->dE = ARRAY_2D(OVv->nlev, OVv->nlev, double);
2260  OVv->A = ARRAY_2D(OVv->nlev, OVv->nlev, double);
2261  OVv->omega = ARRAY_3D(OVv->nlev, OVv->nlev, OVv->nTom, double);
2262  }
2263 
2264 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
2265  O GET PROPER ORDER LATER */
2266 
2267  for (i = 0 ; i < OVv->nlev ; i++) {
2268  for (j = 0 ; j < OVv->nlev ; j++) {
2269  OVv->dE[i][j] = -1.0;
2270  OVv->A[i][j] = -1.0;
2271  for (n = 0; n < OVv->nTom; n++){
2272  OVv->omega[i][j][n] = -1.0;
2273  }
2274  }}
2275 
2276 
2277  OVv->wght[S0] = 1.; /* 2 J + 1 */
2278  OVv->wght[P0] = 1.; /* */
2279  OVv->wght[P1] = 3.; /* */
2280  OVv->wght[P2] = 5.; /* */
2281  OVv->wght[P11] = 3.; /* */
2282 
2283 
2284  OVv->omega[P2][S0][0] = 7.33e-1 * (5.0)/(3.0*3.0);
2285  OVv->omega[P2][S0][1] = 7.21e-1 * (5.0)/(3.0*3.0);
2286  OVv->omega[P2][S0][2] = 6.74e-1 * (5.0)/(3.0*3.0);
2287  OVv->omega[P2][S0][3] = 6.39e-1 * (5.0)/(3.0*3.0);
2288 
2289  OVv->omega[P1][S0][0] = 7.33e-1 * (3.0)/(3.0*3.0);
2290  OVv->omega[P1][S0][1] = 7.21e-1 * (3.0)/(3.0*3.0);
2291  OVv->omega[P1][S0][2] = 6.74e-1 * (3.0)/(3.0*3.0);
2292  OVv->omega[P1][S0][3] = 6.39e-1 * (3.0)/(3.0*3.0);
2293 
2294  OVv->omega[P0][S0][0] = 7.33e-1 * (1.0)/(3.0*3.0);
2295  OVv->omega[P0][S0][1] = 7.21e-1 * (1.0)/(3.0*3.0);
2296  OVv->omega[P0][S0][2] = 6.74e-1 * (1.0)/(3.0*3.0);
2297  OVv->omega[P0][S0][3] = 6.39e-1 * (1.0)/(3.0*3.0);
2298 
2299  OVv->omega[P11][S0][0] = 2.66;
2300  OVv->omega[P11][S0][1] = 2.76;
2301  OVv->omega[P11][S0][2] = 2.82;
2302  OVv->omega[P11][S0][3] = 2.85;
2303 
2304  OVv->omega[P1][P0][0] = 7.26e-1;
2305  OVv->omega[P1][P0][1] = 8.39e-1;
2306  OVv->omega[P1][P0][2] = 8.65e-1;
2307  OVv->omega[P1][P0][3] = 8.66e-1;
2308 
2309  OVv->omega[P2][P0][0] = 2.74e-1;
2310  OVv->omega[P2][P0][1] = 6.02e-1;
2311  OVv->omega[P2][P0][2] = 7.51e-1;
2312  OVv->omega[P2][P0][3] = 8.16e-1;
2313 
2314  OVv->omega[P2][P1][0] = 3.19;
2315  OVv->omega[P2][P1][1] = 2.86;
2316  OVv->omega[P2][P1][2] = 2.80;
2317  OVv->omega[P2][P1][3] = 2.77;
2318 /*
2319  OVv->omega[P11][P0][0] = 1.e-31;
2320  OVv->omega[P11][P0][1] = 1.e-31;
2321  OVv->omega[P11][P0][2] = 1.e-31;
2322  OVv->omega[P11][P0][3] = 1.e-31;
2323 
2324  OVv->omega[P11][P1][0] = 1.e-31;
2325  OVv->omega[P11][P1][1] = 1.e-31;
2326  OVv->omega[P11][P1][2] = 1.e-31;
2327  OVv->omega[P11][P1][3] = 1.e-31;
2328 
2329  OVv->omega[P11][P2][0] = 1.e-31;
2330  OVv->omega[P11][P2][1] = 1.e-31;
2331  OVv->omega[P11][P2][2] = 1.e-31;
2332  OVv->omega[P11][P2][3] = 1.e-31;
2333 */
2334 
2335  OVv->dE[P2][S0] = 1213.8; OVv->A[P2][S0] = 2.16e-2;
2336  OVv->dE[P1][S0] = 1218.3; OVv->A[P1][S0] = 2.25e+3;
2337  OVv->dE[P0][S0] = 1220.4; OVv->A[P0][S0] = 0.00000;
2338  OVv->dE[P11][S0] = 629.7; OVv->A[P11][S0] = 2.80e+9;
2339  OVv->dE[P1][P0] = 7.35e+5; OVv->A[P1][P0] = 5.81e-5;
2340  OVv->dE[P2][P0] = 2.26e+5; OVv->A[P2][P0] = 0.00000;
2341  OVv->dE[P2][P1] = 3.26e+5; OVv->A[P2][P1] = 3.55e-4;
2342 /* OVv->dE[P11][P0] = 1.e+20; OVv->A[P11][P0] = 0.00000;
2343  OVv->dE[P11][P1] = 1.e+20; OVv->A[P11][P1] = 0.00000;
2344  OVv->dE[P11][P2] = 1.e+20; OVv->A[P11][P2] = 0.00000;
2345 */
2346  Symmetrize_Coeff (OVv);
2347 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void SI_INIT ( Ion SIv)

Definition at line 2792 of file ion_init.c.

2797 {
2798  int i, j, n;
2799  int P2, P1, P0, D2, S0;
2800 
2801  SIv->N = 4.e-5; /* abundance of S with respect to H (Raymond) */
2802  SIv->nlev = 5;
2803 
2804  P2 = 0;
2805  P1 = 1;
2806  P0 = 2;
2807  D2 = 3;
2808  S0 = 4;
2809 
2810 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
2811  O GET PROPER ORDER LATER */
2812 
2813  SIv->nTom = 4;
2814  SIv->Tom[0] = 1.995e3;
2815  SIv->Tom[1] = 1.0e4;
2816  SIv->Tom[2] = 1.0e5;
2817  SIv->Tom[3] = 3.981e5;
2818 
2819  if (SIv->dE == NULL){
2820  SIv->dE = ARRAY_2D(SIv->nlev, SIv->nlev, double);
2821  SIv->A = ARRAY_2D(SIv->nlev, SIv->nlev, double);
2822  SIv->omega = ARRAY_3D(SIv->nlev, SIv->nlev, SIv->nTom, double);
2823  }
2824 
2825  for (i = 0 ; i < SIv->nlev ; i++) {
2826  for (j = 0 ; j < SIv->nlev ; j++) {
2827  SIv->dE[i][j] = -1.0;
2828  SIv->A[i][j] = -1.0;
2829  for (n = 0; n < SIv->nTom; n++){
2830  SIv->omega[i][j][n] = -1.0;
2831  }
2832  }}
2833 
2834  SIv->wght[P2] = 5.; /* 3P_2 */
2835  SIv->wght[P1] = 3.; /* 3P_1 */
2836  SIv->wght[P0] = 1.; /* 3P_0 */
2837  SIv->wght[D2] = 5.; /* 1D_2 */
2838  SIv->wght[S0] = 1.; /* 1S_0 */
2839 
2840 /* ---------------------------------------------------
2841  define collision strengths as function of
2842  temperature.
2843  --------------------------------------------------- */
2844 
2845 
2846  SIv->omega[P0][P1][0] = 0.056;
2847  SIv->omega[P0][P1][1] = 0.283;
2848  SIv->omega[P0][P1][2] = 1.862;
2849  SIv->omega[P0][P1][3] = 1.897;
2850 
2851  SIv->omega[P0][P2][0] = 0.011;
2852  SIv->omega[P0][P2][1] = 0.054;
2853  SIv->omega[P0][P2][2] = 0.415;
2854  SIv->omega[P0][P2][3] = 0.507;
2855 
2856  SIv->omega[D2][P0][0] = 0.058;
2857  SIv->omega[D2][P0][1] = 0.273;
2858  SIv->omega[D2][P0][2] = 1.609;
2859  SIv->omega[D2][P0][3] = 1.454;
2860 
2861  SIv->omega[S0][P0][0] = 0.007;
2862  SIv->omega[S0][P0][1] = 0.031;
2863  SIv->omega[S0][P0][2] = 0.195;
2864  SIv->omega[S0][P0][3] = 0.167;
2865 /*
2866  SIv->omega[S0][D2][0] = 1.0e-31;
2867  SIv->omega[S0][D2][1] = 1.0e-31;
2868  SIv->omega[S0][D2][2] = 1.0e-31;
2869  SIv->omega[S0][D2][3] = 1.0e-31;
2870 
2871  SIv->omega[S0][P1][0] = 1.0e-31;
2872  SIv->omega[S0][P1][1] = 1.0e-31;
2873  SIv->omega[S0][P1][2] = 1.0e-31;
2874  SIv->omega[S0][P1][3] = 1.0e-31;
2875 
2876  SIv->omega[S0][P2][0] = 1.0e-31;
2877  SIv->omega[S0][P2][1] = 1.0e-31;
2878  SIv->omega[S0][P2][2] = 1.0e-31;
2879  SIv->omega[S0][P2][3] = 1.0e-31;
2880 
2881  SIv->omega[D2][P1][0] = 1.0e-31;
2882  SIv->omega[D2][P1][1] = 1.0e-31;
2883  SIv->omega[D2][P1][2] = 1.0e-31;
2884  SIv->omega[D2][P1][3] = 1.0e-31;
2885 
2886  SIv->omega[D2][P2][0] = 1.0e-31;
2887  SIv->omega[D2][P2][1] = 1.0e-31;
2888  SIv->omega[D2][P2][2] = 1.0e-31;
2889  SIv->omega[D2][P2][3] = 1.0e-31;
2890 
2891  SIv->omega[P1][P2][0] = 1.0e-31;
2892  SIv->omega[P1][P2][1] = 1.0e-31;
2893  SIv->omega[P1][P2][2] = 1.0e-31;
2894  SIv->omega[P1][P2][3] = 1.0e-31;
2895 */
2896 
2897  SIv->dE[P0][P1] = 563111. ; SIv->A[P0][P1] = 3.02e-4; /* dE [ HIGHER ][LOWER ] */
2898  SIv->dE[P0][P2] = 174325.; SIv->A[P0][P2] = 7.1e-8;
2899  SIv->dE[D2][P0] = 11540.72; SIv->A[D2][P0] = 5.0e-6;
2900  SIv->dE[S0][P0] = 4628.28; SIv->A[S0][P0] = 3.5e-1;
2901 /* SIv->dE[S0][D2] = 1.0e+16; SIv->A[S0][D2] = 0.00000;
2902  SIv->dE[S0][P1] = 1.0e+16; SIv->A[S0][P1] = 0.00000;
2903  SIv->dE[S0][P2] = 1.0e+16; SIv->A[S0][P2] = 0.00000;
2904  SIv->dE[D2][P1] = 1.0e+16; SIv->A[D2][P1] = 0.00000;
2905  SIv->dE[D2][P2] = 1.0e+16; SIv->A[D2][P2] = 0.00000;
2906  SIv->dE[P1][P2] = 1.0e+16; SIv->A[P1][P2] = 0.00000;
2907 */
2908  Symmetrize_Coeff (SIv);
2909 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void SII_INIT ( Ion SIIv)

Definition at line 2914 of file ion_init.c.

2929 {
2930  int i, j, n;
2931  int S, D52, D32, P32, P12;
2932 
2933  /* T-dep CS data from MAPPINGS. Old Pradhan data commented. */
2934 
2935  SIIv->isMAP = 1;
2936 
2937  SIIv->N = 4.e-5; /* abundance of S with respect to H (Raymond) */
2938  SIIv->nlev = 5;
2939 
2940  S = 0;
2941  D32 = 1;
2942  D52 = 2;
2943  P12 = 3;
2944  P32 = 4;
2945 
2946 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
2947  O GET PROPER ORDER LATER */
2948 
2949  SIIv->nTom = 2;
2950  SIIv->Tom[0] = 0.5e4;
2951  SIIv->Tom[1] = 1.0e4;
2952 
2953  if (SIIv->dE == NULL){
2954  SIIv->dE = ARRAY_2D(SIIv->nlev, SIIv->nlev, double);
2955  SIIv->A = ARRAY_2D(SIIv->nlev, SIIv->nlev, double);
2956  SIIv->omega = ARRAY_3D(SIIv->nlev, SIIv->nlev, SIIv->nTom, double);
2957  }
2958 
2959  for (i = 0 ; i < SIIv->nlev ; i++) {
2960  for (j = 0 ; j < SIIv->nlev ; j++) {
2961  SIIv->dE[i][j] = -1.0;
2962  SIIv->A[i][j] = -1.0;
2963  for (n = 0; n < SIIv->nTom; n++){
2964  SIIv->omega[i][j][n] = 0.0;
2965  }
2966  }}
2967 
2968  SIIv->wght[S] = 4.; /* 4S_3/2 */
2969  SIIv->wght[D52] = 6.; /* 2D_5/2 */
2970  SIIv->wght[D32] = 4.; /* 2D_3/2 */
2971  SIIv->wght[P32] = 4.; /* 4P_3/2 */
2972  SIIv->wght[P12] = 2.; /* 4P_1/2 */
2973 
2974 /* ---------------------------------------------------
2975  define collision strengths as function of
2976  temperature.
2977  --------------------------------------------------- */
2978 
2979 /*
2980  SIIv->omega[S][D52][0] = 4.90;
2981  SIIv->omega[S][D52][1] = 4.66;
2982  SIIv->omega[S][D52][2] = 4.44;
2983  SIIv->omega[S][D52][3] = 4.26;
2984 
2985  SIIv->omega[S][D32][0] = 3.27;
2986  SIIv->omega[S][D32][1] = 3.11;
2987  SIIv->omega[S][D32][2] = 2.97;
2988  SIIv->omega[S][D32][3] = 2.84;
2989 
2990  SIIv->omega[P32][S][0] = 1.67;
2991  SIIv->omega[P32][S][1] = 2.07;
2992  SIIv->omega[P32][S][2] = 1.98;
2993  SIIv->omega[P32][S][3] = 2.07;
2994 
2995  SIIv->omega[P12][S][0] = 0.831;
2996  SIIv->omega[P12][S][1] = 0.897;
2997  SIIv->omega[P12][S][2] = 0.987;
2998  SIIv->omega[P12][S][3] = 1.03;
2999 
3000  SIIv->omega[D52][D32][0] = 7.9;
3001  SIIv->omega[D52][D32][1] = 7.46;
3002  SIIv->omega[D52][D32][2] = 7.11;
3003  SIIv->omega[D52][D32][3] = 8.65;
3004 
3005  SIIv->omega[P32][P12][0] = 2.02;
3006  SIIv->omega[P32][P12][1] = 2.54;
3007  SIIv->omega[P32][P12][2] = 2.13;
3008  SIIv->omega[P32][P12][3] = 2.22;
3009 
3010  SIIv->omega[P32][D52][0] = 5.93;
3011  SIIv->omega[P32][D52][1] = 4.77;
3012  SIIv->omega[P32][D52][2] = 4.75;
3013  SIIv->omega[P32][D52][3] = 4.68;
3014 
3015  SIIv->omega[P32][D32][0] = 3.41;
3016  SIIv->omega[P32][D32][1] = 2.74;
3017  SIIv->omega[P32][D32][2] = 2.74;
3018  SIIv->omega[P32][D32][3] = 2.71;
3019 
3020  SIIv->omega[P12][D52][0] = 2.57;
3021  SIIv->omega[P12][D52][1] = 1.99;
3022  SIIv->omega[P12][D52][2] = 1.99;
3023  SIIv->omega[P12][D52][3] = 1.97;
3024 
3025  SIIv->omega[P12][D32][0] = 2.20;
3026  SIIv->omega[P12][D32][1] = 1.76;
3027  SIIv->omega[P12][D32][2] = 1.76;
3028  SIIv->omega[P12][D32][3] = 1.73;
3029 */
3030 
3031  SIIv->omega[S][D52][0] = 4.1900;
3032  SIIv->omega[S][D52][1] = -.0800;
3033 
3034  SIIv->omega[S][D32][0] = 2.7900;
3035  SIIv->omega[S][D32][1] = -.0800;
3036 
3037  SIIv->omega[P32][S][0] = 1.5200;
3038  SIIv->omega[P32][S][1] = 0.0000;
3039 
3040  SIIv->omega[P12][S][0] = 0.7590;
3041  SIIv->omega[P12][S][1] = 0.0000;
3042 
3043  SIIv->omega[D52][D32][0] = 7.5900;
3044  SIIv->omega[D52][D32][1] = -.1400;
3045 
3046  SIIv->omega[P32][P12][0] = 2.3800;
3047  SIIv->omega[P32][P12][1] = 0.0000;
3048 
3049  SIIv->omega[P32][D52][0] = 4.7900;
3050  SIIv->omega[P32][D52][1] = 0.0000;
3051 
3052  SIIv->omega[P32][D32][0] = 3.3800;
3053  SIIv->omega[P32][D32][1] = 0.0000;
3054 
3055  SIIv->omega[P12][D52][0] = 2.5600;
3056  SIIv->omega[P12][D52][1] = 0.0000;
3057 
3058  SIIv->omega[P12][D32][0] = 1.5200;
3059  SIIv->omega[P12][D32][1] = 0.0000;
3060 
3061 
3062  SIIv->dE[P32][P12] = 2.14e6 ; SIIv->A[P32][P12] = 1.03e-6; /* dE [ HIGHER ][LOWER ] */
3063  SIIv->dE[P32][D52] = 10320.5; SIIv->A[D52][P32] = 0.18;
3064  SIIv->dE[P32][D32] = 10286.7; SIIv->A[D32][P32] = 0.13;
3065  SIIv->dE[P12][D52] = 10370.5; SIIv->A[D52][P12] = 7.8e-2;
3066  SIIv->dE[P12][D32] = 10336.4; SIIv->A[P12][D32] = 0.16;
3067  SIIv->dE[P32][S] = 4068.6; SIIv->A[P32][S] = 0.22;
3068  SIIv->dE[P12][S] = 4076.4; SIIv->A[P12][S] = 9.1e-2;
3069  SIIv->dE[D52][D32] = 3.145e6; SIIv->A[D52][D32] = 3.3e-7;
3070  SIIv->dE[S][D52] = 6716.4; SIIv->A[S][D52] = 2.6e-4;
3071  SIIv->dE[S][D32] = 6730.8; SIIv->A[S][D32] = 8.8e-4;
3072 
3073  Symmetrize_Coeff (SIIv);
3074 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
int isMAP
Definition: cooling_defs.h:112
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void SIII_INIT ( Ion SIIIv)

Definition at line 3077 of file ion_init.c.

3081 {
3082  int i, j, n;
3083  int _3P2, _3P1, _3P0, _1D2, _1S0;
3084 
3085  SIIIv->N = 8.e-5; /* abundance of Ne with respect to H (Raymond) */
3086  SIIIv->nlev = 5;
3087 
3088  _3P0 = 0;
3089  _3P1 = 1;
3090  _3P2 = 2;
3091  _1D2 = 3;
3092  _1S0 = 4;
3093 
3094  SIIIv->nTom = 4;
3095  SIIIv->Tom[0] = 0.5e4;
3096  SIIIv->Tom[1] = 1.0e4;
3097  SIIIv->Tom[2] = 1.5e4;
3098  SIIIv->Tom[3] = 2.0e4;
3099 
3100  if (SIIIv->dE == NULL){
3101  SIIIv->dE = ARRAY_2D(SIIIv->nlev, SIIIv->nlev, double);
3102  SIIIv->A = ARRAY_2D(SIIIv->nlev, SIIIv->nlev, double);
3103  SIIIv->omega = ARRAY_3D(SIIIv->nlev, SIIIv->nlev, SIIIv->nTom, double);
3104  }
3105 
3106 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
3107  O GET PROPER ORDER LATER */
3108 
3109  for (i = 0 ; i < SIIIv->nlev ; i++) {
3110  for (j = 0 ; j < SIIIv->nlev ; j++) {
3111  SIIIv->dE[i][j] = -1.0;
3112  SIIIv->A[i][j] = -1.0;
3113  for (n = 0; n < SIIIv->nTom; n++){
3114  SIIIv->omega[i][j][n] = -1.0;
3115  }
3116  }}
3117 
3118 
3119  SIIIv->wght[_3P0] = 1.; /* 2 J + 1 */
3120  SIIIv->wght[_3P1] = 3.; /* */
3121  SIIIv->wght[_3P2] = 5.; /* */
3122  SIIIv->wght[_1D2] = 5.; /* */
3123  SIIIv->wght[_1S0] = 1.; /* */
3124 
3125  SIIIv->omega[_1D2][_3P0][0] = 9.07 * (1.0) / (3.0*3.0);
3126  SIIIv->omega[_1D2][_3P0][1] = 8.39 * (1.0) / (3.0*3.0);
3127  SIIIv->omega[_1D2][_3P0][2] = 8.29 * (1.0) / (3.0*3.0);
3128  SIIIv->omega[_1D2][_3P0][3] = 8.20 * (1.0) / (3.0*3.0);
3129 
3130  SIIIv->omega[_1D2][_3P1][0] = 9.07 * (3.0) / (3.0*3.0);
3131  SIIIv->omega[_1D2][_3P1][1] = 8.39 * (3.0) / (3.0*3.0);
3132  SIIIv->omega[_1D2][_3P1][2] = 8.29 * (3.0) / (3.0*3.0);
3133  SIIIv->omega[_1D2][_3P1][3] = 8.20 * (3.0) / (3.0*3.0);
3134 
3135  SIIIv->omega[_1D2][_3P2][0] = 9.07 * (5.0) / (3.0*3.0);
3136  SIIIv->omega[_1D2][_3P2][1] = 8.39 * (5.0) / (3.0*3.0);
3137  SIIIv->omega[_1D2][_3P2][2] = 8.29 * (5.0) / (3.0*3.0);
3138  SIIIv->omega[_1D2][_3P2][3] = 8.20 * (5.0) / (3.0*3.0);
3139 
3140  SIIIv->omega[_1S0][_3P1][0] = 1.16 * (3.0) / (3.0*3.0);
3141  SIIIv->omega[_1S0][_3P1][1] = 1.19 * (3.0) / (3.0*3.0);
3142  SIIIv->omega[_1S0][_3P1][2] = 1.21 * (3.0) / (3.0*3.0);
3143  SIIIv->omega[_1S0][_3P1][3] = 1.24 * (3.0) / (3.0*3.0);
3144 
3145  SIIIv->omega[_1S0][_3P2][0] = 1.16 * (5.0) / (3.0*3.0);
3146  SIIIv->omega[_1S0][_3P2][1] = 1.19 * (5.0) / (3.0*3.0);
3147  SIIIv->omega[_1S0][_3P2][2] = 1.21 * (5.0) / (3.0*3.0);
3148  SIIIv->omega[_1S0][_3P2][3] = 1.24 * (5.0) / (3.0*3.0);
3149 
3150  SIIIv->omega[_1S0][_1D2][0] = 1.42;
3151  SIIIv->omega[_1S0][_1D2][1] = 1.88;
3152  SIIIv->omega[_1S0][_1D2][2] = 2.02;
3153  SIIIv->omega[_1S0][_1D2][3] = 2.08;
3154 
3155  SIIIv->omega[_3P1][_3P0][0] = 2.64;
3156  SIIIv->omega[_3P1][_3P0][1] = 2.59;
3157  SIIIv->omega[_3P1][_3P0][2] = 2.38;
3158  SIIIv->omega[_3P1][_3P0][3] = 2.20;
3159 
3160  SIIIv->omega[_3P2][_3P0][0] = 1.11;
3161  SIIIv->omega[_3P2][_3P0][1] = 1.15;
3162  SIIIv->omega[_3P2][_3P0][2] = 1.15;
3163  SIIIv->omega[_3P2][_3P0][3] = 1.14;
3164 
3165  SIIIv->omega[_3P2][_3P1][0] = 5.79;
3166  SIIIv->omega[_3P2][_3P1][1] = 5.81;
3167  SIIIv->omega[_3P2][_3P1][2] = 5.56;
3168  SIIIv->omega[_3P2][_3P1][3] = 5.32;
3169 
3170 
3171  SIIIv->dE[_1D2][_3P0] = 8833.9; SIIIv->A[_1D2][_3P0] = 5.82e-6;
3172  SIIIv->dE[_1D2][_3P1] = 9068.9; SIIIv->A[_1D2][_3P1] = 2.21e-2;
3173  SIIIv->dE[_1D2][_3P2] = 9531.0; SIIIv->A[_1D2][_3P2] = 5.76e-2;
3174  SIIIv->dE[_1S0][_3P1] = 3721.7; SIIIv->A[_1S0][_3P1] = 7.96e-1;
3175  SIIIv->dE[_1S0][_3P2] = 3797.8; SIIIv->A[_1S0][_3P2] = 1.05e-2;
3176  SIIIv->dE[_1S0][_1D2] = 6312.1; SIIIv->A[_1S0][_1D2] = 2.22;
3177  SIIIv->dE[_3P1][_3P0] = 3.347e+5;SIIIv->A[_3P1][_3P0] = 4.72e-4;
3178  SIIIv->dE[_3P2][_3P0] = 1.20e+5; SIIIv->A[_3P2][_3P0] = 4.61e-8;
3179  SIIIv->dE[_3P2][_3P1] = 187129.; SIIIv->A[_3P2][_3P1] = 2.07e-3;
3180 /* SIIIv->dE[_1S0][_3P0] = 1.6e+16; SIIIv->A[_1S0][_3P0] = 0.00000; fake */
3181 
3182 
3183  Symmetrize_Coeff (SIIIv);
3184 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void SIV_INIT ( Ion SIVv)

Definition at line 3187 of file ion_init.c.

3191 {
3192  int i, j, n;
3193  int _2P12, _2P32, _4P12, _4P32, _4P52;
3194 
3195 
3196  /* T-dep CS data from MAPPINGS. Old Pradhan data commented. */
3197 
3198  SIVv->isMAP = 1;
3199 
3200  SIVv->N = 4.e-5; /* abundance of S with respect to H (Raymond) */
3201  SIVv->nlev = 5;
3202 
3203  _2P12 = 0;
3204  _2P32 = 1;
3205  _4P12 = 2;
3206  _4P32 = 3;
3207  _4P52 = 4;
3208 
3209 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
3210  O GET PROPER ORDER LATER */
3211 
3212  SIVv->nTom = 2;
3213  SIVv->Tom[0] = 1.0e4;
3214  SIVv->Tom[1] = 1.5e4;
3215 
3216  if (SIVv->dE == NULL){
3217  SIVv->dE = ARRAY_2D(SIVv->nlev, SIVv->nlev, double);
3218  SIVv->A = ARRAY_2D(SIVv->nlev, SIVv->nlev, double);
3219  SIVv->omega = ARRAY_3D(SIVv->nlev, SIVv->nlev, SIVv->nTom, double);
3220  }
3221 
3222  for (i = 0 ; i < SIVv->nlev ; i++) {
3223  for (j = 0 ; j < SIVv->nlev ; j++) {
3224  SIVv->dE[i][j] = -1.0;
3225  SIVv->A[i][j] = -1.0;
3226  for (n = 0; n < SIVv->nTom; n++){
3227  SIVv->omega[i][j][n] = 0.0;
3228  }
3229  }}
3230 
3231  SIVv->wght[_2P12] = 2.; /* 2P_1/2 */
3232  SIVv->wght[_2P32] = 4.; /* 2P_3/2 */
3233  SIVv->wght[_4P12] = 2.; /* 4P_1/2 */
3234  SIVv->wght[_4P32] = 4.; /* 4P_3/2 */
3235  SIVv->wght[_4P52] = 6.; /* 4P_5/2 */
3236 
3237 /* ---------------------------------------------------
3238  define collision strengths as function of
3239  temperature.
3240  --------------------------------------------------- */
3241 
3242 /*
3243  SIVv->omega[_2P32][_2P12][0] = 6.42;
3244  SIVv->omega[_2P32][_2P12][1] = 6.41;
3245 
3246  SIVv->omega[_4P12][_2P12][0] = 5.50e-1;
3247  SIVv->omega[_4P12][_2P12][1] = 4.80e-1;
3248 
3249  SIVv->omega[_4P12][_2P32][0] = 6.60e-1;
3250  SIVv->omega[_4P12][_2P32][1] = 6.30e-1;
3251 
3252  SIVv->omega[_4P32][_2P12][0] = 8.70e-1;
3253  SIVv->omega[_4P32][_2P12][1] = 8.30e-1;
3254 
3255  SIVv->omega[_4P32][_2P32][0] = 1.47;
3256  SIVv->omega[_4P32][_2P32][1] = 1.40;
3257 
3258  SIVv->omega[_4P32][_4P12][0] = 3.04;
3259  SIVv->omega[_4P32][_4P12][1] = 2.85;
3260 
3261  SIVv->omega[_4P52][_2P12][0] = 9.5e-1;
3262  SIVv->omega[_4P52][_2P12][1] = 9.1e-1;
3263 
3264  SIVv->omega[_4P52][_2P32][0] = 2.53;
3265  SIVv->omega[_4P52][_2P32][1] = 2.41;
3266 
3267  SIVv->omega[_4P52][_4P12][0] = 2.92;
3268  SIVv->omega[_4P52][_4P12][1] = 2.71;
3269 
3270  SIVv->omega[_4P52][_4P32][0] = 7.01;
3271  SIVv->omega[_4P52][_4P32][1] = 6.57;
3272 */
3273 
3274  SIVv->omega[_2P32][_2P12][0] = 6.4200;
3275  SIVv->omega[_2P32][_2P12][1] = -.0070;
3276 
3277  SIVv->omega[_4P12][_2P12][0] = 0.5100;
3278  SIVv->omega[_4P12][_2P12][1] = -.1600;
3279 
3280  SIVv->omega[_4P12][_2P32][0] = 6.60e-1;
3281  SIVv->omega[_4P12][_2P32][1] = -.1220;
3282 
3283  SIVv->omega[_4P32][_2P12][0] = 8.70e-1;
3284  SIVv->omega[_4P32][_2P12][1] = -.1330;
3285 
3286  SIVv->omega[_4P32][_2P32][0] = 1.4700;
3287  SIVv->omega[_4P32][_2P32][1] = -.1330;
3288 
3289  SIVv->omega[_4P32][_4P12][0] = 3.0400;
3290  SIVv->omega[_4P32][_4P12][1] = -.1740;
3291 
3292  SIVv->omega[_4P52][_2P12][0] = 9.5e-1;
3293  SIVv->omega[_4P52][_2P12][1] = -.1210;
3294 
3295  SIVv->omega[_4P52][_2P32][0] = 2.53;
3296  SIVv->omega[_4P52][_2P32][1] = -.1230;
3297 
3298  SIVv->omega[_4P52][_4P12][0] = 2.9200;
3299  SIVv->omega[_4P52][_4P12][1] = -.2130;
3300 
3301  SIVv->omega[_4P52][_4P32][0] = 7.0100;
3302  SIVv->omega[_4P52][_4P32][1] = -.1960;
3303 
3304  SIVv->dE[_2P32][_2P12] = 1.05e+5; SIVv->A[_2P32][_2P12] = 7.73e-3; /* dE [ HIGHER ][LOWER ] */
3305  SIVv->dE[_4P12][_2P12] = 1404.9; SIVv->A[_4P12][_2P12] = 5.50e+4;
3306  SIVv->dE[_4P12][_2P32] = 1423.9; SIVv->A[_4P12][_2P32] = 3.39e+4;
3307  SIVv->dE[_4P32][_2P12] = 1398.1; SIVv->A[_4P32][_2P12] = 1.40e+2;
3308  SIVv->dE[_4P32][_2P32] = 1017.0; SIVv->A[_4P32][_2P32] = 1.95e+4;
3309  SIVv->dE[_4P32][_4P12] = 2.91e+5; SIVv->A[_4P32][_4P12] = 0.00000;
3310  SIVv->dE[_4P52][_2P12] = 1387.5; SIVv->A[_4P52][_2P12] = 0.00000;
3311  SIVv->dE[_4P52][_2P32] = 1406.1; SIVv->A[_4P52][_2P32] = 3.95e+4;
3312  SIVv->dE[_4P52][_4P12] = 1.12e+5; SIVv->A[_4P52][_4P12] = 0.00000;
3313  SIVv->dE[_4P52][_4P32] = 1.85e+5; SIVv->A[_4P52][_4P32] = 0.00000;
3314 
3315  Symmetrize_Coeff (SIVv);
3316 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
int isMAP
Definition: cooling_defs.h:112
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function:

void SV_INIT ( Ion SVv)

Definition at line 3319 of file ion_init.c.

3323 {
3324  int i, j, n;
3325  int _1S0, _3P0, _3P1, _3P2, _1P1;
3326 
3327  SVv->N = 8.e-5; /* abundance of Ne with respect to H (Raymond) */
3328  SVv->nlev = 5;
3329 
3330  _1S0 = 0;
3331  _3P0 = 1;
3332  _3P1 = 2;
3333  _3P2 = 3;
3334  _1P1 = 4;
3335 
3336  SVv->nTom = 4;
3337  SVv->Tom[0] = 0.5e4;
3338  SVv->Tom[1] = 1.0e4;
3339  SVv->Tom[2] = 1.5e4;
3340  SVv->Tom[3] = 2.0e4;
3341 
3342  if (SVv->dE == NULL){
3343  SVv->dE = ARRAY_2D(SVv->nlev, SVv->nlev, double);
3344  SVv->A = ARRAY_2D(SVv->nlev, SVv->nlev, double);
3345  SVv->omega = ARRAY_3D(SVv->nlev, SVv->nlev, SVv->nTom, double);
3346  }
3347 
3348 /* INITIALIZE MATRIX WITH NEGATIVE NUMBER,
3349  O GET PROPER ORDER LATER */
3350 
3351  for (i = 0 ; i < SVv->nlev ; i++) {
3352  for (j = 0 ; j < SVv->nlev ; j++) {
3353  SVv->dE[i][j] = -1.0;
3354  SVv->A[i][j] = -1.0;
3355  for (n = 0; n < SVv->nTom; n++){
3356  SVv->omega[i][j][n] = -1.0;
3357  }
3358  }}
3359 
3360 
3361  SVv->wght[_1S0] = 1.; /* 2 J + 1 */
3362  SVv->wght[_3P0] = 1.; /* */
3363  SVv->wght[_3P1] = 3.; /* */
3364  SVv->wght[_3P2] = 5.; /* */
3365  SVv->wght[_1P1] = 3.; /* */
3366 
3367  SVv->omega[_3P2][_1S0][0] = 9.11e-1 * (5.0) / (3.0*3.0);
3368  SVv->omega[_3P2][_1S0][1] = 9.10e-1 * (5.0) / (3.0*3.0);
3369  SVv->omega[_3P2][_1S0][2] = 9.14e-1 * (5.0) / (3.0*3.0);
3370  SVv->omega[_3P2][_1S0][3] = 9.05e-1 * (5.0) / (3.0*3.0);
3371 
3372  SVv->omega[_3P1][_1S0][0] = 9.11e-1 * (3.0) / (3.0*3.0);
3373  SVv->omega[_3P1][_1S0][1] = 9.10e-1 * (3.0) / (3.0*3.0);
3374  SVv->omega[_3P1][_1S0][2] = 9.14e-1 * (3.0) / (3.0*3.0);
3375  SVv->omega[_3P1][_1S0][3] = 9.05e-1 * (3.0) / (3.0*3.0);
3376 
3377  SVv->omega[_3P0][_1S0][0] = 9.11e-1 * (1.0) / (3.0*3.0);
3378  SVv->omega[_3P0][_1S0][1] = 9.10e-1 * (1.0) / (3.0*3.0);
3379  SVv->omega[_3P0][_1S0][2] = 9.14e-1 * (1.0) / (3.0*3.0);
3380  SVv->omega[_3P0][_1S0][3] = 9.05e-1 * (1.0) / (3.0*3.0);
3381 
3382  SVv->omega[_1P1][_1S0][0] = 7.30;
3383  SVv->omega[_1P1][_1S0][1] = 7.30;
3384  SVv->omega[_1P1][_1S0][2] = 7.29;
3385  SVv->omega[_1P1][_1S0][3] = 7.27;
3386 
3387  SVv->omega[_1P1][_3P0][0] = 2.72e-1;
3388  SVv->omega[_1P1][_3P0][1] = 2.72e-1;
3389  SVv->omega[_1P1][_3P0][2] = 2.72e-1;
3390  SVv->omega[_1P1][_3P0][3] = 2.72e-1;
3391 
3392  SVv->omega[_3P2][_3P0][0] = 4.00e-1;
3393  SVv->omega[_3P2][_3P0][1] = 4.00e-1;
3394  SVv->omega[_3P2][_3P0][2] = 4.00e-1;
3395  SVv->omega[_3P2][_3P0][3] = 4.00e-1;
3396 
3397  SVv->omega[_3P2][_3P1][0] = 1.24;
3398  SVv->omega[_3P2][_3P1][1] = 1.24;
3399  SVv->omega[_3P2][_3P1][2] = 1.24;
3400  SVv->omega[_3P2][_3P1][3] = 1.24;
3401 /*
3402  SVv->omega[_1P1][_3P1][0] = 2.72e-31;
3403  SVv->omega[_1P1][_3P1][1] = 2.72e-31;
3404  SVv->omega[_1P1][_3P1][2] = 2.72e-31;
3405  SVv->omega[_1P1][_3P1][3] = 2.72e-31;
3406 
3407  SVv->omega[_1P1][_3P2][0] = 2.72e-31;
3408  SVv->omega[_1P1][_3P2][1] = 2.72e-31;
3409  SVv->omega[_1P1][_3P2][2] = 2.72e-31;
3410  SVv->omega[_1P1][_3P2][3] = 2.72e-31;
3411 
3412  SVv->omega[_3P1][_3P0][0] = 2.72e-31;
3413  SVv->omega[_3P1][_3P0][1] = 2.72e-31;
3414  SVv->omega[_3P1][_3P0][2] = 2.72e-31;
3415  SVv->omega[_3P1][_3P0][3] = 2.72e-31;
3416 */
3417 
3418  SVv->dE[_3P2][_1S0] = 1188.3; SVv->A[_3P2][_1S0] = 6.59e-2;
3419  SVv->dE[_3P1][_1S0] = 1199.1; SVv->A[_3P1][_1S0] = 1.26e+5;
3420  SVv->dE[_3P0][_1S0] = 1204.5; SVv->A[_3P0][_1S0] = 0.00000;
3421  SVv->dE[_1P1][_1S0] = 786.48; SVv->A[_1P1][_1S0] = 5.25e+9;
3422  SVv->dE[_1P1][_3P0] = 2.71e+5; SVv->A[_1P1][_3P0] = 9.16e-4;
3423  SVv->dE[_3P2][_3P0] = 88401.7; SVv->A[_3P2][_3P0] = 0.00000;
3424  SVv->dE[_3P2][_3P1] = 1.312e+5; SVv->A[_3P2][_3P1] = 5.49e-3;
3425 /* SVv->dE[_1P1][_3P1] = 1.6e+16; SVv->A[_1P1][_3P1] = 0.00000;
3426  SVv->dE[_1P1][_3P2] = 1.6e+16; SVv->A[_1P1][_3P2] = 0.00000;
3427  SVv->dE[_3P1][_3P0] = 1.6e+16; SVv->A[_3P1][_3P0] = 0.00000;
3428 */
3429 
3430  Symmetrize_Coeff (SVv);
3431 }
static int n
Definition: analysis.c:3
int nlev
Definition: cooling_defs.h:112
int nTom
Definition: cooling_defs.h:112
#define ARRAY_3D(nx, ny, nz, type)
Definition: prototypes.h:172
double Tom[8]
Definition: cooling_defs.h:117
double N
Definition: cooling_defs.h:113
double ** dE
Definition: cooling_defs.h:116
int j
Definition: analysis.c:2
double ** A
Definition: cooling_defs.h:116
int i
Definition: analysis.c:2
#define ARRAY_2D(nx, ny, type)
Definition: prototypes.h:171
double *** omega
Definition: cooling_defs.h:117
double wght[16]
Definition: cooling_defs.h:114
void Symmetrize_Coeff(Ion *X)
Definition: make_tables.c:97

Here is the call graph for this function:

Here is the caller graph for this function: