39  use num_types, 
only: rp
 
   40  use point_zone_registry, 
only: neko_point_zone_registry
 
   41  use json_module, 
only: json_file
 
   57     procedure, pass(this) :: free_base => constraint_free_base
 
 
   63     class(constraint_t), 
allocatable :: constraint
 
   65     procedure, pass(this) :: free => constraint_wrapper_free
 
 
   73     module subroutine constraint_factory(object, json, 
design, simulation)
 
   74       class(constraint_t), 
allocatable, 
intent(inout) :: object
 
   75       type(json_file), 
intent(inout) :: json
 
   77       type(
simulation_t), 
target, 
optional, 
intent(inout) :: simulation
 
   78     end subroutine constraint_factory
 
   91  subroutine constraint_init_base(this, name, design_size, mask_name)
 
   92    class(constraint_t), 
intent(inout) :: this
 
   93    character(len=*), 
intent(in) :: name
 
   94    integer, 
intent(in) :: design_size
 
   95    character(len=*), 
intent(in), 
optional :: mask_name
 
   99    call this%sensitivity%init(design_size)
 
  101    this%has_mask = .false.
 
  102    if (trim(mask_name) .ne. 
"") 
then 
  103       this%has_mask = .true.
 
  104       this%mask => neko_point_zone_registry%get_point_zone(mask_name)
 
 
  107  end subroutine constraint_init_base
 
  110  subroutine constraint_free_base(this)
 
  111    class(constraint_t), 
target, 
intent(inout) :: this
 
  114    call this%sensitivity%free()
 
  115    this%has_mask = .false.
 
  116    if (
associated(this%mask)) 
nullify(this%mask)
 
  118  end subroutine constraint_free_base
 
  124  subroutine constraint_wrapper_free(this)
 
  125    class(constraint_wrapper_t), 
intent(inout) :: this
 
  126    if (
allocated(this%constraint)) 
then 
  127       call this%constraint%free()
 
  128       deallocate(this%constraint)
 
  130  end subroutine constraint_wrapper_free
 
Defines the abstract the base_functional_t type.
 
Implements the constraint_t type.
 
subroutine constraint_init_base(this, name, design_size, mask_name)
Factory function interface.
 
Implements the steady_problem_t type.
 
The base functional type.
 
The abstract constraint type.
 
Wrapper for constraints for use in lists.