INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

DATA_CONVERSION TO ANOTHER FORMAT

DATA_CONVERSION TO ANOTHER FORMAT

(OP)
Dear users

I have this short code which is suppose to read 2 in put files i.e. bn_input and HISTORY file. I have placed a short version of a history file. My bn_input contains number of configurations starting from 1 to 10 (NCONFIGS) and NFRACT which can be 0 or 1. Now the problem when I read the data file, it does not read the data file but i get empty files of the 10 Configurations. Any one for help?



[bn_input contains 10 and 1] which are NCONFIGS,NFRACT

CODE

!c Converting DLPOLY Configuration Files to PotFit Format
!Fortran File: Convert_HISTORY_Configuration_2.f
PROGRAM CONVERT
!CASL Program to convert a DL-POLY2 HISTORY file (formatted) into a Configuration file for PotFit.
IMPLICIT DOUBLE PRECISION(A-H,O-Z)
CHARACTER*60 TITLE,TIMESTEP,ATITLE
open(5,file='bn_input')
OPEN (UNIT=7, FILE="Config_1")
OPEN (UNIT=8, FILE="Config_2")
OPEN (UNIT=9, FILE="Config_3")
OPEN (UNIT=10, FILE="Config_4")
OPEN (UNIT=11, FILE="Config_5")
OPEN (UNIT=12, FILE="Config_6")
OPEN (UNIT=13, FILE="Config_7")
OPEN (UNIT=14, FILE="Config_8")
OPEN (UNIT=15, FILE="Config_9")
OPEN (UNIT=16, FILE="Config_10")
!C Convert force to apprpriate units. DL-POLY uses forces is only J/mol.m
!C Conversion factor to eV involving the Faraday.
CONFACTOR = 10.0D0/96485.3415D0
!C Conversion factor when using kJ/mol.
!C CONFACTOR = 1.0D0/100.0D0
!C Now option to convert to fractional coords for QuantumEspresso in Bohr. If NFRACT=1 make conversion.
BOHR=0.52917720859D0
READ(5,*) NCONFIGS,NFRACT
READ(5,10) TITLE
WRITE(6,10) TITLE
10 FORMAT(A60)
READ(5,*) dum1,dum2,NA
DO 200 I=1,NCONFIGS
READ(5,10) TIMESTEP
READ(5,*) XCELL,dum3,dum4
READ(5,*) dum5,YCELL,dum6
READ(5,*) dum7,dum8,ZCELL
IUNIT = 6 + I
WRITE(IUNIT,*) '#N ',NA,' 1'
if (NFRACT.eq.1) then
WRITE(IUNIT,*) '#X ',XCELL/BOHR,' 0 0'
else
WRITE(IUNIT,*) '#X ',XCELL,' 0 0'
endif
WRITE(IUNIT,*) '#Y 0 ',YCELL,' 0'
WRITE(IUNIT,*) '#Z 0 0 ',ZCELL
WRITE(IUNIT,*) '#E Type ENERGY Here '
WRITE(IUNIT,*) '#F'
DO 100 J=1,NA
READ(5,10) ATITLE
READ(5,*) X,Y,Z
READ(5,*) VX,VY,VZ
READ(5,*) FX,FY,FZ
!C Convert to fractional coords if required.
IF (NFRACT.EQ.1) THEN
X = X/XCELL
Y = Y/YCELL
Z = Z/ZCELL
ENDIF
!C Convert forces as before to eV/A.
FX = FX*CONFACTOR
FY = FY*CONFACTOR
FZ = FZ*CONFACTOR
WRITE(IUNIT,20) X,Y,Z,FX,FY,FZ
20 FORMAT( 'AtomType ',6F16.8)
100 CONTINUE
200 CONTINUE
END 

Data file:

CODE

Include your configuration title on this line
         1         1        39
timestep         5        39         1         1    0.001000
   20.00       0.000       0.000
   0.000       20.00       0.000
   0.000       0.000       20.00
Mg               1   24.305000    1.200000
 -1.1401E+01 -2.5403E+00  5.7628E-01
  1.7354E+01 -4.3158E+00 -7.3638E+00
