37 #include "../../Common/include/mpi_structure.hpp" 44 #include "../../Common/include/geometry_structure.hpp" 45 #include "../../Common/include/grid_movement_structure.hpp" 46 #include "../../Common/include/config_structure.hpp" 47 #include "../../Common/include/interpolation_structure.hpp" 84 su2double APIVarCoord[3];
85 su2double APINodalForce[3];
86 su2double APINodalForceDensity[3];
98 unsigned short val_nZone,
99 unsigned short val_nDim,
100 SU2_Comm MPICommunicator);
115 void Geometrical_Preprocessing();
123 void Iteration_Preprocessing();
160 void Interface_Preprocessing();
183 void Postprocessing();
227 virtual void Relaxation_Tractions(
unsigned short donorZone,
unsigned short targetZone,
unsigned long iFSIIter) {};
247 void PreprocessExtIter(
unsigned long ExtIter);
252 bool Monitor(
unsigned long ExtIter);
257 void Output(
unsigned long ExtIter);
278 su2double Get_Drag();
284 su2double Get_Lift();
308 su2double Get_DragCoeff();
314 su2double Get_LiftCoeff();
320 unsigned short GetMovingMarker();
327 unsigned long GetNumberVertices(
unsigned short iMarker);
334 unsigned long GetNumberHaloVertices(
unsigned short iMarker);
342 bool IsAHaloNode(
unsigned short iMarker,
unsigned short iVertex);
348 unsigned long GetnExtIter();
356 unsigned long GetVertexGlobalIndex(
unsigned short iMarker,
unsigned short iVertex);
364 su2double GetVertexCoordX(
unsigned short iMarker,
unsigned short iVertex);
372 su2double GetVertexCoordY(
unsigned short iMarker,
unsigned short iVertex);
380 su2double GetVertexCoordZ(
unsigned short iMarker,
unsigned short iVertex);
388 bool ComputeVertexForces(
unsigned short iMarker,
unsigned short iVertex);
396 su2double GetVertexForceX(
unsigned short iMarker,
unsigned short iVertex);
404 su2double GetVertexForceY(
unsigned short iMarker,
unsigned short iVertex);
412 su2double GetVertexForceZ(
unsigned short iMarker,
unsigned short iVertex);
420 su2double GetVertexForceDensityX(
unsigned short iMarker,
unsigned short iVertex);
428 su2double GetVertexForceDensityY(
unsigned short iMarker,
unsigned short iVertex);
436 su2double GetVertexForceDensityZ(
unsigned short iMarker,
unsigned short iVertex);
444 void SetVertexCoordX(
unsigned short iMarker,
unsigned short iVertex, su2double newPosX);
452 void SetVertexCoordY(
unsigned short iMarker,
unsigned short iVertex, su2double newPosY);
460 void SetVertexCoordZ(
unsigned short iMarker,
unsigned short iVertex, su2double newPosZ);
468 su2double SetVertexVarCoord(
unsigned short iMarker,
unsigned short iVertex);
489 unsigned short val_nZone,
490 unsigned short val_nDim,
491 SU2_Comm MPICommunicator);
511 void ResetConvergence();
516 void DynamicMeshUpdate(
unsigned long ExtIter);
521 void StaticMeshUpdate();
526 void SetInitialMesh();
547 unsigned short val_nZone,
548 unsigned short val_nDim,
549 SU2_Comm MPICommunicator);
569 void ResetConvergence();
574 void DynamicMeshUpdate(
unsigned long ExtIter);
579 void StaticMeshUpdate();
584 void SetInitialMesh();
589 void Transfer_Data(
unsigned short donorZone,
unsigned short targetZone);
615 unsigned short val_nZone,
616 unsigned short val_nDim,
617 SU2_Comm MPICommunicator);
634 void SetHarmonicBalance(
unsigned short iZone);
640 void ComputeHB_Operator();
650 void ResetConvergence();
670 unsigned short val_nZone,
671 unsigned short val_nDim,
672 SU2_Comm MPICommunicator);
689 void Predict_Displacements(
unsigned short donorZone,
unsigned short targetZone);
696 void Predict_Tractions(
unsigned short donorZone,
unsigned short targetZone);
703 void Transfer_Displacements(
unsigned short donorZone,
unsigned short targetZone);
710 void Transfer_Tractions(
unsigned short donorZone,
unsigned short targetZone);
718 void Relaxation_Displacements(
unsigned short donorZone,
unsigned short targetZone,
unsigned long iFSIIter);
726 void Relaxation_Tractions(
unsigned short donorZone,
unsigned short targetZone,
unsigned long iFSIIter);
733 void Update(
unsigned short zoneFlow,
unsigned short zoneStruct);
virtual void StaticMeshUpdate()
Perform a static mesh deformation, without considering grid velocity.
Definition: driver_structure.hpp:267
ofstream ConvHist_file
Convergence history file.
Definition: driver_structure.hpp:65
CSurfaceMovement ** surface_movement
Surface movement classes of the problem.
Definition: driver_structure.hpp:79
Class for writing the flow, adjoint and linearized solver solution (including the history solution...
Definition: output_structure.hpp:64
Headers of the main subroutines for generating the file outputs. The subroutines and functions are in...
unsigned short nZone
Total number of zones in the problem.
Definition: driver_structure.hpp:66
CIntegration *** integration_container
Container vector with all the integration methods.
Definition: driver_structure.hpp:74
virtual void Predict_Displacements(unsigned short donorZone, unsigned short targetZone)
A virtual member.
Definition: driver_structure.hpp:190
Class for driving an iteration of the physics within multiple zones.
Definition: driver_structure.hpp:536
virtual void Relaxation_Tractions(unsigned short donorZone, unsigned short targetZone, unsigned long iFSIIter)
A virtual member.
Definition: driver_structure.hpp:227
Parent class for defining the geometry of the problem (complete geometry, multigrid agglomerated geom...
Definition: geometry_structure.hpp:72
Main class for defining the physical transfer of information.
Definition: transfer_structure.hpp:62
Class for driving an iteration of Harmonic Balance (HB) method problem using multiple time zones...
Definition: driver_structure.hpp:599
CFreeFormDefBox *** FFDBox
FFD FFDBoxes of the problem.
Definition: driver_structure.hpp:81
Headers of the main subroutines for space and time integration. The subroutines and functions are in ...
su2double UsedTime
Elapsed time between Start and Stop point of the timer.
Definition: driver_structure.hpp:61
bool StopCalc
Stop computation flag.
Definition: driver_structure.hpp:70
Main class for defining the PDE solution, it requires a child class for each particular solver (Euler...
Definition: solver_structure.hpp:71
virtual void ResetConvergence()
A virtual member.
Definition: driver_structure.hpp:242
Headers of the main subroutines used by SU2_CFD. The subroutines and functions are in the definition_...
virtual void Transfer_Tractions(unsigned short donorZone, unsigned short targetZone)
A virtual member.
Definition: driver_structure.hpp:211
CConfig ** config_container
Definition of the particular problem.
Definition: driver_structure.hpp:78
Class for moving the surface numerical grid.
Definition: grid_movement_structure.hpp:1287
const unsigned int MAX_STRING_SIZE
Maximum number of domains.
Definition: option_structure.hpp:117
Class for driving a structural iteration of the physics within multiple zones.
Definition: driver_structure.hpp:478
Parent class for driving an iteration of a single or multi-zone problem.
Definition: driver_structure.hpp:57
CNumerics ***** numerics_container
Description of the numerical method (the way in which the equations are solved).
Definition: driver_structure.hpp:77
Class for moving the volumetric numerical grid.
Definition: grid_movement_structure.hpp:955
CGeometry *** geometry_container
Geometrical definition of the problem.
Definition: driver_structure.hpp:75
virtual void SetInitialMesh()
Perform a mesh deformation as initial condition.
Definition: driver_structure.hpp:272
CInterpolator *** interpolator_container
Definition of the interpolation method between non-matching discretizations of the interface...
Definition: driver_structure.hpp:82
Headers of the main subroutines for the dumerical definition of the problem. The subroutines and func...
virtual void Run()
A virtual member.
Definition: driver_structure.hpp:110
Main class for doing the space integration, time integration, and monitoring of a system of Partial D...
Definition: integration_structure.hpp:57
Class for driving a BGS iteration for a fluid-structure interaction problem in multiple zones...
Definition: driver_structure.hpp:660
Main class for defining the interpolator, it requires a child class for each particular interpolation...
Definition: interpolation_structure.hpp:57
Class for defining the numerical methods.
Definition: numerics_structure.hpp:59
CTransfer *** transfer_container
Definition of the transfer of information and the physics involved in the interface.
Definition: driver_structure.hpp:83
virtual void Relaxation_Displacements(unsigned short donorZone, unsigned short targetZone, unsigned long iFSIIter)
A virtual member.
Definition: driver_structure.hpp:219
virtual void DynamicMeshUpdate(unsigned long ExtIter)
Perform a dynamic mesh deformation, including grid velocity computation and update of the multigrid s...
Definition: driver_structure.hpp:262
virtual void Update()
A virtual member.
Definition: driver_structure.hpp:232
CVolumetricMovement ** grid_movement
Volume grid movement classes of the problem.
Definition: driver_structure.hpp:80
virtual void Transfer_Displacements(unsigned short donorZone, unsigned short targetZone)
A virtual member.
Definition: driver_structure.hpp:204
COutput * output
Pointer to the COutput class.
Definition: driver_structure.hpp:73
unsigned long ExtIter
External iteration.
Definition: driver_structure.hpp:64
Headers of the transfer structure The subroutines and functions are in the transfer_structure.cpp and transfer_physics.cpp files.
Parent class for defining a single iteration of a physics problem.
Definition: iteration_structure.hpp:58
Headers of the main subroutines for solving partial differential equations. The subroutines and funct...
CIteration ** iteration_container
Container vector with all the iteration methods.
Definition: driver_structure.hpp:72
Main class for defining the problem; basically this class reads the configuration file...
Definition: config_structure.hpp:68
virtual void Predict_Tractions(unsigned short donorZone, unsigned short targetZone)
A virtual member.
Definition: driver_structure.hpp:197
char * config_file_name
Configuration file name of the problem.
Definition: driver_structure.hpp:59
CSolver **** solver_container
Container vector with all the solutions.
Definition: driver_structure.hpp:76