# Run time error M6201:MATH-log domain error

by MANJUNATH N M
Tags: domain, error, m6201mathlog, time
 P: 3 hi all, i am getting the above problem while executing my fortran program. please help me how to fix it. thank MNM
Mentor
P: 21,258
 Quote by MANJUNATH N M hi all, i am getting the above problem while executing my fortran program. please help me how to fix it.
It would appear that your program is attempting to take the log of a number that is negative or zero.
P: 3
Thank you mark44.
But in the program i am taking log of T. see the program attached below.
Attached Files
 fort.txt (611 Bytes, 13 views)

 Mentor P: 21,258 Run time error M6201:MATH-log domain error For the convenience of other readers, here's your code. As I already said, your program is attempting to take the log of a number that is not positive. There needs to be some code in this function to guard against an attempt to take the log of the parameter T when it is zero or negative. C********************************************************************************** FUNCTION HP(T) C********************************************************************************** REAL KA,KP,KR,MC,MH,MO,NA,N,NADNAX,NMO,NP,NPO,NX,KRR COMMON/CHEM/KA,KP,KR,N(5),NA,NADNAX,NMO,NP,NPO,NX,RMR,KRR, # MC,MH,MO,R,RLITAT,RMIX,Y,YCC,YMIN,PMOLWT COMMON/CPCOEF/CV,ACPF,BCPF,ACPA,BCPA,AL(5),AH(5), # BL(5),BH(5),CL(5),CH(5) HP=0. IF(T.GT.1600.0) GO TO 20 DO 1 I=1,5 1 HP=HP+N(I)*(AL(I)+BL(I)*T+CL(I)*ALOG(T)) RETURN 20 DO 3 I=1,5 3 HP=HP+N(I)*(AH(I)+BH(I)*T+CH(I)*ALOG(T)) RETURN END
 Mentor P: 21,258 Somewhat off topic... I look at a lot of code samples in many different languages, but the ones in Fortran are usually the worst. They are typically nearly impossible to read with their terse variable names that convey almost no indication of what they're being used for, no or little whitespace, and no indentation to help the reader grasp the extent of loops.
 P: 3 THANK YOU MARK44, I eliminated log error. but now i am facing one more problem that is "array bound exceeded"
 Mentor P: 21,258 You haven't declared the variables in your two common blocks. See http://www.obliquity.com/computer/fortran/common.html.

 Related Discussions Math & Science Software 1 Programming & Computer Science 1 Engineering, Comp Sci, & Technology Homework 0 Set Theory, Logic, Probability, Statistics 2