@@ -1170,75 +1170,48 @@ namespace aspect
1170
1170
AssertThrow (false , ExcNotImplemented ());
1171
1171
}
1172
1172
1173
- molar_masses = Utilities::parse_map_to_double_array (prm.get (" Molar masses" ),
1174
- endmember_names,
1175
- false ,
1176
- " Molar masses" );
1177
-
1178
- number_of_atoms = Utilities::parse_map_to_double_array (prm.get (" Number of atoms" ),
1179
- endmember_names,
1180
- false ,
1181
- " Number of atoms" );
1182
-
1183
- reference_volumes = Utilities::parse_map_to_double_array (prm.get (" Reference volumes" ),
1184
- endmember_names,
1185
- false ,
1186
- " Reference volumes" );
1187
-
1188
- reference_thermal_expansivities = Utilities::parse_map_to_double_array (prm.get (" Reference thermal expansivities" ),
1189
- endmember_names,
1190
- false ,
1191
- " Reference thermal expansivities" );
1192
-
1193
- reference_bulk_moduli = Utilities::parse_map_to_double_array (prm.get (" Reference bulk moduli" ),
1194
- endmember_names,
1195
- false ,
1196
- " Reference bulk moduli" );
1197
-
1198
- bulk_modulus_pressure_derivatives = Utilities::parse_map_to_double_array (prm.get (" First derivatives of the bulk modulus" ),
1199
- endmember_names,
1200
- false ,
1201
- " First derivatives of the bulk modulus" );
1202
-
1203
- bulk_modulus_second_pressure_derivatives = Utilities::parse_map_to_double_array (prm.get (" Second derivatives of the bulk modulus" ),
1204
- endmember_names,
1205
- false ,
1206
- " Second derivatives of the bulk modulus" );
1207
-
1208
- Einstein_temperatures = Utilities::parse_map_to_double_array (prm.get (" Einstein temperatures" ),
1209
- endmember_names,
1210
- false ,
1211
- " Einstein temperatures" );
1212
-
1213
- reference_enthalpies = Utilities::parse_map_to_double_array (prm.get (" Reference enthalpies" ),
1214
- endmember_names,
1215
- false ,
1216
- " Reference enthalpies" );
1217
-
1218
- reference_entropies = Utilities::parse_map_to_double_array (prm.get (" Reference entropies" ),
1219
- endmember_names,
1220
- false ,
1221
- " Reference entropies" );
1222
-
1223
- reference_specific_heats = Utilities::parse_map_to_double_array (prm.get (" Reference specific heat capacities" ),
1224
- endmember_names,
1225
- false ,
1226
- " Reference specific heat capacities" );
1227
-
1228
- specific_heat_linear_coefficients = Utilities::parse_map_to_double_array (prm.get (" Linear coefficients for specific heat polynomial" ),
1229
- endmember_names,
1230
- false ,
1231
- " Linear coefficients for specific heat polynomial" );
1232
-
1233
- specific_heat_second_coefficients = Utilities::parse_map_to_double_array (prm.get (" Second coefficients for specific heat polynomial" ),
1234
- endmember_names,
1235
- false ,
1236
- " Second coefficients for specific heat polynomial" );
1237
-
1238
- specific_heat_third_coefficients = Utilities::parse_map_to_double_array (prm.get (" Third coefficients for specific heat polynomial" ),
1239
- endmember_names,
1240
- false ,
1241
- " Third coefficients for specific heat polynomial" );
1173
+ Utilities::MapParsing::Options options (endmember_names, " " );
1174
+ options.property_name = " Molar masses" ;
1175
+ molar_masses = Utilities::MapParsing::parse_map_to_double_array (prm.get (options.property_name ), options);
1176
+
1177
+ options.property_name = " Number of atoms" ;
1178
+ number_of_atoms = Utilities::MapParsing::parse_map_to_double_array (prm.get (options.property_name ), options);
1179
+
1180
+ options.property_name = " Reference volumes" ;
1181
+ reference_volumes = Utilities::MapParsing::parse_map_to_double_array (prm.get (options.property_name ), options);
1182
+
1183
+ options.property_name = " Reference thermal expansivities" ;
1184
+ reference_thermal_expansivities = Utilities::MapParsing::parse_map_to_double_array (prm.get (options.property_name ), options);
1185
+
1186
+ options.property_name = " Reference bulk moduli" ;
1187
+ reference_bulk_moduli = Utilities::MapParsing::parse_map_to_double_array (prm.get (options.property_name ), options);
1188
+
1189
+ options.property_name = " First derivatives of the bulk modulus" ;
1190
+ bulk_modulus_pressure_derivatives = Utilities::MapParsing::parse_map_to_double_array (prm.get (options.property_name ), options);
1191
+
1192
+ options.property_name = " Second derivatives of the bulk modulus" ;
1193
+ bulk_modulus_second_pressure_derivatives = Utilities::MapParsing::parse_map_to_double_array (prm.get (options.property_name ), options);
1194
+
1195
+ options.property_name = " Einstein temperatures" ;
1196
+ Einstein_temperatures = Utilities::MapParsing::parse_map_to_double_array (prm.get (options.property_name ), options);
1197
+
1198
+ options.property_name = " Reference enthalpies" ;
1199
+ reference_enthalpies = Utilities::MapParsing::parse_map_to_double_array (prm.get (options.property_name ), options);
1200
+
1201
+ options.property_name = " Reference entropies" ;
1202
+ reference_entropies = Utilities::MapParsing::parse_map_to_double_array (prm.get (options.property_name ), options);
1203
+
1204
+ options.property_name = " Reference specific heat capacities" ;
1205
+ reference_specific_heats = Utilities::MapParsing::parse_map_to_double_array (prm.get (options.property_name ), options);
1206
+
1207
+ options.property_name = " Linear coefficients for specific heat polynomial" ;
1208
+ specific_heat_linear_coefficients = Utilities::MapParsing::parse_map_to_double_array (prm.get (options.property_name ), options);
1209
+
1210
+ options.property_name = " Second coefficients for specific heat polynomial" ;
1211
+ specific_heat_second_coefficients = Utilities::MapParsing::parse_map_to_double_array (prm.get (options.property_name ), options);
1212
+
1213
+ options.property_name = " Third coefficients for specific heat polynomial" ;
1214
+ specific_heat_third_coefficients = Utilities::MapParsing::parse_map_to_double_array (prm.get (options.property_name ), options);
1242
1215
1243
1216
// Check all lists have the correct length.
1244
1217
AssertThrow (endmember_names.size () == endmember_states.size (),
0 commit comments