PorousFlowAddBCAction
This action creates PorousFlow
-specific boundary conditions. It allow developers to create user friendly syntax for adding more complicated boundary conditions using the following structure:
[PorousFlow]
[BCs]
[my_bc]
type = MyUserFriendlyBC
parameters
[]
[]
[]
To create a syntax like this, developers have to build a proxy class called MyUserFriendlyBC
. This class inherits from MooseObject
and will register its own parameters as usual.
Then, in PorousFlowAddBCAction::act()
developers check the type of a constructed object and if it matches their type, they build the underlying boundary conditions objects using the MOOSE C++ inferface.
An example of this approach can be seen in (PorousFlowSinkBC)PorousFlowSinkBC which is the user-friendly proxy class and the way it is setup can be seen in PorousFlowAddBCAction.C
.