Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28446 Discussions

MSC.Marc and compiler Intel XE 2015 Fortran, demonstration example e8x94c.dat

valery_z_
Beginner
6,115 Views

Hello. In MSC.Marc with the Intel XE 2015 Fortran compiler there is the demonstration example e8x94c.dat on deformation of a plate. Without use of file u8x94c.f on Fortran with the method usplit_mesh, shown below, deformation of a plate is run without a splitting of faces of the hexagon finite elements. After adding file u8x94c.f, deformation of a plate is run with a splitting of faces (written above in code in the method usplit_mesh) of hexagon finite elements.

In file u8x94c.f is declared the method usplit_mesh with ten parameters, stated below. From the theory of programming it is known, that the method usplit_mesh is not run, until it is called with a task of certain values for all ten parameters, for example with the value “1” for the variable “icall”. At running of the demonstration example e8x94c.dat on deformation of a plate with use of file u8x94c.f with method usplit_mesh, somewhere is called the method usplit_mesh with the certain values for all ten parameters, but where is called, it is unknown.

What code should be written in the method usplit_mesh, shown below, to learn, where the method usplit_mesh is called? Thanks.

      subroutine usplit_mesh(icall,nodelist,nlist,iedgelist,nedgelist,

     $     ifacelist,nfacelist,inc,time,timeinc)

#ifdef _IMPLICITNONE

      implicit none

#else

      implicit logical (a-z)

#endif

      integer nodelist,nlist,iedgelist,nedgelist,ifacelist,nfacelist

      integer icall,inc

      real*8  time,timeinc

      dimension nodelist(*),iedgelist(2,*),ifacelist(4,*)

      integer num,i,alt

      if (icall.eq.1) then

        alt=3

c  alternative 1: specify a sequence of nodes

        if (alt.eq.1) then

          nlist=7

          num=0

          do i=57,63

            num=num+1

            nodelist(num)=i

          enddo

        elseif (alt.eq.2) then

c alternative 2: specify a list of edges in any order

          nedgelist=6

          iedgelist(1,1)=57

          iedgelist(2,1)=58

          iedgelist(1,2)=62

          iedgelist(2,2)=63

          iedgelist(1,3)=59

          iedgelist(2,3)=60

          iedgelist(1,4)=58

          iedgelist(2,4)=59

          iedgelist(1,5)=60

          iedgelist(2,5)=61

          iedgelist(1,6)=61

          iedgelist(2,6)=62

        elseif (alt.eq.3) then

c  3d: give a list of faces

          nfacelist=4

          ifacelist(1,1)=819

          ifacelist(2,1)=817

          ifacelist(3,1)=822

          ifacelist(4,1)=824

c    

          ifacelist(1,2)=817

          ifacelist(2,2)=57

          ifacelist(3,2)=58

          ifacelist(4,2)=822

c    

          ifacelist(1,3)=829

          ifacelist(2,3)=827

          ifacelist(3,3)=822

          ifacelist(4,3)=824

c

          ifacelist(1,4)=822

          ifacelist(2,4)=827

          ifacelist(3,4)=58

          ifacelist(4,4)=59

        endif

      endif

      return

      end

0 Kudos
1 Solution
Steve_Lionel
Honored Contributor III
5,762 Views

If you read that, it was incorrect. Visual Studio Express Edition has never supported anything other than Microsoft languages (and it came into existence long after Microsoft left the Fortran market.) (One could do command-line builds of Fortran, but not debugging, with Visual Studio Express Editions.) 

However, Microsoft now offers Visual Studio Community Edition for free, if you qualify, and it does support Intel Fortran. You will need the latest version of Intel Parallel Studio XE 2017 (Update 4) to support Visual Studio 2017 Community Edition.

View solution in original post

0 Kudos
120 Replies
mecej4
Honored Contributor III
859 Views

valery z wrote:
 however Marc gives an error message 7001

If 7001 is the number of a MARC error message, as I have stated several times, I cannot help you.

The source code in the attachment to #105 contains numerous errors, as you can find for yourself by adding IMPLICIT NONE to every subprogram that does not already have that. 

Given the large number of instances where implicitly typed variables, including subprogram arguments, have the wrong type, and a number of calls to subroutines and functions for which an explicit interface is required but has not been provided, it is a waste of time to attempt to interpret error messages issued at run time.

A Fortran compiler is not required to detect and report these errors. Finding and fixing such errors is the programmer's responsibility, even if the compiler, when asked to by specifying options to check the code, issues diagnostic messages.

You really have to work with source code that follows the rules of the language.

0 Kudos
valery_z_
Beginner
859 Views

Thanks for answers.

In comparison with the Split_v1_f.f file, which I attached in my previous post #105, to define the location of an error, I added the block of a code with the new name of file *.log from the parameters of subroutine, which was developed Mr. Mecej and Mr. Andrew earlier, to all subroutines and functions:

      use ifport, only: setenvqq
      use ifcore, only: TRACEBACKQQ 
     
      integer lun
      logical lret
      lun = 0
      open( file='ubInc.log', newunit=lun, status='unknown',
     +      access='append' )
      if (lun /= 0) then
         write(lun,'(1x,I6,2x,A,2x,i12)') lun,'ubInc = ',ubInc
         close(lun)
         lret = setenvqq("FOR_DIAGNOSTIC_LOG_FILE=ubInc.log")
         CALL TRACEBACKQQ("My application message string",
     +                     user_exit_code=-1)        
      end if      

After compilation of the Split_v1_f.f file, which I attached below, by the Intel compiler without errors, in the folder, where there is the *.f file, the icall.log file with the message appeared:

  -129  ICALL =              1

And also there was the second file ubInc.log with the message:

-130  ubInc =              0

However at the beginning of a solution of a task, the following error message appeared:

My application message string
Image              PC                Routine            Line        Source             
libifcoremd.dll    00000000002EE478  Unknown               Unknown  Unknown
libifcoremd.dll    00000000002E85A9  Unknown               Unknown  Unknown
libifcoremd.dll    00000000002D4E9F  Unknown               Unknown  Unknown
libifcoremd.dll    0000000000246D4A  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F6DAE6D  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FB5FE8C  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FF42B4F  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FB1AE01  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F891DD1  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F89267E  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F6FCB28  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F6E2F25  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F6D1066  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000142581E4E  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000144148643  Unknown               Unknown  Unknown
kernel32.dll       000000007737652D  Unknown               Unknown  Unknown
ntdll.dll          00000000775AC521  Unknown               Unknown  Unknown

My application message string
Image              PC                Routine            Line        Source             
libifcoremd.dll    00000000002EE478  Unknown               Unknown  Unknown
libifcoremd.dll    00000000002E85A9  Unknown               Unknown  Unknown
libifcoremd.dll    00000000002D4E9F  Unknown               Unknown  Unknown
libifcoremd.dll    0000000000246D4A  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F6D614B  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F897B9F  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F6FCB28  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F6E2F25  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F6D1066  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000142581E4E  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000144148643  Unknown               Unknown  Unknown
kernel32.dll       000000007737652D  Unknown               Unknown  Unknown
ntdll.dll          00000000775AC521  Unknown               Unknown  Unknown

forrtl: severe (157): Program Exception - access violation 

Image              PC                Routine            Line        Source             
Split_v1_f.exe     000000013F6D615F  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F897B9F  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F6FCB28  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F6E2F25  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013F6D1066  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000142581E4E  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000144148643  Unknown               Unknown  Unknown
kernel32.dll       000000007737652D  Unknown               Unknown  Unknown
ntdll.dll          00000000775AC521  Unknown               Unknown  Unknown

Write, please, how to correct this error?

Thanks.

0 Kudos
valery_z_
Beginner
859 Views

The Split_v1_f.f file I attached below:

0 Kudos
valery_z_
Beginner
859 Views

Answer, please, the following question.

In error message, provided in a post #107:

forrtl: severe (157): Program Exception - access violation

whether number "157" means the number of line of code in the Split_v1_f.f file, which is attached in a post #108?

Thanks.

0 Kudos
andrew_4619
Honored Contributor II
859 Views

157 is the number of the error. The tracback has routine and line unknown because the source was not compiled with traceback enabled. Compile it with debug options to get more information on what line is crashes at.

0 Kudos
mecej4
Honored Contributor III
859 Views

There are 26 calls to TRACEBACKQQ in the source code attached to #108. If you want to be able to know which traceback is associated with the final abort, you need to use distinct strings instead of "My application message string" in all of them.

Using the same string in many places defeats the purpose of adding all those calls to TRACEBACKQQ.

0 Kudos
valery_z_
Beginner
859 Views

Mr. Andrew and Mr. Mecej, thanks for answers.

Answer, please, two questions.

