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

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

valery_z_
Beginner
6,341 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,988 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
valery_z_
Beginner
925 Views

I somewhere read, that, about ten years ago, Visual Studio and Visual Studio Express supported an editing and a debugging of files on Fortran.

What the Visual Studio Express version can be loaded on the website Microsoft, which can edit and debug the files on Fortran, supported by Intel Visual Fortran Compiler XE? Thanks.

0 Kudos
Steve_Lionel
Honored Contributor III
5,989 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.

0 Kudos
andrew_4619
Honored Contributor II
925 Views
In reply to #42, the two sources in #19 I made a console application project in visual studio and compiled build and ran in debug there.
0 Kudos
valery_z_
Beginner
925 Views

Thanks for answers.

Where it is better to edit the files on Fortran, which are compiled by Intel Fortran, in Notepad or in Notepad++, and why? Thanks.

0 Kudos
Steve_Lionel
Honored Contributor III
925 Views

It doesn't matter - edit them in whichever text editor you prefer.

0 Kudos
valery_z_
Beginner
925 Views

Thanks for answers.

Answer, please, 2 questions.

1. How at this forum is defined the number of a post #?

2. How into a post to load the multi-colored program in the form of the embedded block (it was made higher than 4 times at this forum)?

Thanks.

0 Kudos
andrew_4619
Honored Contributor II
925 Views

It says Quote and #xx at the top right of each post (only if logged in I think)

{code} icon on the toolbar 

Program Fortran

 

0 Kudos
valery_z_
Beginner
925 Views

Thanks for answers.

And how to write (by email or somehow on another) directly to one of participants of forums on this website Intel, passing a forum?

Thanks.

0 Kudos
Steve_Lionel
Honored Contributor III
925 Views

Well, there USED to be a "Send author a message" link, and the ability to send messages directly to individual authors, but I see that has been disabled. Intel employees can send messages but users cannot. Hmm... So at this point, there is no way to send a direct message to another user unless you know their email address.

0 Kudos
valery_z_
Beginner
925 Views

Thanks for answers.

In the window “Files of type:” of the panel “Marc Mentat Select User Subroutine File” of the MSC.Marc are written the 4 types of extension of files Fortran: *.f, *.F, *.f90, *F90.

And what else there are the extensions of files Fortran, which are supported by Intel Compiler?

Thanks.

0 Kudos
Steve_Lionel
Honored Contributor III
925 Views

The Intel Fortran compiler also recognizes .for (and .FOR). .f and .for files are assumed to be fixed-form, .f90 files are assumed to be free-form. On Windows, the case of the file type is ignored, but on Linux and MacOS it has significance. See also https://software.intel.com/en-us/blogs/2013/01/11/doctor-fortran-in-source-form-just-wants-to-be-free

0 Kudos
valery_z_
Beginner
925 Views

Thanks for answers.

Whether everything Fortran versions are insensitive to a register of letters in a code of program, which are supported by Intel Compiler?

Thanks.

0 Kudos
Steve_Lionel
Honored Contributor III
925 Views

Valery, I am not sure I understand your last question.

The Fortran language is not case-sensitive, and Intel Fortran is no different. There is an option to make variable and procedure names case-sensitive (or forced to lowercase), but I strongly recommend against using this.

0 Kudos
valery_z_
Beginner
925 Views

Thanks for answers.

What programming language is better and on what indicators: Fortran, which supports Intel Compiler, or Visual C#, which supports Microsoft Visual Studio?

Thanks.

0 Kudos
Steve_Lionel
Honored Contributor III
925 Views

Sorry, but that question doesn't make sense.

Fortran and C# are very different languages intended for different purposes. Either can be used for most any purpose, but one or the other might be better for a given application.

Both languages are available for use within Visual Studio. The combination of Intel Parallel Studio XE and Visual Studio gives you Fortran in Visual Studio. (You don't have to buy Visual Studio separately - Parallel Studio XE includes a VS2015-based Fortran-only development environment, or it works with the Visual Studio you already have (VS2013, 2015, 2017).)

0 Kudos
valery_z_
Beginner
925 Views

Thanks for answers.

Mr. Steve Lionel, help me, please.

As I already wrote above, after a solution in Marc with the Intel Visual Fortran Compiler XE 15.0.3 of this example e8x94c.dat with file u8x94c.f, which is loaded above (without “program main”), with the declared subroutine usplit_mesh:

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

     $     ifacelist,nfacelist,inc,time,timeinc)

with an use of the block of code, which was kindly added Mr. Andrew and Mr. Mecej, in the folder C, Users, Valerij, in the file icall.log, the 22 lines are written for ICALL, shown above.

In this example e8x94c.dat it is set, that the plate is deformed for 10 increments. The subroutine usplit_mesh, declared in file u8x94c.f, is not run out until it is called. Therefore, on each “inc”, subroutine usplit_mesh is called 22 times with values for icall, equal 1, 3, 2, 3, 2, 3, …, 2, 3. And only at icall=1, are performed the operations, leading to deformation of a plate for 1 increment.

After a solution of this example e8x94c.dat, Marc displays the records, shown above.

Mr. Steve Lionel, write, please, how to define, where in Marc through Intel Compiler is called the subroutine usplit_mesh with specific values 1, 3, 2, 3, 2, … for icall?

Thanks.

0 Kudos
Steve_Lionel
Honored Contributor III
925 Views

Valery, I can't answer your question. I know nothing about Marc. Please understand that "Intel Compiler" is not really important here - you are asking questions about the standard Fortran language,

0 Kudos
valery_z_
Beginner
925 Views

Thanks for answers.

Call, please, several books on Fortran, which supports Intel, which will help me to find the answer to the question, asked in the my previous post.

Thanks.

0 Kudos
Steve_Lionel
Honored Contributor III
902 Views

You could start with https://software.intel.com/en-us/blogs/2013/12/30/doctor-fortran-in-its-a-modern-fortran-world

0 Kudos
Devorah_H_Intel
Moderator
902 Views

Steve Lionel (Ret.) wrote:

Well, there USED to be a "Send author a message" link, and the ability to send messages directly to individual authors, but I see that has been disabled. Intel employees can send messages but users cannot. Hmm... So at this point, there is no way to send a direct message to another user unless you know their email address.

Only Black Belt users can initialize private message conversation. I apologize for the inconvenience this might cause. 

0 Kudos
Steve_Lionel
Honored Contributor III
902 Views

This had been disabled for Black Belts as well, but was recently reenabled for us.

0 Kudos
Reply