TABLE OF CONTENTS


ABINIT/m_ListCdagC [ Modules ]

[ Top ] [ Modules ]

NAME

  m_ListCdagC

FUNCTION

  Manage a 2D vector to store couple of c+c

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

28 #include "defs.h"
29 MODULE m_ListCdagC
30 USE m_Global
31 
32 IMPLICIT NONE

ABINIT/m_ListCdagC/listCdagC_assign [ Functions ]

[ Top ] [ Functions ]

NAME

  listCdagC_assign

FUNCTION

  assign routine

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC
  list_2=ListCdagC

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

327 SUBROUTINE listCdagC_assign(this, list_2)
328 
329 !Arguments ------------------------------------
330 
331 !This section has been created automatically by the script Abilint (TD).
332 !Do not modify the following lines by hand.
333 #undef ABI_FUNC
334 #define ABI_FUNC 'listCdagC_assign'
335 !End of the abilint section
336 
337   TYPE(ListCdagC), INTENT(INOUT) :: this
338   TYPE(ListCdagC), INTENT(IN   ) :: list_2
339 !Local variables ------------------------------
340   INTEGER                        :: tail
341 
342   tail = list_2%tail
343   CALL ListCdagC_setSize(this, tail)
344   this%list(0:tail,1:2) = list_2%list(0:tail,1:2)
345   !this%ind (0:tail,1:2) = list_2%ind (0:tail,1:2)
346 
347 END SUBROUTINE ListCdagC_assign

ABINIT/m_ListCdagC/ListCdagC_clear [ Functions ]

[ Top ] [ Functions ]

NAME

  ListCdagC_clear

FUNCTION

  Clear the list

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

944 SUBROUTINE ListCdagC_clear(this)
945 
946 !Arguments ------------------------------------
947 
948 !This section has been created automatically by the script Abilint (TD).
949 !Do not modify the following lines by hand.
950 #undef ABI_FUNC
951 #define ABI_FUNC 'ListCdagC_clear'
952 !End of the abilint section
953 
954   TYPE(ListCdagC), INTENT(INOUT) :: this
955   this%tail = 0 
956 END SUBROUTINE ListCdagC_clear

ABINIT/m_ListCdagC/ListCdagC_destroy [ Functions ]

[ Top ] [ Functions ]

NAME

  ListCdagC_destroy

FUNCTION

  destroy the list

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

 989 SUBROUTINE ListCdagC_destroy(this)
 990 
 991 !Arguments ------------------------------------
 992 
 993 !This section has been created automatically by the script Abilint (TD).
 994 !Do not modify the following lines by hand.
 995 #undef ABI_FUNC
 996 #define ABI_FUNC 'ListCdagC_destroy'
 997 !End of the abilint section
 998 
 999   TYPE(ListCdagC), INTENT(INOUT) :: this
1000 
1001   FREEIF(this%list)
1002   !FAKEFREEIF(this%ind )
1003 
1004   this%tail     = 0
1005   this%size     = 0
1006   !this%inv_dt   = 0.d0
1007 END SUBROUTINE ListCdagC_destroy

ABINIT/m_ListCdagC/ListCdagC_enlarge [ Functions ]

[ Top ] [ Functions ]

NAME

  ListCdagC_enlarge

FUNCTION

  Enlarge memory space of the list

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC
  size=new memory size

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

251 SUBROUTINE ListCdagC_enlarge(this, size)
252 
253 !Arguments ------------------------------------
254 
255 !This section has been created automatically by the script Abilint (TD).
256 !Do not modify the following lines by hand.
257 #undef ABI_FUNC
258 #define ABI_FUNC 'ListCdagC_enlarge'
259 !End of the abilint section
260 
261   TYPE(ListCdagC),   INTENT(INOUT)       :: this
262   INTEGER, OPTIONAL, INTENT(IN   )       :: size
263 !Local variables ------------------------------
264   INTEGER                                :: width
265   INTEGER                                :: tail
266   INTEGER                                :: size_val
267   !INTEGER         , ALLOCATABLE, DIMENSION(:,:) :: ind_temp 
268   DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:) :: list_temp 
269 
270   IF ( ALLOCATED(this%list) ) THEN
271     FREEIF(list_temp)
272     !FAKEFREEIF(ind_temp )
273     width = this%size
274     tail  = this%tail
275     size_val = width
276     IF ( PRESENT(size) ) size_val = size 
277     MALLOC(list_temp,(0:tail,1:2))
278     !MALLOC( ind_temp,(0:width,1:2))
279     list_temp(0:tail,:) = this%list(0:tail,:)
280     !ind_temp  = this%ind
281     FREE(this%list)
282     !FREE(this%ind )
283     this%size = width + size_val
284     MALLOC(this%list,(0:this%size,1:2))
285     !MALLOC(this%ind ,(0:this%size,1:2))
286     this%list(0:tail,1:2) = list_temp(0:tail,1:2)
287     !this%ind (0:width,1:2) = ind_temp (0:width,1:2)
288     FREE(list_temp)
289   ELSE
290     !CALL ListCdagC_init(this, this%inv_dt, Global_SIZE)
291     CALL ListCdagC_init(this, Global_SIZE)
292   END IF
293 END SUBROUTINE ListCdagC_enlarge

