88 character(len=*),
intent(in),
optional :: field_name
89 type(
field_t),
pointer :: mask_field, nx_field, ny_field, nz_field
92 integer :: scratch_idx(4)
93 character(len=:),
allocatable :: field_name_
95 if (
present(field_name))
then
96 field_name_ = trim(field_name)
97 else if (
allocated(this%name) .and. len_trim(this%name) .gt. 0)
then
98 field_name_ = trim(this%name)
100 field_name_ =
'mixed_bc'
113 if (this%resolved_msk%is_set())
then
116 this%resolved_msk%get_d(), this%resolved_msk%size())
119 call cfill_mask(mask_field%x, 1.0_rp, mask_field%size(), &
120 this%resolved_msk%get(), this%resolved_msk%size())
123 if (this%n%size() .gt. 0)
then
127 this%resolved_msk%get(), nx_field%size(), &
128 this%resolved_msk%size())
130 this%resolved_msk%get(), ny_field%size(), &
131 this%resolved_msk%size())
133 this%resolved_msk%get(), nz_field%size(), &
134 this%resolved_msk%size())
138 call debug_fields%init(4)
139 call debug_fields%assign(1, mask_field)
140 call debug_fields%assign(2, nx_field)
141 call debug_fields%assign(3, ny_field)
142 call debug_fields%assign(4, nz_field)
144 call dump_file%init(field_name_ //
'.fld')
145 call dump_file%write(debug_fields)
146 call debug_fields%free()
subroutine, public device_cfill_mask(a_d, c, n, mask_d, n_mask, strm)
Fill a constant to a masked vector. .
subroutine, public masked_scatter_copy(a, b, mask, n, n_mask)
Scatter a contigous vector to masked positions in a target array .
subroutine, public cfill_mask(a, c, n, mask, n_mask)
Fill a constant to a masked vector. .