12#ifndef BELFEM_FN_FEM_GHOST_SWITCH_HPP
13#define BELFEM_FN_FEM_GHOST_SWITCH_HPP
33 inline const input::Section *
36 if ( aSolver ==
nullptr )
42 return aSolver->
section(
"nonlinear magnetic" );
46 return aSolver->
section(
"nonlinear" );
77 if ( tNonLinear ==
nullptr
86 "a 'nitsche ghost penalty' block requires the key 'eta': a positive value switches "
87 "the ghost coupling of the thin-shell layers on, 'eta : 0' switches it off "
88 "( so does omitting the block ). 'k_reg' alone does not say which." );
94 BELFEM_ERROR( tEta.first >= 0.0,
"eta must not be negative, but is %g",
95 (
double ) tEta.first );
#define BELFEM_ERROR(aCheck,...)
Definition assert.hpp:264
Definition cl_IFB_LINE3.hpp:21
bool ghost_facets_requested(const input::Section *aSolver)
true if the deck asks for duplicate interface dofs and ghost facets
Definition fn_FEM_ghost_switch.hpp:104
const input::Section * winning_nonlinear_section(const input::Section *aSolver)
The nonlinear section the penalty blocks are read from: the same alias rule Controller::set_params ap...
Definition fn_FEM_ghost_switch.hpp:34
real read_ghost_eta(const input::Section *aSolver)
The Nitsche ghost switch as the deck states it, read from the solver section:
Definition fn_FEM_ghost_switch.hpp:73
USER GUIDES:
Definition cl_Capacitor.cpp:16
std::pair< real, unit > value
Definition typedefs.hpp:74
double real
Definition typedefs.hpp:36