[Kratos] proposal of change in the solving_strategy

maireni en cimne.upc.edu maireni en cimne.upc.edu
Mie Oct 7 09:40:03 CEST 2015


Hi Riccardo,

I do not understrand yet why it is not necessary to call the initialize, 
predict and finalize functions.
This methods are escencially important in structural and solid 
application where some internal variables
or other need to be updated or reseted (mainly  in constitutive law).
If bassically  does not want to call this method i prefere in my opinion 
to include a new member in base
class of strategy where those calls can be avoided.

It really cost calls this function in each time step?

Regards

Nelson



El 2015-10-07 15:05, Riccardo Rossi escribió:
> Dear All,
> 
>   i believe there is a weakness in the current design of the solving
> strategies, and i would like to propose a small improvement to the
> current interface:
> 
> the point is that as of today the strategy has essentially the
> following methods:
> 
> Initialize (to be called once)
> InitializeSolutionStep
> Predict
> FinalizeSolutionStep
> 
> and
> 
> Solve --> which combines everything in one single call.
> 
> the problem is that is someone calls solve the InitializeSolutionStep
> and FinalizeSolutionStep are inevitably called, which is a problem if
> for example one
> would like to do repeated solves within a single time step.
> 
> the typical scenario is that of a FSI simulation, but the same problem
> is also found for example in the RVE solver.
> 
> My proposal would be to add a new function
> 
> "SolveSolutionStep"
> 
> which ONLY does the solution but WITHOUT CALLING
> InitializeSolutionStep, Predict, FinalizeSolutionStep
> 
> The point of doing this is that the "solve" call would be:
> 
> Solve()
>     InitializeSolutionStep
>     Predict
>     SolveSolutionStep
>     FinalizeSolutionStep
> 
> but one would be able to call the very same thing from the python (or
> from a higher level strategy)
> 
> so that for example a FSI loop would become
> 
>     structural_solver.InitializeSolutionStep()
>     fluid_solver.InitializeSolutionStep()
> 
>     structural_solver.Predict()
> 
>     while(not converged)
>         structural_solver.SolveSolutionStep()
> 
>         apply_velocities_to_fluid()
> 
>         fluid_solver.SolveSolutionStep()
> 
>         apply_forces_to_structure()
> 
>         check_convergence()
> 
>     structural_solver.FinalizeSolutionStep()
>     fluid_solver.FinalizeSolutionStep()
>    
> 
> Of course if someone uses the current Solve() nothing changes and
> current behaviour is unmodified...
> 
> any voice against such change? if not i'll go ahead...
> 
> ciao
> Riccardo
> 
>        
>       
> 
> --
> 
> Riccardo Rossi
> 
>  PhD, Civil Engineer
> 
> member of the Kratos Team: www.cimne.com/kratos [1]
> 
> lecturer at Universitat Politècnica de Catalunya, BarcelonaTech (UPC)
> 
> Research fellow at International Center for Numerical Methods in
> Engineering (CIMNE)
> 
> C/ Gran Capità, s/n, Campus Nord UPC, Ed. C1, Despatx C9
> 
>  08034 – Barcelona – Spain – www.cimne.com [2]  - 
> 
>  T.(+34) 93 401 56 96 skype: ROUGERED4
> 
>  
> 
>  [3]
> 
>  [4] [5] [6] [7] [8] [9]
> 
> Les dades personals contingudes en aquest missatge són tractades amb
> la finalitat de mantenir el contacte professional entre CIMNE i voste.
> Podra exercir els drets d'accés, rectificació, cancel·lació i
> oposició, dirigint-se a cimne en cimne.upc.edu. La utilització de la
> seva adreça de correu electronic per part de CIMNE queda subjecte a
> les disposicions de la Llei 34/2002, de Serveis de la Societat de la
> Informació i el Comerç Electronic.
> 
>  Imprimiu aquest missatge, només si és estrictament necessari. [3]
> 
> Links:
> ------
> [1] http://www.cimne.com/kratos
> [2] http://www.cimne.com
> [3] http://www.cimne.com/
> [4] https://www.facebook.com/cimne
> [5] http://blog.cimne.com/
> [6] http://vimeo.com/cimne
> [7] http://www.youtube.com/user/CIMNEvideos
> [8] http://www.linkedin.com/company/cimne
> [9] https://twitter.com/cimne
> 
> _______________________________________________
> Kratos mailing list
> Kratos en listas.cimne.upc.edu
> http://listas.cimne.upc.edu/cgi-bin/mailman/listinfo/kratos


Más información sobre la lista de distribución Kratos