1 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv! 2 ! ! 3 ! Module name: pic_bc_mod.f ! 4 ! ! 5 ! Purpose: Common elements needed for the pic mass inflow boundary ! 6 ! condition. ! 7 ! ! 8 ! Author: R. Garg Date: 11-Jun-14 ! 9 ! ! 10 ! Comments: ! 11 ! ! 12 !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^! 13 14 MODULE PIC_BC 15 16 USE param 17 18 INTEGER :: PIC_BCMI 19 INTEGER :: PIC_BCMO 20 21 LOGICAL PIC_MIO ! either inlet or outlet exists 22 23 ! Map between PIC MI/MO IDs and the user input BC index. 24 INTEGER :: PIC_BCMI_MAP(DIMENSION_BC) 25 INTEGER :: PIC_BCMO_MAP(DIMENSION_BC) 26 27 28 INTEGER, ALLOCATABLE :: PIC_BCMO_IJKSTART(:) 29 INTEGER, ALLOCATABLE :: PIC_BCMO_IJKEND(:) 30 31 INTEGER, ALLOCATABLE :: PIC_BCMO_IJK(:) 32 33 34 INTEGER, ALLOCATABLE :: PIC_BCMI_IJKSTART(:) 35 INTEGER, ALLOCATABLE :: PIC_BCMI_IJKEND(:) 36 37 INTEGER, ALLOCATABLE :: PIC_BCMI_IJK(:) 38 39 ! Direction of the MI BC plane 40 INTEGER, ALLOCATABLE :: PIC_BCMI_NORMDIR(:,:) 41 ! BC planes will be calculated from the fluid node as 42 ! XE-dx, YN-dy, and ZT-dz. 43 ! For BC-plane 'S', YN-dy will provide the wrong plane, as 44 ! it shud be just yn. The array below is used to provide this correction. 45 ! BC_plane coords will be calculated as x_i - offset dx_i and offset will 46 ! have default value of 1. It will be set to 0 for a case described above. 47 INTEGER, ALLOCATABLE :: PIC_BCMI_OFFSET(:,:) 48 49 50 ! This will store cumulative number of computational parcels 51 Double precision, Allocatable :: PIC_BCMI_CNP(:, :) 52 ! This will store cumulative number of implied real particles 53 Double precision, Allocatable :: PIC_BCMI_RNP(:, :) 54 55 ! To include or not to include cut-cells in the MI BC 56 57 LOGICAL, Allocatable :: PIC_BCMI_INCL_CUTCELL(:) 58 59 ! Logicals to print seeding and deletion of particles based on user needs 60 LOGICAL :: PIC_REPORT_SEEDING_STATS, PIC_REPORT_DELETION_STATS 61 62 END MODULE PIC_BC 63 64