destroy_3d Subroutine

private pure subroutine destroy_3d(me)

Destructor for bspline_3d class.

Type Bound

bspline_3d

Arguments

Type IntentOptional Attributes Name
class(bspline_3d), intent(inout) :: me

Calls

proc~~destroy_3d~~CallsGraph proc~destroy_3d bspline_oo_module::bspline_3d%destroy_3d proc~destroy_base bspline_oo_module::bspline_class%destroy_base proc~destroy_3d->proc~destroy_base

Called by

proc~~destroy_3d~~CalledByGraph proc~destroy_3d bspline_oo_module::bspline_3d%destroy_3d proc~finalize_3d bspline_oo_module::finalize_3d proc~finalize_3d->proc~destroy_3d proc~initialize_3d_auto_knots bspline_oo_module::bspline_3d%initialize_3d_auto_knots proc~initialize_3d_auto_knots->proc~destroy_3d proc~initialize_3d_specify_knots bspline_oo_module::bspline_3d%initialize_3d_specify_knots proc~initialize_3d_specify_knots->proc~destroy_3d proc~bspline_3d_constructor_auto_knots bspline_oo_module::bspline_3d_constructor_auto_knots proc~bspline_3d_constructor_auto_knots->proc~initialize_3d_auto_knots proc~bspline_3d_constructor_specify_knots bspline_oo_module::bspline_3d_constructor_specify_knots proc~bspline_3d_constructor_specify_knots->proc~initialize_3d_specify_knots interface~bspline_3d bspline_oo_module::bspline_3d interface~bspline_3d->proc~bspline_3d_constructor_auto_knots interface~bspline_3d->proc~bspline_3d_constructor_specify_knots

Source Code

    pure subroutine destroy_3d(me)

    implicit none

    class(bspline_3d),intent(inout) :: me

    call me%destroy_base()

    me%nx    = 0_ip
    me%ny    = 0_ip
    me%nz    = 0_ip
    me%kx    = 0_ip
    me%ky    = 0_ip
    me%kz    = 0_ip
    me%inbvy = 1_ip
    me%inbvz = 1_ip
    me%iloy  = 1_ip
    me%iloz  = 1_ip
    if (allocated(me%bcoef))      deallocate(me%bcoef)
    if (allocated(me%tx))         deallocate(me%tx)
    if (allocated(me%ty))         deallocate(me%ty)
    if (allocated(me%tz))         deallocate(me%tz)
    if (allocated(me%work_val_1)) deallocate(me%work_val_1)
    if (allocated(me%work_val_2)) deallocate(me%work_val_2)
    if (allocated(me%work_val_3)) deallocate(me%work_val_3)

    end subroutine destroy_3d