Contents

% This script is a test of VIV solvers using confinment. We compare RR,RA,AA and ALE methods

addpath('../../SOURCES_MATLAB/');
SF_Start('verbosity',3);
SF_core_arborescence('cleanall');

bf = SmartMesh_Cylinder('S',[-5,30,2]);

%bf = SF_Load('lastadapted');
%bf = SF_BaseFlow(bf,'Re',60);

mstar = 20; Ustar = 3;shiftFM = 0.04689 + 0.74874i;
M = mstar*pi/4; K = pi^3*mstar/Ustar^2;

Yline = linspace(0,max(bf.mesh.points(2,:)),200);
Uyb = SF_ExtractData(bf,'uy',0,Yline);
figure(44);hold off;plot(Yline,real(Uyb),'-r')
NOTICE  - Initialization already done
NOTICE  - Verbosity set to 3 : Notice messages
NOTICE  - Database directory :./WORK/
NOTICE  - This directory already exists
NOTICE  - Please type "SF_Status" to see what is available in this dir
NOTICE  -     or type "SF_core_arborescence('cleanall')" to erase any previous data
NOTICE  - CLEANALL in SF_core_arborescence ; working dir ./WORK/ is now empty
NOTICE  - Cleaning ALL arborescence ./WORK/
WARNING -  Your program uses depreciated syntax 'Params' to pass parameters 
WARNING -  It is advised to switch to new method using 'Options', and modify your Freefem solvers to detect parameters using 'getARGV'  
NOTICE  -  In SF_Mesh : detected a symmmetry axis (label 6) at y=0. assuming a half-mesh. symmetry property for BF calculations is set to 1. 
NOTICE  -       ### INITIAL MESH CREATED WITH np = 2639 vertices
NOTICE  - Working with 1 cores
NOTICE  - SF_BaseFlow : Base flow converged  in 4 iterations ; Re = 1; Fx = 22.9078; Lx = 0.5
NOTICE  - Working with 1 cores
NOTICE  - SF_BaseFlow : Base flow converged  in 4 iterations ; Re = 10; Fx = 2.9292; Lx = 0.5
NOTICE  - Working with 1 cores
NOTICE  - SF_BaseFlow : Base flow converged  in 6 iterations ; Re = 60; Fx = 1.1491; Lx = 3.8156
NOTICE  - SF_Adapt : created new mesh ; np = 1468 vertices 
NOTICE  - SF_Adapt : created new mesh ; np = 1886 vertices 
 
mesh adaptation  : type S
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  -       ### FUNCTION SF_Stability : computation of 1 eigenvalues/modes (DIRECT) with FF solver
NOTICE  - SF_Stability : successfully computed 1 eigenvalues ; leading one = 0.020034-1.3255i
NOTICE  - SF_Adapt : created new mesh ; np = 4042 vertices 
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  -       ### FUNCTION SF_Stability : computation of 1 eigenvalues/modes (DIRECT) with FF solver
NOTICE  - SF_Stability : successfully computed 1 eigenvalues ; leading one = 0.020041-1.3258i
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  -       ### FUNCTION SF_Stability : computation of 1 eigenvalues/modes (DIRECT) with FF solver
NOTICE  - SF_Stability : successfully computed 1 eigenvalues ; leading one = 0.020041+1.3258i
NOTICE  - SF_Adapt : created new mesh ; np = 2498 vertices 
 Adapted mesh has been generated ; number of vertices = 2498
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c

TESTS EIGENVALUE SOLVERS

if (1==0)
% old solver (works only with nev=1)
[ev,em] = SF_Stability(bf,'shift',shiftFM,'nev',1,'type','D','STIFFNESS',K,'MASS',M,'DAMPING',0,'solver','Stab2D_VIV_old.edp')

% New solver ; Relative frame / Relative vel mode (default)
[ev,em] = SF_Stability(bf,'shift',shiftFM,'nev',10,'type','D','STIFFNESS',K,'MASS',M,'DAMPING',0,'plotspectrum',true)

% New solver ; Relative frame / Abs vel mode
[ev,em] = SF_Stability(bf,'shift',shiftFM,'nev',10,'type','D','STIFFNESS',K,'MASS',M,'DAMPING',0,'plotspectrum',true,'Options','-Vel A')

% Adjoint
[ev,em] = SF_Stability(bf,'shift',shiftFM,'nev',10,'type','A','STIFFNESS',K,'MASS',M,'DAMPING',0,'plotspectrum',true)
end

Validation on the case of a forced problem (omega = 1e-3 ; quasi-static)

omega = 0.001;

% Reference with default solver (cf. Sabino et al)
ffref = SF_LinearForced(bf,'omega',omega); % This solver is incorrect for strong confinement
Yline = linspace(0,max(bf.mesh.points(2,:)),200);
Lineref = SF_ExtractData(ffref,'all',0,Yline);

% Relative velocities in relative frame
ffRR = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_work.edp','Options','-Vel R -Frame R -Normalize Y')
LineRR = SF_ExtractData(ffRR,'all',0,Yline);

% Absolute velocities in relative frame
ffAR = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_work.edp','Options','-Vel A -Frame R -Normalize Y') ;
LineAR = SF_ExtractData(ffAR,'all',0,Yline);

