FLASH4.5 API

Generated from /asc/asci2/site/flashcode/secure/release_4p5/source/physics/Eos/Eos_putData.F90 with ROBODoc v4.99.8 on Tue Mar 05 16:16:18 2019

TABLE OF CONTENTS


[Functions] source/physics/Eos/Eos_putData

[top][index]

NAME

  Eos_putData

SYNOPSIS

  call Eos_putData(  integer(IN) :: axis,
                     integer(IN) :: pos(MDIM),
                     integer(IN) :: vecLen,
                  real, pointer  :: solnData(:,:,:,:),
                     integer(IN) :: gridDataStruct,
                     real(IN)    :: eosData(:))

DESCRIPTION

 Eos_putData puts data from an eosData array into a Grid data structure, usually
 after data in the eosData array have been updated by an Eos call.

 The Eos_wrapped function is provided for the user's convenience and acts as a simple
 wrapper to the Eos interface. The Eos interface uses a single, flexible data
 structure "eosData" to pass the thermodynamic quantities in and out of the
 function (see Eos). The wrapper hides formation and use of eosData
 from the users. The wrapper function uses the Eos_putData function to update
 certain state variables in the relevant section of the block's storage, a vector 
 at a time. The function can also be used independently to update a vector in a grid block
 from the values returned by the call to Eos. The arguments axis, pos and vecLen together 
 specify the relevant vector.

 If you want to return the derived quantities defined from EOS_VAR+1:EOS_NUM
 in Eos.h, then you must use the direct interface Eos().

ARGUMENTS

   axis : the dimension of the vector in the block's storage
   pos  : the starting indices of the vector in the block. Note that the
          vector has to provide the starting indices for all dimensions
   vecLen : the length of the vector
   solnData : the solution data for the current block;
              various components (variables) of solnData will have been updated
              when Eos_putData returns.
   gridDataStruct : the relevant grid data structure, on whose data Eos was applied.
                    One of CENTER, FACEVAR{X,Y,Z}, GRIDVAR, defined in constants.h .
   eosData : the data structure native to Eos unit, in which the computed values 
             of the state variables are returned by Eos

EXAMPLE

      if axis = IAXIS, pos(IAXIS)=1,pos(JAXIS)=1,pos(KAXIS)=1 and vecLen=4
      then data from applying Eos() to four cells in the first row along IAXIS
      of the lower left hand corner of the guard cells in the block is put
      into corresponding parts of the Grid data structure.

      However if the value were
         pos(IAXIS)=iguard+1,
         pos(JAXIS)=jguard+1,
         pos(KAXIS)=kguard+1, vecLen = NYB, and axis = JAXIS
      then data from applying Eos() to the first column along Y axis in the
      interior of the block is returned.

NOTES

      This interface is called from Eos_wrappped, and is normally not called
      by user code directly.

      The actual arguments in a call should match those used in a preceding
      Eos_getData call used to set up the eosData array.

      This interface is defined in Fortran Module 
      Eos_interface. All functions calling this routine should include
      a statement like
      use Eos_interface, ONLY : Eos_putData

      This routine cannot use "INTERIOR" mode of indexing the range.  In the
      second example given above, although only the interior cells are being
      calculated with EOS, the range indices still must include the guard cells.
      See, for example, IsentropicVortex/Simulation_initBlock where the data is
      generated on INTERIOR cells with Grid_putRowData, but the same indices can't
      be used for the EOS call.

SEE ALSO

     Eos_getData
     Eos
     Eos.h