ABINIT/m_ListCdagC/ListCdagC_erase [ Functions ]

[ Top ] [ Functions ]

NAME

  ListCdagC_erase

FUNCTION

  Erase a couple at a given position

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC
  position=position of the element to remove

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

640 SUBROUTINE ListCdagC_erase(this,position)
641 
642 !Arguments ------------------------------------
643 
644 !This section has been created automatically by the script Abilint (TD).
645 !Do not modify the following lines by hand.
646 #undef ABI_FUNC
647 #define ABI_FUNC 'ListCdagC_erase'
648 !End of the abilint section
649 
650   TYPE(ListCdagC), INTENT(INOUT) :: this
651   INTEGER,         INTENT(IN   ) :: position
652 !Local variables ------------------------------
653   INTEGER                        :: tail
654   INTEGER                        :: new_tail
655   INTEGER                        :: continueing
656   
657   tail = this%tail
658   IF ( position .GT. tail ) &
659     CALL ERROR("ListCdagC_erase : position > tail                 ")
660   new_tail    = tail - 1
661   continueing = position + 1
662   this%list(new_tail:position:-1,1:2) = this%list(tail:continueing:-1,1:2)
663   this%tail = new_tail
664 END SUBROUTINE ListCdagC_erase

ABINIT/m_ListCdagC/ListCdagC_firstHigherThanReal [ Functions ]

[ Top ] [ Functions ]

NAME

  ListCdagC_firstHigherThanReal

FUNCTION

  search for the first element higher than the real time
  assume the list is already sorted

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC
  time=reference

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

699 INTEGER FUNCTION ListCdagC_firstHigherThanReal(this, time)
700 
701 !Arguments ------------------------------------
702 
703 !This section has been created automatically by the script Abilint (TD).
704 !Do not modify the following lines by hand.
705 #undef ABI_FUNC
706 #define ABI_FUNC 'ListCdagC_firstHigherThanReal'
707 !End of the abilint section
708 
709   TYPE(ListCdagC),  INTENT(IN) :: this
710   DOUBLE PRECISION, INTENT(IN) :: time
711 #include "ListCdagC_firstHigher.h"
712   ! Dichotomic research
713 #define list_1 this
714 #include "ListCdagC_firstHigher"
715 #undef list_1
716 !  unefficient function for long list  
717 !  it = 1
718 !  DO WHILE ( it .LE. this%tail .AND. this%list(it) .LE. value )
719 !    it = it + 1
720 !  END DO
721 !  IF ( it .GT. this%tail ) it = -1
722 !  ListCdagC_firstHigherThanReal = it
723   ListCdagC_firstHigherThanReal = firstHigher
724 END FUNCTION ListCdagC_firstHigherThanReal

ABINIT/m_ListCdagC/ListCdagC_init [ Functions ]

[ Top ] [ Functions ]

NAME

  ListCdagC_init

FUNCTION

  initialize

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC
  size=size of initialization

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

132 SUBROUTINE ListCdagC_init(this, size)
133 
134 !Arguments ------------------------------------
135 
136 !This section has been created automatically by the script Abilint (TD).
137 !Do not modify the following lines by hand.
138 #undef ABI_FUNC
139 #define ABI_FUNC 'ListCdagC_init'
140 !End of the abilint section
141 
142   TYPE(ListCdagC)  , INTENT(INOUT) :: this
143   !DOUBLE PRECISION , INTENT(IN   ) :: inv_dt
144   INTEGER, OPTIONAL, INTENT(IN   ) :: size
145 !Local variables ------------------------------
146   INTEGER                          :: size_val
147 
148   size_val = Global_SIZE
149   !this%inv_dt = inv_dt
150   IF ( PRESENT(size) ) size_val = size
151   this%size = size_val
152   FREEIF(this%list)
153   MALLOC(this%list,(0:size_val,1:2))
154   !FAKEFREEIF(this%ind)
155   !FAKEMALLOC(this%ind,(0:size_val,1:2))
156   this%tail     = 0
157 END SUBROUTINE ListCdagC_init