% Absolute velocities in absolute frame
% (this one does NOT include added stress !)
ffAA = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_work.edp','Options','-Vel A -Frame A -Normalize Y')
LineAA = SF_ExtractData(ffAA,'all',0,Yline);

% ALE solver
ffALE = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_ALE.edp')
LineALE = SF_ExtractData(ffALE,'all',0,Yline);

% ALE solver with elasticity operator instead of Laplacian
ffALEe = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_ALE.edp','Options','-ALEOP elasticity')
LineALEe = SF_ExtractData(ffALEe,'all',0,Yline);

% NB for the "added stress" term is

% Comparaison between solvers : Figures

% Forces
[ ffref.Z, ffRR.Fy, ffAR.Fy, ffAA.Fy, ffALE.Fy,ffALE.Fy+ffALE.Fyxi,ffALEe.Fy+ffALEe.Fyxi]

% Velocities along a vertical line
figure(45);plot(Yline,real(LineRR.uy),'-r',Yline,imag(LineRR.uy),':r',Yline,real(LineRR.uya),'--r',Yline,imag(LineRR.uya),'-..r')
figure(46);plot(Yline,real(LineRR.ux),'-r',Yline,imag(LineRR.ux),':r',Yline,real(LineRR.uxa),'--r',Yline,imag(LineRR.uxa),'-..r')
figure(45);hold on;plot(Yline,real(LineAR.uy),'-b',Yline,imag(LineAR.uy),':b',Yline,real(LineAR.uya),'--b',Yline,imag(LineAR.uya),'-..b')
figure(46);hold on;plot(Yline,real(LineAR.ux),'-b',Yline,imag(LineAR.ux),':b',Yline,real(LineAR.uxa),'--b',Yline,imag(LineAR.uxa),'-..b')
figure(45);hold on;plot(Yline,real(LineAA.uyr),'-g',Yline,imag(LineAA.uyr),':g',Yline,real(LineAA.uy),'--g',Yline,imag(LineAA.uy),'-..g')
figure(46);hold on;plot(Yline,real(LineAA.uxr),'-g',Yline,imag(LineAA.uxr),':g',Yline,real(LineAA.ux),'--g',Yline,imag(LineAA.ux),'-..g')
figure(45);hold on;plot(Yline,real(LineALE.uy),'-k',Yline,imag(LineALE.uy),':k',Yline,real(LineALE.uya),'--k',Yline,imag(LineALE.uya),'-..k')
figure(46);hold on;plot(Yline,real(LineALE.ux),'-k',Yline,imag(LineALE.ux),':k',Yline,real(LineALE.uxa),'--k',Yline,imag(LineALE.uxa),'-..k')
figure(45);hold on;plot(Yline,real(LineALEe.uy),'-c',Yline,imag(LineALEe.uy),':c',Yline,real(LineALEe.uya),'--c',Yline,imag(LineALEe.uya),'-..c')
figure(46);hold on;plot(Yline,real(LineALEe.ux),'-c',Yline,imag(LineALEe.ux),':c',Yline,real(LineALEe.uxa),'--c',Yline,imag(LineALEe.uxa),'-..c')


figure(45);legend('Uyrel,r','Uyrel,i','Uyabs,r','Uyabs,i')
figure(46);legend('Uxrel,r','Uxrel,i','Uxabs,r','Uxabs,i')

% plot of velocity fields
figure(15); subplot(4,1,1);SF_Plot(ffRR,'uxa','xlim',[-2 4],'ylim',[0 1.2],'title','RR (abs)');
subplot(4,1,2);SF_Plot(ffRR,'ux','xlim',[-2 4],'ylim',[0 1.2],'title','RR (rel)');
subplot(4,1,3);SF_Plot(ffALE,'uxa','xlim',[-2 4],'ylim',[0 1.2],'title','ALE (abs)');
subplot(4,1,4);SF_Plot(ffALE,'ux','xlim',[-2 4],'ylim',[0 1.2],'title','ALE (ALEfield)');

figure(16); subplot(4,1,1);SF_Plot(ffRR,'uya','xlim',[-2 4],'ylim',[0 1.2],'title','RR (abs)');
subplot(4,1,2);SF_Plot(ffRR,'uy','xlim',[-2 4],'ylim',[0 1.2],'title','RR (rel)');
subplot(4,1,3);SF_Plot(ffALE,'uya','xlim',[-2 4],'ylim',[0 1.2],'title','ALE (abs)');
subplot(4,1,4);SF_Plot(ffALE,'uy','xlim',[-2 4],'ylim',[0 1.2],'title','ALE (ALEfield)');
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING standart StabFem Solver for this class of problems : LinearForced2D.edp
NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_work.edp

ffRR = 

  struct with fields:

               mesh: [1x1 struct]
           filename: './WORK/FORCEDFLOWS//FFDATA_000002.txt'
    DataDescription: 'FORCED LINEAR RESPONSE for a 2D incompressible problem '
           datatype: 'ForcedFlow'
    datastoragemode: 'CxP2P2P1'
    datadescriptors: 'ux,uy,p'
       meshfilename: './WORK/MESHES/FFMESH_000005.msh'
                 Re: 60
           INDEXING: [1x1 struct]
             Lambda: 0.0000e+00 + 1.0000e-03i
                 Fy: -0.0000 + 0.0012i
                  Z: 1.1807 + 0.0000i
               FyAS: 0.4023
               vort: [2498x1 double]
                uxa: [2498x1 double]
                uya: [2498x1 double]
                 pa: [2498x1 double]
                 ux: [28614x1 double]
                 uy: [28614x1 double]
                  p: [14307x1 double]
             status: 'loaded'

NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_work.edp
NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_work.edp

ffAA = 

  struct with fields:

               mesh: [1x1 struct]
           filename: './WORK/FORCEDFLOWS//FFDATA_000004.txt'
    DataDescription: 'FORCED LINEAR RESPONSE for a 2D incompressible problem '
           datatype: 'ForcedFlow'
    datastoragemode: 'CxP2P2P1'
    datadescriptors: 'ux,uy,p'
       meshfilename: './WORK/MESHES/FFMESH_000005.msh'
                 Re: 60
           INDEXING: [1x1 struct]
             Lambda: 0.0000e+00 + 1.0000e-03i
                 Fy: 0.1863 + 0.0011i
                  Z: 1.1285e+00 - 1.8634e+02i
               FyAS: 0.4023
               vort: [2498x1 double]
                uxr: [2498x1 double]
                uyr: [2498x1 double]
                 pr: [2498x1 double]
                 ux: [28614x1 double]
                 uy: [28614x1 double]
                  p: [14307x1 double]
             status: 'loaded'

NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_ALE.edp

ffALE = 

  struct with fields:

               mesh: [1x1 struct]
           filename: './WORK/FORCEDFLOWS//FFDATA_000005.txt'
    DataDescription: 'FORCED LINEAR RESPONSE for a 2D incompressible problem '
           datatype: 'ForcedFlow'
    datastoragemode: 'CxP2P2P1'
    datadescriptors: 'ux,uy,p'
       meshfilename: './WORK/MESHES/FFMESH_000005.msh'
                 Re: 60
           INDEXING: [1x1 struct]
             Lambda: 0.0000e+00 + 1.0000e-03i
                 Fy: -0.0437 + 0.0009i
                  Z: 0.8739 +43.6852i
               Fyxi: 0.1673
               vort: [2498x1 double]
                uxa: [2498x1 double]
                uya: [2498x1 double]
                 pa: [2498x1 double]
                 ux: [28614x1 double]
                 uy: [28614x1 double]
                  p: [14307x1 double]
             status: 'loaded'

NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_ALE.edp

ffALEe = 

  struct with fields:

               mesh: [1x1 struct]
           filename: './WORK/FORCEDFLOWS//FFDATA_000006.txt'
    DataDescription: 'FORCED LINEAR RESPONSE for a 2D incompressible problem '
           datatype: 'ForcedFlow'
    datastoragemode: 'CxP2P2P1'
    datadescriptors: 'ux,uy,p'
       meshfilename: './WORK/MESHES/FFMESH_000005.msh'
                 Re: 60
           INDEXING: [1x1 struct]
             Lambda: 0.0000e+00 + 1.0000e-03i
                 Fy: -0.0749 + 0.0008i
                  Z: 0.8388 +74.9013i
               Fyxi: 0.0417
               vort: [2498x1 double]
                uxa: [2498x1 double]
                uya: [2498x1 double]
                 pa: [2498x1 double]
                 ux: [28614x1 double]
                 uy: [28614x1 double]
                  p: [14307x1 double]
             status: 'loaded'

NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c

ans =

  Columns 1 through 4

   1.1807 + 0.0000i  -0.0000 + 0.0012i  -0.0000 + 0.0012i   0.1863 + 0.0011i

  Columns 5 through 7

  -0.0437 + 0.0009i   0.1236 + 0.0009i  -0.0332 + 0.0008i

Validation on the case of a forced problem (omega=1)

omega = 1;

% Reference with default solver (cf. Sabino et al)
ffref = SF_LinearForced(bf,'omega',omega); % This solver is incorrect for strong confinement
Yline = linspace(0,max(bf.mesh.points(2,:)),200);
Lineref = SF_ExtractData(ffref,'all',0,Yline);

% Relative velocities in relative frame
ffRR = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_work.edp','Options','-Vel R -Frame R -Normalize Y')
LineRR = SF_ExtractData(ffRR,'all',0,Yline);

% Absolute velocities in relative frame
ffAR = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_work.edp','Options','-Vel A -Frame R -Normalize Y') ;
LineAR = SF_ExtractData(ffAR,'all',0,Yline);

% Absolute velocities in absolute frame
% (this one does NOT include added stress !)
ffAA = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_work.edp','Options','-Vel A -Frame A -Normalize Y')
LineAA = SF_ExtractData(ffAA,'all',0,Yline);

% ALE solver
ffALE = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_ALE.edp')
LineALE = SF_ExtractData(ffALE,'all',0,Yline);

% ALE solver with elasticity operator instead of Laplacian
ffALEe = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_ALE.edp','Options','-ALEOP elasticity')
LineALEe = SF_ExtractData(ffALEe,'all',0,Yline);

