Opened 3 years ago

Closed 3 years ago

#312 closed defect - convergence (fixed)

excited state column densities are wrong

Reported by: Gary J. Ferland Owned by: nobody
Priority: blocker Milestone: C17_branch
Component: infrastructure Version: trunk
Keywords: Cc:

Description

smoke test at r9550 produces these column densities, which appear to be correct:

 Hydrogen    1.249  4.301-12.117 (H2)                Log10 Column density (cm^-2)
---
 Carbon     -5.094 -1.507  0.266  0.487  0.334 -2.455 -6.235
 Nitrogen   -5.875 -2.459 -0.346  0.053 -0.581 -1.724 -4.923 -9.062
 Oxygen     -5.076 -1.814  0.277  1.018  0.373 -0.876 -2.497 -6.344-30.000

We also report several excited-state column densities, which are mainly used to compare with ISM/IGM absorption line observations. These predictions end the block of predicted column densities:

 Exc state    He1* -3.175   CII*-35.930   C11*-35.930   C12*-35.930   C13*-35.930   O11*-35.930   O12*-35.930   O13*-35.930
              Si2*-35.930   C30*-35.930   C31*-35.930   C32*-35.930

The He I column density is plausible but the others have hit some hardwired lower limit and are wrong.

The smoke test for c13_branch obtains reasonable predictions:

 Exc state    He1* -3.173   CII* -1.685   C11* -6.046   C12* -5.570   C13* -5.350   O11* -5.240   O12* -5.746   O13* -6.066
              Si2* -2.673   C30* -4.134   C31* -8.319   C32* -3.960


Change History (6)

comment:1 Changed 3 years ago by rjrw

CII* and other C lines were broken at r8712 when

cool_carb.cpp:		colden.C2Pops[i] = (realnum)atoms.PopLevels[i];

was removed.

Si2* was already broken at this stage, presumably in a previous stout reintegration.

comment:2 Changed 3 years ago by rjrw

Note that the required values should all be available from

dBaseStates[ipSpecies][j].ColDen?()

for appropriate values of ipSpecies and j, so that e.g.

	else if( strcmp( chLABEL_CAPS , "CII*" )==0 )
	{
		*theocl = (*findspecieslocal("C+")->levels)[1].ColDen();
	}

appears to correct the entry for the CII* column in the smoke test.

There will need to be appropriate error case handling here.

comment:3 Changed 3 years ago by rjrw

Note also that providing a uniform means to access the column density of any state, rather than a list of special cases, would both simplify the coding of cdColm() and provide more capability to users.

comment:4 Changed 3 years ago by rjrw

r9974 appears to fix this, but needs to be checked.

Excited state prints in "save element" must also be broken for the same reason (depending on !C1Pops, etc. -- see save_do.cpp).

comment:5 Changed 3 years ago by rjrw

r9975 should fix the "save element" problem

comment:6 Changed 3 years ago by rjrw

Resolution: fixed
Status: newclosed

Original problem and variants now fixed. Names of excited levels have been revised for consistency, and code generalized to handle low levels of low ions of single-character elements (as much as can be done within present 4-character limit).

Note: See TracTickets for help on using tickets.