Initialize boundary conditions of a given tree.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(treelmesh_type), | intent(in) | :: | tree | |||
integer, | intent(in) | :: | mypart | |||
integer, | intent(in) | :: | comm |
Communicator to use |
||
type(tem_BC_prop_type), | intent(out) | :: | bc |
subroutine init_tem_bc_prop( tree, mypart, comm, bc ) ! --------------------------------------------------------------------------- type(treelmesh_type), intent(in) :: tree integer, intent(in) :: mypart !> Communicator to use integer, intent(in) :: comm type(tem_bc_prop_type), intent(out) :: bc ! --------------------------------------------------------------------------- integer :: iprop logical :: found_bc ! --------------------------------------------------------------------------- iProp = tem_bc_prop_pos(tree) found_bc = iProp > 0 if (found_bc) then bc%header => tree%global%Property(iprop) bc%property => tree%property(iprop) select case(trim(bc%header%label)) case('internal 0D BC') call load_bc_intern_0D(tree = tree, me = bc) case('internal 1D BC') call load_bc_intern_1D(tree = tree, me = bc, xbounds=.false.) case('bounded internal 1D BC') call load_bc_intern_1D(tree = tree, me = bc, xbounds=.true.) case('internal 2D BC') call load_bc_intern_2D(tree = tree, me = bc) case default call load_tem_bc_prop(me = bc, & & offset = bc%property%Offset, & & nElems = bc%property%nElems, & & basename = trim(tree%global%dirname)//'bnd', & & comm = comm, & & mypart = mypart ) end select else call tem_empty_BC_prop(bc) end if end subroutine init_tem_bc_prop