53 if (
name ==
"override_index") {
63 if (
name ==
"set_density") {
65 m_ek_species->set_node_density(m_index,
dens * m_conv_dens);
66 m_ek_species->ghost_communication();
69 if (
name ==
"get_density") {
70 auto const result = m_ek_species->get_node_density(m_index);
74 if (
name ==
"get_flux_vector") {
75 auto const result = m_ek_species->get_node_flux_vector(m_index);
79 if (
name ==
"get_is_boundary") {
80 auto const result = m_ek_species->get_node_is_boundary(m_index);
83 if (
name ==
"get_node_density_at_boundary") {
85 m_ek_species->get_node_is_density_boundary(m_index);
87 auto const result = m_ek_species->get_node_density_at_boundary(m_index);
93 if (
name ==
"set_node_density_at_boundary") {
95 m_ek_species->remove_node_from_density_boundary(m_index);
98 m_ek_species->set_node_density_boundary(m_index,
dens);
102 if (
name ==
"get_node_flux_at_boundary") {
103 auto const boundary_opt = m_ek_species->get_node_is_flux_boundary(m_index);
105 auto const result = m_ek_species->get_node_flux_at_boundary(m_index);
111 if (
name ==
"set_node_flux_at_boundary") {
113 m_ek_species->remove_node_from_flux_boundary(m_index);
117 if (
context()->get_comm().size() > 1) {
118 throw std::runtime_error(
"The number of ghostlayers should be > 1 "
119 "when using flux boundaries and mpi.");
122 "using flux boundaries and mpi.";
127 m_ek_species->set_node_flux_boundary(m_index,
flux);
virtual void parallel_try_catch(std::function< void()> const &cb) const =0