diff --git a/fluid_structure_interaction/validation/embedded_fsi_membrane_airfoil/README.md b/fluid_structure_interaction/validation/embedded_fsi_membrane_airfoil/README.md index e51a50b1..1f677c3d 100644 --- a/fluid_structure_interaction/validation/embedded_fsi_membrane_airfoil/README.md +++ b/fluid_structure_interaction/validation/embedded_fsi_membrane_airfoil/README.md @@ -1,45 +1,34 @@ -# Flexible membrane airfoil +# Mixer with flexible blades **Author:** [Rubén Zorrilla](https://github.com/rubenzorrilla) -**Kratos version:** 9.5 +**Kratos version:** 9.1 -**Source files:** [Flexible membrane airfoil](https://github.com/KratosMultiphysics/Examples/tree/master/fluid_structure_interaction/validation/embedded_fsi_membrane_airfoil/source) +**Source files:** [Mixer with flexible blades](https://github.com/KratosMultiphysics/Examples/tree/master/fluid_structure_interaction/validation/embedded_fsi_mixer_Y/source) ## Case Specification -This example reproduces a reduced-scale experiment of a flexible membrane airfoil[1]. The embedded (i.e., CutFEM) framework for thin-walled bodies is applied in order to avoid the preprocessing and mesh entanglement issues appearing when using volumetric meshes around membrane-like bodies [2]. +This example is specifically conceived to prove the extended scope of applicatoin of embedded mesh methods. Hence, it involves extremely large rotations, which would be impossible to solve by using a body fitted ALE based approach. -The problem set up consists in a 2D idealization of the flexible membrane airfoil at an angle of attack of 4º. The lenght and thickness of the membrane are 0.15m and 2e-4m, respectively, while the material parameters are a Young modulus of 250e3Pa and zero Poisson ration. The fluid properties are set such that Re=2500. The structure and fluid density ratio is 441.75. The inlet characteristic velocity is 2.5833m/s. +The problem is set up as a 2D idealization of a turbine mixer with clockwise-anticlockwise alternate rotation. The problem geometry is a unit diameter circle with three embedded flexible blades. An imposed rotation is enforced in the blades axis to emulate the spin of the rotor. Such rotation changes the direction (anticlockwise to clockwise and viceversa) after More details on the dimensions, material settings and boundary conditions can be found in [here](https://doi.org/10.1016/j.cma.2020.113179). ## Results -The fluid domain is meshed with a 144k P1P1 elements unstructured mesh. The membrane is meshed with 128 line elements implementing a simplified 2D non-linear membrane formulation. The problem is run with a ramp up function of 1s and for an extra second so to ensure that the membrane reaches the steady state. +The fluid domain is meshed with a 45 and 540 radial and perimeter subdivisions Q1P1 elements centered structured mesh. Each one of the flexible blades is meshed with an 8x39 subdivisions structured mesh made with Total Lagrangian quadrilateral elements. The problem is run for 20s so three complete rotations (anticlockwise - clockwise - anticlockwise) are simulated. -The steady state velocity and pressure contour fields as well as the displacement vector field are shown below. The obtained results are in line with similar numerical experiments [3]. +The obtained velocity and pressure fields, together with the level set zero isosurface representing the deformed geometry, are shown below.
-
- --
## References -[1] P. Rojratsirikul, Z. Wang and I. Gursul, I, Unsteady Aerodynamics of Membrane Airfoils. Paper presented at 46th AIAA Aerospace Sciences Meeting and Exhibit, Reno, Nevada, 2008 [10.2514/6.2008-613](https://doi.org/10.2514/6.2008-613). - -[2] R. Zorrilla, R. Rossi, R. Wüchner and E. Oñate, An embedded Finite Element framework for the resolution of strongly coupled Fluid–Structure Interaction problems. Application to volumetric and membrane-like structures, Computer Methods in Applied Mechanics and Engineering (368), 2020 [10.1016/j.cma.2020.113179](https://doi.org/10.1016/j.cma.2020.113179). - -[3] R. E. Gordnier, High fidelity computational simulation of a membrane wing airfoil, Journal of Fluids and Structures (25), 2009, [10.1016/j.jfluidstructs.2009.03.004](https://doi.org/10.1016/j.jfluidstructs.2009.03.004). +R. Zorrilla, R. Rossi, R. Wüchner and E. Oñate, An embedded Finite Element framework for the resolution of strongly coupled Fluid–Structure Interaction problems. Application to volumetric and membrane-like structures, Computer Methods in Applied Mechanics and Engineering (368), [10.1016/j.cma.2020.113179](https://doi.org/10.1016/j.cma.2020.113179) diff --git a/fluid_structure_interaction/validation/embedded_fsi_membrane_airfoil/source/ProjectParameters.json b/fluid_structure_interaction/validation/embedded_fsi_membrane_airfoil/source/ProjectParameters.json index d6b58e29..84bd6e86 100644 --- a/fluid_structure_interaction/validation/embedded_fsi_membrane_airfoil/source/ProjectParameters.json +++ b/fluid_structure_interaction/validation/embedded_fsi_membrane_airfoil/source/ProjectParameters.json @@ -5,7 +5,7 @@ "parallel_type": "OpenMP", "echo_level": 0, "start_time": 0.0, - "end_time": 2.0e0 + "end_time": 1.0e0 }, "solver_settings": { "solver_type": "partitioned_embedded", @@ -27,7 +27,7 @@ "materials_filename": "StructuralMaterials.json" }, "time_stepping": { - "time_step": 1.0e-2 + "time_step": 5e-3 }, "line_search" : false, "convergence_criterion" : "residual_criterion", @@ -35,7 +35,7 @@ "displacement_absolute_tolerance" : 1e-7, "residual_relative_tolerance" : 1e-5, "residual_absolute_tolerance" : 1e-7, - "max_iteration" : 50 + "max_iteration" : 20 }, "fluid_solver_settings":{ "model_part_name" : "FluidModelPart", @@ -53,7 +53,7 @@ }, "echo_level" : 0, "compute_reactions" : true, - "maximum_iterations" : 50, + "maximum_iterations" : 10, "relative_velocity_tolerance" : 1e-5, "absolute_velocity_tolerance" : 1e-7, "relative_pressure_tolerance" : 1e-5, @@ -64,13 +64,13 @@ "no_skin_parts" : [], "time_stepping" : { "automatic_time_step": false, - "time_step": 1.0e-2 + "time_step": 5e-3 }, "formulation": { "element_type": "embedded_weakly_compressible_navier_stokes_discontinuous", "is_slip": true, - "slip_length": 1.0e1, - "penalty_coefficient": 1.0e2, + "slip_length": 1.0e6, + "penalty_coefficient": 1.0e3, "dynamic_tau": 1.0 }, "fm_ale_settings": { @@ -115,8 +115,6 @@ "solver_type": "MVQN", "w_0": 0.5, "abs_cut_off_tol" : 1e-6 - // "solver_type": "MVQN_randomized_SVD", - // "abs_cut_off_tol" : 1e-6 }, "structure_interfaces_list": ["Structure.LinePressure2D_Load"] } @@ -143,18 +141,7 @@ "Parameters" : { "model_part_name" : "FluidModelPart.AutomaticInlet2D_Inlet", "variable_name" : "VELOCITY", - "interval" : [0.0,1.0], - "modulus" : "2.5833*t", - "direction" : "automatic_inwards_normal" - } - },{ - "python_module" : "apply_inlet_process", - "kratos_module" : "KratosMultiphysics.FluidDynamicsApplication", - "process_name" : "ApplyInletProcess", - "Parameters" : { - "model_part_name" : "FluidModelPart.AutomaticInlet2D_Inlet", - "variable_name" : "VELOCITY", - "interval" : [1.0,"End"], + "interval" : [0.0,"End"], "modulus" : 2.5833, "direction" : "automatic_inwards_normal" } @@ -216,7 +203,14 @@ } }], "fluid_gravity" : [], - "fluid_auxiliar_process_list" : [] + "fluid_auxiliar_process_list" : [{ + "python_module": "apply_embedded_postprocess_process", + "kratos_module": "KratosMultiphysics.FluidDynamicsApplication", + "process_name": "ApplyEmbeddedPostprocessrocess", + "Parameters": { + "model_part_name": "FluidModelPart.FluidParts_Fluid" + } + }] }, "output_processes":{ "gid_output" : [{ @@ -225,7 +219,7 @@ "process_name" : "GiDOutputProcess", "Parameters" : { "model_part_name" : "Structure", - "output_name" : "embedded_fsi_membrane_airfoil_structure", + "output_name" : "gordnier_membrane_structure", "postprocess_parameters" : { "result_file_configuration" : { "gidpost_flags" : { @@ -253,7 +247,7 @@ "process_name": "GiDOutputProcess", "Parameters": { "model_part_name": "FluidModelPart.FluidParts_Fluid", - "output_name": "embedded_fsi_membrane_airfoil_fluid", + "output_name": "gordnier_membrane_fluid", "postprocess_parameters": { "result_file_configuration": { "gidpost_flags": {