Respond to @smharper comments on #1171

This commit is contained in:
Paul Romano 2019-02-22 14:50:13 -06:00
parent 3358880959
commit 043d48ebf3
9 changed files with 13 additions and 36 deletions

View file

@ -6,7 +6,6 @@
</filter>
<filter id="2" type="energy">
<bins>0 20.0e6</bins>
</filter>
<filter id="3" type="energyout">

View file

@ -5,6 +5,6 @@ namespace openmc {
void free_memory_cmfd();
}
} // namespace openmc
#endif // OPENMC_CMFD_SOLVER_H

View file

@ -124,8 +124,7 @@ int verify_filter(int32_t index)
extern "C" int
openmc_filter_get_id(int32_t index, int32_t* id)
{
int err = verify_filter(index);
if (err) return err;
if (int err = verify_filter(index)) return err;
// TODO: off-by-one
*id = model::tally_filters[index-1]->id_;
@ -135,8 +134,7 @@ openmc_filter_get_id(int32_t index, int32_t* id)
extern "C" int
openmc_filter_set_id(int32_t index, int32_t id)
{
int err = verify_filter(index);
if (err) return err;
if (int err = verify_filter(index)) return err;
if (model::filter_map.find(id) != model::filter_map.end()) {
set_errmsg("Two filters have the same ID: " + std::to_string(id));
@ -152,8 +150,7 @@ openmc_filter_set_id(int32_t index, int32_t id)
extern "C" int
openmc_filter_get_type(int32_t index, char* type)
{
int err = verify_filter(index);
if (err) return err;
if (int err = verify_filter(index)) return err;
// TODO: off-by-one
std::strcpy(type, model::tally_filters[index-1]->type().c_str());

View file

@ -74,8 +74,7 @@ CellFilter::text_label(int bin) const
extern "C" int
openmc_cell_filter_get_bins(int32_t index, int32_t** cells, int32_t* n)
{
int err = verify_filter(index);
if (err) return err;
if (int err = verify_filter(index)) return err;
// TODO: off-by-one
const auto& filt = model::tally_filters[index-1].get();

View file

@ -120,8 +120,7 @@ extern"C" int
openmc_energy_filter_get_bins(int32_t index, double** energies, int32_t* n)
{
// Make sure this is a valid index to an allocated filter.
int err = verify_filter(index);
if (err) return err;
if (int err = verify_filter(index)) return err;
// Get a pointer to the filter and downcast.
const auto& filt_base = model::tally_filters[index-1].get();
@ -143,8 +142,7 @@ extern "C" int
openmc_energy_filter_set_bins(int32_t index, int32_t n, const double* energies)
{
// Make sure this is a valid index to an allocated filter.
int err = verify_filter(index);
if (err) return err;
if (int err = verify_filter(index)) return err;
// Get a pointer to the filter and downcast.
const auto& filt_base = model::tally_filters[index-1].get();

View file

@ -49,8 +49,7 @@ extern "C" int
openmc_legendre_filter_get_order(int32_t index, int* order)
{
// Make sure this is a valid index to an allocated filter.
int err = verify_filter(index);
if (err) return err;
if (int err = verify_filter(index)) return err;
// Get a pointer to the filter and downcast.
const auto& filt_base = model::tally_filters[index-1].get();
@ -71,8 +70,7 @@ extern "C" int
openmc_legendre_filter_set_order(int32_t index, int order)
{
// Make sure this is a valid index to an allocated filter.
int err = verify_filter(index);
if (err) return err;
if (int err = verify_filter(index)) return err;
// Get a pointer to the filter and downcast.
const auto& filt_base = model::tally_filters[index-1].get();

View file

@ -74,8 +74,7 @@ extern "C" int
openmc_material_filter_get_bins(int32_t index, int32_t** bins, int32_t* n)
{
// Make sure this is a valid index to an allocated filter.
int err = verify_filter(index);
if (err) return err;
if (int err = verify_filter(index)) return err;
// Get a pointer to the filter and downcast.
const auto& filt_base = model::tally_filters[index-1].get();
@ -97,8 +96,7 @@ extern "C" int
openmc_material_filter_set_bins(int32_t index, int32_t n, const int32_t* bins)
{
// Make sure this is a valid index to an allocated filter.
int err = verify_filter(index);
if (err) return err;
if (int err = verify_filter(index)) return err;
// Get a pointer to the filter and downcast.
const auto& filt_base = model::tally_filters[index-1].get();

View file

@ -87,8 +87,7 @@ extern "C" int
openmc_mesh_filter_get_mesh(int32_t index, int32_t* index_mesh)
{
// Make sure this is a valid index to an allocated filter.
int err = verify_filter(index);
if (err) return err;
if (int err = verify_filter(index)) return err;
// Get a pointer to the filter and downcast.
const auto& filt_base = model::tally_filters[index-1].get();
@ -109,8 +108,7 @@ extern "C" int
openmc_mesh_filter_set_mesh(int32_t index, int32_t index_mesh)
{
// Make sure this is a valid index to an allocated filter.
int err = verify_filter(index);
if (err) return err;
if (int err = verify_filter(index)) return err;
// Get a pointer to the filter and downcast.
const auto& filt_base = model::tally_filters[index-1].get();

View file

@ -617,16 +617,6 @@ void read_tallies_xml()
s = get_node_value(node_filt, "type", true);
}
// Make sure bins have been set
if (s == "energy" || s == "energyout" || s == "mu" || s == "polar"
|| s == "azimuthal" || s == "mesh" || s == "meshsurface" || s == "universe"
|| s == "material" || s == "cell" || s == "distribcell" || s == "cellborn"
|| s == "cellfrom" || s == "surface" || s == "delayedgroup") {
if (!check_for_node(node_filt, "bins")) {
fatal_error("Bins not set in filter " + std::to_string(filter_id));
}
}
// Allocate according to the filter type
Filter* f = allocate_filter(s);