44 character(len=25) :: SCALAR_PNPN_KNOWN_BCS(3) = [character(len=25) :: &
58 module subroutine bc_factory(object, scheme, json, coef,
user)
59 class(bc_t),
pointer,
intent(inout) :: object
60 type(scalar_pnpn_t),
intent(in) :: scheme
61 type(json_file),
intent(inout) :: json
62 type(coef_t),
intent(in) :: coef
63 type(user_t),
intent(in) :: user
64 character(len=:),
allocatable :: type
66 integer,
allocatable :: zone_indices(:)
68 call json_get(json,
"type", type)
70 select case (trim(type))
73 select type (obj => object)
75 obj%update =>
user%dirichlet_conditions
78 call json%add(
"field_name", scheme%s%name)
86 SCALAR_PNPN_KNOWN_BCS)
89 call json_get(json,
"zone_indices", zone_indices)
90 call object%init(coef, json)
91 do i = 1,
size(zone_indices)
92 call object%mark_zone(coef%msh%labeled_zones(zone_indices(i)))
94 call object%finalize()
96 end subroutine bc_factory
99end submodule scalar_pnpn_bc_fctry
Defines a dirichlet boundary condition.
Defines user dirichlet condition for a scalar field.
Defines a Neumann boundary condition.
Contains the scalar_pnpn_t type.
Interfaces for user interaction with NEKO.
subroutine, public neko_type_error(base_type, wrong_type, known_types)
Reports an error allocating a type for a particular base pointer class.
Generic Dirichlet boundary condition on .
User defined dirichlet condition, for which the user can work with an entire field....
A Neumann boundary condition for scalar fields. Sets the flux of the field to the chosen value.
A type collecting all the overridable user routines and flag to suppress type injection from custom m...