Restructured the reading of the high order grids for the FEM solver by vdweide · Pull Request #2440 · su2code/SU2 · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions Common/include/CConfig.hpp
198 changes: 0 additions & 198 deletions Common/include/fem/fem_cgns_elements.hpp

This file was deleted.

3 changes: 0 additions & 3 deletions Common/include/fem/fem_geometry_structure.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,6 @@

#include "../geometry/CGeometry.hpp"
#include "fem_standard_element.hpp"
#ifdef HAVE_CGNS
#include "fem_cgns_elements.hpp"
#endif
#include "../wall_model.hpp"
#include "../linear_algebra/blas_structure.hpp"

Expand Down
50 changes: 24 additions & 26 deletions Common/include/geometry/CPhysicalGeometry.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
#pragma once

#include "CGeometry.hpp"
#include "meshreader/CMeshReaderFVM.hpp"
#include "meshreader/CMeshReaderBase.hpp"
#include "../containers/C2DContainer.hpp"

/*!
Expand Down Expand Up @@ -285,51 +285,49 @@ class CPhysicalGeometry final : public CGeometry {
* \param[in] val_iZone - Domain to be read from the grid file.
* \param[in] val_nZone - Total number of domains in the grid file.
*/
void Read_Mesh_FVM(CConfig* config, const string& val_mesh_filename, unsigned short val_iZone,
unsigned short val_nZone);
void Read_Mesh(CConfig* config, const string& val_mesh_filename, unsigned short val_iZone, unsigned short val_nZone);

/*!
* \brief Reads for the FEM solver the geometry of the grid and adjust the boundary
* conditions with the configuration file in parallel (for parmetis).
* \param[in] config - Definition of the particular problem.
* \param[in] val_mesh_filename - Name of the file with the grid information.
* \param[in] val_iZone - Domain to be read from the grid file.
* \param[in] val_nZone - Total number of domains in the grid file.
*/
void Read_SU2_Format_Parallel_FEM(CConfig* config, const string& val_mesh_filename, unsigned short val_iZone,
unsigned short val_nZone);

/*!
* \brief Reads for the FEM solver the geometry of the grid and adjust the boundary
* conditions with the configuration file in parallel (for parmetis).
* \param[in] config - Definition of the particular problem.
* \param[in] val_mesh_filename - Name of the file with the grid information.
* \param[in] val_iZone - Domain to be read from the grid file.
* \param[in] val_nZone - Total number of domains in the grid file.
* \brief Routine to load the CGNS grid points from a single zone into the proper SU2 data structures.
* \param[in] config - definition of the particular problem.
* \param[in] mesh - mesh reader object containing the current zone data.
*/
void Read_CGNS_Format_Parallel_FEM(CConfig* config, const string& val_mesh_filename, unsigned short val_iZone,
unsigned short val_nZone);
void LoadLinearlyPartitionedPoints(CConfig* config, CMeshReaderBase* mesh);

/*!
* \brief Routine to load the CGNS grid points from a single zone into the proper SU2 data structures.
* \brief Routine to load the grid points from a single zone into the proper SU2 data structures for the FEM solver.
* \param[in] config - definition of the particular problem.
* \param[in] mesh - mesh reader object containing the current zone data.
*/
void LoadLinearlyPartitionedPoints(CConfig* config, CMeshReaderFVM* mesh);
void LoadLinearlyPartitionedPointsFEM(CConfig* config, CMeshReaderBase* mesh);

/*!
* \brief Loads the interior volume elements from the mesh reader object into the primal element data structures.
* \param[in] config - definition of the particular problem.
* \param[in] mesh - mesh reader object containing the current zone data.
*/
void LoadLinearlyPartitionedVolumeElements(CConfig* config, CMeshReaderFVM* mesh);
void LoadLinearlyPartitionedVolumeElements(CConfig* config, CMeshReaderBase* mesh);

/*!
* \brief Loads the interior volume elements from the mesh reader object into the primal element data structures for
* the FEM solver. \param[in] config - definition of the particular problem. \param[in] mesh - mesh reader object
* containing the current zone data.
*/
void LoadLinearlyPartitionedVolumeElementsFEM(CConfig* config, CMeshReaderBase* mesh);

/*!
* \brief Loads the boundary elements (markers) from the mesh reader object into the primal element data structures.
* \param[in] config - definition of the particular problem.
* \param[in] mesh - mesh reader object containing the current zone data.
*/
void LoadUnpartitionedSurfaceElements(CConfig* config, CMeshReaderFVM* mesh);
void LoadUnpartitionedSurfaceElements(CConfig* config, CMeshReaderBase* mesh);

/*!
* \brief Loads the boundary elements (markers) from the mesh reader object into the primal element data structures
* for the FEM solver. \param[in] config - definition of the particular problem. \param[in] mesh - mesh reader
* object containing the current zone data.
*/
void LoadLinearlyPartitionedSurfaceElementsFEM(CConfig* config, CMeshReaderBase* mesh);

/*!
* \brief Prepares the grid point adjacency based on a linearly partitioned mesh object needed by ParMETIS for graph
Expand Down
82 changes: 82 additions & 0 deletions Common/include/geometry/meshreader/CBoxMeshReaderFEM.hpp
Loading