% NB for the "added stress" term is

% Comparaison between solvers : Figures

% Forces
[ ffref.Z, ffRR.Fy, ffAR.Fy, ffAA.Fy, ffALE.Fy,ffALE.Fy+ffALE.Fyxi,ffALEe.Fy+ffALEe.Fyxi]

% Velocities along a vertical line
figure(45);plot(Yline,real(LineRR.uy),'-r',Yline,imag(LineRR.uy),':r',Yline,real(LineRR.uya),'--r',Yline,imag(LineRR.uya),'-..r')
figure(46);plot(Yline,real(LineRR.ux),'-r',Yline,imag(LineRR.ux),':r',Yline,real(LineRR.uxa),'--r',Yline,imag(LineRR.uxa),'-..r')
figure(45);hold on;plot(Yline,real(LineAR.uy),'-b',Yline,imag(LineAR.uy),':b',Yline,real(LineAR.uya),'--b',Yline,imag(LineAR.uya),'-..b')
figure(46);hold on;plot(Yline,real(LineAR.ux),'-b',Yline,imag(LineAR.ux),':b',Yline,real(LineAR.uxa),'--b',Yline,imag(LineAR.uxa),'-..b')
figure(45);hold on;plot(Yline,real(LineAA.uyr),'-g',Yline,imag(LineAA.uyr),':g',Yline,real(LineAA.uy),'--g',Yline,imag(LineAA.uy),'-..g')
figure(46);hold on;plot(Yline,real(LineAA.uxr),'-g',Yline,imag(LineAA.uxr),':g',Yline,real(LineAA.ux),'--g',Yline,imag(LineAA.ux),'-..g')
figure(45);hold on;plot(Yline,real(LineALE.uy),'-k',Yline,imag(LineALE.uy),':k',Yline,real(LineALE.uya),'--k',Yline,imag(LineALE.uya),'-..k')
figure(46);hold on;plot(Yline,real(LineALE.ux),'-k',Yline,imag(LineALE.ux),':k',Yline,real(LineALE.uxa),'--k',Yline,imag(LineALE.uxa),'-..k')
figure(45);hold on;plot(Yline,real(LineALEe.uy),'-c',Yline,imag(LineALEe.uy),':c',Yline,real(LineALEe.uya),'--c',Yline,imag(LineALEe.uya),'-..c')
figure(46);hold on;plot(Yline,real(LineALEe.ux),'-c',Yline,imag(LineALEe.ux),':c',Yline,real(LineALEe.uxa),'--c',Yline,imag(LineALEe.uxa),'-..c')


figure(45);legend('Uyrel,r','Uyrel,i','Uyabs,r','Uyabs,i')
figure(46);legend('Uxrel,r','Uxrel,i','Uxabs,r','Uxabs,i')

% plot of velocity fields
figure(15); subplot(4,1,1);SF_Plot(ffRR,'uxa','xlim',[-2 4],'ylim',[0 1.2],'title','RR (abs)');
subplot(4,1,2);SF_Plot(ffRR,'ux','xlim',[-2 4],'ylim',[0 1.2],'title','RR (rel)');
subplot(4,1,3);SF_Plot(ffALE,'uxa','xlim',[-2 4],'ylim',[0 1.2],'title','ALE (abs)');
subplot(4,1,4);SF_Plot(ffALE,'ux','xlim',[-2 4],'ylim',[0 1.2],'title','ALE (ALEfield)');

figure(16); subplot(4,1,1);SF_Plot(ffRR,'uya','xlim',[-2 4],'ylim',[0 1.2],'title','RR (abs)');
subplot(4,1,2);SF_Plot(ffRR,'uy','xlim',[-2 4],'ylim',[0 1.2],'title','RR (rel)');
subplot(4,1,3);SF_Plot(ffALE,'uya','xlim',[-2 4],'ylim',[0 1.2],'title','ALE (abs)');
subplot(4,1,4);SF_Plot(ffALE,'uy','xlim',[-2 4],'ylim',[0 1.2],'title','ALE (ALEfield)');
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING standart StabFem Solver for this class of problems : LinearForced2D.edp
NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_work.edp

ffRR = 

  struct with fields:

               mesh: [1x1 struct]
           filename: './WORK/FORCEDFLOWS//FFDATA_000008.txt'
    DataDescription: 'FORCED LINEAR RESPONSE for a 2D incompressible problem '
           datatype: 'ForcedFlow'
    datastoragemode: 'CxP2P2P1'
    datadescriptors: 'ux,uy,p'
       meshfilename: './WORK/MESHES/FFMESH_000005.msh'
                 Re: 60
           INDEXING: [1x1 struct]
             Lambda: 0.0000 + 1.0000i
                 Fy: 0.0413 + 0.4893i
                  Z: 0.4893 - 0.0413i
               FyAS: 0.4023
               vort: [2498x1 double]
                uxa: [2498x1 double]
                uya: [2498x1 double]
                 pa: [2498x1 double]
                 ux: [28614x1 double]
                 uy: [28614x1 double]
                  p: [14307x1 double]
             status: 'loaded'

NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_work.edp
NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_work.edp

ffAA = 

  struct with fields:

               mesh: [1x1 struct]
           filename: './WORK/FORCEDFLOWS//FFDATA_000010.txt'
    DataDescription: 'FORCED LINEAR RESPONSE for a 2D incompressible problem '
           datatype: 'ForcedFlow'
    datastoragemode: 'CxP2P2P1'
    datadescriptors: 'ux,uy,p'
       meshfilename: './WORK/MESHES/FFMESH_000005.msh'
                 Re: 60
           INDEXING: [1x1 struct]
             Lambda: 0.0000 + 1.0000i
                 Fy: 0.2844 + 0.4549i
                  Z: 0.4549 - 0.2844i
               FyAS: 0.4023
               vort: [2498x1 double]
                uxr: [2498x1 double]
                uyr: [2498x1 double]
                 pr: [2498x1 double]
                 ux: [28614x1 double]
                 uy: [28614x1 double]
                  p: [14307x1 double]
             status: 'loaded'

NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_ALE.edp

ffALE = 

  struct with fields:

               mesh: [1x1 struct]
           filename: './WORK/FORCEDFLOWS//FFDATA_000011.txt'
    DataDescription: 'FORCED LINEAR RESPONSE for a 2D incompressible problem '
           datatype: 'ForcedFlow'
    datastoragemode: 'CxP2P2P1'
    datadescriptors: 'ux,uy,p'
       meshfilename: './WORK/MESHES/FFMESH_000005.msh'
                 Re: 60
           INDEXING: [1x1 struct]
             Lambda: 0.0000 + 1.0000i
                 Fy: 0.1131 + 0.2390i
                  Z: 0.2390 - 0.1131i
               Fyxi: 0.1673
               vort: [2498x1 double]
                uxa: [2498x1 double]
                uya: [2498x1 double]
                 pa: [2498x1 double]
                 ux: [28614x1 double]
                 uy: [28614x1 double]
                  p: [14307x1 double]
             status: 'loaded'

NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
WARNING -  baseflow.iter = 0 ! it seems your baseflow was projected after mesh adaptation but not recomputed !
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_ALE.edp

ffALEe = 

  struct with fields:

               mesh: [1x1 struct]
           filename: './WORK/FORCEDFLOWS//FFDATA_000012.txt'
    DataDescription: 'FORCED LINEAR RESPONSE for a 2D incompressible problem '
           datatype: 'ForcedFlow'
    datastoragemode: 'CxP2P2P1'
    datadescriptors: 'ux,uy,p'
       meshfilename: './WORK/MESHES/FFMESH_000005.msh'
                 Re: 60
           INDEXING: [1x1 struct]
             Lambda: 0.0000 + 1.0000i
                 Fy: 0.1184 + 0.1978i
                  Z: 0.1978 - 0.1184i
               Fyxi: 0.0417
               vort: [2498x1 double]
                uxa: [2498x1 double]
                uya: [2498x1 double]
                 pa: [2498x1 double]
                 ux: [28614x1 double]
                 uy: [28614x1 double]
                  p: [14307x1 double]
             status: 'loaded'

NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c

ans =

  Columns 1 through 4

   0.4893 - 0.0413i   0.0413 + 0.4893i   0.0413 + 0.4893i   0.2844 + 0.4549i

  Columns 5 through 7

   0.1131 + 0.2390i   0.2804 + 0.2390i   0.1601 + 0.1978i

Validation on the case of a forced problem (omega=1) ; FINE MESH

ffmesh = SF_Mesh('Mesh_Cylinder.edp','Params',[-5 20 2],'Options','-density 100','problemtype','2d')
bf = SF_BaseFlow(ffmesh,'Re',25);
bf = SF_BaseFlow(ffmesh,'Re',60);

omega = 1;


% Reference with default solver (cf. Sabino et al)
ffref = SF_LinearForced(bf,'omega',omega); % This solver is incorrect for strong confinement
Yline = linspace(0,max(bf.mesh.points(2,:)),200);
Lineref = SF_ExtractData(ffref,'all',0,Yline);

% Relative velocities in relative frame
ffRR = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_work.edp','Options','-Vel R -Frame R -Normalize Y')
LineRR = SF_ExtractData(ffRR,'all',0,Yline);

% Absolute velocities in relative frame
ffAR = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_work.edp','Options','-Vel A -Frame R -Normalize Y') ;
LineAR = SF_ExtractData(ffAR,'all',0,Yline);

% Absolute velocities in absolute frame
% (this one does NOT include added stress !)
ffAA = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_work.edp','Options','-Vel A -Frame A -Normalize Y')
LineAA = SF_ExtractData(ffAA,'all',0,Yline);

% ALE solver
ffALE = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_ALE.edp')
LineALE = SF_ExtractData(ffALE,'all',0,Yline);

% ALE solver with elasticity operator instead of Laplacian
ffALEe = SF_LinearForced(bf,'omega',omega,'solver','LinearForced2D_ALE.edp','Options','-ALEOP elasticity')
LineALEe = SF_ExtractData(ffALEe,'all',0,Yline);