ABINIT/m_ListCdagC/ListCdagC_insert [ Functions ]

[ Top ] [ Functions ]

NAME

  ListCdagC_insert

FUNCTION

  insert somewhere a couple

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC
  CdagC_1=couple
  position=where to insert

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

521 SUBROUTINE ListCdagC_insert(this, CdagC_1, position)
522 
523 !Arguments ------------------------------------
524 
525 !This section has been created automatically by the script Abilint (TD).
526 !Do not modify the following lines by hand.
527 #undef ABI_FUNC
528 #define ABI_FUNC 'ListCdagC_insert'
529 !End of the abilint section
530 
531   TYPE(ListCdagC), INTENT(INOUT) :: this
532   DOUBLE PRECISION, DIMENSION(1:2), INTENT(IN   ) :: CdagC_1 
533   INTEGER        , INTENT(IN   ) :: position
534 !Local variables ------------------------------
535   INTEGER                        :: new_position
536   INTEGER                        :: tail
537   
538   tail         = this%tail + 1
539   new_position = position 
540   IF ( tail .GT. this%size ) THEN
541     CALL ListCdagC_enlarge(this)
542   END IF
543   IF ( position .EQ. -1 ) THEN
544     new_position = tail
545   ELSE IF ( position .LE. tail ) THEN
546   ! new_position = position 
547     this%list(tail:position+1:-1,1:2) = this%list(this%tail:position:-1,1:2)
548   ELSE 
549     CALL ERROR("ListCdagC_insert : position > tail                ")
550   END IF
551   
552   this%list(new_position,1:2) = CdagC_1
553   !this%ind (new_position,Cdag_) = INT(CdagC_1(Cdag_) * this%inv_dt + 0.5d0)
554   !this%ind (new_position,C_   ) = INT(CdagC_1(C_   ) * this%inv_dt + 0.5d0)
555   this%tail = tail
556 END SUBROUTINE ListCdagC_insert

ABINIT/m_ListCdagC/ListCdagC_popBack [ Functions ]

[ Top ] [ Functions ]

NAME

  ListCdagC_popBack

FUNCTION

  Remove the last element

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

589 SUBROUTINE ListCdagC_popBack(this)
590 
591 !Arguments ------------------------------------
592 
593 !This section has been created automatically by the script Abilint (TD).
594 !Do not modify the following lines by hand.
595 #undef ABI_FUNC
596 #define ABI_FUNC 'ListCdagC_popBack'
597 !End of the abilint section
598 
599   TYPE(ListCdagC), INTENT(INOUT) :: this
600 !Local variables ------------------------------
601   INTEGER                        :: tail
602 
603   tail = this%tail
604   IF ( tail .EQ. 0 ) RETURN
605   this%tail = tail - 1
606 END SUBROUTINE ListCdagC_popBack

ABINIT/m_ListCdagC/ListCdagC_print [ Functions ]

[ Top ] [ Functions ]

NAME

  ListCdagC_print

FUNCTION

  print the list

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC
  ostrean=file stream

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

889 SUBROUTINE ListCdagC_print(this,ostream)
890 
891 !Arguments ------------------------------------
892 
893 !This section has been created automatically by the script Abilint (TD).
894 !Do not modify the following lines by hand.
895 #undef ABI_FUNC
896 #define ABI_FUNC 'ListCdagC_print'
897 !End of the abilint section
898 
899   TYPE(ListCdagC)  , INTENT(IN) :: this
900   INTEGER, OPTIONAL, INTENT(IN) :: ostream
901 !Local variables ------------------------------
902   INTEGER                       :: ostream_val
903   INTEGER                       :: it
904 
905   ostream_val = 6
906   IF ( PRESENT(ostream) ) ostream_val = ostream
907   WRITE(ostream_val,'(A,2x,A4,22x,A)') "#","Cdag", "C"
908   DO it = 1, this%tail
909     WRITE(ostream_val,*) this%list(it,Cdag_), this%list(it,C_) 
910   END DO
911 END SUBROUTINE ListCdagC_print

ABINIT/m_ListCdagC/ListCdagC_pushBack [ Functions ]

[ Top ] [ Functions ]

NAME

  ListCdagC_pushBack

FUNCTION

  push at the end of the list a couple

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC
  CdagC_1=couple

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

