|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- subroutine Bit_Specification
-
- use sROP_Other_Variables
- use sROP_Variables
- use CStringConfigurationVariables
- use SimulationVariables
- implicit none
-
- INTEGER :: io
- integer :: i , BitClass_name
- real(8) :: rd
-
- !data%State%ROP_Spec%H1=1.9
- !data%State%ROP_Spec%H2=7.
- !data%State%ROP_Spec%H3=1.
- !data%State%ROP_Spec%wdmax=7.
-
-
-
- data%State%ROP_Spec%BitClass = (data%Configuration%StringConfiguration%BitDefinition%BitCodeHundreds*100)+(data%Configuration%StringConfiguration%BitDefinition%BitCodeTens*10)+data%Configuration%StringConfiguration%BitDefinition%BitCodeOnes
- rd = SNGL(data%State%ROP_Spec%BitClass)/10.d0
- data%State%ROP_Spec%BrCoef = ( (SNGL(data%State%ROP_Spec%BitClass)/10.d0)-(DINT(rd)) )*10.d0
-
- BitClass_name = (data%State%ROP_Spec%BitClass)/10
-
-
-
-
-
- if ( (any(BitClass_name==(/11,12,13,14,21,22,23,24,31,32,33,34,41/))) ) then
- open(unit=233,file="Bit_Database.TXT")
- READ (233,*)
- DO i=1,13!(14-1(/=10))
- READ (233,*) data%State%ROP_Spec%name, data%State%ROP_Spec%H1, data%State%ROP_Spec%H2, data%State%ROP_Spec%H3, data%State%ROP_Spec%wdmax
- if ( data%State%ROP_Spec%name==BitClass_name ) then
- exit
- end if
- END DO
- close (233)
- else
- data%State%ROP_Spec%H1=1.50d0
- data%State%ROP_Spec%H2=1.0d0
- data%State%ROP_Spec%H3=.020d0
- data%State%ROP_Spec%wdmax=10.0d0
- end if
-
-
-
-
-
- !if(print_log) print*, 'data%State%ROP_Spec%H1=' , data%State%ROP_Spec%H1
- !if(print_log) print*, 'data%State%ROP_Spec%H2=' , data%State%ROP_Spec%H2
- !if(print_log) print*, 'data%State%ROP_Spec%H3=' , data%State%ROP_Spec%H3
- !if(print_log) print*, 'data%State%ROP_Spec%wdmax=' , data%State%ROP_Spec%wdmax
- !if(print_log) print*, 'data%State%ROP_Spec%name=' , data%State%ROP_Spec%name
-
-
-
-
-
-
- ! filename = 'Bit_Database.TXT'
- !open (UNIT=3, FILE=filename )
- !!if(print_log) print*, 'data%State%ROP_Spec%wdmax1=' , data%State%ROP_Spec%wdmax
- ! !if(print_log) print*, 'data%State%ROP_Spec%name1=' , data%State%ROP_Spec%name
- !!openif: if ( data%State%ROP_Spec%status == 0 ) then
- ! read (3,*,IOSTAT=data%State%ROP_Spec%status) ! Get next value
- ! readloop: do i=1,14
- ! read (3,*,IOSTAT=data%State%ROP_Spec%status) data%State%ROP_Spec%name, data%State%ROP_Spec%H1, data%State%ROP_Spec%H2, data%State%ROP_Spec%H3, data%State%ROP_Spec%wdmax ! Get next value
- ! !if(print_log) print*, 'data%State%ROP_Spec%wdmax=' , data%State%ROP_Spec%wdmax
- ! !if(print_log) print*, 'data%State%ROP_Spec%name=' , data%State%ROP_Spec%name
- ! if ( data%State%ROP_Spec%status /= 0 ) exit ! EXIT if not valid.
- ! if ( data%State%ROP_Spec%name == data%State%ROP_Spec%BitClass/10) exit
- ! end do readloop
- !!endif openif
-
- end subroutine
|