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
FSI internal coupling and sub-iterations
Forum rules
Please read the forum usage recommendations before posting.
Please read the forum usage recommendations before posting.
-
- Posts: 282
- Joined: Fri Dec 04, 2015 1:42 pm
Re: FSI internal coupling and sub-iterations
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
and finaly used in strdep.f90
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
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
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
Regards,
Luciano
Re: FSI internal coupling and sub-iterations
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:
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
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
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