456 SUBROUTINE ListCdagC_pushBack(this, CdagC_1)
457 
458 !Arguments ------------------------------------
459 
460 !This section has been created automatically by the script Abilint (TD).
461 !Do not modify the following lines by hand.
462 #undef ABI_FUNC
463 #define ABI_FUNC 'ListCdagC_pushBack'
464 !End of the abilint section
465 
466   TYPE(ListCdagC), INTENT(INOUT)       :: this
467   DOUBLE PRECISION, DIMENSION(1:2), INTENT(IN   ) :: CdagC_1
468 !Local variables ------------------------------
469   INTEGER                              :: tail
470 
471   !IF ( this%size .EQ. 0 ) THEN
472   !  CALL ListCdagC_init(this, this%inv_dt, Global_SIZE)
473   !ENDIF
474   IF ( this%size .EQ. 0 ) THEN
475     CALL ListCdagC_init(this, Global_SIZE)
476   END IF
477   tail = this%tail
478   tail = tail + 1
479   IF ( tail .GT. this%size ) THEN
480     CALL ListCdagC_enlarge(this)
481   END IF
482   this%list(tail,1:2) = CdagC_1
483   !this%ind (tail,Cdag_) = INT(CdagC_1(Cdag_) * this%inv_dt + 0.5d0)
484   !this%ind (tail,C_   ) = INT(CdagC_1(C_   ) * this%inv_dt + 0.5d0)
485   this%tail       = tail
486 END SUBROUTINE ListCdagC_pushBack

ABINIT/m_ListCdagC/ListCdagC_quickSort [ Functions ]

[ Top ] [ Functions ]

NAME

  ListCdagC_quickSort

FUNCTION

  sort the list by c+ increasing with the quick sort algo

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC
  begin=from element to consider
  end=last element to consider

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

806 RECURSIVE SUBROUTINE ListCdagC_quickSort(this, begin, end)
807 
808 !Arguments ------------------------------------
809 
810 !This section has been created automatically by the script Abilint (TD).
811 !Do not modify the following lines by hand.
812 #undef ABI_FUNC
813 #define ABI_FUNC 'ListCdagC_quickSort'
814 !End of the abilint section
815 
816   TYPE(ListCdagC), INTENT(INOUT) :: this
817   INTEGER,         INTENT(IN   ) :: begin
818   INTEGER,         INTENT(IN   ) :: end
819 !Local variables k-----------------------------
820   INTEGER                        :: it1
821   INTEGER                        :: it2
822   DOUBLE PRECISION               :: pivot
823   DOUBLE PRECISION, DIMENSION(1:2):: CdagC_swap
824   !DOUBLE PRECISION, DIMENSION(1:2):: ind_swap
825 
826   pivot = this%list((end-begin)/2 + begin,Cdag_) ! not the betterchoice.... FIXME
827   it1 = begin
828   it2 = end
829   DO WHILE (it1 .LE. it2)
830     DO WHILE ( this%list(it1,Cdag_) .LT. pivot )
831       it1 = it1 + 1
832     END DO
833     DO WHILE ( this%list(it2,Cdag_) .GT. pivot )
834       it2 = it2 - 1
835     END DO
836     IF ( it1 .LE. it2) THEN
837       CdagC_swap = this%list(it1,1:2)
838       !ind_swap   = this%ind (it1,1:2)
839       this%list(it1,1:2) = this%list(it2,1:2)
840       !this%ind (it1,1:2) = this%ind (it2,1:2)
841       this%list(it2,1:2) = CdagC_swap
842       !this%ind (it2,1:2) = ind_swap
843       it1 = it1 + 1
844       it2 = it2 - 1
845     END IF
846   END DO
847   IF ( begin < it2 ) THEN
848     CALL ListCdagC_quickSort(this,begin,it2)
849   END IF
850   !!it2= it1+1
851   IF ( it1 < end ) THEN
852     CALL ListCdagC_quickSort(this,it1,end)
853   END IF
854 
855 END SUBROUTINE ListCdagC_quickSort

ABINIT/m_ListCdagC/ListCdagC_setSize [ Functions ]

[ Top ] [ Functions ]

NAME

  ListCdagC_setSize

FUNCTION

  Impose size of the list

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC
  new_tail=new_size

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

