CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   SU2 (http://www.cfd-online.com/Forums/su2/)
-   -   Mesh Generating Using Spring Analogy (http://www.cfd-online.com/Forums/su2/128103-mesh-generating-using-spring-analogy.html)

andromeda91 January 3, 2014 10:56

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

liujmljm January 3, 2014 12:33

Quote:

Originally Posted by andromeda91 (Post 468503)
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

In SU2, u can use FEA moving mesh method, which is more stable than spring analogy method

andromeda91 January 5, 2014 15:52

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:

Originally Posted by liujmljm (Post 468511)
In SU2, u can use FEA moving mesh method, which is more stable than spring analogy method


liujmljm January 7, 2014 08:19

Quote:

Originally Posted by andromeda91 (Post 468722)
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?

please look at the templete cfg file carefully or the source code, u will find that. good luck

fpalacios January 11, 2014 22:47

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

andromeda91 January 20, 2014 09:27

Quote:

Originally Posted by fpalacios (Post 469621)
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

Dear Francisco,

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

economon February 12, 2014 21:55

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

Tommy Chen February 26, 2014 16:36

Quote:

Originally Posted by economon (Post 474731)
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

Hi Tom

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.


All times are GMT -4. The time now is 02:52.