Changes between Version 27 and Version 28 of doc/app/userint/output


Ignore:
Timestamp:
Sep 16, 2010 7:13:31 AM (14 years ago)
Author:
suehring
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • doc/app/userint/output

    v27 v28  
    239239  Otherwise, the calculated time-average may be wrong. In the restart run, this quantity has to be read from the restart file by including the following code in subroutine [../#user_read_restart_data user_read_restart_data]:
    240240
    241    {{{   IF ( initializing_actions == 'read_restart_data' )  THEN
    242       {{{       READ ( 13 )  field_char
    243       {{{       DO  WHILE ( TRIM( field_char ) /= '*** end user ***' )
    244          {{{       SELECT CASE ( TRIM( field_char ) )
    245             {{{       CASE ( 'u2_av' )
    246                {{{       IF ( .NOT. ALLOCATED( u2_av ) ) THEN
    247                   {{{       ALLOCATE( u2_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) )
    248                {{{       ENDIF
    249                {{{       READ ( 13 )  tmp_3d
    250                   {{{    u2_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = &
    251                   {{{                           tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1)
    252 
    253             {{{       CASE DEFAULT
    254                {{{       PRINT*, '+++ user_init: unknown variable named "', &
    255                {{{               TRIM( field_char ), '" found in'
    256                {{{       PRINT*, '               data from prior run on PE ', myid
    257                {{{       CALL local_stop
    258 
    259          {{{       END SELECT
    260 
    261          {{{       READ ( 13 )  field_char
    262 
    263       {{{    ENDDO
    264    {{{    ENDIF
     241   {{{   IF ( initializing_actions == 'read_restart_data' )  THEN }}}\\
     242      {{{       READ ( 13 )  field_char }}}\\
     243      {{{       DO  WHILE ( TRIM( field_char ) /= '*** end user ***' ) }}}\\
     244         {{{       SELECT CASE ( TRIM( field_char ) ) }}}\\
     245            {{{       CASE ( 'u2_av' ) }}}\\
     246               {{{       IF ( .NOT. ALLOCATED( u2_av ) ) THEN }}}\\
     247                  {{{       ALLOCATE( u2_av(nzb:nzt+1,nysd:nynd,nxld:nxrd) ) }}}\\
     248               {{{       ENDIF }}}\\
     249               {{{       READ ( 13 )  tmp_3d }}}\\
     250                  {{{    u2_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = & }}}\\
     251                  {{{                           tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1) }}}\\
     252
     253            {{{       CASE DEFAULT }}}\\
     254               {{{       PRINT*, '+++ user_init: unknown variable named "', & }}}\\
     255               {{{               TRIM( field_char ), '" found in' }}}\\
     256               {{{       PRINT*, '               data from prior run on PE ', myid }}}\\
     257               {{{       CALL local_stop }}}\\
     258         {{{       END SELECT }}}\\
     259         {{{       READ ( 13 )  field_char }}}\\
     260      {{{    ENDDO }}}\\
     261   {{{    ENDIF }}}\\
    265262
    266263[=#part_4 '''4. Output of user-defined DVRP objects'''] \\\\
    267 This example shows the output of the quantity "square of the u-component", u2. If more than one user-defined quantity shall be output, the following steps have to be carried out in the same way for each of the quantities. First, steps 1 - 6 of part 3. (2d cross section or 3d volume data) are required. Second, the gridpoint data of the quantity has to be resorted to array local_pf in subroutine user_data_output_dvrp as follows:
    268 
    269        CASE ( 'u2', 'u2_xy', 'u2_xz', 'u2_yz'  )
    270           DO  i = nxl, nxr+1
    271              DO  j = nys, nyn+1
    272                 DO  k = nzb, nz_do3d
    273                    local_pf(i,j,k) = u2(k,j,i)
    274                 ENDDO
    275              ENDDO
    276           ENDDO
     264This example shows the output of the quantity "square of the u-component", u^2^. If more than one user-defined quantity shall be output, the following steps have to be carried out in the same way for each of the quantities. First, steps 1 - 6 of part [#part_3. (2d cross section or 3d volume data)] are required. Second, the gridpoint data of the quantity has to be resorted to array {{{local_pf}}} in subroutine [../int#user_data_output_dvrp user_data_output_dvrp] as follows:
     265
     266   {{{ CASE ( '}}}[[span(u2,style=color: red)]]', '[[span(u2,style=color: red)]]_xy', '[[span(u2,style=color: red)]]_xz', '[[span(u2,style=color: red)]]_yz'  ) \\
     267      {{{    DO  i = nxl, nxr+1 }}}\\
     268         {{{    DO  j = nys, nyn+1 }}}\\
     269            {{{    DO  k = nzb, nz_do3d }}}\\
     270               {{{    local_pf(i,j,k) =}}} [[span(u2,style=color: red)]]{{{(k,j,i) }}}\\
     271            {{{    ENDDO }}}\\
     272            {{{ ENDDO }}}\\
     273         {{{ ENDDO }}}\\
    277274
    278275Only those parts in red have to be adjusted by the user.