% Forces
[ ffref.Z, ffRR.Fy, ffAR.Fy, ffAA.Fy, ffALE.Fy,ffALE.Fy+ffALE.Fyxi,ffALEe.Fy+ffALEe.Fyxi]
WARNING -  Your program uses depreciated syntax 'Params' to pass parameters 
WARNING -  It is advised to switch to new method using 'Options', and modify your Freefem solvers to detect parameters using 'getARGV'  
NOTICE  -  In SF_Mesh : detected a symmmetry axis (label 6) at y=0. assuming a half-mesh. symmetry property for BF calculations is set to 1. 
NOTICE  -       ### INITIAL MESH CREATED WITH np = 10660 vertices

ffmesh = 

  struct with fields:

             points: [3x10660 double]
             bounds: [3x380 double]
                tri: [4x21134 double]
                 np: 10660
                nbe: 380
                 nt: 21134
             labels: [1 2 3 6 9 13]
        problemtype: '2d'
           filename: './WORK/MESHES/FFMESH_000006.msh'
           meshtype: '2D'
           datatype: 'mesh'
    DataDescription: 'Mesh (generated by generic macro)'
     generationmode: 'initial'
    datastoragemode: 'unknown'
       TriangleSize: [0x1 double]
             status: 'loaded'
                np2: 42453
          Vh_P2P2P1: [317010x1 double]
              Vh_P2: [126804x1 double]
     meshgeneration: 0
           symmetry: 'S'

NOTICE  - Working with 1 cores
NOTICE  - SF_BaseFlow : Base flow converged  in 6 iterations ; Re = 25; Fx = 1.6938; Lx = 0.5
NOTICE  - Working with 1 cores
NOTICE  - SF_BaseFlow : Base flow converged  in 7 iterations ; Re = 60; Fx = 1.1442; Lx = 3.6992
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING standart StabFem Solver for this class of problems : LinearForced2D.edp
NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_work.edp

ffRR = 

  struct with fields:

               mesh: [1x1 struct]
           filename: './WORK/FORCEDFLOWS//FFDATA_000014.txt'
    DataDescription: 'FORCED LINEAR RESPONSE for a 2D incompressible problem '
           datatype: 'ForcedFlow'
    datastoragemode: 'CxP2P2P1'
    datadescriptors: 'ux,uy,p'
       meshfilename: './WORK/MESHES/FFMESH_000006.msh'
                 Re: 60
           INDEXING: [1x1 struct]
             Lambda: 0.0000 + 1.0000i
                 Fy: 0.1329 - 0.0766i
                  Z: -0.0766 - 0.1329i
               FyAS: 0.1140
               vort: [10660x1 double]
                uxa: [10660x1 double]
                uya: [10660x1 double]
                 pa: [10660x1 double]
                 ux: [126804x1 double]
                 uy: [126804x1 double]
                  p: [63402x1 double]
             status: 'loaded'

NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_work.edp
NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_work.edp

ffAA = 

  struct with fields:

               mesh: [1x1 struct]
           filename: './WORK/FORCEDFLOWS//FFDATA_000016.txt'
    DataDescription: 'FORCED LINEAR RESPONSE for a 2D incompressible problem '
           datatype: 'ForcedFlow'
    datastoragemode: 'CxP2P2P1'
    datadescriptors: 'ux,uy,p'
       meshfilename: './WORK/MESHES/FFMESH_000006.msh'
                 Re: 60
           INDEXING: [1x1 struct]
             Lambda: 0.0000 + 1.0000i
                 Fy: 0.1774 - 0.3960i
                  Z: -0.3960 - 0.1774i
               FyAS: 0.1140
               vort: [10660x1 double]
                uxr: [10660x1 double]
                uyr: [10660x1 double]
                 pr: [10660x1 double]
                 ux: [126804x1 double]
                 uy: [126804x1 double]
                  p: [63402x1 double]
             status: 'loaded'

NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_ALE.edp

ffALE = 

  struct with fields:

               mesh: [1x1 struct]
           filename: './WORK/FORCEDFLOWS//FFDATA_000017.txt'
    DataDescription: 'FORCED LINEAR RESPONSE for a 2D incompressible problem '
           datatype: 'ForcedFlow'
    datastoragemode: 'CxP2P2P1'
    datadescriptors: 'ux,uy,p'
       meshfilename: './WORK/MESHES/FFMESH_000006.msh'
                 Re: 60
           INDEXING: [1x1 struct]
             Lambda: 0.0000 + 1.0000i
                 Fy: 0.0960 - 0.7936i
                  Z: -0.7936 - 0.0960i
               Fyxi: 0.1715
               vort: [10660x1 double]
                uxa: [10660x1 double]
                uya: [10660x1 double]
                 pa: [10660x1 double]
                 ux: [126804x1 double]
                 uy: [126804x1 double]
                  p: [63402x1 double]
             status: 'loaded'

NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
NOTICE  - detected half-mesh and symmetric BF, perturbation is expected antisymmetric
NOTICE  -       ### USING specified FreeFem++ Solver LinearForced2D_ALE.edp

ffALEe = 

  struct with fields:

               mesh: [1x1 struct]
           filename: './WORK/FORCEDFLOWS//FFDATA_000018.txt'
    DataDescription: 'FORCED LINEAR RESPONSE for a 2D incompressible problem '
           datatype: 'ForcedFlow'
    datastoragemode: 'CxP2P2P1'
    datadescriptors: 'ux,uy,p'
       meshfilename: './WORK/MESHES/FFMESH_000006.msh'
                 Re: 60
           INDEXING: [1x1 struct]
             Lambda: 0.0000 + 1.0000i
                 Fy: 0.1664 - 0.9530i
                  Z: -0.9530 - 0.1664i
               Fyxi: 0.0451
               vort: [10660x1 double]
                uxa: [10660x1 double]
                uya: [10660x1 double]
                 pa: [10660x1 double]
                 ux: [126804x1 double]
                 uy: [126804x1 double]
                  p: [63402x1 double]
             status: 'loaded'

NOTICE  - In ExtractData : extracting all field
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c
Note: To improve runtime build MEX function fftri2gridfast() from fftri2gridfast.c

ans =

  Columns 1 through 4

  -0.0766 - 0.1329i   0.1329 - 0.0766i   0.1329 - 0.0766i   0.1774 - 0.3960i

  Columns 5 through 7

   0.0960 - 0.7936i   0.2675 - 0.7936i   0.2114 - 0.9530i

SUMMARY

SF_Status


% [[PUBLISH]]
%
fclose(fopen('TESTS_VIV.success','w+'));
################################################################################
...  SUMMARY OF YOUR DATABASE FOLDER :    ./WORK/
#################################################################################
 
.... CONTENT OF DIRECTORY ./WORK/MESHES :
     (list of meshes previously created/adapted ; couples of .msh/.ff2m files )
 
Index | Name              | generation mode | Date                 | Nv      
1     | FFMESH_000001.msh | initial         | 22-mars-2023 23:01:10 | 2639    
2     | FFMESH_000002.msh | adapted         | 22-mars-2023 23:01:47 | 1468    
3     | FFMESH_000003.msh | adapted         | 22-mars-2023 23:01:51 | 1886    
4     | FFMESH_000004.msh | adapted         | 22-mars-2023 23:02:02 | 4042    
5     | FFMESH_000005.msh | adapted         | 22-mars-2023 23:02:39 | 2498    
6     | FFMESH_000006.msh | initial         | 22-mars-2023 23:04:18 | 10660   
#################################################################################
 
     (list of base flows associated to newly computed meshes ; couples of .txt/.ff2m files )
     NB : these base flows are most likely simply projected and not recomputed, it is not recommended to use them
 
 Index | Name              | Type         | Date                 | Mesh file         | Re        
 1     | FFDATA_000003.txt | BaseFlow     | 22-mars-2023 23:01:48 | FFMESH_000002.msh | 60        
 2     | FFDATA_000004.txt | BaseFlow     | 22-mars-2023 23:01:53 | FFMESH_000003.msh | 60        
 3     | FFDATA_000005.txt | BaseFlow     | 22-mars-2023 23:02:04 | FFMESH_000004.msh | 60        
 4     | FFDATA_000006.txt | BaseFlow     | 22-mars-2023 23:02:40 | FFMESH_000005.msh | 60        
 
#################################################################################
#################################################################################
 
.... CONTENT OF DIRECTORY ./WORK/BASEFLOWS
     (couples of .txt/.ff2m files )
 
 Index | Name              | Type         | Date                 | Mesh file         | Re        
 1     | FFDATA_000001.txt | BaseFlow     | 22-mars-2023 23:01:20 | FFMESH_000001.msh | 1         
 2     | FFDATA_000002.txt | BaseFlow     | 22-mars-2023 23:01:30 | FFMESH_000001.msh | 10        
 3     | FFDATA_000003.txt | BaseFlow     | 22-mars-2023 23:01:44 | FFMESH_000001.msh | 60        
 4     | FFDATA_000004.txt | BaseFlow     | 22-mars-2023 23:05:34 | FFMESH_000006.msh | 25        
 5     | FFDATA_000005.txt | BaseFlow     | 22-mars-2023 23:07:05 | FFMESH_000006.msh | 60        
 
#################################################################################
 
.... CONTENT OF DIRECTORY ./WORK/EIGENMODES
     (couples of .txt/.ff2m files )
 
 Index | Name              | Type         | Date                 | BaseFlow file     | Re         | lambda          
 1     | FFDATA_000001.txt | EigenModeA   | 22-mars-2023 23:01:59 | ./WORK/MESHES//FFDATA_000004.txt | 60         | 0.020034-1.3255i
 2     | FFDATA_000002.txt | EigenModeA   | 22-mars-2023 23:02:19 | ./WORK/MESHES//FFDATA_000005.txt | 60         | 0.020041-1.3258i
 3     | FFDATA_000003.txt | EigenMode    | 22-mars-2023 23:02:33 | ./WORK/MESHES//FFDATA_000005.txt | 60         | 0.020041+1.3258i
 
 
 You have previously computed 3 eigenvalues in this session
 The full list will be available as field  'EIGENVALUES' of this function's result
 
#################################################################################
 
.... CONTENT OF DIRECTORY ./WORK/FORCEDFLOWS
     (couples of .txt/.ff2m files )
 
 Index | Name              | Type         | Date                 | Mesh file         | Re         | Lambda           | Fy              
 1     | FFDATA_000001.txt | ForcedFlow   | 22-mars-2023 23:02:48 | FFMESH_000005.msh | 60         | 0+0.001i         | -1.1807-3.8355e-05i
 2     | FFDATA_000002.txt | ForcedFlow   | 22-mars-2023 23:02:52 | FFMESH_000005.msh | 60         | 0+0.001i         | -3.8355e-08+0.0011807i
 3     | FFDATA_000003.txt | ForcedFlow   | 22-mars-2023 23:02:56 | FFMESH_000005.msh | 60         | 0+0.001i         | -3.8355e-08+0.0011807i
 4     | FFDATA_000004.txt | ForcedFlow   | 22-mars-2023 23:03:01 | FFMESH_000005.msh | 60         | 0+0.001i         | 0.18634+0.0011286i
 5     | FFDATA_000005.txt | ForcedFlow   | 22-mars-2023 23:03:08 | FFMESH_000005.msh | 60         | 0+0.001i         | -0.043685+0.00087393i
 6     | FFDATA_000006.txt | ForcedFlow   | 22-mars-2023 23:03:15 | FFMESH_000005.msh | 60         | 0+0.001i         | -0.074901+0.00083879i
 7     | FFDATA_000007.txt | ForcedFlow   | 22-mars-2023 23:03:36 | FFMESH_000005.msh | 60         | 0+1i             | -0.48927+0.041336i
 8     | FFDATA_000008.txt | ForcedFlow   | 22-mars-2023 23:03:41 | FFMESH_000005.msh | 60         | 0+1i             | 0.041336+0.48927i
 9     | FFDATA_000009.txt | ForcedFlow   | 22-mars-2023 23:03:44 | FFMESH_000005.msh | 60         | 0+1i             | 0.041336+0.48927i
 10    | FFDATA_000010.txt | ForcedFlow   | 22-mars-2023 23:03:49 | FFMESH_000005.msh | 60         | 0+1i             | 0.28438+0.45495i
 11    | FFDATA_000011.txt | ForcedFlow   | 22-mars-2023 23:03:56 | FFMESH_000005.msh | 60         | 0+1i             | 0.11308+0.23897i
 12    | FFDATA_000012.txt | ForcedFlow   | 22-mars-2023 23:04:03 | FFMESH_000005.msh | 60         | 0+1i             | 0.11835+0.19781i
 13    | FFDATA_000013.txt | ForcedFlow   | 22-mars-2023 23:07:19 | FFMESH_000006.msh | 60         | 0+1i             | 0.076586+0.13288i
 14    | FFDATA_000014.txt | ForcedFlow   | 22-mars-2023 23:07:36 | FFMESH_000006.msh | 60         | 0+1i             | 0.13288-0.076586i
 15    | FFDATA_000015.txt | ForcedFlow   | 22-mars-2023 23:07:50 | FFMESH_000006.msh | 60         | 0+1i             | 0.13288-0.076586i
 16    | FFDATA_000016.txt | ForcedFlow   | 22-mars-2023 23:08:05 | FFMESH_000006.msh | 60         | 0+1i             | 0.17737-0.39604i
 17    | FFDATA_000017.txt | ForcedFlow   | 22-mars-2023 23:08:37 | FFMESH_000006.msh | 60         | 0+1i             | 0.095965-0.79365i
 18    | FFDATA_000018.txt | ForcedFlow   | 22-mars-2023 23:09:11 | FFMESH_000006.msh | 60         | 0+1i             | 0.16636-0.95305i
 
#################################################################################
 
.... CONTENT OF DIRECTORY ./WORK/MESHBF
     (couples of .txt/.ff2m files )
 
 Index | Name              | Type         | Date                 | Mesh file         | Re        
 1     | FFDATA_000001.txt | BaseFlow     | 22-mars-2023 23:01:19 | FFMESH_000001.msh | 1         
 2     | FFDATA_000002.txt | BaseFlow     | 22-mars-2023 23:05:31 | FFMESH_000006.msh | 25        
 3     | FFDATA_000003.txt | BaseFlow     | 22-mars-2023 23:06:59 | FFMESH_000006.msh | 60        
 
#################################################################################
 
.... CONTENT OF DIRECTORY ./WORK/MISC
     (couples of .txt/.ff2m files )
   NB this directory may contain various secondary files produced by StabFem,
      such as flowfields projected after adaptation but not recomputed, adaptation masks, etc... 
 
 Index | Name              | Type         | Date                 | (no bf or mesh indication) | Re         | eigenvalue
 1     | FFDATA_000001.txt | Sensitivity  | 22-mars-2023 23:02:36 | (unknown)        | 60         | 0.020041  
 
 
#################################################################################

ans = 

  struct with fields:

         MESHES: [1x6 struct]
      BASEFLOWS: [1x5 struct]
     EIGENMODES: [1x3 struct]
    EIGENVALUES: [1x1 struct]
    FORCEDFLOWS: [1x18 struct]
         MESHBF: [1x3 struct]
           MISC: [1x1 struct]