cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
cont_createmesh.cpp
Go to the documentation of this file.
1 /* This file is part of Cloudy and is copyright (C)1978-2022 by Gary J. Ferland and
2  * others. For conditions of distribution and use see copyright notice in license.txt */
3 /*rfield_opac_malloc MALLOC space for opacity arrays */
4 #include "cddefines.h"
5 #include "rfield.h"
6 #include "iterations.h"
7 #include "dense.h"
8 #include "trace.h"
9 #include "opacity.h"
10 #include "ipoint.h"
11 #include "geometry.h"
12 #include "continuum.h"
13 
14 /*rfield_opac_malloc MALLOC space for opacity arrays */
16 
18 {
19  long int i;
20 
21  /* flag to say whether pointers have ever been evaluated */
22  static bool lgPntEval = false;
23 
24  DEBUG_ENTRY( "ContCreateMesh()" );
25 
26  /* lgPntEval is local static variable defined false when defined.
27  * it is set true below, so that pointers only created one time in the
28  * history of this coreload. */
29  if( lgPntEval )
30  {
31  if( trace.lgTrace )
32  {
33  fprintf( ioQQQ, " ContCreateMesh called, not evaluating.\n" );
34  }
35  memset( opac.TauAbsFace , 0 , rfield.nflux_with_check*sizeof(realnum) );
36  return;
37  }
38  else
39  {
40  if( trace.lgTrace )
41  {
42  fprintf( ioQQQ, " ContCreateMesh called first time.\n" );
43  }
44  lgPntEval = true;
45  }
46 
47  /* ================================================================ */
48 
49  // the frequency mesh should already have been set up at this point in cdDrive()
54 
55  /* allocate space for continuum arrays within rfield.h and opacity arrays in opacity.h
56  * sets lgRfieldMalloced true */
58 
59  /* geometry.nend_max is largest number of zones needed on any iteration,
60  * will use it to malloc arrays that save source function as function of zone */
61  /* now change all limits, for all iterations, to this value */
63  for( i=1; i < iterations.iter_malloc; i++ )
64  {
66  }
67  /* nend_max+1 because search phase is zone 0, first zone at illumin face is 1 */
68  rfield.ConEmitLocal = (realnum**)MALLOC( (size_t)(geometry.nend_max+1)*sizeof(realnum *) );
69  rfield.ConSourceFcnLocal = (realnum**)MALLOC( (size_t)(geometry.nend_max+1)*sizeof(realnum *) );
70  for( i=0; i < geometry.nend_max+1; ++i )
71  {
74  for( long j=0; j < rfield.nflux_with_check; ++j )
75  rfield.ConSourceFcnLocal[i][j] = realnum(1.);
76  }
77 
78  /* this is done here when the space is first allocated,
79  * then done on every subsequent initialization in zero.c */
81 
82  double scaledThomson = (TE1RYD/ELECTRON_MASS/SPEEDLIGHT/SPEEDLIGHT)*EN1RYD*BOLTZMANN*SIGMA_THOMSON*1e15;
83  long ipnt = 0;
84  /* now save current form of array, and define some quantities related to it */
85  for( i=0; i < rfield.nflux_with_check; i++ )
86  {
87  double alf , bet;
88 
89  /* following are Compton exchange factors from Tarter */
90  /* this code also appears in highen, but coef needed before that routine called. */
91  alf = 1./(1. + rfield.anu(i)*(1.1792e-4 + 7.084e-10*rfield.anu(i)));
92  bet = 1. - alf*rfield.anu(i)*(1.1792e-4 + 2.*7.084e-10*rfield.anu(i))/4.;
93  rfield.csigh[i] = (realnum)(alf*rfield.anu(i)*rfield.anu(i)*scaledThomson);
94  rfield.csigc[i] = (realnum)(alf*bet*rfield.anu(i)*scaledThomson);
95 
96  /* >>chng 05 feb 28, add transmission and mapping coef */
97  /* map these coarse continua into fine continuum grid */
99  {
100  /* 0 (false) says not defined */
101  rfield.ipnt_coarse_2_fine[i] = 0;
102  }
103  else
104  {
105  if( ipnt==0 )
106  {
107  /* this is the first one that maps onto the fine array */
108  rfield.ipnt_coarse_2_fine[i] = 0;
109  ipnt = 1;
110  }
111  else
112  {
113  /* find first fine frequency that is greater than this coarse value */
114  while( ipnt < rfield.nfine && rfield.fine_anu[ipnt] < rfield.anu(i) )
115  {
116  ++ipnt;
117  }
118  rfield.ipnt_coarse_2_fine[i] = ipnt;
119  }
120  }
121  /*fprintf(ioQQQ," coarse %li nu= %.3e points to fine %li nu=%.3e\n",
122  i, rfield.anu(i) , rfield.ipnt_coarse_2_fine[i] , rfield.fine_anu[rfield.ipnt_coarse_2_fine[i]] );*/
123  }
125  return;
126 }
127 
128 /* MALLOC arrays within rfield */
130 {
131  long i;
132 
133  DEBUG_ENTRY( "rfield_opac_malloc()" );
134 
135  /* allocate one more than we use for the unit integration,
136  * will back up at end of routine */
138 
139  /* >>chng 03 feb 12, add fine mesh fine grid fine opacity array to keep track of line overlap */
144  /* frequency range in Rydberg needed for all resonance lines */
146  rfield.fine_ener_hi = 1500.f;
147 
148  /* set resolution of fine continuum mesh.
149  * rfield.fine_opac_velocity_width is width per cell, cm/s
150  * choose width so that most massive species (usually Fe) is well resolved
151  *
152  * rfield.fine_opac_nelem is the most massive (hence sharpest line)
153  * we will worry about. By default this is iron but can be changed
154  * with SET FINE CONTINUUM command
155  *
156  * TeLowestFineOpacity of 1e4 K is temperature where line width is
157  * evaluated. Tests were done using the stop temperature in its place
158  * Te below 1e4 K made fine opacity grid huge
159  * do not let temp get higher than 1e4 either - code run with stop temp 10 set
160  * stop temp of 1e10K and assert thrown at line 204 of cont_createpointers.c
161  * simply use 1e4 K as a characteristic temperature */
164  double TeLowestFineOpacity = 1e4;
166  (realnum)sqrt(2.*BOLTZMANN/ATOMIC_MASS_UNIT*TeLowestFineOpacity/
168  /* we want fine_opac_nresolv continuum elements across this line
169  * default is 1, changed with SET FINE CONTINUUM command */
171 
172  /* we are at first zone so velocity shift is zero */
174 
175  /* dimensionless resolution, dE/E, this is used in ipoint to get offset in find mesh */
177 
178  /* the number of cells needed */
179  rfield.nfine = (long)(log10( rfield.fine_ener_hi / rfield.fine_ener_lo ) / log10( 1. + rfield.fine_resol ) );
180  if( rfield.nfine <= 0 )
181  TotalInsanity();
182 
183  /* this is the fine opacity array to ghost the main low-resolution array */
184  rfield.fine_opac_zone = (realnum *)MALLOC(sizeof(realnum)*(unsigned)rfield.nfine);
185  memset(rfield.fine_opac_zone , 0 , (unsigned long)rfield.nfine*sizeof(realnum) );
186 
187  /* this is the fine total optical array to ghost the main low-resolution array */
188  rfield.fine_opt_depth = (realnum *)MALLOC(sizeof(realnum)*(unsigned)rfield.nfine);
189  memset(rfield.fine_opt_depth , 0 , (unsigned long)rfield.nfine*sizeof(realnum) );
190 
191  rfield.fine_anu = (realnum *)MALLOC(sizeof(realnum)*(unsigned)rfield.nfine);
192 
193  /* now fill in energy array */
194  ASSERT( rfield.fine_ener_lo > 0. && rfield.fine_resol > 0 );
195  {
196  double bbb = 1.+rfield.fine_resol,
197  aaa = 1.;
198  for( i=0;i<rfield.nfine; ++i )
199  {
200  aaa *= bbb;
202  }
203  }
204  /* done with fine array */
205 
206  /* used to count number of lines per cell */
207  rfield.line_count = (long*)MALLOC((size_t)rfield.nflux_with_check*sizeof(long) );
208  memset( rfield.line_count, 0, (size_t)rfield.nflux_with_check*sizeof(long) );
214  rfield.convoc = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
219  rfield.SummedCon = (double*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(double)) );
220  rfield.SummedDif = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
222  rfield.SummedOcc = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
227  rfield.otslin = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
228  rfield.otscon = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
235  rfield.ipnt_coarse_2_fine = (long int*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(long int)) );
236 
237  /* possibly save cumulative flux */
238  rfield.flux = (realnum**)MALLOC((size_t)(2*sizeof(realnum*)) );
239  rfield.ConEmitReflec = (realnum**)MALLOC((size_t)(2*sizeof(realnum*)) );
240  rfield.ConEmitOut = (realnum**)MALLOC((size_t)(2*sizeof(realnum*)) );
241  rfield.ConRefIncid = (realnum**)MALLOC((size_t)(2*sizeof(realnum*)) );
242  rfield.flux_total_incident = (realnum**)MALLOC((size_t)(2*sizeof(realnum*)) );
243  rfield.reflin = (realnum**)MALLOC((size_t)(2*sizeof(realnum*)) );
244  rfield.outlin = (realnum**)MALLOC((size_t)(2*sizeof(realnum*)) );
245 
246  for( i=0; i<2; ++i )
247  {
248  rfield.flux[i] = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
249  rfield.ConEmitReflec[i] = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
250  rfield.ConEmitOut[i] = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
251  rfield.ConRefIncid[i] = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
253  rfield.reflin[i] = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
254  rfield.outlin[i] = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
255  }
256  // the cumulative (time integral) emission
257  memset(rfield.flux[1] , 0 , (unsigned long)rfield.nflux_with_check*sizeof(realnum) );
258  memset(rfield.ConEmitReflec[1] , 0 , (unsigned long)rfield.nflux_with_check*sizeof(realnum) );
259  memset(rfield.ConEmitOut[1] , 0 , (unsigned long)rfield.nflux_with_check*sizeof(realnum) );
260  memset(rfield.ConRefIncid[1] , 0 , (unsigned long)rfield.nflux_with_check*sizeof(realnum) );
261  memset(rfield.flux_total_incident[1] , 0 , (unsigned long)rfield.nflux_with_check*sizeof(realnum) );
262  memset(rfield.reflin[1] , 0 , (unsigned long)rfield.nflux_with_check*sizeof(realnum) );
263  memset(rfield.outlin[1] , 0 , (unsigned long)rfield.nflux_with_check*sizeof(realnum) );
264 
265  rfield.csigh = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
266  rfield.csigc = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
268 
269  rfield.comdn = (double*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(double)) );
270  rfield.comup = (double*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(double)) );
276 
277  rfield.otssav = (realnum**)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum*)));
278  for( i=0; i<rfield.nflux_with_check; ++i)
279  {
280  rfield.otssav[i] = (realnum*)MALLOC(2*sizeof(realnum));
281  }
282 
283 
284  /* char rfield.chLineLabel[NLINES][5];*/
287 
288  opac.TauAbsFace = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
289  memset( opac.TauAbsFace , 0 , rfield.nflux_with_check*sizeof(realnum) );
290 
291  opac.TauScatFace = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
294  opac.TauAbsTotal = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
295  opac.E2TauAbsOut = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
296  opac.ExpmTau = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
297  opac.tmn = (realnum*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(realnum)) );
298 
299  opac.opacity_abs = (double*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(double)) );
300  opac.opacity_abs_savzon1 = (double*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(double)) );
301  opac.OldOpacSave = (double*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(double)) );
302  opac.opacity_sct = (double*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(double)) );
303  opac.albedo = (double*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(double)) );
304  opac.opacity_sct_savzon1 = (double*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(double)) );
305  opac.OpacStatic = (double*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(double)) );
306  opac.FreeFreeOpacity = (double*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(double)) );
307  opac.eeFreeFreeOpacity = (double*)MALLOC((size_t)(rfield.nflux_with_check*sizeof(double)) );
309 
310  opac.TauAbsGeo = (realnum**)MALLOC((size_t)(2*sizeof(realnum *)) );
311  opac.TauScatGeo = (realnum**)MALLOC((size_t)(2*sizeof(realnum *)) );
312  opac.TauTotalGeo = (realnum**)MALLOC((size_t)(2*sizeof(realnum *)) );
313 
314  for( i=0; i<2; ++i)
315  {
319  }
320 
321  /* fix allocate trick for one more than we use for the unit integration */
323 
324  /* say that space exists */
325  lgRfieldMalloced = true;
326  return;
327 }
328 
329 /*rfield_opac_zero zero out rfield arrays between certain limits */
331  /* index for first element in arrays to be set to zero */
332  long lo ,
333  /* array index for highest element to be set */
334  long ihi )
335 {
336  long int i;
337 
338  /* >>chng 01 aug 19, space not allocated yet,
339  * following code must also be present in contcreatemesh where
340  * space allocated for the first time */
341  if( lgRfieldMalloced )
342  {
343  unsigned long n=(unsigned long)(ihi-lo+1);
344  memset(&rfield.OccNumbDiffCont[lo] , 0 , n*sizeof(realnum) );
345  memset(&rfield.OccNumbContEmitOut[lo] , 0 , n*sizeof(realnum) );
346  memset(&rfield.ContBoltz[lo] , 0 , n*sizeof(double) );
347  memset(&rfield.ContBoltzHelp1[lo] , 0 , n*sizeof(double) );
348  memset(&rfield.ContBoltzHelp2[lo] , 0 , n*sizeof(double) );
349  memset(&rfield.ContBoltzAvg[lo] , 0 , n*sizeof(double) );
350  /*>>chng 06 aug 15, this is now 2D array, saving diffuse continuum
351  * over all zones for use in exact RT */
352  /*memset(&rfield.ConEmitLocal[lo] , 0 , n*sizeof(realnum) );*/
353  memset(&rfield.ConEmitReflec[0][lo] , 0 , n*sizeof(realnum) );
354  memset(&rfield.ConEmitOut[0][lo] , 0 , n*sizeof(realnum) );
355  memset(&rfield.reflin[0][lo] , 0 , n*sizeof(realnum) );
356  memset(&rfield.ConRefIncid[0][lo] , 0 , n*sizeof(realnum) );
357  memset(&rfield.SummedCon[lo] , 0 , n*sizeof(double) );
358  memset(&rfield.convoc[lo] , 0 , n*sizeof(realnum) );
359  memset(&rfield.flux[0][lo] , 0 , n*sizeof(realnum) );
360  memset(&rfield.flux_total_incident[0][lo], 0 , n*sizeof(realnum) );
361  memset(&rfield.flux_beam_const_save[lo] , 0 , n*sizeof(realnum) );
362  memset(&rfield.flux_time_beam_save[lo] , 0 , n*sizeof(realnum) );
363  memset(&rfield.flux_isotropic_save[lo] , 0 , n*sizeof(realnum) );
364  memset(&rfield.SummedOcc[lo] , 0 , n*sizeof(realnum) );
365  memset(&rfield.SummedDif[lo] , 0 , n*sizeof(realnum) );
366  memset(&rfield.flux_accum[lo] , 0 , n*sizeof(realnum) );
367  memset(&rfield.otslin[lo] , 0 , n*sizeof(realnum) );
368  memset(&rfield.otscon[lo] , 0 , n*sizeof(realnum) );
369  memset(&rfield.ConInterOut[lo] , 0 , n*sizeof(realnum) );
370  memset(&rfield.outlin[0][lo] , 0 , n*sizeof(realnum) );
371  memset(&rfield.outlin_noplot[lo] , 0 , n*sizeof(realnum) );
372  memset(&rfield.ConOTS_local_OTS_rate[lo], 0 , n*sizeof(realnum) );
373  memset(&rfield.ConOTS_local_photons[lo] , 0 , n*sizeof(realnum) );
374  memset(&opac.OldOpacSave[lo] , 0 , n*sizeof(double) );
375  memset(&opac.opacity_abs[lo] , 0 , n*sizeof(double) );
376  memset(&opac.opacity_sct[lo] , 0 , n*sizeof(double) );
377  memset(&opac.albedo[lo] , 0 , n*sizeof(double) );
378  memset(&opac.FreeFreeOpacity[lo] , 0 , n*sizeof(double) );
379 
380  /* these are not defined on first iteration */
381  memset( &opac.E2TauAbsTotal[lo] , 0 , n*sizeof(realnum) );
382  memset( &opac.E2TauAbsOut[lo] , 0 , n*sizeof(realnum) );
383  memset( &opac.TauAbsTotal[lo] , 0 , n*sizeof(realnum) );
384 
385  for( i=lo; i <= ihi; i++ )
386  {
387  opac.TauTotalGeo[0][i] = opac.taumin;
388  opac.TauAbsGeo[0][i] = opac.taumin;
389  opac.TauScatGeo[0][i] = opac.taumin;
390  opac.tmn[i] = 1.;
391  opac.ExpZone[i] = 1.;
392  opac.E2TauAbsFace[i] = 1.;
393  opac.ExpmTau[i] = 1.;
394  opac.OpacStatic[i] = 1.;
395  }
396  /* also zero out fine opacity fine grid fine mesh array */
397  memset(rfield.fine_opac_zone , 0 , (unsigned long)rfield.nfine*sizeof(realnum) );
398  /* also zero out fine opacity array */
399  memset(rfield.fine_opt_depth , 0 , (unsigned long)rfield.nfine*sizeof(realnum) );
400  }
401  return;
402 }
double * opacity_abs_savzon1
Definition: opacity.h:117
double emm() const
Definition: mesh.h:93
realnum ** ConSourceFcnLocal
Definition: rfield.h:142
realnum * fine_opt_depth
Definition: rfield.h:393
realnum * fine_anu
Definition: rfield.h:395
long int iter_malloc
Definition: iterations.h:40
realnum * csigh
Definition: rfield.h:269
long int * line_count
Definition: rfield.h:59
vector< double, allocator_avx< double > > ContBoltz
Definition: rfield.h:124
realnum * ConOTS_local_OTS_rate
Definition: rfield.h:168
vector< double, allocator_avx< double > > vexp_arg
Definition: rfield.h:131
realnum * flux_isotropic
Definition: rfield.h:71
double * opacity_abs
Definition: opacity.h:104
long int fine_opac_nresolv
Definition: rfield.h:368
double * albedo
Definition: opacity.h:113
NORETURN void TotalInsanity(void)
Definition: service.cpp:971
realnum * flux_beam_const_save
Definition: rfield.h:200
t_opac opac
Definition: opacity.cpp:5
realnum ** flux
Definition: rfield.h:68
realnum * DiffuseLineEmission
Definition: rfield.h:193
double * OpacStatic
Definition: opacity.h:123
vector< string > chContLabel
Definition: rfield.h:213
realnum * DiffuseEscape
Definition: rfield.h:174
realnum * outlin_noplot
Definition: rfield.h:189
vector< long int > nend
Definition: iterations.h:71
void rfield_opac_zero(long lo, long ihi)
realnum ** flux_total_incident
Definition: rfield.h:199
realnum fine_opac_velocity_width
Definition: rfield.h:371
realnum * OccNumbContEmitOut
Definition: rfield.h:62
double * SummedCon
Definition: rfield.h:161
realnum * SummedOcc
Definition: rfield.h:163
vector< double, allocator_avx< double > > ContBoltzHelp2
Definition: rfield.h:128
vector< double, allocator_avx< double > > ContBoltzAvg
Definition: rfield.h:135
realnum ** outlin
Definition: rfield.h:189
FILE * ioQQQ
Definition: cddefines.cpp:7
double * opacity_sct
Definition: opacity.h:107
realnum * E2TauAbsTotal
Definition: opacity.h:139
realnum * TauScatFace
Definition: opacity.h:100
realnum * ConOTS_local_photons
Definition: rfield.h:168
double * eeFreeFreeOpacity
Definition: opacity.h:127
double anu(size_t i) const
Definition: mesh.h:120
realnum * flux_accum
Definition: rfield.h:77
long int nend_max
Definition: geometry.h:91
t_dense dense
Definition: global.cpp:15
void resetCoarseTransCoef()
Definition: rfield.h:487
double * comup
Definition: rfield.h:236
long int nflux_with_check
Definition: rfield.h:49
long int fine_opac_nelem
Definition: rfield.h:365
realnum * otslin
Definition: rfield.h:183
t_trace trace
Definition: trace.cpp:5
#define MALLOC(exp)
Definition: cddefines.h:554
realnum ** ConEmitLocal
Definition: rfield.h:139
t_geometry geometry
Definition: geometry.cpp:5
double fine_resol
Definition: rfield.h:389
void ContCreateMesh()
double * OldOpacSave
Definition: opacity.h:110
bool lgMeshSetUp() const
Definition: mesh.h:84
#define STATIC
Definition: cddefines.h:118
bool lgTrace
Definition: trace.h:12
realnum ** TauScatGeo
Definition: opacity.h:92
realnum * E2TauAbsOut
Definition: opacity.h:140
t_rfield rfield
Definition: rfield.cpp:9
realnum * flux_time_beam_save
Definition: rfield.h:200
realnum * convoc
Definition: rfield.h:113
realnum * ConInterOut
Definition: rfield.h:154
float realnum
Definition: cddefines.h:124
long int ipFineConVelShift
Definition: rfield.h:401
realnum * otscon
Definition: rfield.h:183
realnum * TauAbsFace
Definition: opacity.h:100
realnum * OccNumbIncidCont
Definition: rfield.h:117
t_iterations iterations
Definition: iterations.cpp:6
realnum * eeBremsDif
Definition: rfield.h:273
vector< string > chLineLabel
Definition: rfield.h:210
realnum * TauAbsTotal
Definition: opacity.h:142
realnum ** reflin
Definition: rfield.h:196
realnum ** ConEmitOut
Definition: rfield.h:151
realnum * fine_opac_zone
Definition: rfield.h:391
STATIC void rfield_opac_malloc()
realnum fine_ener_lo
Definition: rfield.h:385
realnum ** otssav
Definition: rfield.h:183
realnum ** TauTotalGeo
Definition: opacity.h:96
realnum AtomicWeight[LIMELM]
Definition: dense.h:80
double * opacity_sct_savzon1
Definition: opacity.h:119
#define ASSERT(exp)
Definition: cddefines.h:613
realnum fine_ener_hi
Definition: rfield.h:385
realnum * SummedDifSave
Definition: rfield.h:164
bool lgRfieldMalloced
Definition: cdinit.cpp:39
long nfine
Definition: rfield.h:387
vector< double, allocator_avx< double > > ExpZone
Definition: opacity.h:133
realnum * flux_isotropic_save
Definition: rfield.h:200
#define DEBUG_ENTRY(funcname)
Definition: cddefines.h:723
realnum * E2TauAbsFace
Definition: opacity.h:137
double * FreeFreeOpacity
Definition: opacity.h:126
realnum * OccNumbDiffCont
Definition: rfield.h:120
double * comdn
Definition: rfield.h:236
realnum * csigc
Definition: rfield.h:269
long int * ipnt_coarse_2_fine
Definition: rfield.h:382
vector< double, allocator_avx< double > > ContBoltzHelp1
Definition: rfield.h:127
realnum ** TauAbsGeo
Definition: opacity.h:91
void setCoarseTransCoefPtr(realnum *ptr)
Definition: rfield.h:483
#define MAX2(a, b)
Definition: cddefines.h:824
realnum * ExtinguishFactor
Definition: rfield.h:80
realnum * ExpmTau
Definition: opacity.h:145
int fprintf(const Output &stream, const char *format,...)
Definition: service.cpp:1121
realnum * SummedDif
Definition: rfield.h:162
realnum * TotDiff2Pht
Definition: rfield.h:177
long ncells() const
Definition: mesh.h:89
realnum * tmn
Definition: opacity.h:149
realnum ** ConEmitReflec
Definition: rfield.h:145
realnum * flux_beam_time
Definition: rfield.h:74
realnum * flux_beam_const
Definition: rfield.h:74
long int nflux
Definition: rfield.h:46
realnum ** ConRefIncid
Definition: rfield.h:157
long int nPositive
Definition: rfield.h:53
realnum taumin
Definition: opacity.h:167