Mg               2   24.305000    1.200000
 -2.1925E+00  4.5392E+00  1.6815E+00
 -6.5469E+00 -8.3314E-01 -2.4877E+00
Ca               3   40.078000    1.200000
 -8.3971E+00 -1.2057E+00  3.9914E+00
  2.4274E-01 -3.2322E+00  7.1844E+00
Ca               4   40.078000    1.200000
 -4.2609E+00  4.1574E+00 -2.5920E+00
 -1.0905E+00 -8.5761E+00  9.2583E-01
Si               5   28.085530    2.400000
 -3.8046E+00  1.4240E-01 -3.7758E-01
  6.3889E+00  3.0486E+00  2.4104E+00
Si               6   28.085530    2.400000
 -4.8083E+00  2.6713E+00  1.0118E+00
 -3.2319E+00  5.5193E+00 -1.6864E+00
Si               7   28.085530    2.400000
 -7.3510E+00 -4.2872E+00  3.7256E-01
  5.1959E+00 -2.6805E+00  5.3139E+00
Si               8   28.085530    2.400000
 -9.0337E+00 -2.5186E+00 -1.5394E+00
 -3.0317E+00  3.4081E-02 -1.3563E+01
Si               9   28.085530    2.400000
 -5.7629E+00  8.5090E-01 -2.7200E+00
 -1.6284E+01 -1.2259E+01 -8.2212E+00
Si              10   28.085530    2.400000
 -9.3391E+00 -4.3359E+00  2.6168E+00
  7.0208E+00 -9.4734E+00 -2.6539E+00
Si              11   28.085530    2.400000
  -7.2021E+00  1.4907E+00  2.0877E+00
 -5.9518E+00 -6.7745E+00 -9.6735E+00
Al              12   24.134000    1.800000
 -4.6944E+00 -2.5664E+00  9.5831E-01
  2.1424E+00  1.0655E+01  2.5700E+00
Al              13   24.134000    1.800000
 -8.0245E+00  3.9779E-01 -6.5472E-01
  5.3580E+00 -4.0641E+00  1.1313E+01
O               14   15.999000   -1.200000
 -2.4385E+00 -2.8109E-01 -6.3445E-01
 -1.9698E+01  1.3679E+00 -1.0267E+00
O               15   15.999000   -1.200000
 -4.5817E+00  1.3508E-01 -1.8079E+00
  4.3512E+00 -5.2582E-01 -3.5189E+00
O               16   15.999000   -1.200000
 -3.8631E+00  1.6031E+00  2.8373E-01
  8.2625E+00  1.3924E+01 -4.1380E-01
O               17   15.999000   -1.200000
 -4.5693E+00 -9.8735E-01  6.1943E-01
 -8.7478E+00  1.8566E-01  8.2963E+00
O               18   15.999000   -1.200000
 -4.5253E+00 -2.8771E+00  2.7122E+00
 -4.7723E+00  1.6894E+00 -7.6144E+00
O               19   15.999000   -1.200000
 -3.4818E+00 -3.5565E+00  1.1472E-01
 -6.7636E+00  1.0267E+01  1.7096E+01
O               20   15.999000   -1.200000
 -6.3217E+00 -3.1388E+00  4.8869E-01
 -1.1186E+01 -1.1464E+00  2.1496E+00
O               21   15.999000   -1.200000
 -5.6571E+00  1.9661E+00  2.3029E+00
 -1.9686E+00  9.3794E+00  1.9910E+01
O               22   15.999000   -1.200000
 -5.7392E+00  3.4073E+00 -8.3083E-02
  1.1550E+01  1.7056E+01 -8.9055E+00
 O               23   15.999000   -1.200000
 -3.7978E+00  3.8558E+00  1.6975E+00
  1.5591E+01  1.9482E+01  7.0538E+00
O               24   15.999000   -1.200000
 -6.6349E+00 -5.6135E+00 -2.3746E-01
  1.2387E+01 -1.0297E+00 -4.0111E+00
O               25   15.999000   -1.200000
 -8.4678E+00 -3.8450E+00 -7.5340E-01
 -6.5298E+00 -1.3694E+01 -8.2013E+00
