Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

NCONF and FCN

Status
Not open for further replies.

sinereha

Civil/Environmental
Jul 17, 2013
1
I am trying to use NCONF for solving a minimization in fortran. the problem is that I want to use a FCN subroutine in which I need to enter some inputs which are the outputs of another FCN! can this be possible?

this is the first subroutine which result is X1:

SUBROUTINE FCN1(M1,ME,N,X1,ACTIVE1,F1,G1)
INTEGER M1,ME,N
REAL F1
REAL:: X1(N),G1(M1)
LOGICAL:: ACTIVE1(M1)

F1=-(0.48*(X1(1)+X1(2))*(10**6)*8000-3594771*(X1(1)))
IF (ACTIVE1(1)) G1(1)=X1(2)+X1(4)+X1(6)+X1(8)-20
IF (ACTIVE1(2)) G1(2)=X1(1)+X1(3)+X1(5)+X1(7)-10

RETURN
END


and I want to use these results as inputs in another subroutine as follows:

SUBROUTINE FCN2(X1,M1,ME,N,X2,ACTIVE2,F2,G2)
INTEGER M1,ME,N
REAL F2
REAL:: X1(N),X2(N),G2(M1)
LOGICAL:: ACTIVE2(M1)

F2=-(0.48*(X2(1)+X2(2))*(10**6)*8000-3579209*(X2(1)))
IF (ACTIVE2(1)) G2(1)=X1(2)+X1(4)+X2(6)+X2(8)-20
IF (ACTIVE2(2)) G2(2)=X1(1)+X1(3)+X2(5)+X2(7)-10

RETURN
END

As you see I have add X1 in the array of inputs of the FCN2 but I receive an error. it seems I can not change the standard format of FCN inputs and outputs! what should I do?
 
Replies continue below

Recommended for you

1) what is the standard FCN declaration?
2) What sort of error are you getting? Is it in compilation, linking or running?
 
Also, it is more efficient if you use 1E6 instead of 10**6. 1E6 is a constant. It has to compute 10**6.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor