@@ -38,11 +38,41 @@ namespace aspect
3838{
3939 namespace BoundaryTemperature
4040 {
41+ namespace internal
42+ {
43+ CoreData::CoreData ()
44+ : Qs(numbers::signaling_nan<double >()),
45+ Qr (numbers::signaling_nan<double >()),
46+ Qg(numbers::signaling_nan<double >()),
47+ Qk(numbers::signaling_nan<double >()),
48+ Ql(numbers::signaling_nan<double >()),
49+ Es(numbers::signaling_nan<double >()),
50+ Er(numbers::signaling_nan<double >()),
51+ Eg(numbers::signaling_nan<double >()),
52+ Ek(numbers::signaling_nan<double >()),
53+ El(numbers::signaling_nan<double >()),
54+ Eh(numbers::signaling_nan<double >()),
55+ Ri(numbers::signaling_nan<double >()),
56+ Ti(numbers::signaling_nan<double >()),
57+ Xi(numbers::signaling_nan<double >()),
58+ Q(numbers::signaling_nan<double >()),
59+ H(numbers::signaling_nan<double >()),
60+ dt(numbers::signaling_nan<double >()),
61+ dR_dt(numbers::signaling_nan<double >()),
62+ dT_dt(numbers::signaling_nan<double >()),
63+ dX_dt(numbers::signaling_nan<double >()),
64+ Q_OES(numbers::signaling_nan<double >()),
65+ is_initialized(false )
66+ {}
67+ }
68+
4169 template <int dim>
4270 DynamicCore<dim>::DynamicCore()
71+ :
72+ // leave the core_data variable in its uninitialized state
73+ core_data ()
4374 {
4475 is_first_call = true ;
45- core_data.is_initialized = false ;
4676 }
4777
4878
@@ -106,6 +136,7 @@ namespace aspect
106136 core_data.dX_dt = init_dX_dt;
107137 update_core_data ();
108138 core_data.is_initialized = true ;
139+
109140 std::stringstream output;
110141 output<<std::setiosflags (std::ios::left)
111142 <<" Dynamic core initialized as:" <<std::endl
@@ -697,6 +728,7 @@ namespace aspect
697728 Assert (numbers::is_finite (D), ExcInternalError ());
698729 Assert (numbers::is_finite (Rho_cen), ExcInternalError ());
699730 Assert (numbers::is_finite (Rc), ExcInternalError ());
731+ Assert (numbers::is_finite (core_data.H ), ExcInternalError ());
700732
701733 double It = numbers::signaling_nan<double >();
702734 if (D>L)
0 commit comments