diff --git a/Inc_Laminar_Flat_Plate/images/.DS_Store b/Inc_Laminar_Flat_Plate/images/.DS_Store deleted file mode 100644 index 5008ddfc..00000000 Binary files a/Inc_Laminar_Flat_Plate/images/.DS_Store and /dev/null differ diff --git a/_docs_v7/Build-SU2-Linux-MacOS.md b/_docs_v7/Build-SU2-Linux-MacOS.md index 2be76015..9290b1b7 100644 --- a/_docs_v7/Build-SU2-Linux-MacOS.md +++ b/_docs_v7/Build-SU2-Linux-MacOS.md @@ -4,7 +4,7 @@ permalink: /docs_v7/Build-SU2-Linux-MacOS/ redirect_from: /docs/Build-SU2-From-Source/ --- -For information on how to build older versions of SU2, have a look [here](/docs_v7/Build-from-Source/). +For information on how to build older versions of SU2, have a look [here](/docs/Build-from-Source/). Note that the following guide works only on Linux/MacOS and on Windows using Cygwin or the [Linux Subsystem](https://docs.microsoft.com/en-us/windows/wsl/install-win10). diff --git a/_tutorials/compressible_flow/Inviscid_Bump.md b/_tutorials/compressible_flow/Inviscid_Bump/Inviscid_Bump.md similarity index 96% rename from _tutorials/compressible_flow/Inviscid_Bump.md rename to _tutorials/compressible_flow/Inviscid_Bump/Inviscid_Bump.md index add2e332..0d134abb 100644 --- a/_tutorials/compressible_flow/Inviscid_Bump.md +++ b/_tutorials/compressible_flow/Inviscid_Bump/Inviscid_Bump.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![Channel Mach](../../Inviscid_Bump/images/channel_mach.png) +![Channel Mach](../../tutorials_files/compressible_flow/Inviscid_Bump/images/channel_mach.png) ## Goals @@ -52,7 +52,7 @@ There is also a set of inlet/outlet conditions for transonic flow available in t The channel is of length 3L with a height L and a circular bump centered along the lower wall with height 0.1L. For the SU2 mesh, L = 1.0 was chosen, as seen in the figure of the mesh below. The mesh is composed of quadrilaterals with 256 nodes along the length of the channel and 128 nodes along the height. The following figure contains a view of the mesh topology (a coarser mesh is shown for clarity). -![Channel Mesh](../../Inviscid_Bump/images/channel_mesh_bcs.png) +![Channel Mesh](../../tutorials_files/compressible_flow/Inviscid_Bump/images/channel_mesh_bcs.png) Figure (1): The computational mesh with boundary conditions highlighted. The boundary conditions for the channel are also highlighted in the figure. Inlet, outlet, and Euler wall boundary conditions are used. The Euler wall boundary condition enforces flow tangency at the upper and lower walls. @@ -152,8 +152,8 @@ The channel simulation for the 256x128 node mesh is relatively small, so this ca The following images show some SU2 results for the inviscid channel problem. -![Channel Mach](../../Inviscid_Bump/images/channel_mach.png) +![Channel Mach](../../tutorials_files/compressible_flow/Inviscid_Bump/images/channel_mach.png) Figure (2): Mach number contours for the 2D channel. -![Channel Pressure](../../Inviscid_Bump/images/channel_pressure.png) +![Channel Pressure](../../tutorials_files/compressible_flow/Inviscid_Bump/images/channel_pressure.png) Figure (3): Pressure contours for the 2D channel. diff --git a/_tutorials/compressible_flow/Inviscid_ONERAM6.md b/_tutorials/compressible_flow/Inviscid_ONERAM6/Inviscid_ONERAM6.md similarity index 95% rename from _tutorials/compressible_flow/Inviscid_ONERAM6.md rename to _tutorials/compressible_flow/Inviscid_ONERAM6/Inviscid_ONERAM6.md index 6c7c769d..8d17819d 100644 --- a/_tutorials/compressible_flow/Inviscid_ONERAM6.md +++ b/_tutorials/compressible_flow/Inviscid_ONERAM6/Inviscid_ONERAM6.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![ONERA M6 Cp](../../Inviscid_ONERAM6/images/oneram6_cp.png) +![ONERA M6 Cp](../../tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_cp.png) ## Goals @@ -52,10 +52,10 @@ These transonic flow conditions will cause the typical "lambda" shock along the The computational domain is a large parallelepiped with the wing half-span mounted on one boundary in the x-z plane. The mesh consists of 582,752 tetrahedral elements and 108,396 nodes. Three boundary conditions are employed: Euler wall on the wing surface, a far-field characteristic-based condition on the far-field markers, and a symmetry boundary condition for the marker where the wing half-span is attached. The symmetry condition acts to mirror the flow about the x-z plane, reducing the complexity of the mesh and the computational cost. Images of the entire domain and the triangular elements on the wing surface are shown below. -![ONERA M6 Mesh](../../Inviscid_ONERAM6/images/oneram6_mesh_bcs.png) +![ONERA M6 Mesh](../../tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_mesh_bcs.png) Figure (1): Far-field view of the computational mesh with boundary conditions. -![ONERA M6 Surface Mesh](../../Inviscid_ONERAM6/images/oneram6_wing_mesh.png) +![ONERA M6 Surface Mesh](../../tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_wing_mesh.png) Figure (2): Close-up view of the unstructured mesh on the top surface of the ONERA M6 wing. ### Configuration File Options @@ -189,14 +189,14 @@ If SU2 has been built with parallel support, the recommended method for running Results are here given for the SU2 solution of inviscid flow over the ONERA M6 wing. -![ONERA M6 Cp](../../Inviscid_ONERAM6/images/oneram6_cp.png) +![ONERA M6 Cp](../../tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_cp.png) Figure (3): Cp contours on the upper surface of the ONERA M6. -![ONERA M6 Mach](../../Inviscid_ONERAM6/images/oneram6_mach.png) +![ONERA M6 Mach](../../tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_mach.png) Figure (4): Mach number contours on the upper surface of the ONERA M6 wing. Notice the "lambda" shock pattern typically seen on the upper surface. -![ONERA M6 Coefficients](../../Inviscid_ONERAM6/images/oneram6_coefficients.png) +![ONERA M6 Coefficients](../../tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_coefficients.png) Figure (5): Convergence of the non-dimensional coefficients. -![ONERA M6 Convergence](../../Inviscid_ONERAM6/images/oneram6_convergence.png) +![ONERA M6 Convergence](../../tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_convergence.png) Figure (6): Convergence of the density residual (speed up x20, iteration based). diff --git a/_tutorials/compressible_flow/Inviscid_Wedge.md b/_tutorials/compressible_flow/Inviscid_Wedge/Inviscid_Wedge.md similarity index 96% rename from _tutorials/compressible_flow/Inviscid_Wedge.md rename to _tutorials/compressible_flow/Inviscid_Wedge/Inviscid_Wedge.md index 38d2d08f..6a50bbe8 100644 --- a/_tutorials/compressible_flow/Inviscid_Wedge.md +++ b/_tutorials/compressible_flow/Inviscid_Wedge/Inviscid_Wedge.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![Wedge Mach](../../Inviscid_Wedge/images/wedge_mach.png) +![Wedge Mach](../../tutorials_files/compressible_flow/Inviscid_Wedge/images/wedge_mach.png) ## Goals @@ -49,7 +49,7 @@ This problem will solve for the flow over the wedge with these conditions: The wedge mesh is a structured mesh (75x50) of rectangular elements with a total of 3,750 nodes. The upper and lower wall of the geometry are solid (`MARKER_EULER`), and the lower wall has a 10 degree wedge starting at x = 0.5. Figure (1) shows the mesh with the boundary markers and flow conditions highlighted. -![Wedge Mach](../../Inviscid_Wedge/images/wedge_mesh_bcs.png) +![Wedge Mach](../../tutorials_files/compressible_flow/Inviscid_Wedge/images/wedge_mesh_bcs.png) Figure (1): The computational mesh with boundary conditions highlighted. For this test case, the inlet marker will be set to a `MARKER_SUPERSONIC_INLET` boundary condition, while the outlet marker will be set to the `MARKER_OUTLET` condition. In supersonic flow, all characteristics are incoming to the domain at the entrance (inlet marker), and therefore, all flow quantities can be specified, i.e., no information travels upstream. @@ -174,8 +174,8 @@ The wedge simulation is small and will execute quickly on a single workstation o The following images show some SU2 results for the supersonic wedge problem. -![Wedge Mach](../../Inviscid_Wedge/images/wedge_mach.png) +![Wedge Mach](../../tutorials_files/compressible_flow/Inviscid_Wedge/images/wedge_mach.png) Figure (2): Mach contours showing the oblique shock for supersonic flow over a wedge. -![Wedge Pressure](../../Inviscid_Wedge/images/wedge_pressure.png) +![Wedge Pressure](../../tutorials_files/compressible_flow/Inviscid_Wedge/images/wedge_pressure.png) Figure (3): Pressure contours (N/m2) for supersonic flow over a wedge. diff --git a/_tutorials/compressible_flow/Laminar_Cylinder.md b/_tutorials/compressible_flow/Laminar_Cylinder/Laminar_Cylinder.md similarity index 93% rename from _tutorials/compressible_flow/Laminar_Cylinder.md rename to _tutorials/compressible_flow/Laminar_Cylinder/Laminar_Cylinder.md index b60b497c..0fa74469 100644 --- a/_tutorials/compressible_flow/Laminar_Cylinder.md +++ b/_tutorials/compressible_flow/Laminar_Cylinder/Laminar_Cylinder.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![Cylinder Mach](../../Laminar_Cylinder/images/cylinder_mach.png) +![Cylinder Mach](../../tutorials_files/compressible_flow/Laminar_Cylinder/images/cylinder_mach.png) ## Goals @@ -53,7 +53,7 @@ This problem will solve the for the external, compressible flow over the cylinde The problem geometry is 2D. The mesh has 26,192 triangular elements and 13,336 points. It is fine near the surface of the cylinder to resolve the boundary layer. The exterior boundary is approximately 15 diameters away from the cylinder surface to avoid interaction between the boundary conditions. Far-field boundary conditions are used at the outer boundary. No-slip boundary conditions are placed on the surface of the cylinder. -![Cylinder Mesh](../../Laminar_Cylinder/images/cylinder_mesh.png) +![Cylinder Mesh](../../tutorials_files/compressible_flow/Laminar_Cylinder/images/cylinder_mesh.png) Figure (1): The computational mesh for the 2D cylinder test case. The outer boundary in red is the far-field, and the small circle in the center is the cylinder which uses the Navier-Stokes Wall boundary condition. @@ -105,11 +105,11 @@ The cylinder simulation for the 13,336 node mesh is small and will execute relat The following results show the flow around the cylinder as calculated by SU2 (note that these were for a slightly higher Mach number of 0.3). -![Cylinder Pressure](../../Laminar_Cylinder/images/cylinder_pressure.png) +![Cylinder Pressure](../../tutorials_files/compressible_flow/Laminar_Cylinder/images/cylinder_pressure.png) Figure (2): Pressure contours around the cylinder. -![Cylinder Viscosity](../../Laminar_Cylinder/images/cylinder_lam_visc.png) +![Cylinder Viscosity](../../tutorials_files/compressible_flow/Laminar_Cylinder/images/cylinder_lam_visc.png) Figure (3): Laminar viscosity contours for this steady, low Reynolds number flow. -![Cylinder Mach](../../Laminar_Cylinder/images/cylinder_mach.png) +![Cylinder Mach](../../tutorials_files/compressible_flow/Laminar_Cylinder/images/cylinder_mach.png) Figure (4): Mach number contours around the cylinder with streamlines. Note the large laminar separation region behind the cylinder at Re = 40. diff --git a/_tutorials/compressible_flow/Laminar_Flat_Plate.md b/_tutorials/compressible_flow/Laminar_Flat_Plate/Laminar_Flat_Plate.md similarity index 92% rename from _tutorials/compressible_flow/Laminar_Flat_Plate.md rename to _tutorials/compressible_flow/Laminar_Flat_Plate/Laminar_Flat_Plate.md index a7574565..4822fad0 100644 --- a/_tutorials/compressible_flow/Laminar_Flat_Plate.md +++ b/_tutorials/compressible_flow/Laminar_Flat_Plate/Laminar_Flat_Plate.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![Lam Plate Profile](../../Laminar_Flat_Plate/images/lam_plate_velocity_profile.png) +![Lam Plate Profile](../../tutorials_files/compressible_flow/Laminar_Flat_Plate/images/lam_plate_velocity_profile.png) ## Goals @@ -41,11 +41,11 @@ The following tutorial will walk you through the steps required when solving for In his PhD dissertation in 1908, H. Blasius obtained what is now referred to as the Blasius equation for incompressible, laminar flow over a flat plate: -![Blasius Equation](../../Laminar_Flat_Plate/images/blasius.png) +![Blasius Equation](../../tutorials_files/compressible_flow/Laminar_Flat_Plate/images/blasius.png) The third-order, ordinary differential equation can be solved numerically using a shooting method resulting in the well-known laminar boundary layer profile. Using the numerical solution, an expression for the skin friction coefficient along the flat plate can also be derived: -![Blasius Cf](../../Laminar_Flat_Plate/images/blasius_cf.png) +![Blasius Cf](../../tutorials_files/compressible_flow/Laminar_Flat_Plate/images/blasius_cf.png) where Re_x is the Reynolds number along the plate. In this tutorial, we will perform a solution of nearly incompressible (low Mach number) laminar flow over a flat plate and compare our results against the analytical Blasius solutions for the profile shape and skin friction coefficient along the plate. This problem has become a classic test case for viscous flow solvers. More detail on the Blasius solution and the similarity variables can be found in Chapter 18 of Fundamentals of Aerodynamics (Fourth Edition) by John D. Anderson, Jr. and most other texts on aerodynamics. @@ -63,7 +63,7 @@ This problem will solve the for the flow over the flat plate with these conditio The computational mesh for the flat plate is composed of quadrilaterals with 65 nodes in both the x- and y-directions. The flat plate is along the lower boundary of the domain (y = 0) starting at x = 0 m and is of length 0.3048 m (1 ft). In the figure of the mesh, this corresponds to the Navier-Stokes (no-slip) boundary condition highlighted in green. The domain extends a distance upstream of the flat plate, and a symmetry boundary condition is used to simulate a free-stream approaching the plate in this region (highlighted in purple). Axial stretching of the mesh is used to aid in resolving the region near the start of the plate where the no-slip boundary condition begins at x = 0 m, as shown in Figure (1). -![Lam Plate Mesh](../../Laminar_Flat_Plate/images/lam_plate_mesh_bcs.png) +![Lam Plate Mesh](../../tutorials_files/compressible_flow/Laminar_Flat_Plate/images/lam_plate_mesh_bcs.png) Figure (1): Figure of the computational mesh with boundary conditions. Because the flow is subsonic and disturbances caused by the presence of the plate can propagate both upstream and downstream, characteristic-based, subsonic inlet and outlet boundary conditions are used for the flow entrance plane (red) and the outflow regions along the upper region of the domain and the exit plane at x = 0.3048 m (blue). @@ -131,11 +131,11 @@ The flat plate simulation for the 65x65 node mesh is small and will execute rela Results are given here for the SU2 solution of laminar flow over the flat plate. The results show excellent agreement with the closed-form Blasius solution. -![Lam Plate Mach](../../Laminar_Flat_Plate/images/lam_plate_mach.png) +![Lam Plate Mach](../../tutorials_files/compressible_flow/Laminar_Flat_Plate/images/lam_plate_mach.png) Figure (2): Mach contours for the laminar flat plate. -![Lam Plate Profile](../../Laminar_Flat_Plate/images/lam_plate_velocity_profile.png) +![Lam Plate Profile](../../tutorials_files/compressible_flow/Laminar_Flat_Plate/images/lam_plate_velocity_profile.png) Figure (3): Velocity data was extracted from the exit plane of the mesh (x = 0.3048 m) near the wall, and the boundary layer velocity profile was plotted compared to and using the similarity variables from the Blasius solution. -![Lam Plate Cf](../../Laminar_Flat_Plate/images/lam_plate_skin_friction.png) +![Lam Plate Cf](../../tutorials_files/compressible_flow/Laminar_Flat_Plate/images/lam_plate_skin_friction.png) Figure (4): A plot of the skin friction coefficient along the plate created using the values written in the surface_flow.csv file and compared to Blasius. diff --git a/_tutorials/compressible_flow/NICFD_nozzle.md b/_tutorials/compressible_flow/NICFD_nozzle/NICFD_nozzle.md similarity index 94% rename from _tutorials/compressible_flow/NICFD_nozzle.md rename to _tutorials/compressible_flow/NICFD_nozzle/NICFD_nozzle.md index e762266b..daa72054 100644 --- a/_tutorials/compressible_flow/NICFD_nozzle.md +++ b/_tutorials/compressible_flow/NICFD_nozzle/NICFD_nozzle.md @@ -12,7 +12,7 @@ complexity: advanced follows: --- -![NICFD nozzle Mach](../../NICFD_nozzle/images/mach_isolines.png) +![NICFD nozzle Mach](../../tutorials_files/compressible_flow/NICFD_nozzle/images/mach_isolines.png) ## Goals @@ -60,7 +60,7 @@ In design conditions, the total to exhaust pressure ratio of the nozzle is 3.125 The total length of the nozzle is 0.123 m, with an inlet height of 0.036 m and a throat height of 0.0084 m. The mesh is composed of quadrilateral elements, with 3,540 elements and 3,660 nodes. The figure shows the mesh topology and an indication of the boundary conditions. Characteristic-based Riemann boundary conditions are used on the INFLOW and OUTFLOW boundaries. The Navier-Stokes adiabatic wall condition is imposed on the WALL boundary. The symmetry boundary condition is used at the SYMMETRY boundary. The symmetry condition mirrors the flow about the x axis, thus allowing to reduce the size of the mesh and the computational cost. -![NICFD nozzle mesh](../../NICFD_nozzle/images/mesh.png) +![NICFD nozzle mesh](../../tutorials_files/compressible_flow/NICFD_nozzle/images/mesh.png) Figure (1): Computational mesh. ### Configuration File Options @@ -217,8 +217,8 @@ The nozzle simulation is relatively small and will execute quickly on a single w Results are given here for the SU2 solution of supersonic non-ideal compressible flow in the converging-diverging nozzle. As part of this tutorial, a coarse mesh was provided, but for comparison, results obtained by using a refined mesh (80,223 elements and 80,840 points) as well as experimental results are shown. The figures below compare pressure and Mach number trends along the nozzle axis obtained from SU2 flow solutions and experimental data. Numerical results agree with the experimental data from the TROVA wind tunnel. -![NICFD nozzle results A](../../NICFD_nozzle/images/nozzle_geometry_schlieren.png) -![NICFD nozzle results B](../../NICFD_nozzle/images/Pressure_SU2_experiments.png) -![NICFD nozzle results C](../../NICFD_nozzle/images/Mach_SU2_experiments.png) +![NICFD nozzle results A](../../tutorials_files/compressible_flow/NICFD_nozzle/images/nozzle_geometry_schlieren.png) +![NICFD nozzle results B](../../tutorials_files/compressible_flow/NICFD_nozzle/images/Pressure_SU2_experiments.png) +![NICFD nozzle results C](../../tutorials_files/compressible_flow/NICFD_nozzle/images/Mach_SU2_experiments.png) Figure (2): (a) Geometry of the test section and schlieren image of the nozzle flow. (b, c) Comparison Pressure (b) and Mach number (c) profiles of the experimental results of Spinelli *et al* (black dots with error bars) against SU2 computational results for the test case mesh (red lines) and a reference fine mesh (blue lines). diff --git a/_tutorials/compressible_flow/Transitional_Flat_Plate.md b/_tutorials/compressible_flow/Transitional_Flat_Plate/Transitional_Flat_Plate.md similarity index 94% rename from _tutorials/compressible_flow/Transitional_Flat_Plate.md rename to _tutorials/compressible_flow/Transitional_Flat_Plate/Transitional_Flat_Plate.md index e9d98931..11160a89 100644 --- a/_tutorials/compressible_flow/Transitional_Flat_Plate.md +++ b/_tutorials/compressible_flow/Transitional_Flat_Plate/Transitional_Flat_Plate.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![lam_to_turb](../../Transitional_Flat_Plate/images/lam_to_turb.png) +![lam_to_turb](../../tutorials_files/compressible_flow/Transitional_Flat_Plate/images/lam_to_turb.png) ## Goals @@ -48,7 +48,7 @@ The length of the flat plate is 1.5 meters, and it is represented by an adiabati The mesh used for this tutorial, which consists of 41,412 quadrilaterals, is shown below. -![Flat Plate](../../Transitional_Flat_Plate/images/FlatPMesh.png) +![Flat Plate](../../tutorials_files/compressible_flow/Transitional_Flat_Plate/images/FlatPMesh.png) Figure (1): Mesh with boundary conditions (red: inlet, blue:outlet, orange:symmetry, green:wall) @@ -114,7 +114,7 @@ To run this test case, follow these steps at a terminal command line: The figure below compares the skin friction results obtained by the B-C transition model to the experimental data. -![SK_Cf_Rex](../../Transitional_Flat_Plate/images/Cf_Rex_SK.png) +![SK_Cf_Rex](../../tutorials_files/compressible_flow/Transitional_Flat_Plate/images/Cf_Rex_SK.png) Figure (2): Comparison of the skin friction coefficients for the Schubauer & Klebanoff case. @@ -122,7 +122,7 @@ Figure (2): Comparison of the skin friction coefficients for the Schubauer & Kle By changing the freestream velocity and turbulence intensity options in the config file with the values given in the table below, you may also simulate other very popular zero pressure gradient transitional flat plate test cases. You may use the same grid file for these test cases. -![other_cases_table](../../Transitional_Flat_Plate/images/other_transition_cases.png) +![other_cases_table](../../tutorials_files/compressible_flow/Transitional_Flat_Plate/images/other_transition_cases.png) ## References diff --git a/_tutorials/compressible_flow/Turbulent_Flat_Plate.md b/_tutorials/compressible_flow/Turbulent_Flat_Plate/Turbulent_Flat_Plate.md similarity index 93% rename from _tutorials/compressible_flow/Turbulent_Flat_Plate.md rename to _tutorials/compressible_flow/Turbulent_Flat_Plate/Turbulent_Flat_Plate.md index ab9c859f..33e03284 100644 --- a/_tutorials/compressible_flow/Turbulent_Flat_Plate.md +++ b/_tutorials/compressible_flow/Turbulent_Flat_Plate/Turbulent_Flat_Plate.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![Turb Plate Uplus v Yplus](../../Turbulent_Flat_Plate/images/turb_plate_uplus_vs_yplus.png) +![Turb Plate Uplus v Yplus](../../tutorials_files/compressible_flow/Turbulent_Flat_Plate/images/turb_plate_uplus_vs_yplus.png) ## Goals @@ -50,7 +50,7 @@ The length of the flat plate is 2 meters, and it is represented by an adiabatic The mesh used for this tutorial, which consists of 13,056 quadrilateral elements (the 137x97 grid), is shown below. A finer 545x385 grid file is also available. Additional grids for the flat plate in this same family can be obtained from the NASA Turbulence Modeling resource page. -![Turb Plate Mesh](../../Turbulent_Flat_Plate/images/turb_plate_mesh_bcs.png) +![Turb Plate Mesh](../../tutorials_files/compressible_flow/Turbulent_Flat_Plate/images/turb_plate_mesh_bcs.png) Figure (1): Mesh with boundary conditions: inlet (red), outlet (blue), symmetry (purple), wall (green). ### Configuration File Options @@ -109,11 +109,11 @@ To run this test case, follow these steps at a terminal command line: The figures below show results obtained from SU2 and compared to several results from NASA codes. Note that the SU2 results for the skin friction correspond to the coarser mesh ([mesh_flatplate_turb_137x97.su2](https://github.com/su2code/Tutorials/tree/master/compressible_flow/Turbulent_Flat_Plate/mesh_flatplate_turb_137x97.su2)) while the NASA results are based on the finer mesh ([mesh_flatplate_turb_545x385.su2](https://github.com/su2code/Tutorials/tree/master/compressible_flow/Turbulent_Flat_Plate/mesh_flatplate_turb_545x385.su2)). SU2 still matches very closely. -![Turb Plate Nu Tilde](../../Turbulent_Flat_Plate/images/turb_plate_nu_tilde.png) +![Turb Plate Nu Tilde](../../tutorials_files/compressible_flow/Turbulent_Flat_Plate/images/turb_plate_nu_tilde.png) Figure (2): Contour of turbulence variable (nu-hat). -![Turb Plate Cf](../../Turbulent_Flat_Plate/images/turb_plate_skin_friction.png) +![Turb Plate Cf](../../tutorials_files/compressible_flow/Turbulent_Flat_Plate/images/turb_plate_skin_friction.png) Figure (3): Profile for the skin friction coefficient. -![Turb Plate Uplus v Yplus](../../Turbulent_Flat_Plate/images/turb_plate_uplus_vs_yplus.png) +![Turb Plate Uplus v Yplus](../../tutorials_files/compressible_flow/Turbulent_Flat_Plate/images/turb_plate_uplus_vs_yplus.png) Figure (4): Velocity profile comparison against law of the wall. diff --git a/_tutorials/compressible_flow/Turbulent_ONERAM6.md b/_tutorials/compressible_flow/Turbulent_ONERAM6/Turbulent_ONERAM6.md similarity index 94% rename from _tutorials/compressible_flow/Turbulent_ONERAM6.md rename to _tutorials/compressible_flow/Turbulent_ONERAM6/Turbulent_ONERAM6.md index 864ea7e5..d5fa5cee 100644 --- a/_tutorials/compressible_flow/Turbulent_ONERAM6.md +++ b/_tutorials/compressible_flow/Turbulent_ONERAM6/Turbulent_ONERAM6.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![Turb ONERA Pressure](../../Turbulent_ONERAM6/images/turb_onera_pressure.png) +![Turb ONERA Pressure](../../tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_pressure.png) ## Goals @@ -57,10 +57,10 @@ The computational domain contains the wing half-span mounted on one boundary in Three boundary conditions are employed: the Navier-Stokes adiabatic wall condition on the wing surface, the far-field characteristic-based condition on the far-field markers, and a symmetry boundary condition for the marker where the wing half-span is attached. The symmetry condition acts to mirror the flow about the x-z plane, reducing the size of the mesh and the computational cost. Images of the entire domain and the quadrilateral elements on the wing surface are shown below. -![Turb ONERA Mesh](../../Turbulent_ONERAM6/images/turb_onera_mesh_bcs.png) +![Turb ONERA Mesh](../../tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_mesh_bcs.png) Figure (1): Far-field view of the computational mesh. -![Turb ONERA Surface Mesh](../../Turbulent_ONERAM6/images/turb_onera_surface_mesh.png) +![Turb ONERA Surface Mesh](../../tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_surface_mesh.png) Figure (2): Close-up view of the structured surface mesh on the upper wing surface. ### Configuration File Options @@ -205,9 +205,9 @@ If SU2 has been built with parallel support, the recommended method for running Results for the turbulent flow over the ONERA M6 wing are shown below. As part of this tutorial a coarse mesh has been provided, but for comparison the results obtained by using a refined mesh (9,252,922 nodes) as well as experimental results are shown. -![Turb ONERA Cp A](../../Turbulent_ONERAM6/images/turb_onera_cp_a.png) -![Turb ONERA Cp B](../../Turbulent_ONERAM6/images/turb_onera_cp_b.png) -![Turb ONERA Cp C](../../Turbulent_ONERAM6/images/turb_onera_cp_c.png) -![Turb ONERA Cp D](../../Turbulent_ONERAM6/images/turb_onera_cp_d.png) +![Turb ONERA Cp A](../../tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_cp_a.png) +![Turb ONERA Cp B](../../tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_cp_b.png) +![Turb ONERA Cp C](../../tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_cp_c.png) +![Turb ONERA Cp D](../../tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_cp_d.png) Figure (3): Comparison of Cp profiles of the experimental results of Schmitt and Carpin (red squares) against SU2 computational results (blue line) at different sections along the span of the wing. (a) y/b = 0.2, (b) y/b = 0.65, (c) y/b = 0.8, (d) y/b = 0.95. diff --git a/_tutorials/compressible_flow/UQ_NACA0012.md b/_tutorials/compressible_flow/UQ_NACA0012/UQ_NACA0012.md similarity index 95% rename from _tutorials/compressible_flow/UQ_NACA0012.md rename to _tutorials/compressible_flow/UQ_NACA0012/UQ_NACA0012.md index 2ed17027..ffe9095e 100644 --- a/_tutorials/compressible_flow/UQ_NACA0012.md +++ b/_tutorials/compressible_flow/UQ_NACA0012/UQ_NACA0012.md @@ -12,7 +12,7 @@ complexity: advanced follows: --- -![C_L Distribution](../../UQ_NACA0012/images/225-65_liftCurve_bigger.png) +![C_L Distribution](../../tutorials_files/compressible_flow/UQ_NACA0012/images/225-65_liftCurve_bigger.png) ## Goals @@ -58,7 +58,7 @@ Although this particular case simulates flow at 15deg, the same simulation can b The mesh used is a structured C-grid. The farfield boundary extends 500c away from the airfoil surface. The airfoil surface is treated as a Navier-Stokes wall (non-slip). This can be seen in Figure (1). -![NACA0012 mesh](../../UQ_NACA0012/images/n0012_225-65_mesh.png) +![NACA0012 mesh](../../tutorials_files/compressible_flow/UQ_NACA0012/images/n0012_225-65_mesh.png) Figure (1): Zoomed in view of mesh near airfoil. ### Running the Module @@ -160,9 +160,9 @@ To run each individual perturbed simulation seperately, configuration options fo In order to obtain the interval bounds of a QOI, all 6 instantiations of the flow solution (1 baseline and 5 perturbed) must be analyzed. To illustrate how the bounds are formed, we use the example of the Cp distribution along the upper surface of the airfoil. In Figure (2a) the Cp distributions of each perturbed simulation is plotted along with the baseline simulation, experimental data, and the uncertainty bounds. In Figure(2b), only the individual perturbation data is hidden. -![C_P Distribution_15_with_perturbations](../../UQ_NACA0012/images/aoa15_cp_upper_withPert.png) +![C_P Distribution_15_with_perturbations](../../tutorials_files/compressible_flow/UQ_NACA0012/images/aoa15_cp_upper_withPert.png) -![C_P Distribution_15](../../UQ_NACA0012/images/aoa15_cp_upper.png) +![C_P Distribution_15](../../tutorials_files/compressible_flow/UQ_NACA0012/images/aoa15_cp_upper.png) Figure (2): Cp distribution along upper surface for the NACA0012 airfoil at 15deg AOA (a) with individual perturbations included, (b) with only the resulting interval bounds. @@ -170,13 +170,13 @@ The uncertainty bounds are formed by a union of all the states the QOI predicted At an angle of attack of 10deg, the baseline RANS model is able to accurately predict the Cp distribution. If the UQ module is run at this angle, it is seen that the uncertainty bounds are much smaller. This case can be run simply using the steps as above, only changing the AOA option for the files. This is illustrated in Figure(3) -![C_P Distribution_10](../../UQ_NACA0012/images/aoa10_cp_upper.png) +![C_P Distribution_10](../../tutorials_files/compressible_flow/UQ_NACA0012/images/aoa10_cp_upper.png) Figure (3): Cp distribution along upper surface for the NACA0012 airfoil at 10deg AOA with predicted interval bounds Similarly, if the module is run for a number of angles of attack, the predicted lift curve can be plotted. This showcases the robustness of the model in different flow situations. Figure(4) illustrates the results from a angle of attack sweep from 0 to 20 degrees. -![C_P Distribution_10](../../UQ_NACA0012/images/225-65_liftCurve.png) +![C_P Distribution_10](../../tutorials_files/compressible_flow/UQ_NACA0012/images/225-65_liftCurve.png) Figure (4): Lift Curve of the NACA0012 with interval bounds predicted by the EQUiPS module. diff --git a/_tutorials/compressible_flow/Unsteady_NACA0012.md b/_tutorials/compressible_flow/Unsteady_NACA0012/Unsteady_NACA0012.md similarity index 95% rename from _tutorials/compressible_flow/Unsteady_NACA0012.md rename to _tutorials/compressible_flow/Unsteady_NACA0012/Unsteady_NACA0012.md index a3c1b10e..b97bcecc 100644 --- a/_tutorials/compressible_flow/Unsteady_NACA0012.md +++ b/_tutorials/compressible_flow/Unsteady_NACA0012/Unsteady_NACA0012.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![Periodic Flow Field](../../Unsteady_NACA0012/images/flow1.png) +![Periodic Flow Field](../../tutorials_files/compressible_flow/Unsteady_NACA0012/images/flow1.png) Figure (1): An unsteady, periodic flow field. The detached flow about the airfoil results in a vortex street that repeats itself after some time. ## Goals ## @@ -60,10 +60,10 @@ The computational domain consists of a grid of 14495 quadrilaterals, that sourro Two boundary conditions are employed: the Navier-Stokes adiabatic wall condition on the wing surface and the far-field characteristic-based condition on the far-field marker. -![Airfoil Farfield view](../../Unsteady_NACA0012/images/airfoil_big.png) +![Airfoil Farfield view](../../tutorials_files/compressible_flow/Unsteady_NACA0012/images/airfoil_big.png) Figure (2): Far-field view of the computational domain. -![Airfoil Close-up view](../../Unsteady_NACA0012/images/airfoil.png) +![Airfoil Close-up view](../../tutorials_files/compressible_flow/Unsteady_NACA0012/images/airfoil.png) Figure (3): Close-up view of the airfoil surface and the aerodynamic coefficients. @@ -113,7 +113,7 @@ TIME_DISCRE_FLOW= EULER_IMPLICIT This unsteady simulation results in a periodic flow, which can be seen by the vortex street in the flow visualization above. However, since the initial conditions are set to free-stream conditions, a couple of iterations are needed to reach the periodic state. This time-span is called transient phase. -![Periodic Drag](../../Unsteady_NACA0012/images/Time_Dep_Drag.png) +![Periodic Drag](../../tutorials_files/compressible_flow/Unsteady_NACA0012/images/Time_Dep_Drag.png) Figure (4): Time-dependent drag (black) and lift (red) coefficient. The transient time spans approximately 300 (physical) time-steps. Usually in a periodic flow an instantaneous output value, e.g. $$C_D(t)$$, is not meaningful. Hence one often uses the average value of one period $$T$$: @@ -143,7 +143,7 @@ The following options are implemented: | `HANN_SQUARE`| 5 | 4 | | `BUMP`| exponential | exponential | -![Windowing functions](../../Unsteady_NACA0012/images/wndFcts.png) +![Windowing functions](../../tutorials_files/compressible_flow/Unsteady_NACA0012/images/wndFcts.png) Figure (5): Different window-functions in the time span from 0 to 1. The `SQUARE`-window denotes the case of uniform weighting by 1, i.e. the case, where no windowing-function is applied. It is not recommended to use `SQUARE`- windowing for sensitivities, since no convergence is guaranteed. @@ -235,7 +235,7 @@ The simulation terminates at iteration 532, since then, the Cauchy time-converge The second picture shows a simulation, where the convergence criterion is deactivated. Note, that the Square-window oscillates much longer than the other windows, due to its low convergence order. -![Windowed time-averages](../../Unsteady_NACA0012/images/wndAvgCDshortRe3.png) -![Windowed time-averages, long-time beavior](../../Unsteady_NACA0012/images/wndAvgCDlongRe3.png) +![Windowed time-averages](../../tutorials_files/compressible_flow/Unsteady_NACA0012/images/wndAvgCDshortRe3.png) +![Windowed time-averages, long-time beavior](../../tutorials_files/compressible_flow/Unsteady_NACA0012/images/wndAvgCDlongRe3.png) Figure (6): Comparison of time-averages using different window-functions diff --git a/_tutorials/design_features/Inviscid_2D_Unconstrained_NACA0012.md b/_tutorials/design_features/Inviscid_2D_Unconstrained_NACA0012/Inviscid_2D_Unconstrained_NACA0012.md old mode 100755 new mode 100644 similarity index 95% rename from _tutorials/design_features/Inviscid_2D_Unconstrained_NACA0012.md rename to _tutorials/design_features/Inviscid_2D_Unconstrained_NACA0012/Inviscid_2D_Unconstrained_NACA0012.md index 68654488..115fcff4 --- a/_tutorials/design_features/Inviscid_2D_Unconstrained_NACA0012.md +++ b/_tutorials/design_features/Inviscid_2D_Unconstrained_NACA0012/Inviscid_2D_Unconstrained_NACA0012.md @@ -12,7 +12,7 @@ complexity: advanced follows: --- -![Optimization Diagram](../../Inviscid_2D_Unconstrained_NACA0012/images/optimization_diagram.png) +![Optimization Diagram](../../tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/optimization_diagram.png) ## Goals @@ -54,7 +54,7 @@ While more advanced design problems can be selected, such as those containing fl The mesh consists of a far-field boundary and an Euler wall (flow tangency) along the airfoil surface. The mesh can be seen in Figure (2). -![NACA 0012 Mesh](../../Inviscid_2D_Unconstrained_NACA0012/images/rotating_mesh.png) +![NACA 0012 Mesh](../../tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/rotating_mesh.png) Figure (2): Far-field and zoom view of the initial computational mesh. ### Configuration File Options @@ -166,14 +166,14 @@ The first value in the parentheses is the variable type, which is 1 for a Hicks- Note that there are many other types of design variables available in SU2, and each has their own specific input format. 3D design variables based on the free-form deformation approach (FFD) will be discussed in the next tutorial. -![NACA 0012 Pressure](../../Inviscid_2D_Unconstrained_NACA0012/images/naca0012_pressure_opt.png) +![NACA 0012 Pressure](../../tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_pressure_opt.png) Figure (3): Pressure contours for the baseline NACA 0012 airfoil. ### Running SU2 The continuous adjoint methodology for obtaining surface sensitivities is implemented for several equation sets within SU2. After solving the direct flow problem, the adjoint problem is also solved which offers an efficient approach for calculating the gradient of an objective function with respect to a large set of design variables. This leads directly to a gradient-based optimization framework. With each design iteration, the direct and adjoint solutions are used to compute the objective function and gradient, and the optimizer drives the shape changes with this information in order to minimize the objective. Two other SU2 tools are used to compute the gradient from the adjoint solution (SU2_DOT) and deform the computational mesh (SU2_DEF) during the process. Note that if a geometrical constrains is added, its value and gradient will be computed by SU2_GEO -![NACA 0012 Adjoint](../../Inviscid_2D_Unconstrained_NACA0012/images/naca0012_psi_density.png) +![NACA 0012 Adjoint](../../tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_psi_density.png) Figure (4): Adjoint density contours on the baseline NACA 0012 airfoil. To run this design case, follow these steps at a terminal command line: @@ -195,11 +195,11 @@ To run this design case, follow these steps at a terminal command line: ### Results for the optimal shape design problem: -![NACA 0012 Final Contour](../../Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_contour.png) +![NACA 0012 Final Contour](../../tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_contour.png) Figure (5): Pressure contours around the final airfoil design. Note the nearly shock-free final design. -![NACA 0012 Final Cp](../../Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_cp.png) +![NACA 0012 Final Cp](../../tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_cp.png) Figure (6): Cp distribution and profile shape comparison for the initial and final airfoil designs. -![NACA 0012 Final History](../../Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_history.png) +![NACA 0012 Final History](../../tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_history.png) Figure (7): Function evaluation history during the optimization process. diff --git a/_tutorials/design_features/Inviscid_3D_Constrained_ONERAM6.md b/_tutorials/design_features/Inviscid_3D_Constrained_ONERAM6/Inviscid_3D_Constrained_ONERAM6.md old mode 100755 new mode 100644 similarity index 94% rename from _tutorials/design_features/Inviscid_3D_Constrained_ONERAM6.md rename to _tutorials/design_features/Inviscid_3D_Constrained_ONERAM6/Inviscid_3D_Constrained_ONERAM6.md index 3bd60faa..4e9f2d43 --- a/_tutorials/design_features/Inviscid_3D_Constrained_ONERAM6.md +++ b/_tutorials/design_features/Inviscid_3D_Constrained_ONERAM6/Inviscid_3D_Constrained_ONERAM6.md @@ -12,7 +12,7 @@ complexity: advanced follows: --- -![Opt. ONERA Orig](../../Inviscid_3D_Constrained_ONERAM6/images/onera_opt_history.png) +![Opt. ONERA Orig](../../tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_opt_history.png) ## Goals @@ -38,14 +38,14 @@ The following tutorial will walk you through the steps required when performing The goal of this wing design problem is to minimize the coefficient of drag by changing the shape while imposing lift and wing section thickness constraints. As design variables, we will use a free-form deformation approach. In this approach, a lattice of control points making up a bounding box are placed around the geometry, and the movement of these control points smoothly deforms the surface shape of the geometry inside. We begin with a 3D fixed-wing geometry (initially the ONERA M6) at transonic speed in air (inviscid). The flow conditions are the same as for the previous ONERA M6 tutorial. -![Opt. ONERA Grid](../../Inviscid_3D_Constrained_ONERAM6/images/onera_grid.png) +![Opt. ONERA Grid](../../tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_grid.png) Figure (1): View of the initial surface computational mesh. ### Mesh Description The mesh consists of a far-field boundary divided in three surfaces (XNORMAL_FACES, ZNORMAL_FACES, YNORMAL_FACES), an Euler wall (flow tangency) divided into three surfaces (UPPER_SIDE, LOWER_SIDE, TIP), and a symmetry plane (SYMMETRY_FACE). The baseline mesh is the same as for the previous ONERA M6 tutorial. The surface mesh can be seen in Figure (1). -![Opt. ONERA FFD](../../Inviscid_3D_Constrained_ONERAM6/images/onera_ffd.png) +![Opt. ONERA FFD](../../tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_ffd.png) Figure (2): View of the initial FFD box around the ONERA M6 wing, including the control points (spheres). ### Setting a constant Cl mode @@ -103,7 +103,7 @@ As the current implementation requires each FFD box to be a quadrilaterally-face In the example above, we are creating a box with control point dimensions 11, 9, and 2 in the x-, y-, and z-directions, respectively, for a total of 198 available control points. In the `FFD_DEFINITION` option, we give a name to the box ("WING"), and then list out the x, y, and z coordinates of each corner point. The order is important, and you can use the example above to match the convention. The degree is then specified in the `FFD_DEGREE` option. A view of the box with the control points numbered is in Figure (3). Note that the numbering in the figure is 1-based just for visualization, but within SU2, the control points have 0-based indexing. For example, the (1,1,1) control point in the figure is control point (0,0,0) within SU2. This is critical for specifying the design variables in the config file. -![Opt. ONERA FFD](../../Inviscid_3D_Constrained_ONERAM6/images/onera_ffd_points.png) +![Opt. ONERA FFD](../../tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_ffd_points.png) Figure (3): View of the control point identifying indices, which increase in value along the positive coordinate directions. Note that the numbering here is 1-based just for visualization, but within SU2, the control points have 0-based indexing. Lastly, the FFD capabilities within SU2 also feature a nifty technique to automatically ensure that you do not obtain any jumps or kinks in your deformed geometry. You can control this by requesting continuity in the 1st or 2nd derivative of the surface with the `FFD_CONTINUITY` option. In short, the code will automatically detect when a face of the FFD box intersects the geometry, and it will hold fixed the control points on that face (`1ST_DERIVATIVE`) or the points on the face as well as one slice of adjacent control points (`2ND_DERIVATIVE`). **Note that these control points will be held fixed during design cycles even if you specify them in your design variable list**. @@ -242,15 +242,15 @@ With each design iteration, the direct and adjoint solutions are used to compute The following are representative results for this transonic shape design example with the ONERA M6 geometry as a baseline. We successfully reduce the drag while satisfying the constraints. -![Opt. ONERA Pressure](../../Inviscid_3D_Constrained_ONERAM6/images/onera_pressure_original.png) +![Opt. ONERA Pressure](../../tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_pressure_original.png) Figure (4): Pressure contours showing the typical "lambda" shock on the upper surface of the initial geometry. -![Opt. ONERA Pressure](../../Inviscid_3D_Constrained_ONERAM6/images/onera_pressure_final.png) +![Opt. ONERA Pressure](../../tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_pressure_final.png) Figure (5): Pressure contours on the surface of the final wing design (reduced shocks). -![Opt. ONERA Pressure](../../Inviscid_3D_Constrained_ONERAM6/images/onera_ffd_final.png) +![Opt. ONERA Pressure](../../tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_ffd_final.png) Figure (6): View of the initial (black) and final (blue) FFD control point positions. -![Opt. ONERA History](../../Inviscid_3D_Constrained_ONERAM6/images/onera_opt_history.png) +![Opt. ONERA History](../../tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_opt_history.png) Figure (7): Optimization history. The drag is reduced and the lift constraint is easily met. diff --git a/_tutorials/design_features/Multi_Objective_Shape_Design.md b/_tutorials/design_features/Multi_Objective_Shape_Design/Multi_Objective_Shape_Design.md similarity index 96% rename from _tutorials/design_features/Multi_Objective_Shape_Design.md rename to _tutorials/design_features/Multi_Objective_Shape_Design/Multi_Objective_Shape_Design.md index 8ce15c16..8652806a 100644 --- a/_tutorials/design_features/Multi_Objective_Shape_Design.md +++ b/_tutorials/design_features/Multi_Objective_Shape_Design/Multi_Objective_Shape_Design.md @@ -191,19 +191,19 @@ Optimization terminated successfully. (Exit mode 0) The function value listed is the combination of the objective and the penalty function value. Looking at the history of the combined objective, we can see that the combined value has approached a constant value, which is why the optimization problem stopped before reaching the maximum number of iterations. -![Combined Objective History](../../Multi_Objective_Shape_Design/images/hist_combo.png) +![Combined Objective History](../../tutorials_files/design_features/Multi_Objective_Shape_Design/images/hist_combo.png) Investigating the history of the total pressure, we can see that the total pressure is still being reduced at the last step, indicating that it could have obtained a lower value if the constraint had not been present, and that the drag value initially oscillates about the specified constraint. -![Total Pressure History](../../Multi_Objective_Shape_Design/images/hist_pt.png) +![Total Pressure History](../../tutorials_files/design_features/Multi_Objective_Shape_Design/images/hist_pt.png) -![Lower Surface Drag History](../../Multi_Objective_Shape_Design/images/hist_cd.png) +![Lower Surface Drag History](../../tutorials_files/design_features/Multi_Objective_Shape_Design/images/hist_cd.png) Note that the 'Cd_lower' value is plotted rather than 'DRAG' because the latter is the total drag over all monitored surfaces. The geometry change to the wedge can be seen in the following figures. The shock structure of the flow has changed in order to approach the constraint and lower the total pressure at the outflow. -![Mach Contour on Initial Geometry](../../Multi_Objective_Shape_Design/images/flow.png) -![Mach Contour on Final Geometry](../../Multi_Objective_Shape_Design/images/flowopt.png) +![Mach Contour on Initial Geometry](../../tutorials_files/design_features/Multi_Objective_Shape_Design/images/flow.png) +![Mach Contour on Final Geometry](../../tutorials_files/design_features/Multi_Objective_Shape_Design/images/flowopt.png) ### Comparison to OPT_COMBINE_OBJECTIVE = NO diff --git a/_tutorials/design_features/Turbulent_2D_Constrained_RAE2822.md b/_tutorials/design_features/Turbulent_2D_Constrained_RAE2822/Turbulent_2D_Constrained_RAE2822.md old mode 100755 new mode 100644 similarity index 94% rename from _tutorials/design_features/Turbulent_2D_Constrained_RAE2822.md rename to _tutorials/design_features/Turbulent_2D_Constrained_RAE2822/Turbulent_2D_Constrained_RAE2822.md index dbc14a27..028046d6 --- a/_tutorials/design_features/Turbulent_2D_Constrained_RAE2822.md +++ b/_tutorials/design_features/Turbulent_2D_Constrained_RAE2822/Turbulent_2D_Constrained_RAE2822.md @@ -51,7 +51,7 @@ Remember that the free-stream pressure is computed from this values (assuming pe The mesh consists of a far-field boundary and a Navier-Stokes wall (non-slip) along the airfoil surface. The mesh can be seen in Figure (1). -![RAE 2822 Mesh](../../Turbulent_2D_Constrained_RAE2822/images/rae_mesh.png) +![RAE 2822 Mesh](../../tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/rae_mesh.png) Figure (1): Zoom view of the initial computational mesh. ### Configuration File Options @@ -143,7 +143,7 @@ The first value in the parentheses is the variable type, which is 30 for a Hicks Note that there are many other types of design variables available in SU2 (including 2D FFD), and each has their own specific input format. 3D design variables based on the free-form deformation approach (FFD) will be discussed in another tutorial. -![RAE 2822 Pressure](../../Turbulent_2D_Constrained_RAE2822/images/rae2822_pressure.png) +![RAE 2822 Pressure](../../tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/rae2822_pressure.png) Figure (2): Pressure contours for the baseline RAE 2822 airfoil. ### Running SU2_GEO @@ -158,7 +158,7 @@ The screen output of this software provides useful geometrical information (airf The discrete adjoint methodology for obtaining surface sensitivities is implemented for several equation sets within SU2. After solving the direct flow problem, the adjoint problem is also solved which offers an efficient approach for calculating the gradient of an objective function and constraints with respect to a large set of design variables. This leads directly to a gradient-based optimization framework. With each design iteration, the direct and adjoint solutions are used to compute the objective function and gradient, and the optimizer drives the shape changes with this information in order to minimize the objective. Two other SU2 tools are used to compute the gradient from the adjoint solution (SU2_DOT_AD) and deform the computational mesh (SU2_DEF) during the process. Note that if a geometrical constraint is added, its value and gradient will be computed by SU2_GEO -![RAE 2822 Adjoint](../../Turbulent_2D_Constrained_RAE2822/images/rae2822_psi_density.png) +![RAE 2822 Adjoint](../../tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/rae2822_psi_density.png) Figure (3): Adjoint density contours on the baseline RAE 2822 airfoil. To run this design case, follow these steps at a terminal command line: @@ -183,11 +183,11 @@ where #cores is the number of cores. Depending of the installation, the keyword ### Results for the optimal shape design problem: -![RAE 2822 Final Cp](../../Turbulent_2D_Constrained_RAE2822/images/Optimization.png) +![RAE 2822 Final Cp](../../tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/Optimization.png) Figure (4): Cp distribution comparison for the initial and final airfoil designs. -![RAE 2822 Final History Objective Function](../../Turbulent_2D_Constrained_RAE2822/images/CD_CL.png) +![RAE 2822 Final History Objective Function](../../tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/CD_CL.png) Figure (5): Objective function evaluation history during the optimization process. -![RAE 2822 Final History Constraints](../../Turbulent_2D_Constrained_RAE2822/images/CM_THICK.png) +![RAE 2822 Final History Constraints](../../tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/CM_THICK.png) Figure (6): Constraints evaluation history during the optimization process. diff --git a/_tutorials/design_features/Unsteady_Shape_Opt_NACA0012.md b/_tutorials/design_features/Unsteady_Shape_Opt_NACA0012/Unsteady_Shape_Opt_NACA0012.md similarity index 94% rename from _tutorials/design_features/Unsteady_Shape_Opt_NACA0012.md rename to _tutorials/design_features/Unsteady_Shape_Opt_NACA0012/Unsteady_Shape_Opt_NACA0012.md index f547bb8f..1938d3c0 100644 --- a/_tutorials/design_features/Unsteady_Shape_Opt_NACA0012.md +++ b/_tutorials/design_features/Unsteady_Shape_Opt_NACA0012/Unsteady_Shape_Opt_NACA0012.md @@ -12,7 +12,7 @@ complexity: basic follows: Unsteady_NACA0012 --- -![Periodic Flow Field](../../Unsteady_Shape_Opt_NACA0012/images/opt_shapes.png) +![Periodic Flow Field](../../tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_shapes.png) Figure (1): Baseline NACA0012 airfoil (left), optimized design using Square-windowing (middle) and optimized design using Hann-Square-windowing (right). ## Goals ## @@ -100,7 +100,7 @@ Figure 2 shows the time dependent drag and its sensitivity. As one can see, the linear. Roughly speaking, windowed time-average must converge faster than the amplitude of the oscillation grows to ensure convergence. This is the reason why Square-windowing is not a viable option for many application cases. -![Drag and Drag sensitivity](../../Unsteady_Shape_Opt_NACA0012/images/Optimiztation_Horizon.png) +![Drag and Drag sensitivity](../../tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/Optimiztation_Horizon.png) Figure (2): Instantaneous drag and drag sensitivity shown. The time frame to average the drag coefficient is in between iteration $$n_{tr} = 1500 $$ and $$N=2200$$. Using the midpoint rule for above integral, we arrive at the following constrained optimization problem @@ -226,11 +226,11 @@ One can see in Fig. (1) the baseline geometry alongside optimized designs create The following figures display the shape optimization process with different windowing functions. The shape optimization performed with higher order windows, i.e. all windows exept the `SQUARE`-window perform well, whereas the optimization computied using the `SQUARE`-window struggles to fulfill its optimization constraint. -![Square-window optimization](../../Unsteady_Shape_Opt_NACA0012/images/opt_sq.png) +![Square-window optimization](../../tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_sq.png) Figure (3): Shape optimization using Square-windowing. -![Hann-window optimization](../../Unsteady_Shape_Opt_NACA0012/images/opt_hann.png) +![Hann-window optimization](../../tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_hann.png) Figure (4): Shape optimization using Hann-windowing. -![Hann-Square-window optimization](../../Unsteady_Shape_Opt_NACA0012/images/opt_hannsq.png) +![Hann-Square-window optimization](../../tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_hannsq.png) Figure (5): Shape optimization using Hann-Square-windowing. -![Bump-window optimization](../../Unsteady_Shape_Opt_NACA0012/images/opt_bmp.png) +![Bump-window optimization](../../tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_bmp.png) Figure (6): Shape optimization using Bump-windowing. diff --git a/_tutorials/incompressible_flow/Inc_Heated_Cylinders.md b/_tutorials/incompressible_flow/Inc_Heated_Cylinders/Inc_Heated_Cylinders.md similarity index 97% rename from _tutorials/incompressible_flow/Inc_Heated_Cylinders.md rename to _tutorials/incompressible_flow/Inc_Heated_Cylinders/Inc_Heated_Cylinders.md index 1b7bb976..4466e131 100644 --- a/_tutorials/incompressible_flow/Inc_Heated_Cylinders.md +++ b/_tutorials/incompressible_flow/Inc_Heated_Cylinders/Inc_Heated_Cylinders.md @@ -12,7 +12,7 @@ complexity: advanced follows: --- -![Coupled_CHT](../../Inc_Heated_Cylinders/images/coupled_cht.png) +![Coupled_CHT](../../tutorials_files/incompressible_flow/Inc_Heated_Cylinders/images/coupled_cht.png) ## Goals @@ -61,7 +61,7 @@ A constant temperature boundary condition of 350 K on the inner core drives the The computational mesh for the fluid zone is composed 33700 elements (quad-dominant). The far-field boundary contains 80 line elements and the cylinders surfaces all have 400 line elemtents. The meshes for all three cylinders are composed of 4534 elements (quad-dominant) each, their inner diamaters are composed of 40 line elements, at their outer diamaters the mesh matches the one of the fluid zone. -![Lam Plate Mesh](../../Inc_Heated_Cylinders/images/heated_cylinders_mesh.png) +![Lam Plate Mesh](../../tutorials_files/incompressible_flow/Inc_Heated_Cylinders/images/heated_cylinders_mesh.png) Figure (1): Figure of the computational mesh with all four physical zones. Uniform velocity boundary conditions are used for the farfield. @@ -199,5 +199,5 @@ $ SU2_DOT_AD cht_2d_3cylinders.cfg and be checked against finite differences to find a perfect agreement. -![Coupled_CHT_Sens](../../Inc_Heated_Cylinders/images/heated_cylinders_sens.png) +![Coupled_CHT_Sens](../../tutorials_files/incompressible_flow/Inc_Heated_Cylinders/images/heated_cylinders_sens.png) Figure (2): Heat flux sensitivities obtained from the discrete adjoint flow solution (blue) and the discrete adjoint heat solutions (red), their sum giving the correct result. Note the sensitivity change in downstream direction in both directions and magnitude. diff --git a/_tutorials/incompressible_flow/Inc_Inviscid_Hydrofoil.md b/_tutorials/incompressible_flow/Inc_Inviscid_Hydrofoil/Inc_Inviscid_Hydrofoil.md similarity index 95% rename from _tutorials/incompressible_flow/Inc_Inviscid_Hydrofoil.md rename to _tutorials/incompressible_flow/Inc_Inviscid_Hydrofoil/Inc_Inviscid_Hydrofoil.md index 55865c68..fa7a65df 100644 --- a/_tutorials/incompressible_flow/Inc_Inviscid_Hydrofoil.md +++ b/_tutorials/incompressible_flow/Inc_Inviscid_Hydrofoil/Inc_Inviscid_Hydrofoil.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![Channel Mach](../../Inc_Inviscid_Hydrofoil/images/hydrofoil_velocity.png) +![Channel Mach](../../tutorials_files/incompressible_flow/Inc_Inviscid_Hydrofoil/images/hydrofoil_velocity.png) ## Goals @@ -124,8 +124,8 @@ The channel simulation uses a small mesh and a very aggressive CFL number, so th The following images show some SU2 results for the inviscid hydrofoil problem. -![Channel Mach](../../Inc_Inviscid_Hydrofoil/images/hydrofoil_velocity.png) +![Channel Mach](../../tutorials_files/incompressible_flow/Inc_Inviscid_Hydrofoil/images/hydrofoil_velocity.png) Figure (2): Velocity contours around the hydrofoil. -![Channel Pressure](../../Inc_Inviscid_Hydrofoil/images/hydrofoil_pressure.png) +![Channel Pressure](../../tutorials_files/incompressible_flow/Inc_Inviscid_Hydrofoil/images/hydrofoil_pressure.png) Figure (3): Pressure contours around the hydrofoil. diff --git a/_tutorials/incompressible_flow/Inc_Laminar_Cavity.md b/_tutorials/incompressible_flow/Inc_Laminar_Cavity/Inc_Laminar_Cavity.md similarity index 92% rename from _tutorials/incompressible_flow/Inc_Laminar_Cavity.md rename to _tutorials/incompressible_flow/Inc_Laminar_Cavity/Inc_Laminar_Cavity.md index 2df8a560..0c5dca9d 100644 --- a/_tutorials/incompressible_flow/Inc_Laminar_Cavity.md +++ b/_tutorials/incompressible_flow/Inc_Laminar_Cavity/Inc_Laminar_Cavity.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![Lam Plate Profile](../../Inc_Laminar_Cavity/images/buoyancy_temperature.png) +![Lam Plate Profile](../../tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_temperature.png) ## Goals @@ -43,7 +43,7 @@ The buoyancy-driven cavity is a classic natural convection case for testing inco We use the problem set up of Sockol here for comparison purposes (Peter M. Sockol. Multigrid solution of the navier–stokes equations at low speeds with large temperature variations. Journal of Computational Physics, 192(2):570 – 592, 2003). The Rayleigh number is the key parameter controlling the flow, defined as -![Buoyancy Rayleigh](../../Inc_Laminar_Cavity/images/buoyancy_rayleigh.png) +![Buoyancy Rayleigh](../../tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_rayleigh.png) where ∆T = 2(Th − Tc)/(Th + Tc), Th is the constant temperature of the hot left wall, Tc is the constant temperature of the cold right wall, g is the acceleration due to gravity, and L is the length of a side of the square cavity. Additionally, we impose that Th/Tc = 4 and that μ_dyn and κ are constants with κ = μ_dyn cp/Pr_d. The laminar Prandtl (Prd) and Froude (Fr) numbers are 0.7 and 1.2, respectively. A reference velocity can then be computed as V_ref = sqrt(F r g L). @@ -157,26 +157,26 @@ If SU2 has been built with parallel support, the recommended method for running Results are given here for the SU2 solution of incompressible laminar flow in the buoyancy-driven cavity. The results show excellent agreement with the numerical results of Sockol. -![Lam Plate Nu_x](../../Inc_Laminar_Cavity/images/buoyancy_temperature.png) +![Lam Plate Nu_x](../../tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_temperature.png) Figure (1): A plot of non-dim. temperature contours in the cavity. -![Lam Plate Nu_x](../../Inc_Laminar_Cavity/images/buoyancy_density.png) +![Lam Plate Nu_x](../../tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_density.png) Figure (2): A plot of non-dim. density contours in the cavity. -![Lam Plate Nu_x](../../Inc_Laminar_Cavity/images/buoyancy_velocity.png) +![Lam Plate Nu_x](../../tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_velocity.png) Figure (3): A plot of non-dim. velocity magnitude contours in the cavity. -![Lam Plate Nu_x](../../Inc_Laminar_Cavity/images/buoyancy_ra1e3.png) +![Lam Plate Nu_x](../../tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_ra1e3.png) Figure (4): X-velocity comparison at the centerline for Ra = 1e3. -![Lam Plate Nu_x](../../Inc_Laminar_Cavity/images/buoyancy_ra1e5.png) +![Lam Plate Nu_x](../../tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_ra1e5.png) Figure (5): X-velocity comparison at the centerline for Ra = 1e5. -![Lam Plate Nu_x](../../Inc_Laminar_Cavity/images/buoyancy_ra1e6.png) +![Lam Plate Nu_x](../../tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_ra1e6.png) Figure (6): X-velocity comparison at the centerline for Ra = 1e6. diff --git a/_tutorials/incompressible_flow/Inc_Laminar_Flat_Plate.md b/_tutorials/incompressible_flow/Inc_Laminar_Flat_Plate/Inc_Laminar_Flat_Plate.md similarity index 93% rename from _tutorials/incompressible_flow/Inc_Laminar_Flat_Plate.md rename to _tutorials/incompressible_flow/Inc_Laminar_Flat_Plate/Inc_Laminar_Flat_Plate.md index ba882020..7deed86e 100644 --- a/_tutorials/incompressible_flow/Inc_Laminar_Flat_Plate.md +++ b/_tutorials/incompressible_flow/Inc_Laminar_Flat_Plate/Inc_Laminar_Flat_Plate.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![Lam Plate Profile](../../Inc_Laminar_Flat_Plate/images/lam_plate_v.png) +![Lam Plate Profile](../../tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/lam_plate_v.png) ## Goals @@ -39,7 +39,7 @@ The following tutorial will walk you through the steps required when solving for We will reuse the Blasius solution from the [compressible flat plate tutorial](/tutorials/Laminar_Flat_Plate/) as a verification of the incompressible solver. However, in addition to comparing the velocity profile and skin friction coefficient against the analytic solutions, we will also compare the local Nusselt number along the plate. Expressions for the skin friciton coefficient and local Nusslet number can be derived: -![Blasius Cf](../../Inc_Laminar_Flat_Plate/images/blasius_eqn.png) +![Blasius Cf](../../tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/blasius_eqn.png) where Re_x is the Reynolds number along the plate and Pr_d is the dynamic Prandtl number. @@ -58,7 +58,7 @@ This problem will solve for the incompressible flow over the flat plate with the The computational mesh for the flat plate is composed of quadrilaterals with 65 nodes in both the x- and y-directions. The flat plate is along the lower boundary of the domain (y = 0) starting at x = 0 m and is of length 0.3048 m (1 ft). In the figure of the mesh, this corresponds to the Navier-Stokes (no-slip) boundary condition highlighted in green. The domain extends a distance upstream of the flat plate, and a symmetry boundary condition is used to simulate a free-stream approaching the plate in this region (highlighted in purple). Axial stretching of the mesh is used to aid in resolving the region near the start of the plate where the no-slip boundary condition begins at x = 0 m, as shown in Figure (1). -![Lam Plate Mesh](../../Inc_Laminar_Flat_Plate/images/lam_plate_mesh_bcs.png) +![Lam Plate Mesh](../../tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/lam_plate_mesh_bcs.png) Figure (1): Figure of the computational mesh with boundary conditions. Uniform velocity inlet and uniform pressure outlet boundary conditions are used for the flow entrance plane (red) and the outflow regions along the upper region of the domain and the exit plane at x = 0.3048 m (blue). @@ -143,14 +143,14 @@ The flat plate simulation for the 65x65 node mesh is small and will execute rela Results are given here for the SU2 solution of incompressible laminar flow over the constant-temperature flat plate. The results show excellent agreement with the closed-form Blasius solution. -![Lam Plate Profile](../../Inc_Laminar_Flat_Plate/images/lam_plate_v.png) +![Lam Plate Profile](../../tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/lam_plate_v.png) Figure (2): Velocity data was extracted from the exit plane of the mesh (x = 0.3048 m) near the wall, and the boundary layer velocity profile was plotted compared to and using the similarity variables from the Blasius solution. -![Lam Plate Cf](../../Inc_Laminar_Flat_Plate/images/lam_plate_cf.png) +![Lam Plate Cf](../../tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/lam_plate_cf.png) Figure (3): A plot of the skin friction coefficient along the plate created using the values written in the surface_flow.csv file and compared to Blasius. -![Lam Plate Nu_x](../../Inc_Laminar_Flat_Plate/images/lam_plate_nu.png) +![Lam Plate Nu_x](../../tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/lam_plate_nu.png) Figure (4): A plot of the local Nusselt number along the plate created using the values written in the surface_flow.csv file and compared to Blasius. diff --git a/_tutorials/incompressible_flow/Inc_Laminar_Step.md b/_tutorials/incompressible_flow/Inc_Laminar_Step/Inc_Laminar_Step.md similarity index 96% rename from _tutorials/incompressible_flow/Inc_Laminar_Step.md rename to _tutorials/incompressible_flow/Inc_Laminar_Step/Inc_Laminar_Step.md index d75a4dd0..d2be8b98 100644 --- a/_tutorials/incompressible_flow/Inc_Laminar_Step.md +++ b/_tutorials/incompressible_flow/Inc_Laminar_Step/Inc_Laminar_Step.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![Lam Step Streamlines](../../Inc_Laminar_Step/images/lam_step_streamlines.png) +![Lam Step Streamlines](../../tutorials_files/incompressible_flow/Inc_Laminar_Step/images/lam_step_streamlines.png) ## Goals @@ -139,10 +139,10 @@ The backward-facing step simulation will execute relatively quickly on a single Results are given here for the SU2 solution of incompressible laminar flow over the backward-facing step. The velocity profiles show excellent agreement with the results from Gartling. -![Lam Step Streamlines](../../Inc_Laminar_Step/images/lam_step_streamlines.png) +![Lam Step Streamlines](../../tutorials_files/incompressible_flow/Inc_Laminar_Step/images/lam_step_streamlines.png) Figure (2): Streamlines for the Re = 800 backward-facing step case colored by non-dim. velocity magnitude. -![Lam Step Streamlines](../../Inc_Laminar_Step/images/lam_step_profiles.png) +![Lam Step Streamlines](../../tutorials_files/incompressible_flow/Inc_Laminar_Step/images/lam_step_profiles.png) Figure (3): Comparison of SU2 non-dim. x-velocity profiles at x = 7 m and x = 15 m with those of Gartling. diff --git a/_tutorials/incompressible_flow/Inc_Turbulent_Flat_Plate.md b/_tutorials/incompressible_flow/Inc_Turbulent_Flat_Plate/Inc_Turbulent_Flat_Plate.md similarity index 87% rename from _tutorials/incompressible_flow/Inc_Turbulent_Flat_Plate.md rename to _tutorials/incompressible_flow/Inc_Turbulent_Flat_Plate/Inc_Turbulent_Flat_Plate.md index 33e38a2c..86425d0f 100644 --- a/_tutorials/incompressible_flow/Inc_Turbulent_Flat_Plate.md +++ b/_tutorials/incompressible_flow/Inc_Turbulent_Flat_Plate/Inc_Turbulent_Flat_Plate.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![Turb Plate Uplus v Yplus](../../Inc_Turbulent_Flat_Plate/images/turb_plate_v_x1p9.png) +![Turb Plate Uplus v Yplus](../../tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_v_x1p9.png) ## Goals @@ -49,7 +49,7 @@ The length of the flat plate is 2 meters, and it is represented by an adiabatic The mesh used for this tutorial consists of 208,896 quadrilaterals (545x385). A coarser grid (137x97) is shown below for easier viewing. Additional grids for the flat plate in this same family can be obtained from the NASA TMR page. -![Turb Plate Mesh](../../Inc_Turbulent_Flat_Plate/images/turb_plate_mesh_bcs.png) +![Turb Plate Mesh](../../tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_mesh_bcs.png) Figure (1): Mesh with boundary conditions: inlet (red), outlet (blue), symmetry (purple), wall (green). ### Configuration File Options @@ -76,7 +76,7 @@ Instructions for running this test case are given here for both serial and paral #### In Serial To run this test case, follow these steps at a terminal command line: - 1. Copy the config file ([turb_flatplate.cfg](../../Inc_Turbulent_Flat_Plate/turb_flatplate.cfg)) and/or the mesh file ([mesh_flatplate_turb_545x385.su2](../../Inc_Turbulent_Flat_Plate/mesh_flatplate_turb_545x385.su2)) so that they are in the same directory. Move to the directory containing the config file and the mesh file. Make sure that the SU2 tools were compiled, installed, and that their install location was added to your path. + 1. Copy the config file ([turb_flatplate.cfg](../../tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/turb_flatplate.cfg)) and/or the mesh file ([mesh_flatplate_turb_545x385.su2](../../tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/mesh_flatplate_turb_545x385.su2)) so that they are in the same directory. Move to the directory containing the config file and the mesh file. Make sure that the SU2 tools were compiled, installed, and that their install location was added to your path. 2. Run the executable by entering ``` @@ -105,14 +105,14 @@ If SU2 has been built with parallel support, the recommended method for running The figures below show results obtained from SU2 and compared to several results from NASA codes. The agreement in all cases is very good. Small discrepancies are apparent in the Cf when compared to the compressible codes in Fig. 4, however, when comparing the incompressible SU2 results for Cf to other incompressible results in Fig. 5, the agreement is excellent. The results here are consistent with the findings of the NASA TMR concerning the effects of compressibility. -![Turb Plate Nu Tilde](../../Inc_Turbulent_Flat_Plate/images/turb_plate_v_x0p97.png) +![Turb Plate Nu Tilde](../../tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_v_x0p97.png) Figure (2): Velocity profile comparison at x = 0.97008 m. -![Turb Plate Nu Tilde](../../Inc_Turbulent_Flat_Plate/images/turb_plate_v_x1p9.png) +![Turb Plate Nu Tilde](../../tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_v_x1p9.png) Figure (3): Velocity profile comparison at x = 1.90334 m. -![Turb Plate Cf](../../Inc_Turbulent_Flat_Plate/images/turb_plate_cf.png) +![Turb Plate Cf](../../tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_cf.png) Figure (4): Cf comparison along the length of the plate. -![Turb Plate Uplus v Yplus](../../Inc_Turbulent_Flat_Plate/images/turb_plate_cf_gridconv.png) +![Turb Plate Uplus v Yplus](../../tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_cf_gridconv.png) Figure (5): Grid convergence comparison for the value of Cf at x = 0.97008 m for different incompressible codes. h is an effective grid spacing proportional to sqrt(1/N), where N is the number of cells in the grid. diff --git a/_tutorials/incompressible_flow/Inc_Turbulent_NACA0012.md b/_tutorials/incompressible_flow/Inc_Turbulent_NACA0012/Inc_Turbulent_NACA0012.md similarity index 94% rename from _tutorials/incompressible_flow/Inc_Turbulent_NACA0012.md rename to _tutorials/incompressible_flow/Inc_Turbulent_NACA0012/Inc_Turbulent_NACA0012.md index 8fda63f0..ab71b92a 100644 --- a/_tutorials/incompressible_flow/Inc_Turbulent_NACA0012.md +++ b/_tutorials/incompressible_flow/Inc_Turbulent_NACA0012/Inc_Turbulent_NACA0012.md @@ -12,7 +12,7 @@ complexity: basic follows: --- -![Turb NACA 0012 Pressure](../../Inc_Turbulent_NACA0012/images/n0012_cp_AoA10deg.png) +![Turb NACA 0012 Pressure](../../tutorials_files/incompressible_flow/Inc_Turbulent_NACA0012/images/n0012_cp_AoA10deg.png) ## Goals @@ -118,15 +118,15 @@ If SU2 has been built with parallel support, the recommended method for running Results for the turbulent flow over the NACA 0012 are shown below. The computed SU2 solutions are in good agreement with the published data from Gregory. In addition, the computed values for Cp and Cf for both angle conditions are nearly indistinguishable from the CFL3D results. -![Turb ONERA Cp A](../../Inc_Turbulent_NACA0012/images/n0012_cp_AoA0deg.png) +![Turb ONERA Cp A](../../tutorials_files/incompressible_flow/Inc_Turbulent_NACA0012/images/n0012_cp_AoA0deg.png) Figure (1): Cp comparison for the NACA 0012 at 0 deg angle of attack. -![Turb ONERA Cp B](../../Inc_Turbulent_NACA0012/images/n0012_cf_AoA0deg.png) +![Turb ONERA Cp B](../../tutorials_files/incompressible_flow/Inc_Turbulent_NACA0012/images/n0012_cf_AoA0deg.png) Figure (2): Upper surface Cf comparison for the NACA 0012 at 0 deg angle of attack. -![Turb ONERA Cp C](../../Inc_Turbulent_NACA0012/images/n0012_cp_AoA10deg.png) +![Turb ONERA Cp C](../../tutorials_files/incompressible_flow/Inc_Turbulent_NACA0012/images/n0012_cp_AoA10deg.png) Figure (3): Cp comparison for the NACA 0012 at 10 deg angle of attack. -![Turb ONERA Cp D](../../Inc_Turbulent_NACA0012/images/n0012_cf_AoA10deg.png) +![Turb ONERA Cp D](../../tutorials_files/incompressible_flow/Inc_Turbulent_NACA0012/images/n0012_cf_AoA10deg.png) Figure (4): Upper Surface Cf comparison for the NACA 0012 at 10 deg angle of attack. diff --git a/_tutorials/multiphysics/Static_FSI.md b/_tutorials/multiphysics/steady_fsi/Static_FSI.md similarity index 98% rename from _tutorials/multiphysics/Static_FSI.md rename to _tutorials/multiphysics/steady_fsi/Static_FSI.md index 38404e67..c1822ebf 100644 --- a/_tutorials/multiphysics/Static_FSI.md +++ b/_tutorials/multiphysics/steady_fsi/Static_FSI.md @@ -24,7 +24,7 @@ This tutorial combines SU2's fluid and structural capabilities to solver a stead In this tutorial, we use the same problem definition as for most structural tutorials, a vertical, slender cantilever, clamped in its base, but in this case it is immersed in a horizontal flow in a channel. This is shown next: -![ProblemSetup](../multiphysics/images/fsi1.png) +![ProblemSetup](../../tutorials_files/multiphysics/steady_fsi/images/fsi1.png) ### Resources @@ -282,9 +282,9 @@ The code is stopped as soon as the values of ```avg[bgs][0]``` and ```avg[bgs][1 The displacement field on the structural domain and the velocity field on the flow domain obtained in ```fsi_steady_1.vtu```_and ```fsi_steady_0.vtu``` respectively are shown below: -![FSI Results1](../multiphysics/images/fsi2.png) +![FSI Results1](../../tutorials_files/multiphysics/steady_fsi/images/fsi2.png) -![FSI Results2](../multiphysics/images/fsi3.png) +![FSI Results2](../../tutorials_files/multiphysics/steady_fsi/images/fsi3.png) #### Relaxing the computation diff --git a/_tutorials/multiphysics/Adjoint_FSI_Python.md b/_tutorials/multiphysics/unfinished_tutorials/Adjoint_FSI_Python.md similarity index 100% rename from _tutorials/multiphysics/Adjoint_FSI_Python.md rename to _tutorials/multiphysics/unfinished_tutorials/Adjoint_FSI_Python.md diff --git a/_tutorials/multiphysics/Basic_RHT.md b/_tutorials/multiphysics/unfinished_tutorials/Basic_RHT.md similarity index 100% rename from _tutorials/multiphysics/Basic_RHT.md rename to _tutorials/multiphysics/unfinished_tutorials/Basic_RHT.md diff --git a/_tutorials/multiphysics/Coupled_RHT_Adjoint.md b/_tutorials/multiphysics/unfinished_tutorials/Coupled_RHT_Adjoint.md similarity index 100% rename from _tutorials/multiphysics/Coupled_RHT_Adjoint.md rename to _tutorials/multiphysics/unfinished_tutorials/Coupled_RHT_Adjoint.md diff --git a/_tutorials/multiphysics/Static_FSI_Python.md b/_tutorials/multiphysics/unfinished_tutorials/Static_FSI_Python.md similarity index 100% rename from _tutorials/multiphysics/Static_FSI_Python.md rename to _tutorials/multiphysics/unfinished_tutorials/Static_FSI_Python.md diff --git a/_tutorials/multiphysics/unfinished_tutorials/TODO.md b/_tutorials/multiphysics/unfinished_tutorials/TODO.md new file mode 100644 index 00000000..e5288094 --- /dev/null +++ b/_tutorials/multiphysics/unfinished_tutorials/TODO.md @@ -0,0 +1,3 @@ +The *md files here are "unused" tutorials by rsanfer. What to do with them. Concerns also the images folder. +FSI and Radiation stuff. +The linked files do not exist in the master of Tutorials but in branches. diff --git a/_tutorials/multiphysics/Turbulent_RHT_CHT.md b/_tutorials/multiphysics/unfinished_tutorials/Turbulent_RHT_CHT.md similarity index 100% rename from _tutorials/multiphysics/Turbulent_RHT_CHT.md rename to _tutorials/multiphysics/unfinished_tutorials/Turbulent_RHT_CHT.md diff --git a/_tutorials/structural_mechanics/Linear_Dynamics.md b/_tutorials/structural_mechanics/Linear_Dynamics/Linear_Dynamics.md similarity index 96% rename from _tutorials/structural_mechanics/Linear_Dynamics.md rename to _tutorials/structural_mechanics/Linear_Dynamics/Linear_Dynamics.md index d89e0640..d71ca553 100644 --- a/_tutorials/structural_mechanics/Linear_Dynamics.md +++ b/_tutorials/structural_mechanics/Linear_Dynamics/Linear_Dynamics.md @@ -21,7 +21,7 @@ Upon completion of the tutorial on [Linear Elasticity](../Linear_Elasticity/), t The problem that we will be solving consists of a vertical, slender cantilever, clamped in its base, and subject to a horizontal, time-dependent load $$P$$ on its left boundary. This is shown in Fig. 1. -![ProblemSetup](../structural_mechanics/images/lin1.png) +![ProblemSetup](../../tutorials_files/structural_mechanics/Linear_Dynamics/images/lin1.png) ### Resources @@ -47,7 +47,7 @@ This tutorial will be solved the for the cantilever with the following condition The cantilever is discretized using 1000 4-node quad elements with linear interpolation. The boundaries are defined as follows: -![Mesh](../structural_mechanics/images/lin2.png) +![Mesh](../../tutorials_files/structural_mechanics/Linear_Dynamics/images/lin2.png) #### Configuration File Options @@ -134,7 +134,7 @@ The output files append the time step as _linear_dynamic__*****.vtk_. They conta The solution of the problem is shown next, where the horizontal displacement at the tip is plotted on the right part of the figure, and the deformed configuration on the left. -![Linear Results](../structural_mechanics/images/dynamic_linear.gif) +![Linear Results](../../tutorials_files/structural_mechanics/Linear_Dynamics/images/dynamic_linear.gif) ### References $$^1$$ Newmark, N.M. (1959), A method of computation for structural dynamics, _J Eng Mech Div_, 85(3):67-94 diff --git a/_tutorials/structural_mechanics/Linear_Elasticity.md b/_tutorials/structural_mechanics/Linear_Elasticity/Linear_Elasticity.md similarity index 97% rename from _tutorials/structural_mechanics/Linear_Elasticity.md rename to _tutorials/structural_mechanics/Linear_Elasticity/Linear_Elasticity.md index 48db9154..26449a86 100644 --- a/_tutorials/structural_mechanics/Linear_Elasticity.md +++ b/_tutorials/structural_mechanics/Linear_Elasticity/Linear_Elasticity.md @@ -22,7 +22,7 @@ As a first approach to the structural solver in SU2, this tutorial will cover th The problem that we will be solving consists of a vertical, slender cantilever, clamped in its base, and subject to a horizontal, distributed load $$P$$ on its left boundary. This is shown in Fig. 1. -![ProblemSetup](../structural_mechanics/images/lin1.png) +![ProblemSetup](../../tutorials_files/structural_mechanics/Linear_Elasticity/images/lin1.png) ### Resources @@ -49,7 +49,7 @@ This tutorial will be solved the for the cantilever with the following condition The cantilever is discretized using 1000 4-node quad elements with linear interpolation. The boundaries are defined as follows: -![Mesh](../structural_mechanics/images/lin2.png) +![Mesh](../../tutorials_files/structural_mechanics/Linear_Elasticity/images/lin2.png) #### Configuration File Options @@ -155,7 +155,7 @@ where ```rms[DispX]``` and ```rms[DispY]``` correspond to the residual of the li The output file contains the displacement field, the nodal tensions $$\sigma_{xx}$$, $$\sigma_{yy}$$ and $$\sigma_{xy}$$ (as Sxx, Syy and Sxy), and the Von Misses stress. In order to visualize the deformation of the cantilever on Paraview, one can use the filter _Warp By Vector_ applied on the displacement field. The solution of the problem is shown next. -![Linear Results](../structural_mechanics/images/lin3.png) +![Linear Results](../../tutorials_files/structural_mechanics/Linear_Elasticity/images/lin3.png) ### Attribution diff --git a/_tutorials/structural_mechanics/Multiple_Material.md b/_tutorials/structural_mechanics/Multiple_Material/Multiple_Material.md similarity index 97% rename from _tutorials/structural_mechanics/Multiple_Material.md rename to _tutorials/structural_mechanics/Multiple_Material/Multiple_Material.md index 161c2a98..4781bba7 100644 --- a/_tutorials/structural_mechanics/Multiple_Material.md +++ b/_tutorials/structural_mechanics/Multiple_Material/Multiple_Material.md @@ -19,7 +19,7 @@ Once completed the tutorial on [Nonlinear Elasticity](../Nonlinear_Elasticity/), In this tutorial, we use the same problem definition as for the nonlinear elasticity tutorial: a vertical, slender cantilever, clamped in its base, and subject to a horizontal, follower load $$P$$ on its left boundary. However, in this section, we will discretize the cantilever into four regions, R0, R1, R2 and R3, -![ProblemSetup](../structural_mechanics/images/multimat1.png) +![ProblemSetup](../../tutorials_files/structural_mechanics/Multiple_Material/images/multimat1.png) ### Resources @@ -142,7 +142,7 @@ The code is stopped as soon as the values of ```rms[U]```, ```rms[R]``` and ```r The displacement field obtained in _nonlinear_multimaterial.vtk_ is shown below: -![Nonlinear Multimaterial Results](../structural_mechanics/images/multimat2.png) +![Nonlinear Multimaterial Results](../../tutorials_files/structural_mechanics/Multiple_Material/images/multimat2.png) where it can be observed how the flexible regions undergo large deformations, while the regions R0 and R2 remain virtually unaltered due to their high stiffness. The highlighted elements correspond to the interfaces between R1, R2, R3 and R4. diff --git a/_tutorials/structural_mechanics/Nonlinear_Elasticity.md b/_tutorials/structural_mechanics/Nonlinear_Elasticity/Nonlinear_Elasticity.md similarity index 96% rename from _tutorials/structural_mechanics/Nonlinear_Elasticity.md rename to _tutorials/structural_mechanics/Nonlinear_Elasticity/Nonlinear_Elasticity.md index d6c0be8a..2855f015 100644 --- a/_tutorials/structural_mechanics/Nonlinear_Elasticity.md +++ b/_tutorials/structural_mechanics/Nonlinear_Elasticity/Nonlinear_Elasticity.md @@ -22,7 +22,7 @@ Once completed the tutorial on [Linear Elasticity](../Linear_Elasticity/), we ca In this tutorial, we use the same problem definition as for the linear elastic case: a vertical, slender cantilever, clamped in its base, and subject to a horizontal, follower load $$P$$ on its left boundary. This is shown in Fig. 1. -![ProblemSetup](../structural_mechanics/images/lin1.png) +![ProblemSetup](../../tutorials_files/structural_mechanics/Nonlinear_Elasticity/images/lin1.png) ### Resources @@ -49,7 +49,7 @@ where the tangent matrix is $$\mathbf{K} = \partial \mathscr{S}(\mathbf{u})/\par The cantilever is discretized using 1000 4-node quad elements with linear interpolation. The boundaries are defined as follows: -![Mesh](../structural_mechanics/images/lin2.png) +![Mesh](../../tutorials_files/structural_mechanics/Nonlinear_Elasticity/images/lin2.png) #### Configuration File Options @@ -117,7 +117,7 @@ which will show the following convergence history: The code is stopped as soon as the values of ```rms[U]```, ```rms[R]``` and ```rms[E]``` are below the convergence criteria set in the config file. The displacement field obtained in _nonlinear.vtk_ is shown below: -![Nonlinear Results](../structural_mechanics/images/nlin1.png) +![Nonlinear Results](../../tutorials_files/structural_mechanics/Nonlinear_Elasticity/images/nlin1.png) ### Increasing the load @@ -209,7 +209,7 @@ Incremental load: increment 25 The displacement field is now -![Nonlinear Incremental Results](../structural_mechanics/images/nlin2.png) +![Nonlinear Incremental Results](../../tutorials_files/structural_mechanics/Nonlinear_Elasticity/images/nlin2.png) ### References $$^1$$ Bonet, J. and Wood, R.D. (2008), Nonlinear Continuum Mechanics for Finite Element Analysis, _Cambridge University Press_ diff --git a/_tutorials/structural_mechanics/TODO.md b/_tutorials/structural_mechanics/TODO.md new file mode 100644 index 00000000..ba6e85b1 --- /dev/null +++ b/_tutorials/structural_mechanics/TODO.md @@ -0,0 +1 @@ +Tutorials folder is only 'cantilver' instead of splitting up in folders. change that as well. diff --git a/_tutorials/structural_mechanics/Dynamics.md b/_tutorials/structural_mechanics/unfinished_tutorials/Dynamics.md similarity index 100% rename from _tutorials/structural_mechanics/Dynamics.md rename to _tutorials/structural_mechanics/unfinished_tutorials/Dynamics.md diff --git a/_tutorials/structural_mechanics/unfinished_tutorials/TODO.md b/_tutorials/structural_mechanics/unfinished_tutorials/TODO.md new file mode 100644 index 00000000..6aed9c70 --- /dev/null +++ b/_tutorials/structural_mechanics/unfinished_tutorials/TODO.md @@ -0,0 +1 @@ +Dynamics.md is not an active tutorial and links to rsanfers fork of tutorials. diff --git a/Inviscid_Bump/images/channel_mach.png b/tutorials_files/compressible_flow/Inviscid_Bump/images/channel_mach.png similarity index 100% rename from Inviscid_Bump/images/channel_mach.png rename to tutorials_files/compressible_flow/Inviscid_Bump/images/channel_mach.png diff --git a/Inviscid_Bump/images/channel_mesh_bcs.png b/tutorials_files/compressible_flow/Inviscid_Bump/images/channel_mesh_bcs.png similarity index 100% rename from Inviscid_Bump/images/channel_mesh_bcs.png rename to tutorials_files/compressible_flow/Inviscid_Bump/images/channel_mesh_bcs.png diff --git a/Inviscid_Bump/images/channel_pressure.png b/tutorials_files/compressible_flow/Inviscid_Bump/images/channel_pressure.png similarity index 100% rename from Inviscid_Bump/images/channel_pressure.png rename to tutorials_files/compressible_flow/Inviscid_Bump/images/channel_pressure.png diff --git a/Inviscid_ONERAM6/images/oneram6_coefficients.png b/tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_coefficients.png similarity index 100% rename from Inviscid_ONERAM6/images/oneram6_coefficients.png rename to tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_coefficients.png diff --git a/Inviscid_ONERAM6/images/oneram6_convergence.png b/tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_convergence.png similarity index 100% rename from Inviscid_ONERAM6/images/oneram6_convergence.png rename to tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_convergence.png diff --git a/Inviscid_ONERAM6/images/oneram6_cp.png b/tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_cp.png similarity index 100% rename from Inviscid_ONERAM6/images/oneram6_cp.png rename to tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_cp.png diff --git a/Inviscid_ONERAM6/images/oneram6_mach.png b/tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_mach.png similarity index 100% rename from Inviscid_ONERAM6/images/oneram6_mach.png rename to tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_mach.png diff --git a/Inviscid_ONERAM6/images/oneram6_mesh_bcs.png b/tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_mesh_bcs.png similarity index 100% rename from Inviscid_ONERAM6/images/oneram6_mesh_bcs.png rename to tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_mesh_bcs.png diff --git a/Inviscid_ONERAM6/images/oneram6_wing_mesh.png b/tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_wing_mesh.png similarity index 100% rename from Inviscid_ONERAM6/images/oneram6_wing_mesh.png rename to tutorials_files/compressible_flow/Inviscid_ONERAM6/images/oneram6_wing_mesh.png diff --git a/Inviscid_Wedge/images/wedge_mach.png b/tutorials_files/compressible_flow/Inviscid_Wedge/images/wedge_mach.png similarity index 100% rename from Inviscid_Wedge/images/wedge_mach.png rename to tutorials_files/compressible_flow/Inviscid_Wedge/images/wedge_mach.png diff --git a/Inviscid_Wedge/images/wedge_mesh_bcs.png b/tutorials_files/compressible_flow/Inviscid_Wedge/images/wedge_mesh_bcs.png similarity index 100% rename from Inviscid_Wedge/images/wedge_mesh_bcs.png rename to tutorials_files/compressible_flow/Inviscid_Wedge/images/wedge_mesh_bcs.png diff --git a/Inviscid_Wedge/images/wedge_pressure.png b/tutorials_files/compressible_flow/Inviscid_Wedge/images/wedge_pressure.png similarity index 100% rename from Inviscid_Wedge/images/wedge_pressure.png rename to tutorials_files/compressible_flow/Inviscid_Wedge/images/wedge_pressure.png diff --git a/Laminar_Cylinder/images/cylinder_lam_visc.png b/tutorials_files/compressible_flow/Laminar_Cylinder/images/cylinder_lam_visc.png similarity index 100% rename from Laminar_Cylinder/images/cylinder_lam_visc.png rename to tutorials_files/compressible_flow/Laminar_Cylinder/images/cylinder_lam_visc.png diff --git a/Laminar_Cylinder/images/cylinder_mach.png b/tutorials_files/compressible_flow/Laminar_Cylinder/images/cylinder_mach.png similarity index 100% rename from Laminar_Cylinder/images/cylinder_mach.png rename to tutorials_files/compressible_flow/Laminar_Cylinder/images/cylinder_mach.png diff --git a/Laminar_Cylinder/images/cylinder_mesh.png b/tutorials_files/compressible_flow/Laminar_Cylinder/images/cylinder_mesh.png similarity index 100% rename from Laminar_Cylinder/images/cylinder_mesh.png rename to tutorials_files/compressible_flow/Laminar_Cylinder/images/cylinder_mesh.png diff --git a/Laminar_Cylinder/images/cylinder_pressure.png b/tutorials_files/compressible_flow/Laminar_Cylinder/images/cylinder_pressure.png similarity index 100% rename from Laminar_Cylinder/images/cylinder_pressure.png rename to tutorials_files/compressible_flow/Laminar_Cylinder/images/cylinder_pressure.png diff --git a/Laminar_Flat_Plate/images/blasius.png b/tutorials_files/compressible_flow/Laminar_Flat_Plate/images/blasius.png similarity index 100% rename from Laminar_Flat_Plate/images/blasius.png rename to tutorials_files/compressible_flow/Laminar_Flat_Plate/images/blasius.png diff --git a/Laminar_Flat_Plate/images/blasius_cf.png b/tutorials_files/compressible_flow/Laminar_Flat_Plate/images/blasius_cf.png similarity index 100% rename from Laminar_Flat_Plate/images/blasius_cf.png rename to tutorials_files/compressible_flow/Laminar_Flat_Plate/images/blasius_cf.png diff --git a/Laminar_Flat_Plate/images/lam_plate_mach.png b/tutorials_files/compressible_flow/Laminar_Flat_Plate/images/lam_plate_mach.png similarity index 100% rename from Laminar_Flat_Plate/images/lam_plate_mach.png rename to tutorials_files/compressible_flow/Laminar_Flat_Plate/images/lam_plate_mach.png diff --git a/Inc_Laminar_Flat_Plate/images/lam_plate_mesh_bcs.png b/tutorials_files/compressible_flow/Laminar_Flat_Plate/images/lam_plate_mesh_bcs.png similarity index 100% rename from Inc_Laminar_Flat_Plate/images/lam_plate_mesh_bcs.png rename to tutorials_files/compressible_flow/Laminar_Flat_Plate/images/lam_plate_mesh_bcs.png diff --git a/Laminar_Flat_Plate/images/lam_plate_skin_friction.png b/tutorials_files/compressible_flow/Laminar_Flat_Plate/images/lam_plate_skin_friction.png similarity index 100% rename from Laminar_Flat_Plate/images/lam_plate_skin_friction.png rename to tutorials_files/compressible_flow/Laminar_Flat_Plate/images/lam_plate_skin_friction.png diff --git a/Laminar_Flat_Plate/images/lam_plate_velocity_profile.png b/tutorials_files/compressible_flow/Laminar_Flat_Plate/images/lam_plate_velocity_profile.png similarity index 100% rename from Laminar_Flat_Plate/images/lam_plate_velocity_profile.png rename to tutorials_files/compressible_flow/Laminar_Flat_Plate/images/lam_plate_velocity_profile.png diff --git a/NICFD_nozzle/images/Mach_SU2_experiments.png b/tutorials_files/compressible_flow/NICFD_nozzle/images/Mach_SU2_experiments.png similarity index 100% rename from NICFD_nozzle/images/Mach_SU2_experiments.png rename to tutorials_files/compressible_flow/NICFD_nozzle/images/Mach_SU2_experiments.png diff --git a/NICFD_nozzle/images/Pressure_SU2_experiments.png b/tutorials_files/compressible_flow/NICFD_nozzle/images/Pressure_SU2_experiments.png similarity index 100% rename from NICFD_nozzle/images/Pressure_SU2_experiments.png rename to tutorials_files/compressible_flow/NICFD_nozzle/images/Pressure_SU2_experiments.png diff --git a/NICFD_nozzle/images/mach_isolines.png b/tutorials_files/compressible_flow/NICFD_nozzle/images/mach_isolines.png similarity index 100% rename from NICFD_nozzle/images/mach_isolines.png rename to tutorials_files/compressible_flow/NICFD_nozzle/images/mach_isolines.png diff --git a/NICFD_nozzle/images/mesh.png b/tutorials_files/compressible_flow/NICFD_nozzle/images/mesh.png similarity index 100% rename from NICFD_nozzle/images/mesh.png rename to tutorials_files/compressible_flow/NICFD_nozzle/images/mesh.png diff --git a/NICFD_nozzle/images/nozzle_geometry_schlieren.png b/tutorials_files/compressible_flow/NICFD_nozzle/images/nozzle_geometry_schlieren.png similarity index 100% rename from NICFD_nozzle/images/nozzle_geometry_schlieren.png rename to tutorials_files/compressible_flow/NICFD_nozzle/images/nozzle_geometry_schlieren.png diff --git a/Transitional_Flat_Plate/images/Cf_Rex_SK.png b/tutorials_files/compressible_flow/Transitional_Flat_Plate/images/Cf_Rex_SK.png similarity index 100% rename from Transitional_Flat_Plate/images/Cf_Rex_SK.png rename to tutorials_files/compressible_flow/Transitional_Flat_Plate/images/Cf_Rex_SK.png diff --git a/Transitional_Flat_Plate/images/FlatPMesh.png b/tutorials_files/compressible_flow/Transitional_Flat_Plate/images/FlatPMesh.png similarity index 100% rename from Transitional_Flat_Plate/images/FlatPMesh.png rename to tutorials_files/compressible_flow/Transitional_Flat_Plate/images/FlatPMesh.png diff --git a/Transitional_Flat_Plate/images/lam_to_turb.png b/tutorials_files/compressible_flow/Transitional_Flat_Plate/images/lam_to_turb.png similarity index 100% rename from Transitional_Flat_Plate/images/lam_to_turb.png rename to tutorials_files/compressible_flow/Transitional_Flat_Plate/images/lam_to_turb.png diff --git a/Transitional_Flat_Plate/images/other_transition_cases.png b/tutorials_files/compressible_flow/Transitional_Flat_Plate/images/other_transition_cases.png similarity index 100% rename from Transitional_Flat_Plate/images/other_transition_cases.png rename to tutorials_files/compressible_flow/Transitional_Flat_Plate/images/other_transition_cases.png diff --git a/Inc_Turbulent_Flat_Plate/images/turb_plate_mesh_bcs.png b/tutorials_files/compressible_flow/Turbulent_Flat_Plate/images/turb_plate_mesh_bcs.png similarity index 100% rename from Inc_Turbulent_Flat_Plate/images/turb_plate_mesh_bcs.png rename to tutorials_files/compressible_flow/Turbulent_Flat_Plate/images/turb_plate_mesh_bcs.png diff --git a/Inc_Turbulent_Flat_Plate/images/turb_plate_nu_tilde.png b/tutorials_files/compressible_flow/Turbulent_Flat_Plate/images/turb_plate_nu_tilde.png similarity index 100% rename from Inc_Turbulent_Flat_Plate/images/turb_plate_nu_tilde.png rename to tutorials_files/compressible_flow/Turbulent_Flat_Plate/images/turb_plate_nu_tilde.png diff --git a/Inc_Turbulent_Flat_Plate/images/turb_plate_skin_friction.png b/tutorials_files/compressible_flow/Turbulent_Flat_Plate/images/turb_plate_skin_friction.png similarity index 100% rename from Inc_Turbulent_Flat_Plate/images/turb_plate_skin_friction.png rename to tutorials_files/compressible_flow/Turbulent_Flat_Plate/images/turb_plate_skin_friction.png diff --git a/Inc_Turbulent_Flat_Plate/images/turb_plate_uplus_vs_yplus.png b/tutorials_files/compressible_flow/Turbulent_Flat_Plate/images/turb_plate_uplus_vs_yplus.png similarity index 100% rename from Inc_Turbulent_Flat_Plate/images/turb_plate_uplus_vs_yplus.png rename to tutorials_files/compressible_flow/Turbulent_Flat_Plate/images/turb_plate_uplus_vs_yplus.png diff --git a/Turbulent_ONERAM6/images/turb_onera_cp_a.png b/tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_cp_a.png similarity index 100% rename from Turbulent_ONERAM6/images/turb_onera_cp_a.png rename to tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_cp_a.png diff --git a/Turbulent_ONERAM6/images/turb_onera_cp_b.png b/tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_cp_b.png similarity index 100% rename from Turbulent_ONERAM6/images/turb_onera_cp_b.png rename to tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_cp_b.png diff --git a/Turbulent_ONERAM6/images/turb_onera_cp_c.png b/tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_cp_c.png similarity index 100% rename from Turbulent_ONERAM6/images/turb_onera_cp_c.png rename to tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_cp_c.png diff --git a/Turbulent_ONERAM6/images/turb_onera_cp_d.png b/tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_cp_d.png similarity index 100% rename from Turbulent_ONERAM6/images/turb_onera_cp_d.png rename to tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_cp_d.png diff --git a/Turbulent_ONERAM6/images/turb_onera_mesh_bcs.png b/tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_mesh_bcs.png similarity index 100% rename from Turbulent_ONERAM6/images/turb_onera_mesh_bcs.png rename to tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_mesh_bcs.png diff --git a/Turbulent_ONERAM6/images/turb_onera_pressure.png b/tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_pressure.png similarity index 100% rename from Turbulent_ONERAM6/images/turb_onera_pressure.png rename to tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_pressure.png diff --git a/Turbulent_ONERAM6/images/turb_onera_surface_mesh.png b/tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_surface_mesh.png similarity index 100% rename from Turbulent_ONERAM6/images/turb_onera_surface_mesh.png rename to tutorials_files/compressible_flow/Turbulent_ONERAM6/images/turb_onera_surface_mesh.png diff --git a/UQ_NACA0012/images/225-65_liftCurve.png b/tutorials_files/compressible_flow/UQ_NACA0012/images/225-65_liftCurve.png similarity index 100% rename from UQ_NACA0012/images/225-65_liftCurve.png rename to tutorials_files/compressible_flow/UQ_NACA0012/images/225-65_liftCurve.png diff --git a/UQ_NACA0012/images/225-65_liftCurve_bigger.png b/tutorials_files/compressible_flow/UQ_NACA0012/images/225-65_liftCurve_bigger.png similarity index 100% rename from UQ_NACA0012/images/225-65_liftCurve_bigger.png rename to tutorials_files/compressible_flow/UQ_NACA0012/images/225-65_liftCurve_bigger.png diff --git a/UQ_NACA0012/images/aoa10_Cp_upper2.png b/tutorials_files/compressible_flow/UQ_NACA0012/images/aoa10_Cp_upper2.png similarity index 100% rename from UQ_NACA0012/images/aoa10_Cp_upper2.png rename to tutorials_files/compressible_flow/UQ_NACA0012/images/aoa10_Cp_upper2.png diff --git a/UQ_NACA0012/images/aoa10_Cp_upper_bigger.png b/tutorials_files/compressible_flow/UQ_NACA0012/images/aoa10_Cp_upper_bigger.png similarity index 100% rename from UQ_NACA0012/images/aoa10_Cp_upper_bigger.png rename to tutorials_files/compressible_flow/UQ_NACA0012/images/aoa10_Cp_upper_bigger.png diff --git a/UQ_NACA0012/images/aoa10_cp_upper.png b/tutorials_files/compressible_flow/UQ_NACA0012/images/aoa10_cp_upper.png similarity index 100% rename from UQ_NACA0012/images/aoa10_cp_upper.png rename to tutorials_files/compressible_flow/UQ_NACA0012/images/aoa10_cp_upper.png diff --git a/UQ_NACA0012/images/aoa15_Cp_upper2.png b/tutorials_files/compressible_flow/UQ_NACA0012/images/aoa15_Cp_upper2.png similarity index 100% rename from UQ_NACA0012/images/aoa15_Cp_upper2.png rename to tutorials_files/compressible_flow/UQ_NACA0012/images/aoa15_Cp_upper2.png diff --git a/UQ_NACA0012/images/aoa15_Cp_upper_bigger.png b/tutorials_files/compressible_flow/UQ_NACA0012/images/aoa15_Cp_upper_bigger.png similarity index 100% rename from UQ_NACA0012/images/aoa15_Cp_upper_bigger.png rename to tutorials_files/compressible_flow/UQ_NACA0012/images/aoa15_Cp_upper_bigger.png diff --git a/UQ_NACA0012/images/aoa15_cp_upper.png b/tutorials_files/compressible_flow/UQ_NACA0012/images/aoa15_cp_upper.png similarity index 100% rename from UQ_NACA0012/images/aoa15_cp_upper.png rename to tutorials_files/compressible_flow/UQ_NACA0012/images/aoa15_cp_upper.png diff --git a/UQ_NACA0012/images/aoa15_cp_upper_withPert.png b/tutorials_files/compressible_flow/UQ_NACA0012/images/aoa15_cp_upper_withPert.png similarity index 100% rename from UQ_NACA0012/images/aoa15_cp_upper_withPert.png rename to tutorials_files/compressible_flow/UQ_NACA0012/images/aoa15_cp_upper_withPert.png diff --git a/UQ_NACA0012/images/n0012_225-65_mesh.png b/tutorials_files/compressible_flow/UQ_NACA0012/images/n0012_225-65_mesh.png similarity index 100% rename from UQ_NACA0012/images/n0012_225-65_mesh.png rename to tutorials_files/compressible_flow/UQ_NACA0012/images/n0012_225-65_mesh.png diff --git a/Unsteady_NACA0012/images/Time_Dep_Drag.png b/tutorials_files/compressible_flow/Unsteady_NACA0012/images/Time_Dep_Drag.png similarity index 100% rename from Unsteady_NACA0012/images/Time_Dep_Drag.png rename to tutorials_files/compressible_flow/Unsteady_NACA0012/images/Time_Dep_Drag.png diff --git a/Unsteady_NACA0012/images/airfoil.png b/tutorials_files/compressible_flow/Unsteady_NACA0012/images/airfoil.png similarity index 100% rename from Unsteady_NACA0012/images/airfoil.png rename to tutorials_files/compressible_flow/Unsteady_NACA0012/images/airfoil.png diff --git a/Unsteady_NACA0012/images/airfoil_big.png b/tutorials_files/compressible_flow/Unsteady_NACA0012/images/airfoil_big.png similarity index 100% rename from Unsteady_NACA0012/images/airfoil_big.png rename to tutorials_files/compressible_flow/Unsteady_NACA0012/images/airfoil_big.png diff --git a/Unsteady_NACA0012/images/flow1.png b/tutorials_files/compressible_flow/Unsteady_NACA0012/images/flow1.png similarity index 100% rename from Unsteady_NACA0012/images/flow1.png rename to tutorials_files/compressible_flow/Unsteady_NACA0012/images/flow1.png diff --git a/Unsteady_NACA0012/images/wndAvgCDlongRe3.png b/tutorials_files/compressible_flow/Unsteady_NACA0012/images/wndAvgCDlongRe3.png similarity index 100% rename from Unsteady_NACA0012/images/wndAvgCDlongRe3.png rename to tutorials_files/compressible_flow/Unsteady_NACA0012/images/wndAvgCDlongRe3.png diff --git a/Unsteady_NACA0012/images/wndAvgCDshortRe3.png b/tutorials_files/compressible_flow/Unsteady_NACA0012/images/wndAvgCDshortRe3.png similarity index 100% rename from Unsteady_NACA0012/images/wndAvgCDshortRe3.png rename to tutorials_files/compressible_flow/Unsteady_NACA0012/images/wndAvgCDshortRe3.png diff --git a/Unsteady_NACA0012/images/wndFcts.png b/tutorials_files/compressible_flow/Unsteady_NACA0012/images/wndFcts.png similarity index 100% rename from Unsteady_NACA0012/images/wndFcts.png rename to tutorials_files/compressible_flow/Unsteady_NACA0012/images/wndFcts.png diff --git a/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_contour.png b/tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_contour.png similarity index 100% rename from Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_contour.png rename to tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_contour.png diff --git a/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_cp.png b/tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_cp.png similarity index 100% rename from Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_cp.png rename to tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_cp.png diff --git a/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_history.png b/tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_history.png similarity index 100% rename from Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_history.png rename to tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_final_history.png diff --git a/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_pressure_opt.png b/tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_pressure_opt.png similarity index 100% rename from Inviscid_2D_Unconstrained_NACA0012/images/naca0012_pressure_opt.png rename to tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_pressure_opt.png diff --git a/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_psi_density.png b/tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_psi_density.png similarity index 100% rename from Inviscid_2D_Unconstrained_NACA0012/images/naca0012_psi_density.png rename to tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/naca0012_psi_density.png diff --git a/Inviscid_2D_Unconstrained_NACA0012/images/optimization_diagram.png b/tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/optimization_diagram.png similarity index 100% rename from Inviscid_2D_Unconstrained_NACA0012/images/optimization_diagram.png rename to tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/optimization_diagram.png diff --git a/Inviscid_2D_Unconstrained_NACA0012/images/rotating_mesh.png b/tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/rotating_mesh.png similarity index 100% rename from Inviscid_2D_Unconstrained_NACA0012/images/rotating_mesh.png rename to tutorials_files/design_features/Inviscid_2D_Unconstrained_NACA0012/images/rotating_mesh.png diff --git a/Inviscid_3D_Constrained_ONERAM6/images/onera_ffd.png b/tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_ffd.png similarity index 100% rename from Inviscid_3D_Constrained_ONERAM6/images/onera_ffd.png rename to tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_ffd.png diff --git a/Inviscid_3D_Constrained_ONERAM6/images/onera_ffd_final.png b/tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_ffd_final.png similarity index 100% rename from Inviscid_3D_Constrained_ONERAM6/images/onera_ffd_final.png rename to tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_ffd_final.png diff --git a/Inviscid_3D_Constrained_ONERAM6/images/onera_ffd_points.png b/tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_ffd_points.png similarity index 100% rename from Inviscid_3D_Constrained_ONERAM6/images/onera_ffd_points.png rename to tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_ffd_points.png diff --git a/Inviscid_3D_Constrained_ONERAM6/images/onera_grid.png b/tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_grid.png similarity index 100% rename from Inviscid_3D_Constrained_ONERAM6/images/onera_grid.png rename to tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_grid.png diff --git a/Inviscid_3D_Constrained_ONERAM6/images/onera_opt_history.png b/tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_opt_history.png similarity index 100% rename from Inviscid_3D_Constrained_ONERAM6/images/onera_opt_history.png rename to tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_opt_history.png diff --git a/Inviscid_3D_Constrained_ONERAM6/images/onera_pressure_final.png b/tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_pressure_final.png similarity index 100% rename from Inviscid_3D_Constrained_ONERAM6/images/onera_pressure_final.png rename to tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_pressure_final.png diff --git a/Inviscid_3D_Constrained_ONERAM6/images/onera_pressure_original.png b/tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_pressure_original.png similarity index 100% rename from Inviscid_3D_Constrained_ONERAM6/images/onera_pressure_original.png rename to tutorials_files/design_features/Inviscid_3D_Constrained_ONERAM6/images/onera_pressure_original.png diff --git a/Multi_Objective_Shape_Design/images/flow.png b/tutorials_files/design_features/Multi_Objective_Shape_Design/images/flow.png similarity index 100% rename from Multi_Objective_Shape_Design/images/flow.png rename to tutorials_files/design_features/Multi_Objective_Shape_Design/images/flow.png diff --git a/Multi_Objective_Shape_Design/images/flowopt.png b/tutorials_files/design_features/Multi_Objective_Shape_Design/images/flowopt.png similarity index 100% rename from Multi_Objective_Shape_Design/images/flowopt.png rename to tutorials_files/design_features/Multi_Objective_Shape_Design/images/flowopt.png diff --git a/Multi_Objective_Shape_Design/images/hist_cd.png b/tutorials_files/design_features/Multi_Objective_Shape_Design/images/hist_cd.png similarity index 100% rename from Multi_Objective_Shape_Design/images/hist_cd.png rename to tutorials_files/design_features/Multi_Objective_Shape_Design/images/hist_cd.png diff --git a/Multi_Objective_Shape_Design/images/hist_combo.png b/tutorials_files/design_features/Multi_Objective_Shape_Design/images/hist_combo.png similarity index 100% rename from Multi_Objective_Shape_Design/images/hist_combo.png rename to tutorials_files/design_features/Multi_Objective_Shape_Design/images/hist_combo.png diff --git a/Multi_Objective_Shape_Design/images/hist_pt.png b/tutorials_files/design_features/Multi_Objective_Shape_Design/images/hist_pt.png similarity index 100% rename from Multi_Objective_Shape_Design/images/hist_pt.png rename to tutorials_files/design_features/Multi_Objective_Shape_Design/images/hist_pt.png diff --git a/Turbulent_2D_Constrained_RAE2822/images/CD_CL.png b/tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/CD_CL.png similarity index 100% rename from Turbulent_2D_Constrained_RAE2822/images/CD_CL.png rename to tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/CD_CL.png diff --git a/Turbulent_2D_Constrained_RAE2822/images/CM_THICK.png b/tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/CM_THICK.png similarity index 100% rename from Turbulent_2D_Constrained_RAE2822/images/CM_THICK.png rename to tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/CM_THICK.png diff --git a/Turbulent_2D_Constrained_RAE2822/images/Optimization.png b/tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/Optimization.png similarity index 100% rename from Turbulent_2D_Constrained_RAE2822/images/Optimization.png rename to tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/Optimization.png diff --git a/Turbulent_2D_Constrained_RAE2822/images/rae2822_pressure.png b/tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/rae2822_pressure.png similarity index 100% rename from Turbulent_2D_Constrained_RAE2822/images/rae2822_pressure.png rename to tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/rae2822_pressure.png diff --git a/Turbulent_2D_Constrained_RAE2822/images/rae2822_psi_density.png b/tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/rae2822_psi_density.png similarity index 100% rename from Turbulent_2D_Constrained_RAE2822/images/rae2822_psi_density.png rename to tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/rae2822_psi_density.png diff --git a/Turbulent_2D_Constrained_RAE2822/images/rae_mesh.png b/tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/rae_mesh.png similarity index 100% rename from Turbulent_2D_Constrained_RAE2822/images/rae_mesh.png rename to tutorials_files/design_features/Turbulent_2D_Constrained_RAE2822/images/rae_mesh.png diff --git a/Unsteady_Shape_Opt_NACA0012/images/Optimiztation_Horizon.png b/tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/Optimiztation_Horizon.png similarity index 100% rename from Unsteady_Shape_Opt_NACA0012/images/Optimiztation_Horizon.png rename to tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/Optimiztation_Horizon.png diff --git a/Unsteady_Shape_Opt_NACA0012/images/airfoil.png b/tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/airfoil.png similarity index 100% rename from Unsteady_Shape_Opt_NACA0012/images/airfoil.png rename to tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/airfoil.png diff --git a/Unsteady_Shape_Opt_NACA0012/images/airfoil_big.png b/tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/airfoil_big.png similarity index 100% rename from Unsteady_Shape_Opt_NACA0012/images/airfoil_big.png rename to tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/airfoil_big.png diff --git a/Unsteady_Shape_Opt_NACA0012/images/opt_bmp.png b/tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_bmp.png similarity index 100% rename from Unsteady_Shape_Opt_NACA0012/images/opt_bmp.png rename to tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_bmp.png diff --git a/Unsteady_Shape_Opt_NACA0012/images/opt_hann.png b/tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_hann.png similarity index 100% rename from Unsteady_Shape_Opt_NACA0012/images/opt_hann.png rename to tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_hann.png diff --git a/Unsteady_Shape_Opt_NACA0012/images/opt_hannsq.png b/tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_hannsq.png similarity index 100% rename from Unsteady_Shape_Opt_NACA0012/images/opt_hannsq.png rename to tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_hannsq.png diff --git a/Unsteady_Shape_Opt_NACA0012/images/opt_shapes.png b/tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_shapes.png similarity index 100% rename from Unsteady_Shape_Opt_NACA0012/images/opt_shapes.png rename to tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_shapes.png diff --git a/Unsteady_Shape_Opt_NACA0012/images/opt_sq.png b/tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_sq.png similarity index 100% rename from Unsteady_Shape_Opt_NACA0012/images/opt_sq.png rename to tutorials_files/design_features/Unsteady_Shape_Opt_NACA0012/images/opt_sq.png diff --git a/Inc_Heated_Cylinders/images/coupled_cht.png b/tutorials_files/incompressible_flow/Inc_Heated_Cylinders/images/coupled_cht.png similarity index 100% rename from Inc_Heated_Cylinders/images/coupled_cht.png rename to tutorials_files/incompressible_flow/Inc_Heated_Cylinders/images/coupled_cht.png diff --git a/Inc_Heated_Cylinders/images/heated_cylinders_mesh.png b/tutorials_files/incompressible_flow/Inc_Heated_Cylinders/images/heated_cylinders_mesh.png similarity index 100% rename from Inc_Heated_Cylinders/images/heated_cylinders_mesh.png rename to tutorials_files/incompressible_flow/Inc_Heated_Cylinders/images/heated_cylinders_mesh.png diff --git a/Inc_Heated_Cylinders/images/heated_cylinders_sens.png b/tutorials_files/incompressible_flow/Inc_Heated_Cylinders/images/heated_cylinders_sens.png similarity index 100% rename from Inc_Heated_Cylinders/images/heated_cylinders_sens.png rename to tutorials_files/incompressible_flow/Inc_Heated_Cylinders/images/heated_cylinders_sens.png diff --git a/Inc_Inviscid_Hydrofoil/images/hydrofoil_pressure.png b/tutorials_files/incompressible_flow/Inc_Inviscid_Hydrofoil/images/hydrofoil_pressure.png similarity index 100% rename from Inc_Inviscid_Hydrofoil/images/hydrofoil_pressure.png rename to tutorials_files/incompressible_flow/Inc_Inviscid_Hydrofoil/images/hydrofoil_pressure.png diff --git a/Inc_Inviscid_Hydrofoil/images/hydrofoil_velocity.png b/tutorials_files/incompressible_flow/Inc_Inviscid_Hydrofoil/images/hydrofoil_velocity.png similarity index 100% rename from Inc_Inviscid_Hydrofoil/images/hydrofoil_velocity.png rename to tutorials_files/incompressible_flow/Inc_Inviscid_Hydrofoil/images/hydrofoil_velocity.png diff --git a/Inc_Laminar_Cavity/images/buoyancy_density.png b/tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_density.png similarity index 100% rename from Inc_Laminar_Cavity/images/buoyancy_density.png rename to tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_density.png diff --git a/Inc_Laminar_Cavity/images/buoyancy_ra1e3.png b/tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_ra1e3.png similarity index 100% rename from Inc_Laminar_Cavity/images/buoyancy_ra1e3.png rename to tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_ra1e3.png diff --git a/Inc_Laminar_Cavity/images/buoyancy_ra1e5.png b/tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_ra1e5.png similarity index 100% rename from Inc_Laminar_Cavity/images/buoyancy_ra1e5.png rename to tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_ra1e5.png diff --git a/Inc_Laminar_Cavity/images/buoyancy_ra1e6.png b/tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_ra1e6.png similarity index 100% rename from Inc_Laminar_Cavity/images/buoyancy_ra1e6.png rename to tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_ra1e6.png diff --git a/Inc_Laminar_Cavity/images/buoyancy_rayleigh.png b/tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_rayleigh.png similarity index 100% rename from Inc_Laminar_Cavity/images/buoyancy_rayleigh.png rename to tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_rayleigh.png diff --git a/Inc_Laminar_Cavity/images/buoyancy_temperature.png b/tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_temperature.png similarity index 100% rename from Inc_Laminar_Cavity/images/buoyancy_temperature.png rename to tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_temperature.png diff --git a/Inc_Laminar_Cavity/images/buoyancy_velocity.png b/tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_velocity.png similarity index 100% rename from Inc_Laminar_Cavity/images/buoyancy_velocity.png rename to tutorials_files/incompressible_flow/Inc_Laminar_Cavity/images/buoyancy_velocity.png diff --git a/Inc_Laminar_Flat_Plate/images/blasius_eqn.png b/tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/blasius_eqn.png similarity index 100% rename from Inc_Laminar_Flat_Plate/images/blasius_eqn.png rename to tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/blasius_eqn.png diff --git a/Inc_Laminar_Flat_Plate/images/lam_plate_cf.png b/tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/lam_plate_cf.png similarity index 100% rename from Inc_Laminar_Flat_Plate/images/lam_plate_cf.png rename to tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/lam_plate_cf.png diff --git a/Laminar_Flat_Plate/images/lam_plate_mesh_bcs.png b/tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/lam_plate_mesh_bcs.png similarity index 100% rename from Laminar_Flat_Plate/images/lam_plate_mesh_bcs.png rename to tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/lam_plate_mesh_bcs.png diff --git a/Inc_Laminar_Flat_Plate/images/lam_plate_nu.png b/tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/lam_plate_nu.png similarity index 100% rename from Inc_Laminar_Flat_Plate/images/lam_plate_nu.png rename to tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/lam_plate_nu.png diff --git a/Inc_Laminar_Flat_Plate/images/lam_plate_v.png b/tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/lam_plate_v.png similarity index 100% rename from Inc_Laminar_Flat_Plate/images/lam_plate_v.png rename to tutorials_files/incompressible_flow/Inc_Laminar_Flat_Plate/images/lam_plate_v.png diff --git a/Inc_Laminar_Step/images/lam_step_profiles.png b/tutorials_files/incompressible_flow/Inc_Laminar_Step/images/lam_step_profiles.png similarity index 100% rename from Inc_Laminar_Step/images/lam_step_profiles.png rename to tutorials_files/incompressible_flow/Inc_Laminar_Step/images/lam_step_profiles.png diff --git a/Inc_Laminar_Step/images/lam_step_streamlines.png b/tutorials_files/incompressible_flow/Inc_Laminar_Step/images/lam_step_streamlines.png similarity index 100% rename from Inc_Laminar_Step/images/lam_step_streamlines.png rename to tutorials_files/incompressible_flow/Inc_Laminar_Step/images/lam_step_streamlines.png diff --git a/Inc_Turbulent_Flat_Plate/images/turb_plate_cf.png b/tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_cf.png similarity index 100% rename from Inc_Turbulent_Flat_Plate/images/turb_plate_cf.png rename to tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_cf.png diff --git a/Inc_Turbulent_Flat_Plate/images/turb_plate_cf_gridconv.png b/tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_cf_gridconv.png similarity index 100% rename from Inc_Turbulent_Flat_Plate/images/turb_plate_cf_gridconv.png rename to tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_cf_gridconv.png diff --git a/Turbulent_Flat_Plate/images/turb_plate_mesh_bcs.png b/tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_mesh_bcs.png similarity index 100% rename from Turbulent_Flat_Plate/images/turb_plate_mesh_bcs.png rename to tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_mesh_bcs.png diff --git a/Turbulent_Flat_Plate/images/turb_plate_nu_tilde.png b/tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_nu_tilde.png similarity index 100% rename from Turbulent_Flat_Plate/images/turb_plate_nu_tilde.png rename to tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_nu_tilde.png diff --git a/Turbulent_Flat_Plate/images/turb_plate_skin_friction.png b/tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_skin_friction.png similarity index 100% rename from Turbulent_Flat_Plate/images/turb_plate_skin_friction.png rename to tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_skin_friction.png diff --git a/Turbulent_Flat_Plate/images/turb_plate_uplus_vs_yplus.png b/tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_uplus_vs_yplus.png similarity index 100% rename from Turbulent_Flat_Plate/images/turb_plate_uplus_vs_yplus.png rename to tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_uplus_vs_yplus.png diff --git a/Inc_Turbulent_Flat_Plate/images/turb_plate_v_x0p97.png b/tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_v_x0p97.png similarity index 100% rename from Inc_Turbulent_Flat_Plate/images/turb_plate_v_x0p97.png rename to tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_v_x0p97.png diff --git a/Inc_Turbulent_Flat_Plate/images/turb_plate_v_x1p9.png b/tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_v_x1p9.png similarity index 100% rename from Inc_Turbulent_Flat_Plate/images/turb_plate_v_x1p9.png rename to tutorials_files/incompressible_flow/Inc_Turbulent_Flat_Plate/images/turb_plate_v_x1p9.png diff --git a/Inc_Turbulent_NACA0012/images/n0012_cf_AoA0deg.png b/tutorials_files/incompressible_flow/Inc_Turbulent_NACA0012/images/n0012_cf_AoA0deg.png similarity index 100% rename from Inc_Turbulent_NACA0012/images/n0012_cf_AoA0deg.png rename to tutorials_files/incompressible_flow/Inc_Turbulent_NACA0012/images/n0012_cf_AoA0deg.png diff --git a/Inc_Turbulent_NACA0012/images/n0012_cf_AoA10deg.png b/tutorials_files/incompressible_flow/Inc_Turbulent_NACA0012/images/n0012_cf_AoA10deg.png similarity index 100% rename from Inc_Turbulent_NACA0012/images/n0012_cf_AoA10deg.png rename to tutorials_files/incompressible_flow/Inc_Turbulent_NACA0012/images/n0012_cf_AoA10deg.png diff --git a/Inc_Turbulent_NACA0012/images/n0012_cp_AoA0deg.png b/tutorials_files/incompressible_flow/Inc_Turbulent_NACA0012/images/n0012_cp_AoA0deg.png similarity index 100% rename from Inc_Turbulent_NACA0012/images/n0012_cp_AoA0deg.png rename to tutorials_files/incompressible_flow/Inc_Turbulent_NACA0012/images/n0012_cp_AoA0deg.png diff --git a/Inc_Turbulent_NACA0012/images/n0012_cp_AoA10deg.png b/tutorials_files/incompressible_flow/Inc_Turbulent_NACA0012/images/n0012_cp_AoA10deg.png similarity index 100% rename from Inc_Turbulent_NACA0012/images/n0012_cp_AoA10deg.png rename to tutorials_files/incompressible_flow/Inc_Turbulent_NACA0012/images/n0012_cp_AoA10deg.png diff --git a/_tutorials/multiphysics/images/fsi1.png b/tutorials_files/multiphysics/steady_fsi/images/fsi1.png similarity index 100% rename from _tutorials/multiphysics/images/fsi1.png rename to tutorials_files/multiphysics/steady_fsi/images/fsi1.png diff --git a/_tutorials/multiphysics/images/fsi2.png b/tutorials_files/multiphysics/steady_fsi/images/fsi2.png similarity index 100% rename from _tutorials/multiphysics/images/fsi2.png rename to tutorials_files/multiphysics/steady_fsi/images/fsi2.png diff --git a/_tutorials/multiphysics/images/fsi3.png b/tutorials_files/multiphysics/steady_fsi/images/fsi3.png similarity index 100% rename from _tutorials/multiphysics/images/fsi3.png rename to tutorials_files/multiphysics/steady_fsi/images/fsi3.png diff --git a/_tutorials/multiphysics/images/chtrht1.png b/tutorials_files/multiphysics/unfinished_tutorials/images/chtrht1.png similarity index 100% rename from _tutorials/multiphysics/images/chtrht1.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/chtrht1.png diff --git a/_tutorials/multiphysics/images/chtrht2.png b/tutorials_files/multiphysics/unfinished_tutorials/images/chtrht2.png similarity index 100% rename from _tutorials/multiphysics/images/chtrht2.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/chtrht2.png diff --git a/_tutorials/multiphysics/images/chtrht3.png b/tutorials_files/multiphysics/unfinished_tutorials/images/chtrht3.png similarity index 100% rename from _tutorials/multiphysics/images/chtrht3.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/chtrht3.png diff --git a/_tutorials/multiphysics/images/chtrht4.png b/tutorials_files/multiphysics/unfinished_tutorials/images/chtrht4.png similarity index 100% rename from _tutorials/multiphysics/images/chtrht4.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/chtrht4.png diff --git a/_tutorials/multiphysics/images/chtrht5.png b/tutorials_files/multiphysics/unfinished_tutorials/images/chtrht5.png similarity index 100% rename from _tutorials/multiphysics/images/chtrht5.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/chtrht5.png diff --git a/_tutorials/multiphysics/images/fsipy1.png b/tutorials_files/multiphysics/unfinished_tutorials/images/fsipy1.png similarity index 100% rename from _tutorials/multiphysics/images/fsipy1.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/fsipy1.png diff --git a/_tutorials/multiphysics/images/fsipy2.png b/tutorials_files/multiphysics/unfinished_tutorials/images/fsipy2.png similarity index 100% rename from _tutorials/multiphysics/images/fsipy2.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/fsipy2.png diff --git a/_tutorials/multiphysics/images/fsipy3.png b/tutorials_files/multiphysics/unfinished_tutorials/images/fsipy3.png similarity index 100% rename from _tutorials/multiphysics/images/fsipy3.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/fsipy3.png diff --git a/_tutorials/multiphysics/images/fsipyadj1.png b/tutorials_files/multiphysics/unfinished_tutorials/images/fsipyadj1.png similarity index 100% rename from _tutorials/multiphysics/images/fsipyadj1.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/fsipyadj1.png diff --git a/_tutorials/multiphysics/images/rht1.png b/tutorials_files/multiphysics/unfinished_tutorials/images/rht1.png similarity index 100% rename from _tutorials/multiphysics/images/rht1.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/rht1.png diff --git a/_tutorials/multiphysics/images/rht2.png b/tutorials_files/multiphysics/unfinished_tutorials/images/rht2.png similarity index 100% rename from _tutorials/multiphysics/images/rht2.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/rht2.png diff --git a/_tutorials/multiphysics/images/rht3.png b/tutorials_files/multiphysics/unfinished_tutorials/images/rht3.png similarity index 100% rename from _tutorials/multiphysics/images/rht3.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/rht3.png diff --git a/_tutorials/multiphysics/images/rht4.png b/tutorials_files/multiphysics/unfinished_tutorials/images/rht4.png similarity index 100% rename from _tutorials/multiphysics/images/rht4.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/rht4.png diff --git a/_tutorials/multiphysics/images/rht5.png b/tutorials_files/multiphysics/unfinished_tutorials/images/rht5.png similarity index 100% rename from _tutorials/multiphysics/images/rht5.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/rht5.png diff --git a/_tutorials/multiphysics/images/rhtadj1.png b/tutorials_files/multiphysics/unfinished_tutorials/images/rhtadj1.png similarity index 100% rename from _tutorials/multiphysics/images/rhtadj1.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/rhtadj1.png diff --git a/_tutorials/multiphysics/images/rhtadj2.png b/tutorials_files/multiphysics/unfinished_tutorials/images/rhtadj2.png similarity index 100% rename from _tutorials/multiphysics/images/rhtadj2.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/rhtadj2.png diff --git a/_tutorials/multiphysics/images/rhtadj3.png b/tutorials_files/multiphysics/unfinished_tutorials/images/rhtadj3.png similarity index 100% rename from _tutorials/multiphysics/images/rhtadj3.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/rhtadj3.png diff --git a/_tutorials/multiphysics/images/rhtadj4.png b/tutorials_files/multiphysics/unfinished_tutorials/images/rhtadj4.png similarity index 100% rename from _tutorials/multiphysics/images/rhtadj4.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/rhtadj4.png diff --git a/_tutorials/multiphysics/images/rhtadj5.png b/tutorials_files/multiphysics/unfinished_tutorials/images/rhtadj5.png similarity index 100% rename from _tutorials/multiphysics/images/rhtadj5.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/rhtadj5.png diff --git a/_tutorials/multiphysics/images/rhtadj6.png b/tutorials_files/multiphysics/unfinished_tutorials/images/rhtadj6.png similarity index 100% rename from _tutorials/multiphysics/images/rhtadj6.png rename to tutorials_files/multiphysics/unfinished_tutorials/images/rhtadj6.png diff --git a/_tutorials/structural_mechanics/images/dynamic_linear.gif b/tutorials_files/structural_mechanics/Linear_Dynamics/images/dynamic_linear.gif similarity index 100% rename from _tutorials/structural_mechanics/images/dynamic_linear.gif rename to tutorials_files/structural_mechanics/Linear_Dynamics/images/dynamic_linear.gif diff --git a/_tutorials/structural_mechanics/images/lin1.png b/tutorials_files/structural_mechanics/Linear_Dynamics/images/lin1.png similarity index 100% rename from _tutorials/structural_mechanics/images/lin1.png rename to tutorials_files/structural_mechanics/Linear_Dynamics/images/lin1.png diff --git a/_tutorials/structural_mechanics/images/lin2.png b/tutorials_files/structural_mechanics/Linear_Dynamics/images/lin2.png similarity index 100% rename from _tutorials/structural_mechanics/images/lin2.png rename to tutorials_files/structural_mechanics/Linear_Dynamics/images/lin2.png diff --git a/tutorials_files/structural_mechanics/Linear_Elasticity/images/lin1.png b/tutorials_files/structural_mechanics/Linear_Elasticity/images/lin1.png new file mode 100644 index 00000000..cbe941cf Binary files /dev/null and b/tutorials_files/structural_mechanics/Linear_Elasticity/images/lin1.png differ diff --git a/tutorials_files/structural_mechanics/Linear_Elasticity/images/lin2.png b/tutorials_files/structural_mechanics/Linear_Elasticity/images/lin2.png new file mode 100644 index 00000000..16d85069 Binary files /dev/null and b/tutorials_files/structural_mechanics/Linear_Elasticity/images/lin2.png differ diff --git a/_tutorials/structural_mechanics/images/lin3.png b/tutorials_files/structural_mechanics/Linear_Elasticity/images/lin3.png similarity index 100% rename from _tutorials/structural_mechanics/images/lin3.png rename to tutorials_files/structural_mechanics/Linear_Elasticity/images/lin3.png diff --git a/_tutorials/structural_mechanics/images/multimat1.png b/tutorials_files/structural_mechanics/Multiple_Material/images/multimat1.png similarity index 100% rename from _tutorials/structural_mechanics/images/multimat1.png rename to tutorials_files/structural_mechanics/Multiple_Material/images/multimat1.png diff --git a/_tutorials/structural_mechanics/images/multimat2.png b/tutorials_files/structural_mechanics/Multiple_Material/images/multimat2.png similarity index 100% rename from _tutorials/structural_mechanics/images/multimat2.png rename to tutorials_files/structural_mechanics/Multiple_Material/images/multimat2.png diff --git a/tutorials_files/structural_mechanics/Nonlinear_Elasticity/images/lin1.png b/tutorials_files/structural_mechanics/Nonlinear_Elasticity/images/lin1.png new file mode 100644 index 00000000..cbe941cf Binary files /dev/null and b/tutorials_files/structural_mechanics/Nonlinear_Elasticity/images/lin1.png differ diff --git a/tutorials_files/structural_mechanics/Nonlinear_Elasticity/images/lin2.png b/tutorials_files/structural_mechanics/Nonlinear_Elasticity/images/lin2.png new file mode 100644 index 00000000..16d85069 Binary files /dev/null and b/tutorials_files/structural_mechanics/Nonlinear_Elasticity/images/lin2.png differ diff --git a/_tutorials/structural_mechanics/images/nlin1.png b/tutorials_files/structural_mechanics/Nonlinear_Elasticity/images/nlin1.png similarity index 100% rename from _tutorials/structural_mechanics/images/nlin1.png rename to tutorials_files/structural_mechanics/Nonlinear_Elasticity/images/nlin1.png diff --git a/_tutorials/structural_mechanics/images/nlin2.png b/tutorials_files/structural_mechanics/Nonlinear_Elasticity/images/nlin2.png similarity index 100% rename from _tutorials/structural_mechanics/images/nlin2.png rename to tutorials_files/structural_mechanics/Nonlinear_Elasticity/images/nlin2.png