As I wrote above in a post #107, in the system “Marc 2016 + Intel XE 2015 Fortran compiler” into all subroutines and functions in file Split_v1_f.f, which I attached in a post #108, I inserted the block of a code, which was developed by you (Mr. Andrew and Mr. Mecej) above:

      use ifport, only: setenvqq
      use ifcore, only: TRACEBACKQQ      

      integer lun
      logical lret
      lun = 0
      open( file='ubInc.log', newunit=lun, status='unknown',
     +      access='append' )
      if (lun /= 0) then
         write(lun,'(1x,I6,2x,A,2x,i12)') lun,'ubInc = ',ubInc
         close(lun)
         lret = setenvqq("FOR_DIAGNOSTIC_LOG_FILE=ubInc.log")
         CALL TRACEBACKQQ("My application message string",
     +                     user_exit_code=-1)        
      end if      

In the folder, where there is file Split_v1_f.f, only two files were created, namely: ubInc.log and icall.log for two subroutines.

1. Write, please, in what subroutine there was a crash of this program?

2. Write, please, how it is necessary to change this block of a code and where it needs to be inserted, to define that line in file Split_v1_f.f, where there was a crash of this program?

Thanks.

0 Kudos
gib
New Contributor II
859 Views

As mecej4 said, in every place in the code where you have this:

