ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-3.0/src/UseTheForce/DarkSide/shapes.F90
(Generate patch)

Comparing trunk/OOPSE-3.0/src/UseTheForce/DarkSide/shapes.F90 (file contents):
Revision 1948 by gezelter, Fri Jan 14 20:31:16 2005 UTC vs.
Revision 2188 by chuckv, Wed Apr 13 20:17:06 2005 UTC

# Line 68 | Line 68 | module shapes
68    public :: do_shape_pair
69    public :: newShapeType
70    public :: complete_Shape_FF
71 <
71 >  public :: destroyShapeTypes
72  
73    type, private :: Shape
74       integer :: atid
# Line 1428 | Line 1428 | contains  
1428      RETURN
1429      
1430    end subroutine Orthogonal_Polynomial
1431 +  
1432 +  subroutine deallocateShapes(this)
1433 +    type(Shape), pointer :: this
1434 +
1435 +     if (associated( this%ContactFuncLValue)) then
1436 +        deallocate(this%ContactFuncLValue)
1437 +        this%ContactFuncLValue => null()
1438 +     end if
1439 +
1440 +     if (associated( this%ContactFuncMValue)) then
1441 +        deallocate( this%ContactFuncMValue)
1442 +         this%ContactFuncMValue => null()
1443 +      end if
1444 +      if (associated( this%ContactFunctionType)) then
1445 +         deallocate(this%ContactFunctionType)
1446 +         this%ContactFunctionType => null()
1447 +      end if
1448 +
1449 +     if (associated( this%ContactFuncCoefficient)) then
1450 +        deallocate(this%ContactFuncCoefficient)
1451 +        this%ContactFuncCoefficient => null()
1452 +     end if
1453 +
1454 +     if (associated( this%RangeFuncLValue)) then
1455 +        deallocate(this%RangeFuncLValue)
1456 +        this%RangeFuncLValue => null()
1457 +     end if
1458 +     if (associated( this%RangeFuncMValue)) then
1459 +        deallocate( this%RangeFuncMValue)
1460 +         this%RangeFuncMValue => null()
1461 +      end if
1462 +
1463 +     if (associated( this%RangeFunctionType)) then
1464 +        deallocate( this%RangeFunctionType)
1465 +         this%RangeFunctionType => null()
1466 +      end if
1467 +    if (associated( this%RangeFuncCoefficient)) then
1468 +       deallocate(this%RangeFuncCoefficient)
1469 +       this%RangeFuncCoefficient => null()
1470 +    end if
1471 +
1472 +    if (associated( this%StrengthFuncLValue)) then
1473 +       deallocate(this%StrengthFuncLValue)
1474 +       this%StrengthFuncLValue => null()
1475 +    end if
1476 +
1477 +    if (associated( this%StrengthFuncMValue )) then
1478 +       deallocate(this%StrengthFuncMValue)
1479 +       this%StrengthFuncMValue => null()
1480 +    end if
1481 +
1482 +    if(associated( this%StrengthFunctionType)) then
1483 +       deallocate(this%StrengthFunctionType)
1484 +       this%StrengthFunctionType => null()
1485 +    end if
1486 +    if (associated( this%StrengthFuncCoefficient )) then
1487 +       deallocate(this%StrengthFuncCoefficient)
1488 +       this%StrengthFuncCoefficient => null()
1489 +    end if
1490 +  end subroutine deallocateShapes
1491 +
1492 +  subroutine destroyShapeTypes
1493 +    integer :: i
1494 +    type(Shape), pointer :: thisShape
1495 +
1496 + ! First walk through and kill the shape
1497 +    do i = 1,ShapeMap%n_shapes
1498 +       thisShape => ShapeMap%Shapes(i)
1499 +       call deallocateShapes(thisShape)
1500 +    end do
1501 +    
1502 +    ! set shape map to starting values
1503 +    ShapeMap%n_shapes = 0
1504 +    ShapeMap%currentShape = 0
1505 +    
1506 +     if (associated(ShapeMap%Shapes)) then
1507 +       deallocate(ShapeMap%Shapes)
1508 +       ShapeMap%Shapes => null()
1509 +    end if
1510 +
1511 +    if (associated(ShapeMap%atidToShape)) then
1512 +       deallocate(ShapeMap%atidToShape)
1513 +       ShapeMap%atidToShape => null()
1514 +    end if
1515 +
1516 +
1517 +  end subroutine destroyShapeTypes
1518 +
1519    
1520   end module shapes

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines