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_
Principiante
18.951 Visualizações

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 Solução
Steve_Lionel
Colaborador honorário III
18.598 Visualizações

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.

Ver solução na publicação original

120 Respostas
valery_z_
Principiante
2.802 Visualizações

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.

Steve_Lionel
Colaborador honorário III
18.599 Visualizações

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.

andrew_4619
Colaborador honorário III
2.802 Visualizações
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.
valery_z_
Principiante
2.802 Visualizações

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.

Steve_Lionel
Colaborador honorário III
2.802 Visualizações

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

valery_z_
Principiante
2.802 Visualizações

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.

andrew_4619
Colaborador honorário III
2.802 Visualizações

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

 

valery_z_
Principiante
2.802 Visualizações

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.

Steve_Lionel
Colaborador honorário III
2.802 Visualizações

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.

valery_z_
Principiante
2.802 Visualizações

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.

Steve_Lionel
Colaborador honorário III
2.802 Visualizações

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

valery_z_
Principiante
2.802 Visualizações

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.

Steve_Lionel
Colaborador honorário III
2.802 Visualizações

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.

valery_z_
Principiante
2.802 Visualizações

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.

Steve_Lionel
Colaborador honorário III
2.802 Visualizações

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).)

valery_z_
Principiante
2.802 Visualizações

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.

Steve_Lionel
Colaborador honorário III
2.802 Visualizações

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,

valery_z_
Principiante
2.802 Visualizações

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.

Steve_Lionel
Colaborador honorário III
2.779 Visualizações

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

Devorah_H_Intel
Moderador
2.779 Visualizações

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. 

Steve_Lionel
Colaborador honorário III
2.779 Visualizações

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

Responder