module test_masked_data_m !! tests on masked_data use funit implicit none contains @test subroutine test_masked_data_cerfons !! Test of masked data in cerfons geometry use precision_grillix_m, only : GP use screen_io_m, only : get_stdout use helpers_mesh_sample_m, only : mesh_sample_cerfons use equilibrium_m, only : equilibrium_t use mesh_cart_m, only : mesh_cart_t use mask_data_m, only : mask_data_t class(equilibrium_t), allocatable :: equi type(mesh_cart_t) :: mesh type(mask_data_t) :: masks logical :: inv integer :: l real(GP) :: phi, x, y write(get_stdout(),*) '' // new_line('a') // repeat('-',80) write(get_stdout(),*)'test_masked_data_cerfons' ! Create samplemesh phi = 0.0_GP call mesh_sample_cerfons(equi, phi, mesh) call masks%build(equi, mesh) do l = 1, mesh%get_n_points() @assertEquivalent(masks%is_inner(l), mesh%is_inner_point(l)) @assertEquivalent(masks%is_boundary(l), mesh%is_boundary_point(l)) @assertEquivalent(masks%is_ghost(l), mesh%is_ghost_point(l)) x = mesh%get_x(l) y = mesh%get_y(l) inv = equi%in_vessel(x, y, phi) @assertEquivalent(masks%is_in_vessel(l), inv) @assertEquivalent(masks%is_parbnd_immersed(l), .false.) enddo write(get_stdout(),*) repeat('-',80) // new_line('a') // '' end subroutine end module