O               26   15.999000   -1.200000
 -8.1052E+00 -4.5157E+00  1.7393E+00
 -4.6657E+00  5.1924E+00  7.1996E-01
O               27   15.999000   -1.200000
 -1.0535E+01 -2.3329E+00 -9.5494E-01
 -9.7807E+00 -8.1426E+00  1.3794E+00
O               28   15.999000   -1.200000
 -8.9757E+00 -2.7468E+00 -3.0800E+00
 -6.8758E+00  1.0849E+01 -8.7581E+00
O               29   15.999000   -1.200000
 -8.1346E+00 -1.2392E+00 -1.0775E+00
 -2.5152E+00 -5.8427E-01  8.8272E+00
O               30   15.999000   -1.200000
 -6.0481E+00 -5.7631E-02 -3.9124E+00
  4.3320E+00 -9.2925E+00  1.3973E+00
O               31   15.999000   -1.200000
 -5.1328E+00  2.3020E+00 -3.2077E+00
 -8.3946E+00  4.9347E+00 -4.5869E+00
O               32   15.999000   -1.200000
 -7.0213E+00  1.1780E+00 -1.7950E+00
 -5.2948E+00  2.3363E+00  2.0758E+00
O               33   15.999000   -1.200000
 -7.3195E+00  5.2562E-01  9.3873E-01
  2.3753E+01 -1.1083E+01  1.0997E+01
O               34   15.999000   -1.200000
 -9.7497E+00  1.1474E+00 -8.1712E-01
 -4.9306E+00 -7.6578E+00  3.0298E+00
O               35   15.999000   -1.200000
 -7.5247E+00  7.4743E-01  3.3439E+00
  2.8973E+00  5.7908E+00 -1.5732E+01
O               36   15.999000   -1.200000
 -8.1024E+00  2.8708E+00  2.0330E+00
 -1.2526E+00  9.2585E+00 -2.4542E+00
O               37   15.999000   -1.200000
 -9.0197E+00 -3.2904E+00  3.7940E+00
 -8.7468E-01 -9.9473E+00  7.1678E+00
O               38   15.999000   -1.200000
 -1.0549E+01 -3.7307E+00  1.6713E+00
  6.6851E+00  5.5737E+00 -1.2329E+01
O               39   15.999000   -1.200000
 -9.7717E+00 -5.5816E+00  3.3639E+00
  6.2020E+00  1.2925E+01  1.0442E+01 

RE: DATA_CONVERSION TO ANOTHER FORMAT

If you look at your read statements and your data, you have

CODE

READ(5,*) NCONFIGS,NFRACT
READ(5,10) TITLE 
reading

CODE

Include your configuration title on this line
         1         1        39 
It probably falls over on the first read statement.

RE: DATA_CONVERSION TO ANOTHER FORMAT

In other words, the first things you are attempting to read are two numbers, follow by the title, which do not seem to appear in the input file.

Do us all a favor and please try a couple of "baby steps" before you give up on yourself...for your own sake, you really need to develop some debugging skills.

For example, test your program in stages; first, execute the very first read statement and immediately after echo the values just read...do they match what you expect? no? why?

OR

Maybe you got your files messed up or the unit numbers to read from them...in your post, you say you have 2 input files "bn_input" and "HISTORY" and that supposedly you have attached a sample HISTORY file...yet, you use "bn_input" name to open the file to read from and the read statement seem to match well with the file shown (which is the HISTORY file)...so, I am confused.

One last thing...please indent 4 spaces for every level...thanks...something like:
[code]
do i = 1, 200
do j = 1,100
! do something
end do
end do
[/cdoe]

RE: DATA_CONVERSION TO ANOTHER FORMAT

oops...typo and don't know a way to go back and edit these pages! ( I guess I should have previewed)

CODE

do i = 1, 200
    do j = 1,100
        ! do something
    end do
end do 

RE: DATA_CONVERSION TO ANOTHER FORMAT

Hi salgerman,
It seems that you wrote instead of
[/code] 
this:
[/cdoe] 
In the last time it happens regularly with me . maybe I'm getting old ...

RE: DATA_CONVERSION TO ANOTHER FORMAT

yeah, thanks...fixed it soon enough smile

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Resources

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close