CALL TRACEBACKQQ("My application message string",

you need to replace "My application message string" by a string that describes where the traceback call is located.  It might be as simple as "Location 1", "Location 2", "Location 3",... etc.

0 Kudos
valery_z_
Beginner
859 Views

Thanks for answers.

In system “Marc 2016 + Intel XE 2015 Fortran compiler”, after adding in the file Split_v1_f.f of the block of the code:

      lun = 0
      open( file='setName.log', newunit=lun, status='unknown',
     +      access='append' )
      if (lun /= 0) then
         write(lun,'(1x,I6,2x,A,2x,i12)') lun,'setName = ',setName
         close(lun)
         lret = setenvqq("FOR_DIAGNOSTIC_LOG_FILE=setName.log")
         CALL TRACEBACKQQ("SUBROUTINE ubginc, location 3",
     +                     user_exit_code=-1)        
      end if      

in the following subroutine:

      SUBROUTINE ubginc(ubInc,ubIncsub)
c     We add a new code (beginning):
      use ifport, only: setenvqq
      use ifcore, only: TRACEBACKQQ      
c     We add a new code (end).
      USE CommonData
c      USE MarcTools
      IMPLICIT NONE
c     Start of generated type statements:
      INTEGER ubInc , ubIncsub
c     End of generated type statements.
      INTEGER , PARAMETER : : MAXEDGE = 8
      INTEGER , ALLOCATABLE , DIMENSION ( : ) : : elLst
      INTEGER : : elNum
      INTEGER , ALLOCATABLE , DIMENSION ( : , : ) : : curEdLst
      INTEGER : : curEl , curEdNum
      INTEGER , ALLOCATABLE , DIMENSION ( : , : ) : : orgEdLst
      INTEGER : : orgEdNum
      INTEGER , ALLOCATABLE , DIMENSION ( : , : ) : : refEdLst
      INTEGER : : nRefEdLst
      INTEGER : : i , j , k
c     We add a new code (beginning):      
      integer lun
      logical lret
      lun = 0
      open( file='ubInc.log', newunit=lun, status='unknown',
     +      access='append' )
      if (lun /= 0) then
         write(lun,'(1x,I6,2x,A,2x,i12)') lun,'ubInc = ',ubInc
         close(lun)
         lret = setenvqq("FOR_DIAGNOSTIC_LOG_FILE=ubInc.log")
         CALL TRACEBACKQQ("SUBROUTINE ubginc",
     +                     user_exit_code=-1)        
      end if      
c     We add a new code (end).
c     We add a new code (beginning):      
      CALL TRACEBACKQQ("SUBROUTINE ubginc, location 1",
     +                     user_exit_code=-1)
c     We add a new code (end).      
      IF ( ubInc .EQ. 0) THEN
c     We add a new code (beginning):      
      CALL TRACEBACKQQ("SUBROUTINE ubginc, location 2",
     +                     user_exit_code=-1)
c     We add a new code (end).
c     We add a new code (beginning):      
c      integer lun
c      logical lret
      lun = 0
      open( file='setName.log', newunit=lun, status='unknown',
     +      access='append' )
      if (lun /= 0) then
         write(lun,'(1x,I6,2x,A,2x,i12)') lun,'setName = ',setName
         close(lun)
         lret = setenvqq("FOR_DIAGNOSTIC_LOG_FILE=setName.log")
         CALL TRACEBACKQQ("SUBROUTINE ubginc, location 3",
     +                     user_exit_code=-1)        
      end if      
c     We add a new code (end).
      CALL ExtractSetItemLst(setName, elLst , elNum)
c     We add a new code (beginning):      
      CALL TRACEBACKQQ("SUBROUTINE ubginc, location 4",
     +                     user_exit_code=-1)
c     We add a new code (end).      
      IF ( elNum .GT . 0) THEN
      ALLOCATE (orgEdlst(2 , elNum*MAXEDGE) )
      orgEdNum = 0
      DO i = 1 , elNum
      curEl = elLst ( i )
      CALL ExtractElmEdgeLst ( curEl , curEdLst , curEdNum)
      DO j = 1 , curEdNum
      DO k = 1 , 2
      orgEdLst ( k , orgEdNum + j ) = curEdLst ( k , j )
      END DO
      END DO
      orgEdNum = orgEdNum + curEdNum
      END DO
      CALL PutSmallFirst(orgEdLst,orgEdNum)
      CALL DelRepeated2D(orgEdlst, orgEdNum, refEdlst, nRefEdLst)
      CALL DelElmFreeEdge(refEdlst, nRefEdLst, edgeList)
      edgeCount = size(edgeList,2)
      Allocate( edgeStress ( edgeCount ) )
      Allocate( yMask ( edgeCount ) )
      yMask = . FALSE .
      edgeStress = 0.D0
      ELSE
      CALL QUIT(1234)
      END IF
      END IF
c     We add a new code (beginning):      
      CALL TRACEBACKQQ("SUBROUTINE ubginc, Return, End",
     +                     user_exit_code=-1)
c     We add a new code (end).     
      RETURN
      END      

I received the following error message:

SUBROUTINE usplit_mesh
Image              PC                Routine            Line        Source             
libifcoremd.dll    00000000003CE478  Unknown               Unknown  Unknown
libifcoremd.dll    00000000003C85A9  Unknown               Unknown  Unknown
libifcoremd.dll    00000000003B4E9F  Unknown               Unknown  Unknown
libifcoremd.dll    0000000000326D4A  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FD9B0DD  Unknown               Unknown  Unknown
Split_v1_f.exe     000000014022011C  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000140602DDF  Unknown               Unknown  Unknown
Split_v1_f.exe     00000001401DB091  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FF52061  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FF5290E  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FDBCDB8  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FDA31B5  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FD91066  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000142C4214E  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000144808943  Unknown               Unknown  Unknown
kernel32.dll       00000000774D652D  Unknown               Unknown  Unknown
ntdll.dll          000000007760C521  Unknown               Unknown  Unknown
SUBROUTINE usplit_mesh, Return, End
Image              PC                Routine            Line        Source             
libifcoremd.dll    00000000003CE478  Unknown               Unknown  Unknown
libifcoremd.dll    00000000003C85A9  Unknown               Unknown  Unknown
libifcoremd.dll    00000000003B4E9F  Unknown               Unknown  Unknown
libifcoremd.dll    0000000000326D4A  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FD9B10B  Unknown               Unknown  Unknown
Split_v1_f.exe     000000014022011C  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000140602DDF  Unknown               Unknown  Unknown
Split_v1_f.exe     00000001401DB091  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FF52061  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FF5290E  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FDBCDB8  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FDA31B5  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FD91066  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000142C4214E  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000144808943  Unknown               Unknown  Unknown
kernel32.dll       00000000774D652D  Unknown               Unknown  Unknown
ntdll.dll          000000007760C521  Unknown               Unknown  Unknown
SUBROUTINE ubginc
Image              PC                Routine            Line        Source             
libifcoremd.dll    00000000003CE478  Unknown               Unknown  Unknown
libifcoremd.dll    00000000003C85A9  Unknown               Unknown  Unknown
libifcoremd.dll    00000000003B4E9F  Unknown               Unknown  Unknown
libifcoremd.dll    0000000000326D4A  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FD96145  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FF57E2F  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FDBCDB8  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FDA31B5  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FD91066  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000142C4214E  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000144808943  Unknown               Unknown  Unknown
kernel32.dll       00000000774D652D  Unknown               Unknown  Unknown
ntdll.dll          000000007760C521  Unknown               Unknown  Unknown
SUBROUTINE ubginc, location 1
Image              PC                Routine            Line        Source             
libifcoremd.dll    00000000003CE478  Unknown               Unknown  Unknown
libifcoremd.dll    00000000003C85A9  Unknown               Unknown  Unknown
libifcoremd.dll    00000000003B4E9F  Unknown               Unknown  Unknown
libifcoremd.dll    0000000000326D4A  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FD96169  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FF57E2F  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FDBCDB8  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FDA31B5  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FD91066  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000142C4214E  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000144808943  Unknown               Unknown  Unknown
kernel32.dll       00000000774D652D  Unknown               Unknown  Unknown
ntdll.dll          000000007760C521  Unknown               Unknown  Unknown
SUBROUTINE ubginc, location 2
Image              PC                Routine            Line        Source             
libifcoremd.dll    00000000003CE478  Unknown               Unknown  Unknown
libifcoremd.dll    00000000003C85A9  Unknown               Unknown  Unknown
libifcoremd.dll    00000000003B4E9F  Unknown               Unknown  Unknown
libifcoremd.dll    0000000000326D4A  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FD96378  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FF57E2F  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FDBCDB8  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FDA31B5  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FD91066  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000142C4214E  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000144808943  Unknown               Unknown  Unknown
kernel32.dll       00000000774D652D  Unknown               Unknown  Unknown
ntdll.dll          000000007760C521  Unknown               Unknown  Unknown
forrtl: severe (61): format/variable-type mismatch, unit -131, file C:\ProjectFromBookZia_v8h\setName.log 
Image              PC                Routine            Line        Source             
libifcoremd.dll    00000000003CE478  Unknown               Unknown  Unknown
libifcoremd.dll    00000000003C85A9  Unknown               Unknown  Unknown
libifcoremd.dll    00000000003B4E9F  Unknown               Unknown  Unknown
libifcoremd.dll    0000000000325198  Unknown               Unknown  Unknown
libifcoremd.dll    00000000003248A0  Unknown               Unknown  Unknown
libifcoremd.dll    000000000038FAF9  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FD964BD  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FF57E2F  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FDBCDB8  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FDA31B5  Unknown               Unknown  Unknown
Split_v1_f.exe     000000013FD91066  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000142C4214E  Unknown               Unknown  Unknown
Split_v1_f.exe     0000000144808943  Unknown               Unknown  Unknown
kernel32.dll       00000000774D652D  Unknown               Unknown  Unknown
ntdll.dll          000000007760C521  Unknown               Unknown  Unknown

The error was in, what in the setName.log file was empty.

For filling of the setName.log file (for subroutine ExtractSetItemLst) with numbers of finite elements, which should be splited, instead of a line:

CHARACTER*32, PARAMETER : : setName = 'ElementList'

I wrote a line:

      CHARACTER*32, PARAMETER : : setName = '76 16 24 32 40 48 56 91 
     + 77 17 25 33 41 49 57 92'

However and after that, in the setName.log file the numbers of these finite elements did not appear.

I attach file Split_v1_f.f.

Write, please, how to write a line:

      CHARACTER*32, PARAMETER : : setName = '76 16 24 32 40 48 56 91 
     + 77 17 25 33 41 49 57 92'

that in the setName.log file these numbers appeared?

Thanks.

0 Kudos
Lorri_M_Intel
Employee
859 Views

The error message is a clue.   Given this line:

         write(lun,'(1x,I6,2x,A,2x,i12)') lun,'setName = ',setName

you're specifying that the input items are an integer (i6), followed by a character string (A) followed by another integer (i12)

However, "setname" is also a character.

 

 

0 Kudos
Colin_W_1
Novice
859 Views

x

0 Kudos
gib
New Contributor II
859 Views

Why are you trying to store the list of element numbers in a character string, instead of in an integer array?

0 Kudos
valery_z_
Beginner
859 Views

Ms. Lorri Menard and Mr. Gib, thanks for answers, but how to correct this error, as where it is necessary to write?

Thanks.

0 Kudos
gib
New Contributor II
859 Views

You need to learn Fortran before jumping in the deep end and trying to interface with Marc.

0 Kudos
andrew_4619
Honored Contributor II
859 Views

@verery z.

With now 120 posts to the thread it is the longest i can recall from several years on this forum. Many of the questions you ask are very basic fortran questions. Gib is correct in #119, you need to invest some time in learning some fortran, reads some books, study examples and understand them. 

0 Kudos
valery_z_
Beginner
824 Views

Thanks for answers.

Finishing this subject, it is possible to draw the following two conclusions.

1. In system “Marc 2016 + Intel XE 2015 Fortran compiler” I honestly tried to debug the programs on Fortran from the mentioned book by means of world-best programmers, who participated in this subject, but I did not manage to debug these programs. As any screenshot, confirming debugging of programs and a split of finite elements in a plate, is not presented in this book, it is logical to draw the first conclusion, that a set of not debugged programs on Fortran is presented in this book.

2. Examples on application of a split of finite elements with use of programs on Fortran in system “Marc 2016 + Intel XE 2015 Fortran compiler” are presented in Documentation on Marc. My attempts to apply these examples to a solution of engineering tasks with a split of finite elements did not yield positive results. The second conclusion: on given the moment, these examples have advertising character and require the further active development.

Thanks.

0 Kudos
Reply