191 SUBROUTINE ListCdagC_setSize(this,new_tail)
192 
193 !Arguments ------------------------------------
194 
195 !This section has been created automatically by the script Abilint (TD).
196 !Do not modify the following lines by hand.
197 #undef ABI_FUNC
198 #define ABI_FUNC 'ListCdagC_setSize'
199 !End of the abilint section
200 
201   TYPE(ListCdagC), INTENT(INOUT) :: this
202   INTEGER        , INTENT(IN   ) :: new_tail
203 !Local variables ------------------------------
204   INTEGER                        :: size
205 
206   !IF ( .NOT. ALLOCATED(this%list) ) THEN
207   !  CALL ListCdagC_init(this, this%inv_dt)
208   !END IF
209   IF ( .NOT. ALLOCATED(this%list) ) THEN
210     CALL ListCdagC_init(this)
211   END IF
212   size = this%size
213   IF( new_tail .GT. size ) THEN
214     CALL ListCdagC_enlarge(this,MAX(Global_SIZE, new_tail-size))
215   END IF
216   this%tail = new_tail
217 END SUBROUTINE ListCdagC_setSize  

ABINIT/m_ListCdagC/ListCdagC_sort [ Functions ]

[ Top ] [ Functions ]

NAME

  ListCdagC_sort

FUNCTION

  sort the list by c+ increasing

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

757 SUBROUTINE ListCdagC_sort(this)
758 
759 !Arguments ------------------------------------
760 
761 !This section has been created automatically by the script Abilint (TD).
762 !Do not modify the following lines by hand.
763 #undef ABI_FUNC
764 #define ABI_FUNC 'ListCdagC_sort'
765 !End of the abilint section
766 
767   TYPE(ListCdagC), INTENT(INOUT) :: this
768  
769   IF ( this%tail .EQ. 1 ) RETURN
770   CALL ListCdagC_quickSort(this, 1, this%tail)
771 END SUBROUTINE ListCdagC_sort

ABINIT/m_ListCdagC/ListCdagC_swap [ Functions ]

[ Top ] [ Functions ]

NAME

  ListCdagC_swap

FUNCTION

  Swap two lists

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  list_1=ListCdagC
  list_2=ListCdagC

OUTPUT

SIDE EFFECTS

NOTES

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

381 SUBROUTINE ListCdagC_swap(this,list_2)
382 
383 !Arguments ------------------------------------
384 
385 !This section has been created automatically by the script Abilint (TD).
386 !Do not modify the following lines by hand.
387 #undef ABI_FUNC
388 #define ABI_FUNC 'ListCdagC_swap'
389 !End of the abilint section
390 
391   TYPE(ListCdagC), INTENT(INOUT) :: this
392   TYPE(ListCdagC), INTENT(INOUT) :: list_2
393 !Local variables ------------------------------
394   INTEGER :: tail1
395   INTEGER :: tail2
396   INTEGER :: i
397   INTEGER :: j
398   !INTEGER         , DIMENSION(1:2) :: ind_tmp
399   DOUBLE PRECISION, DIMENSION(1:2) :: CdagC_tmp
400 
401   tail1 = this%tail
402   tail2 = list_2%tail
403 
404   i = MAX(tail1,tail2)
405   IF ( this%size .LT. i ) THEN
406     CALL ListCdagC_enlarge(this,i)
407   END IF
408   IF ( list_2%size .LT. i ) THEN
409     CALL ListCdagC_enlarge(list_2,i)
410   END IF
411 
412   DO j = 0, i
413     CdagC_tmp(1:2) = this%list(j,1:2)
414     !ind_tmp  (1:2) = this%ind (j,1:2)
415     this%list(j,1:2) = list_2%list(j,1:2)
416     !this%ind (j,1:2) = list_2%ind (j,1:2)
417     list_2%list(j,1:2) = CdagC_tmp(1:2)
418     !list_2%ind (j,1:2) = ind_tmp  (1:2)
419   END DO
420   list_2%tail = tail1
421   this%tail = tail2
422 END SUBROUTINE ListCdagC_swap

m_ListCdagC/ListCdagC [ Types ]

[ Top ] [ m_ListCdagC ] [ Types ]

NAME

  ListCdagC

FUNCTION

  This structured datatype contains the necessary data

COPYRIGHT

  Copyright (C) 2013-2018 ABINIT group (J. Bieder)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

SOURCE

53 TYPE, PUBLIC :: ListCdagC
54   INTEGER _PRIVATE :: size = 0
55 !  max size of matrix list
56 
57   INTEGER          :: tail = 0 
58 !  the size of matrix list that contains physical data (ie number of
59 !  segment)
60   !DOUBLE PRECISION :: inv_dt = 0.d0
61 !  TYPE(CdagC), ALLOCATABLE, DIMENSION(:) :: list => NULL()
62   !INTEGER         , ALLOCATABLE, DIMENSION(:,:) :: ind
63   DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:)         :: list
64 !  for all elements i below itail, list(i,1:2) are times for creation
65 !  and destruction of particles.
66 END TYPE ListcdagC