wiki:LineTransfer

Version 1 (modified by Jonathan, 11 years ago) ( diff )

So - data structures?

Type ZoneLayout

integer :: ZoneLayout(3,2,nZones) integer :: ZoneMembers(nZones, MaxProcsPerZone)

Type PatchBoundaryDataPerZonePerDirection(nMyZones, nRays)

integer
mGlobal !originating patch boundaries - used for sorting
integer
Rays(2,2) ! given indexing based on direction and level
REAL
Depth (:,:)
LOGICAL
Integrated ! stores whether each ray is an integrated value - or a local value
REAL
zvals(:,:) ! stores exit value for 'z' data. used to determine which rays should be accumulated.

end type

Patch→Zones→RayBoundaries → Communication to Upwind Zones

Each processor orders Patch Boundaries within a zone and integrates the depth. At this point every patch boundary should be integrated and is suitable for updating physical zones. So now - loop over patches and find boundaries and update optical depth to all of the cells.

SUBROUTINE Calculate_Patch_Boundary_Data_For_Local_Zones(Info, direction) ! Calculates optical depth from grid edge to each cell and creates a Patch_Boundary_Data_Per_Zone_Per_Direction object(s)

END

SUBROUTINE Integrate_Patch_Boundary_Data_For_Zone(zone, direction)

END

Note: See TracWiki for help on using the wiki.