Mesh Generating Using Spring Analogy
Dear All,
I am planning to perform analysis around flapped airfoil. I have prepared mesh for unflapped airfoil. By any chance, is it possible for me to deform the airfoil geometry (mesh as well) using spring analogy method in SU2? By doing that, I don't need to generate new mesh for the flapped airfoil. Regards, Yosheph Yang |
Quote:
|
I tried to find the FEA moving mesh method that you mentioned. However, I couldn't find it.
Can you describe to me how I am supposed to do it? Quote:
|
Quote:
|
Yes, SU2_MDC is the right solver for grid deformation. It uses a FEA method (we have removed the spring analogy method - this method didn't work with high stretching grids - ).
There are different deformation implemented in the code. It could be useful for you to take a look at a pitching airfoil optimization problem (http://www.cfd-online.com/Forums/su2...ady-flows.html). Best Regards, Francisco |
Quote:
I have tried to look at the configuration file that you mentioned. I don't know how to modify the configuration file in here. I want to remesh the airfoil into flapped airfoil whose flap is deflected around 0.7c with around 10 degree without performing any optimization at all. If you don't mind, how should I perform this using SU2_MDC module? Regards, Yosheph |
Hi Yosheph,
If you can modify the locations of the surface nodes for the particular airfoil (just your flap for instance), you can input their new locations in a file to SU2_MDC and choose the option DV_KIND= SURFACE_FILE. MDC will then deform the volume mesh around the new airfoil geometry. You will also need to give the filename in the options: % Surface deformation input filename (SURFACE_FILE DV only) MOTION_FILENAME= mesh_motion.dat Please see the routine CSurfaceMovement::SetSurface_Deformation(CGeometry *geometry, CConfig *config) in the file grid_movement_structure.cpp for more details on the format for the file with the new airfoil coordinates. Cheers, Tom |
Quote:
Actually SU2_MDC would create an initial mesh_motion file, if MOTION_FILENAME has been set and mesh_motion.dat does not exist. The related code is as: ################################################## ############ /*--- A surface file does not exist, so write a new one for the markers that are specified as part of the motion. ---*/ if (Surface_File.fail()) { if (rank == MASTER_NODE) cout << "No surface file found. Writing a new file: " << filename << "." << endl; Surface_File.open(filename.c_str(), ios::out); Surface_File.precision(15); unsigned long iMarker, jPoint, GlobalIndex, iVertex; double *Coords; for (iMarker = 0; iMarker < config->GetnMarker_All(); iMarker++) { if (config->GetMarker_All_DV(iMarker) == YES) { for(iVertex = 0; iVertex < geometry->nVertex[iMarker]; iVertex++) { jPoint = geometry->vertex[iMarker][iVertex]->GetNode(); GlobalIndex = geometry->node[jPoint]->GetGlobalIndex(); Coords = geometry->node[jPoint]->GetCoord(); Surface_File << GlobalIndex << "\t" << Coords[0] << "\t" << Coords[1]; if (nDim == 2) Surface_File << endl; else Surface_File << "\t" << Coords[2] << endl; } } } ################################################## ############ However , after I test it with 3D ONERA M6 wing case in parallel mode, I found out that only the surface mesh points which owned by the master_node have been outputed. I think this is a bug somehow, I want to fix it , but do not know how. |
Quote:
|
can you please explain what is the format of surface file should be. if you can give some example or simple surface file that would be a great help. thanks
|
All times are GMT -4. The time now is 12:49. |