Changes between Version 2 and Version 3 of ProjectionObjects


Ignore:
Timestamp:
04/24/12 12:28:25 (13 years ago)
Author:
Jonathan
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • ProjectionObjects

    v2 v3  
    3737}}}
    3838
    39 Here is a full list of the various Projection parameters with the default values
     39 * Here is a full list of the various Projection parameters with the default values
    4040{{{
    41       INTEGER :: dim = 3                      ! projection axis
    42       REAL(KIND=qPREC) :: pow=1d0             ! power to multiply field by before summing
    43       INTEGER :: PlotLevel=MAXIMUMPLOTLEVEL   ! Sets resolution of output to that of PlotLevel. 
    44                                               ! (MAXIMUMPLOTLEVEL uses the current finest level of resolution)
    45       TYPE(CameraDef), POINTER :: Camera      ! Optional definition of a particular camera to use for the projection. 
     41      TYPE(FieldDef) :: Field                                ! Field to use
     42      REAL(KIND=qPREC), DIMENSION(:,:), ALLOCATABLE :: Data  ! column density of field
     43      INTEGER :: dim=3                                       ! projection axis
     44      REAL(KIND=qPREC) :: pow=1d0                            ! Power to raise field value to
     45      LOGICAL :: lReadCameraList=.false.                     ! Can be used instead of a single camera to make movies
     46      INTEGER :: PlotLevel=MAXIMUMPLOTLEVEL                  ! Sets resolution of output to that of PlotLevel. 
     47      TYPE(ShapeDef), POINTER :: Shape => NULL()             ! Optional Shape object which can be used to exclude points outside of shape.
     48      TYPE(ProjectionDef), POINTER :: next   
     49      TYPE(CameraDef), POINTER :: Camera => NULL()           ! Optional camera if image is not along principal axis
     50      TYPE(ImageDef), POINTER :: Image => NULL()             ! Optional image object which will produce a file
    4651}}}
    4752
    48 At each process event (currently each frame) a bov/dat file pair will be generated in the out directory ie. {{{out/cooling_strength_along_3_00014.bov}}} and {{{out/cooling_strength_along_3_00014.dat}}}.  The {{{.bov}}} file contains information about the data as well as the location of the actual data file {{{.dat}}} which contains the raw unformatted binary data.  Visit will only recognize the {{{.bov}}} files.  After opening the file, there will be a 2D dataset with a single variable '''projection''' that contains the integrated values.
     53 * At each process event (currently each frame) a bov/dat file pair will be generated in the out directory ie. {{{out/cooling_strength_along_3_00014.bov}}} and {{{out/cooling_strength_along_3_00014.dat}}}.  The {{{.bov}}} file contains information about the data as well as the location of the actual data file {{{.dat}}} which contains the raw unformatted binary data.  Visit will only recognize the {{{.bov}}} files.  After opening the file, there will be a 2D dataset with a single variable '''projection''' that contains the integrated values.
     54
     55
     56 * Making movies using the camera list: If Projection%lReadCameraList == .true. then a file camera.data should be present in the run directory.  The first line contains the number of cameras and then there should be that many camera namelists each with properties for the camera for each image should be shown.  The camera%id will be present in the filename... and only the camera properties that change need to be present...  (ie focus, up vector, are inherited from the previous camera - but can be changed)
     57 {{{
     58 60
     59 &CameraData
     60 MyCamera%pos=  0.0000000E+00   50.00000       50.00000
     61 MyCamera%id=           0
     62 /
     63 &CameraData
     64 MyCamera%pos=  0.2739029       44.77357       50.00000
     65 MyCamera%id=           1
     66 /
     67 &CameraData
     68 MyCamera%pos=   1.092617       39.60442       50.00000
     69 MyCamera%id=           2
     70 /
     71 &CameraData
     72 MyCamera%pos=   2.447174       34.54915       50.00000
     73 MyCamera%id=           3
     74 /
     75 &CameraData
     76 MyCamera%pos=   4.322727       29.66317       50.00000
     77 MyCamera%id=           4
     78 /
     79...
     80 }}}
     81
     82[[Image(wiki:CameraObjects:rotating.gif)]]
     83
     84 The above camera.data file was generated with a fortran code
     85 {{{
     86program moviescript
     87   implicit none
     88   INTEGER :: i, nframes
     89   REAL :: theta, focus(3), r
     90   r=50d0
     91   focus=(/50d0,50d0,50d0/)
     92   nFrames=60
     93   write(*,*) nframes
     94   DO i=0,nframes-1
     95      theta=2d0*acos(-1d0)*real(i)/real(nframes)
     96      write(*,*) '&CameraData'
     97      write(*,*) 'MyCamera%pos=', focus(1)-r*cos(theta), focus(2)-r*sin(theta), focus(3)
     98      write(*,*) 'MyCamera%id=', i
     99      write(*,*) '/'
     100   END DO
     101end program moviescript
     102
     103 }}}