Author Topic: solution commands  (Read 6981 times)

M. Kurdi

  • Full Member
  • ***
  • Posts: 149
solution commands
« on: January 10, 2014, 08:41:35 PM »
Hello,
The commands
tang
form
solve
Will assemble tangent stiffness matrix (tang), build residual (form), then find first iterate of solution du (solve). My question is in the solve portion of the process. Here is where an LU decomposition is performed on tangent stiffness matrix to solve for du. Would it be possible to save the factored stiffness matrix so it can be reused elsewhere in finding solution to perhaps different residual?
Thanks for your help,

Mohammad

FEAP_Admin

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 993
Re: solution commands
« Reply #1 on: January 11, 2014, 12:04:27 AM »
As long as you do not call TANG again the factored matrix is available for another 'solve' using only the forward and backward steps -- i.e. no further factorization.
Code: [Select]
tang
form
solve
form   ! get another RHS
solve  ! solve using the previously factored matrix

M. Kurdi

  • Full Member
  • ***
  • Posts: 149
Re: solution commands
« Reply #2 on: January 11, 2014, 06:01:18 PM »
So "tang" command assembles and factors the stiffness matrix. Is there a command just for assembling the stiffness matrix only? That is suppose one changes the a stiffness dependent parameter (example area of cross section or modulus of an element) can one then reassemble the new stiffness matrix without doing an expensive factorization. Also is the factored stiffness matrix stored in tang1 (i.e. location np(1)) and is the matrix used with "solve" command?

In the step of setting another RHS this would be just replacing the residual array DR (np(26))  with the new array through a macro as "form"   command will get the residual based on current solution, which is not what is needed. Or is there better way of calling form with a user specified RHS. Also once one issues "solve" the solution is added to the current solution and would corrupt it. So probably one should save the current solution in a temporary array.

Thanks for your help.

Prof. S. Govindjee

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 1165
Re: solution commands
« Reply #3 on: January 11, 2014, 09:42:23 PM »
If you want an unfactored matrix try tang,,-1. 

TANG1 is the location of the stiffness -- assuming a you are not using coupled fields with operator splitting.
Have a look at program/pptang.f (and program/poua.f) to understand the format better (this is the routine for writing the matrix to a file)
and how you should access it.

The solution increment overwrites the residual so you will need to save the residual if you still want it.

M. Kurdi

  • Full Member
  • ***
  • Posts: 149
Re: solution commands
« Reply #4 on: January 12, 2014, 07:02:52 AM »
Thanks Professor Govindjee.

M. Kurdi

  • Full Member
  • ***
  • Posts: 149
Re: solution commands
« Reply #5 on: January 12, 2014, 07:05:56 PM »
Professor Govindjee,

My intention is to compute sensitivity of the structural response to design variables. Having this process intermingled between feap commands and macros makes it tedious and unnecessarily requires saving long arrays. My question is which subroutines in FEAP handle tangent matrix assembly, forming the residual and solving the system of equations. Also any supporting documentation for properly calling these routines. Otherwise one possibly needs to develop several macros to handle this process.


Thanks for your help,

Mohammad

M. Kurdi

  • Full Member
  • ***
  • Posts: 149
Re: solution commands
« Reply #6 on: January 14, 2014, 06:17:13 PM »
Hello,
I am using "form" command to construct the RHS residual. However instead of the tangent stiffness matrix I'm using a sensitivity of tangent stiffness matrix instead. Note that I am using same profile structure as the tangent stiffness matrix (according to pptang.f). The problem is that the residual formed is not correct and does not correspond to the derived residual of the sensitivity for Euler-Beam theory. In forming the residual I am using the current solution U, zeroing the force array and replacing factored stiffness matrix with the factored sensitivity of the tangent stiffness matrix. Do I need to modify the procedure in any way to fit with the form command.
I already verified that the sensitivity of stiffness matrix is correct. Where the sensitivity of the non factored stiffness matrix is exactly as the derived sensitivity.

Thanks for your help,
Mohammad

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: solution commands
« Reply #7 on: January 15, 2014, 08:27:13 AM »
If you use 'form' how do you decide if you want the residual of the momentum equation or the residual of the sensitivity problem.  It would seem you are getting the first??  Also is the sensitivity matrix you are solving well posed, that is, non-singular?  Can you post a summary of the equations you are trying to solve?  Or at least e-mail them to us.  It is hard to answer your questions without having some idea of the form you are solving.