Initializes the hypre object.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(hypre_obj), | intent(inout) | :: | this |
Hypre machinery |
||
| type(block_obj), | intent(in), | target | :: | block |
A block object |
|
| type(parallel_obj), | intent(in), | target | :: | parallel |
Parallel structure to link with |
impure subroutine hypre_obj_Init(this,block,parallel) !> Initializes the hypre object. implicit none class(hypre_obj), intent(inout) :: this !! Hypre machinery type(block_obj), intent(in), & target :: block !! A block object type(parallel_obj), intent(in), & target :: parallel !! Parallel structure to link with ! Work variables integer :: ierr ! Point to the master objects this%parallel => parallel this%block => block ! Scaling factor this%h2 = minval(this%block%dx)**2 ! Set internal MPI communicator this%comm = this%parallel%comm%g ! Initialize Hypre internals call HYPRE_Init(ierr) return end subroutine hypre_obj_Init