Author Topic: How to add a solution routine by Microsoft Visual Studio 2010, Fortran  (Read 4532 times)

Brian

  • Jr. Member
  • **
  • Posts: 33
I would like to know how a solution routine can be added to FEAP by Microsoft Visual Studio 2010, Fortran.
Where can a complete version of "udynam.f" be found? The one exists in FEAP does not have performed steps, as in attachment. Thank you.

Prof. S. Govindjee

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 1165
Re: How to add a solution routine by Microsoft Visual Studio 2010, Fortran
« Reply #1 on: October 05, 2015, 08:50:33 AM »
FEAP allows for user defined time integrators in a fairly flexible fashion. Here is a report by Karl Steeger on implementing the Wilson-theta time integrator into FEAP. This is a fairly complex scheme and illustrates many of the issues one must grapple with when adding one's own time integrator:  http://faculty.ce.berkeley.edu/sanjay/FEAP/ucb_semm_2010_07.pdf
« Last Edit: October 04, 2017, 06:07:43 AM by Prof. S. Govindjee »

Brian

  • Jr. Member
  • **
  • Posts: 33
Re: How to add a solution routine by Microsoft Visual Studio 2010, Fortran
« Reply #2 on: October 06, 2015, 07:36:16 AM »
There are two "udynam.f" in FEAP; one in user and the other one in compile. Both of them do not have the steps to calculate output "ud". How can "ud" be calculated when "user" time integrator is called in Cook example of Karl Steeger's report? The same question exists in "uparam.f"; its inside is empty.
I ran cook example of report but I would like to know how FEAP can run it by using current empty forms of udynam and uparam. Are there complete files of udynam and uparam some where in FEAP? If so, where they are?

Furthermore, if I develop my own time integration, how I can add it to FEAP by using Intel Fortran Windows in Microsoft Visual Studio 2010? How will FEAP recognize my new time integration? Do I need to recompile FEAP? If so, how to do that in Intel Fortran? Thank you.

FEAP_Admin

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 993
Re: How to add a solution routine by Microsoft Visual Studio 2010, Fortran
« Reply #3 on: October 06, 2015, 10:32:14 AM »
You need to program user/udynam.f to do what you want it to do.  It is simply a stub-file that you must edit (say according to the Steeger report).  Then put it in the compile folder and re-compile your code.  The same applies to user/uparam.f.

The Steeger report explains all the steps.  The other place to look is in program/dyan01.f and other program/dynaXX.f files which are the built-in implementations of common integrators.

Brian

  • Jr. Member
  • **
  • Posts: 33
Re: How to add a solution routine by Microsoft Visual Studio 2010, Fortran
« Reply #4 on: October 12, 2015, 08:02:03 AM »
Please explain how the difference between length, displacement, and velocity at time n and n+1 can be calculated and written in vectors RD, QD, and VD, respectively? Thank you.

FEAP_Admin

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 993
Re: How to add a solution routine by Microsoft Visual Studio 2010, Fortran
« Reply #5 on: October 12, 2015, 08:17:20 PM »
In which subroutine?

Brian

  • Jr. Member
  • **
  • Posts: 33
Re: How to add a solution routine by Microsoft Visual Studio 2010, Fortran
« Reply #6 on: October 13, 2015, 08:17:37 AM »
In subroutine udynam.f. Is it possible to have udynamXX.f, as udynam01.f and so on?

Can xl, element nodal reference coordinates, and ul, element nodal solution, be added to udynamXX.f as an input matrix to calculate xl(t_n+1)-xl(t_n) and displacement difference at time n and n+1?

Does ul(ndf,nen,2) give displacement difference at time n and n+1?

How can velocity difference at time n and n+1 be calculated? Thank you.
« Last Edit: October 14, 2015, 08:27:42 AM by Brian »