Skip to content

Commit ce03e94

Browse files
committed
Provide CoreData with a constructor.
1 parent 827abd5 commit ce03e94

File tree

3 files changed

+43
-4
lines changed

3 files changed

+43
-4
lines changed

include/aspect/boundary_temperature/dynamic_core.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,13 @@ namespace aspect
3838
{
3939
struct CoreData
4040
{
41+
/**
42+
* Default constructor. Initialize everything to invalid values,
43+
* and set is_initialized to false. The values will be updated
44+
* in the first call of update() in DynamicCore class.
45+
*/
46+
CoreData ();
47+
4148
/**
4249
* Energy for specific heat, radioactive heating, gravitational contribution,
4350
* adiabatic contribution, and latent heat. These variables are updated each time step.

source/boundary_temperature/dynamic_core.cc

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

source/postprocess/core_statistics.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,10 @@ namespace aspect
3434
{
3535
template <int dim>
3636
CoreStatistics<dim>::CoreStatistics()
37-
{
38-
core_data.is_initialized = false;
39-
}
37+
:
38+
// leave the core_data variable in its uninitialized state
39+
core_data()
40+
{}
4041

4142

4243

0 commit comments

Comments
 (0)