Initializes an Eulerian field.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian object |
||
| character(len=*), | intent(in) | :: | name |
Name of variable |
||
| type(block_obj), | intent(in), | target | :: | block |
A block object |
|
| type(parallel_obj), | intent(in), | target | :: | parallel |
Parallel structure to link with |
|
| integer, | intent(in) | :: | stag |
Staggering |
impure subroutine eulerian_obj_Init(this,name,block,parallel,stag) !> Initializes an Eulerian field. implicit none class(eulerian_obj_base), intent(inout) :: this !! An Eulerian object character(len=*), intent(in) :: name !! Name of variable type(block_obj), intent(in), & target :: block !! A block object type(parallel_obj), intent(in), & target :: parallel !! Parallel structure to link with integer, intent(in) :: stag !! Staggering ! Point to the master objects this%parallel => parallel this%block => block ! Set the staggering if (stag.lt.0.or.stag.gt.3) & call this%parallel%Stop("Unacceptable staggering value") this%staggering=stag ! Set name of variable this%name=trim(adjustl(name)) ! Allocate data call this%Allocate return end subroutine eulerian_obj_Init