Eliminating the sub-directory Program_Examples/CFML_Groups that has been moved...

Eliminating the sub-directory Program_Examples/CFML_Groups that has been moved to FullProf/Src in ProgCMFL, because it contains Fortran 2003-2008 instructions that are not in CrysFML. This directory will be superseded by the new library CrysFML08 as soon as it is operational.
parent 88d2c66f
Pipeline #10016 passed with stages
in 12 minutes and 44 seconds
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
! Template algorithm for generating an arbitrary group characterized by matrices of
! whatever kind and dimensions
max_op=size(Op)
n=size(Op(1)%Mat,dim=1)
call Allocate_Operator(n,Opt)
done=.false.
done(1,:) = .true.
done(:,1) = .true.
tb(1,:) = [(i,i=1,max_op)] !It is supposed that the first generator is the identity
tb(:,1) = [(i,i=1,max_op)]
nt=ngen
Err_group=.false.
Err_group_mess=" "
!Ensure that determinants of generators are calculated
do i=1,ngen
Op(i)%dt=rdet(Op(i)%Mat(1:3,1:3))
end do
do_ext:do
n=nt
do i=1,n
do_j:do j=1,n
if(done(i,j)) cycle
Opt=Op(i)*Op(j)
do k=1,nt
if(Opt == Op(k)) then
tb(i,j)=k
done(i,j)=.true.
cycle do_j
end if
end do
done(i,j)=.true.
nt=nt+1
if(nt > max_op) then
nt=nt-1
exit do_ext
end if
tb(i,j)=nt
Op(nt)=Opt
end do do_j
end do
if ( n == nt) exit do_ext
end do do_ext
if(any(done(1:nt,1:nt) .eqv. .false. ) ) then
Err_group=.true.
Err_group_mess="Table of SSG operators not exhausted! Increase the expected order of the group!"
end if
if(nt == max_op) then
Err_group=.true.
write(Err_group_mess,"(a,i5,a)") "Max_Order (",max_op,") reached! The provided generators may not form a group!"
end if
multip=nt
if(present(table)) then
allocate(Table(multip,multip))
Table=tb
end if
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
@echo off
rem ****
rem ****---- Compilation for SIMILAR Program ----****
rem ****
rem **** Author: JRC + JGP
rem **** Revision: Nov-2008
rem ****
rem
if [%TARGET_ARCH%]==[] (set TARGET_ARCH=ia32)
if [%TARGET_ARCH%]==[ia32] (
set INC=/I"%CRYSFML%"\ifort\LibC
set INCD=/I"%CRYSFML%"\ifort_debug\LibC
set CRYSLIB="%CRYSFML%"\ifort\LibC\crysfml.lib
set CRYSLIBD="%CRYSFML%"\ifort_debug\libC\crysfml.lib
) else (
set INC=/I"%CRYSFML%"\ifort64\LibC
set INCD=/I"%CRYSFML%"\ifort64_debug\LibC
set CRYSLIB="%CRYSFML%"\ifort64\LibC\crysfml.lib
set CRYSLIBD="%CRYSFML%"\ifort64_debug\libC\crysfml.lib
)
if not x%1 == x goto CONT
cls
echo MAKE_GROUPS: Testing CFML_Groups
echo Syntax: make_groups [gfortran/ifort] [deb]
goto END
rem
:CONT
if x%1 == xgfortran goto GFOR
if x%1 == xgfortrand goto GFORD
if x%1 == xifort goto IFORT
if x%1 == xifortd goto IFORTD
goto END
rem ****---- Intel Compiler ----****
:IFORT
ifort /c CFML_Rational_Groups.f90 /O3 /Qparallel /nologo %INC% /warn
ifort /c CFML_Standard_Sett.f90 /O3 /Qparallel /nologo %INC% /warn
ifort /c groups.f90 /O3 /Qparallel /nologo %INC%
ifort /exe:groups *.obj %CRYSLIB% /link /stack:256000000
goto END
:IFORTD
ifort /c CFML_Rational_Groups.f90 /check:all /debug:full /check:noarg_temp_created /traceback /nologo /heap-arrays:100 %INCD% /warn
ifort /c CFML_Standard_Sett.f90 /check:all /debug:full /check:noarg_temp_created /traceback /nologo /heap-arrays:100 %INCD% /warn
ifort /c groups.f90 /check:all /debug:full /check:noarg_temp_created /traceback /nologo /heap-arrays:100 %INCD%
ifort /exe:groups *.obj %CRYSLIBD%
goto END
rem
rem **---- GFORTRAN Compiler ----**
:GFOR
gfortran -c -O3 CFML_Rational_Groups.f90 -fbounds-check -ffree-line-length-0 -I../../GFortran/LibC
gfortran -c -O3 CFML_Standard_Sett.f90 -fbounds-check -ffree-line-length-0 -I../../GFortran/LibC
gfortran -c -O3 groups.f90 -fbounds-check -ffree-line-length-0 -I../../GFortran/LibC
gfortran *.o -o groups_gf -L../../GFortran/LibC -lcrysfml
goto END
:GFORD
gfortran -c CFML_Rational_Groups.f90 -g -fbounds-check -fbacktrace -ffree-line-length-0 -I../../GFortran/LibC
gfortran -c CFML_Standard_Sett.f90 -g -fbounds-check -fbacktrace -ffree-line-length-0 -I../../GFortran/LibC
gfortran -c groups.f90 -g -fbounds-check -fbacktrace -ffree-line-length-0 -I../../GFortran/LibC
gfortran *.o -o groups_gf -L../../GFortran/LibC -lcrysfml
goto END
rem
:END
del *.obj *.mod *.o *.map *.bak *.pdb > nul
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment