Changeset 2011
- Timestamp:
- 05/02/08 16:50:16 (1 week ago)
- Files:
-
- branches/isodyn/source/dynamics.cpp (modified) (4 diffs)
- branches/isodyn/source/dynamics.h (modified) (1 diff)
- branches/isodyn/source/iso_level.cpp (modified) (2 diffs)
- branches/isodyn/source/service.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/isodyn/source/dynamics.cpp
r2000 r2011 652 652 } 653 653 } 654 654 for( long ipISO=ipH_LIKE; ipISO<NISO; ++ipISO ) 655 { 656 for( nelem=ipHYDROGEN; nelem<LIMELM; ++nelem) 657 { 658 for( long level=0; level < iso.numLevels_local[ipISO][nelem]; ++level ) 659 { 660 dynamics.StatesElem[ipISO][nelem][level] = 0.; 661 } 662 } 663 } 655 664 for(mol=0;mol<N_H_MOLEC;mol++) 656 665 { … … 791 800 } 792 801 } 802 803 for( long ipISO=ipH_LIKE; ipISO<NISO; ++ipISO ) 804 { 805 for( nelem=ipHYDROGEN; nelem<LIMELM; ++nelem) 806 { 807 for( long level=0; level < iso.numLevels_local[ipISO][nelem]; ++level ) 808 { 809 dynamics.StatesElem[ipISO][nelem][level] = 810 UpstreamStatesElem[ipISO][nelem][level] * dense.gas_phase[ipHYDROGEN] / timestep; 811 } 812 } 813 } 814 793 815 # if 0 794 816 fprintf(ioQQQ,"dynamiccc\t%li\t%.2e\t%.2e\t%.2e\t%.2e\n", … … 1826 1848 for( long level=0; level < iso.numLevels_local[ipISO][nelem]; ++level ) 1827 1849 { 1828 Old_StatesElem[i][ipISO][nelem][level] = struc.StatesElem[ipISO][nelem][level][i] ;1850 Old_StatesElem[i][ipISO][nelem][level] = struc.StatesElem[ipISO][nelem][level][i]*struc.xIonDense[nelem][nelem-ipISO][i]; 1829 1851 } 1830 1852 } … … 1969 1991 } 1970 1992 } 1993 1994 dynamics.StatesElem = ((double***)MALLOC( (size_t)NISO*sizeof(double **) )); 1995 1996 for( long ipISO=ipH_LIKE; ipISO<NISO; ++ipISO ) 1997 { 1998 dynamics.StatesElem[ipISO] = 1999 (double**)MALLOC(sizeof(double*)*(unsigned)(LIMELM) ); 2000 for( nelem=ipHYDROGEN; nelem<LIMELM; ++nelem) 2001 { 2002 dynamics.StatesElem[ipISO][nelem] = 2003 (double*)MALLOC(sizeof(double)*(unsigned)iso.numLevels_max[ipISO][nelem]); 2004 } 2005 } 2006 1971 2007 dynamics.Rate = 0.; 1972 2008 branches/isodyn/source/dynamics.h
r1822 r2011 70 70 double Rate; 71 71 72 /** the advective recombination rate(cm^-3 s^-1)*/72 /** the advective ionization balance terms (cm^-3 s^-1)*/ 73 73 double **Source /*[LIMELM][LIMELM+2]*/; 74 75 /** the advective isolevel balance terms */ 76 double ***StatesElem; 74 77 75 78 /** save H2 and CO densities */ branches/isodyn/source/iso_level.cpp
r1960 r2011 321 321 } 322 322 323 /* >>chng 02 Sep 06 rjrw -- all elements have these terms */324 /*>>>chng 02 oct 01, only include if lgAdvection is set */325 if( dynamics.lgAdvection && dynamics.lgISO[ipISO])326 {327 /* add in advection - these terms normally zero */328 /* assume for present that all advection is into ground state */329 source += dynamics.Source[nelem][nelem-ipISO];330 /* >>chng 02 Sep 06 rjrw -- advective term not recombination */331 /* can sink from all components (must do, for conservation) */332 sink += dynamics.Rate;333 }334 335 323 #if 0 336 324 /* add in source and sink terms from molecular network. */ … … 349 337 { 350 338 z[level][level] += sink; 339 } 340 341 /* >>chng 02 Sep 06 rjrw -- all elements have these terms */ 342 /*>>>chng 02 oct 01, only include if lgAdvection is set */ 343 if( dynamics.lgAdvection && dynamics.lgISO[ipISO]) 344 { 345 for( level=0; level < numlevels_local; level++ ) 346 { 347 creation[level] += dynamics.StatesElem[nelem][ipISO][level]/SDIV(dense.xIonDense[nelem][nelem+1-ipISO]); 348 z[level][level] += dynamics.Rate; 349 } 351 350 } 352 351 branches/isodyn/source/service.cpp
r1954 r2011 1580 1580 DEBUG_ENTRY( "MyMalloc()" ); 1581 1581 1582 if (size == 0) 1583 fprintf(stdout,"Failed at %s:%d\n",chFile,line); 1582 1584 ASSERT( size > 0 ); 1583 1585
