571 class(BndExtType) :: this
573 character(len=10) :: cpos
574 character(len=LINELENGTH) :: tag
575 character(len=LINELENGTH),
allocatable,
dimension(:) :: words
576 integer(I4B) :: ntabrows
577 integer(I4B) :: ntabcols
579 integer(I4B) :: ii, jj, i, j, k, nod
582 type(TableType),
pointer :: inputtab => null()
584 character(len=LINELENGTH) :: fmtlstbn
588 naux =
size(this%auxvar, 1)
591 ntabrows = this%nbound
595 ipos = index(this%listlabel,
'NO.')
597 write (cpos,
'(i10)') ipos + 3
598 fmtlstbn =
'(a'//trim(adjustl(cpos))
603 if (
size(this%dis%mshape) == 3)
then
605 fmtlstbn = trim(fmtlstbn)//
',a7,a7,a7'
608 else if (
size(this%dis%mshape) == 2)
then
610 fmtlstbn = trim(fmtlstbn)//
',a7,a7'
615 fmtlstbn = trim(fmtlstbn)//
',a7'
619 ntabcols = ntabcols + ldim
621 fmtlstbn = trim(fmtlstbn)//
',a16'
625 if (this%inamedbound == 1)
then
626 ntabcols = ntabcols + 1
627 fmtlstbn = trim(fmtlstbn)//
',a16'
631 ntabcols = ntabcols + naux
633 fmtlstbn = trim(fmtlstbn)//
',a16'
635 fmtlstbn = trim(fmtlstbn)//
')'
638 allocate (words(ntabcols))
641 read (this%listlabel, fmtlstbn) (words(i), i=1, ntabcols)
645 call inputtab%table_df(ntabrows, ntabcols, this%iout)
649 call inputtab%initialize_column(words(ipos), 10, alignment=
tabcenter)
652 do i = 1,
size(this%dis%mshape)
654 call inputtab%initialize_column(words(ipos), 7, alignment=
tabcenter)
660 call inputtab%initialize_column(words(ipos), 16, alignment=
tabcenter)
664 if (this%inamedbound == 1)
then
672 call inputtab%initialize_column(this%auxname(i), 16, alignment=
tabcenter)
676 do ii = 1, this%nbound
677 call inputtab%add_term(ii)
680 if (
size(this%dis%mshape) == 3)
then
681 nod = this%nodelist(ii)
682 call get_ijk(nod, this%dis%mshape(2), this%dis%mshape(3), &
683 this%dis%mshape(1), i, j, k)
684 call inputtab%add_term(k)
685 call inputtab%add_term(i)
686 call inputtab%add_term(j)
687 else if (
size(this%dis%mshape) == 2)
then
688 nod = this%nodelist(ii)
689 call get_ijk(nod, 1, this%dis%mshape(2), this%dis%mshape(1), i, j, k)
690 call inputtab%add_term(k)
691 call inputtab%add_term(j)
693 nod = this%nodelist(ii)
694 call inputtab%add_term(nod)
699 call inputtab%add_term(this%bound_value(jj, ii))
703 if (this%inamedbound == 1)
then
704 call inputtab%add_term(this%boundname(ii))
709 call inputtab%add_term(this%auxvar(jj, ii))
714 call inputtab%table_da()
715 deallocate (inputtab)
integer(i4b), parameter linelength
maximum length of a standard line
@ tabcenter
centered table column
@ tableft
left justified table column
integer(i4b), parameter lenboundname
maximum length of a bound name
real(dp), parameter dzero
real constant zero
subroutine, public table_cr(this, name, title)