hummingbird
Solving the self-adjoint angular flux transport equation using spectral elements on Cartesian geometry
Loading...
Searching...
No Matches
bc_bank.h
Go to the documentation of this file.
1// SPDX-License-Identifier: BSD-3-Clause
2// Copyright (c) 2026, Liam Pohlmann
3
4#ifndef HUMMINGBIRD_BANKS_BC_BANK_H_
5#define HUMMINGBIRD_BANKS_BC_BANK_H_
6
7#include <nlohmann/json.hpp>
8#include <string>
9#include <unordered_map>
10
11#include "banks/bank_base.h"
12#include "utils/enums.h"
13
14using nlohmann::json;
15namespace hummingbird {
16
17/**
18 * @brief Bank holding the boundary conditions defined in the input file
19 *
20 */
21class BCBank : public BankBase<BC> {
22 public:
23 /**
24 * @brief Construct a new BCBank object. BCs are built using the json input
25 *
26 * @param json_input JSON object containing input file information
27 */
28 BCBank(const json& json_input);
29
30 private:
31 /**
32 * @brief Builds the BC map and assigns it to the id_object_map_ and
33 * name_id_map_ members
34 *
35 * @param json_input JSON object containing input file information
36 */
37 void Build(const json& json_input) override;
38};
39} // namespace hummingbird
40
41#endif // HUMMINGBIRD_BANKS_BC_BANK_H_
void Build(const json &json_input) override
Builds the BC map and assigns it to the id_object_map_ and name_id_map_ members.
Definition bc_bank.cc:6
BCBank(const json &json_input)
Construct a new BCBank object. BCs are built using the json input.
Definition bc_bank.cc:4
Base class for banks that store objects of type T by integer ID and look them up by the name given in...
Definition bank_base.h:21