Global descrition of the main algorithm

Back


The main script is:

main_fsi.m

note: to make simple, at each time period all the fluid models are computed.
      See 'fluid.m' script. The character variable 'fluid_model' permits to chose
      the computed pressure used for the structure computation.
      See 'structure.m' script.

List of matlab scripts:

fluid.m
flu_mass.m
flu_residual.m
flux.m
fsi_display.m
initialize_data_fluid.m
initialize_data_structure.m
integ.m
Lax_Wendroff.m
main_fsi.m
move_mesh.m
post_treatment.m
pressure.m
shock_capture.m
spring.m
structure.m
temperature.m
timestep.m

Default options:

In main_fsi.m:

o fluid_model = 'C' % 1D compressible fluid flow evolution with three fluid flow formulations

o formulation = 2;   % ALE (Arbitrary Lagrangian Eulerian)

o Tmax  = 0.5*T0;    % The maximum simulation time is half of
                     % T0, the natural period of the piston
                     % T0 is computed in "initialize_data_structure.m" script.

In initialize_data_structure.m:

o vprel(1) = 1e7;  % spring rigidity
o vprel(2) = 100;  % mass of the piston
o Lsp0     = 1.2 ; % length of the spring (unstretched)

In initialize_data_fluid.m:

o nelt       = 100 ;   % nelt number of finite elements for C-model
o nnt        = nelt+1; % nnt  number of nodes (i.e. discretization points)
o nnel       = 2;      % nnel number of node per finite element
o ndln       = 3;      % ndln number of dof per node
o L_0        = 1;      % length of the chamber at rest (meters)
o A          = 1;      % piston section
o U0         = 0.2;    % initial condition, i.e. initial displacement of the piston
o gam        = 1.4;    % the specific heat ratio of the gas
o R          = 287;    % the individual gas constant
o pres_init0 = 1E5;    % initial pressure for chamber length = L0
o temp_init0 = 300;    % initial temperature


How to use the script with default options?

1/ inside your matlab environment, type 'main_fsi'
2/ two display windows appear named figure 1 and figure2,
   separate them to show

During the simulation:

On figure 1 we display shifted pressure profiles as time (3D plottings).
This is only valuable for fluid_model == 'C'.

On figure 2 (as time evolve):

o top: The pressure profile on each node inside the chamber computed with the C-model.
       The red diamond shows the piston position computed with the A-model.
       The green square shows the piston position computed with the B-model.

o middle: fluid (straight line) and mesh (dashed line) velocity in the fluid domain.

o bottom: the volumic mass profile.

At the end of the simulation, we display:

o figure 3(normalized): The piston motion, force and energy transferts signals as time

o figure 4: pressure evolution on the piston as time for the three fluid models.


The calls of the scipts inside main_fsi.m:


initialize_data_fluid.m :-call-> temperature.m
                        :-call-> pressure.m

initialize_data_structure.m

while_loop:

   timestep.m

   structure.m :-call-> spring.m

   fluid.m     :-call-> move_mesh.m
               :-call-> Lax_Wendroff.m :-call-> flux.m
                                       :-call-> flu_residual.m :-call-> flux.m
                                       :-call-> flu_mass.m
                                       :-call-> shock_capture.m
               :-call-> temperature.m
               :-call-> pressure.m
               :-call-> integ.m

    fsi_display.m
     
end_of_while_loop

post_treatment.m




Emmanuel Lefrançois
Mechanical System Engineering Department 
Université de Technologie de Compiègne
emmanuel.lefrancois@utc.fr     
Jean-Paul Boufflet
Department of  Computer Sciences
Université de Technologie de Compiègne
jean-paul.boufflet@utc.fr