FSI internal coupling and sub-iterations

Questions and remarks about code_saturne usage
Forum rules
Please read the forum usage recommendations before posting.
Post Reply
So_nuc
Posts: 45
Joined: Wed Sep 05, 2018 12:16 pm

FSI internal coupling and sub-iterations

Post by So_nuc »

Hello,

I am dealing with FSI internal coupling calculation within Code_Saturne and I would like to know how to change the force relaxation term used in the sub-iterations which maximum number is driven by the variable NALIMX ? According to the documentation, the variable CFOPRE is supposed to do so but it does not seem to work in my simulations: I am indeed dealing with FSI calculation with a relative high value of the ration added mass/structure mass and I need to reduce the relaxation term in order to stabilize the calculation.

Thank you in advance for your help.

Best regards,

So_nuc
Luciano Garelli
Posts: 280
Joined: Fri Dec 04, 2015 1:42 pm

Re: FSI internal coupling and sub-iterations

Post by Luciano Garelli »

Hello,

The coefficient cfopre is used to predict the forces at time (n+1), not to relax them. In
modini.f90 is set cfopre = 2.0d0, then in strini.f90 is modified in case of nalimx>1

Code: Select all

else if (nbstru.gt.0) then
  if (nalimx.eq.1) then
    write(nfecra,2020) aexxst, bexxst, cfopre
  else
    cfopre = 1.d0
    write(nfecra,2030) nalimx, epalim
  endif
endif
and finaly used in strdep.f90

Code: Select all

do istr = 1, nbstru
  do ii = 1, ndim
    forstp(ii,istr) = cfopre*forstr(ii,istr)+                     &
         (1.d0-cfopre)*forsta(ii,istr)
  enddo
enddo
In the case of strong added mass effect you should relax the forces and the displacements and I don't know if it is possible to do it easily.

Regards,

Luciano
So_nuc
Posts: 45
Joined: Wed Sep 05, 2018 12:16 pm

Re: FSI internal coupling and sub-iterations

Post by So_nuc »

Hello,

Thank you for the reply. In the file strdep.f90 and in the case of nalimx > 1, then the newmark algorithm is recalled until reaching convergence through the threshold epalim ? Moreover, only the first components of the arguments of the newmrk subroutine which is called in the program seem to be used:

Code: Select all

!===============================================================================
! 4. Internal structure displacement
!===============================================================================

do istr = 1, nbstru

  call newmrk                                                     &
  !==========
 ( istr  , alpnmk  , betnmk          , gamnmk          ,          &
   xmstru(1,1,istr), xcstru(1,1,istr), xkstru(1,1,istr),          &
   xstreq(1,istr)  ,                                              &
   xstr(1,istr)    , xpstr(1,istr)   , xppstr(1,istr)  ,          &
   xsta(1,istr)    , xpsta(1,istr)   , xppsta(1,istr)  ,          &
   forstp(1,istr)  , forsta(1,istr)  , dtstr(istr)     )

enddo
I would replace the indices "1" by ":", am I correct ?

If the newmrk subroutine is called for each sub-iteration in the case of nalimx > 1, then I would suggest to give to the subroutine the relaxed values of the predicted forces forstp.

Thank you in advance for your support.

Bets regards,

So_nuc
Post Reply