Documentation 6b54b78464
Loading...
Searching...
No Matches
CInterface Class Referenceabstract

Main class for defining the physical transfer of information. More...

#include <CInterface.hpp>

Inheritance diagram for CInterface:
[legend]

Public Member Functions

 CInterface ()
 Constructor of the class.
 
 CInterface (unsigned short val_nVar, unsigned short val_nConst)
 
virtual ~CInterface ()
 Destructor of the class.
 
void BroadcastData (const CInterpolator &interpolator, CSolver *donor_solution, CSolver *target_solution, CGeometry *donor_geometry, CGeometry *target_geometry, const CConfig *donor_config, const CConfig *target_config)
 Interpolate data and broadcast it into all processors, for nonmatching meshes.
 
virtual void SetSpanWiseLevels (const CConfig *donor_config, const CConfig *target_config)
 A virtual member.
 
virtual void BroadcastData_MixingPlane (const CInterpolator &interpolator, CSolver *donor_solution, CSolver *target_solution, CGeometry *donor_geometry, CGeometry *target_geometry, const CConfig *donor_config, const CConfig *target_config)
 Interpolate data and broadcast it into all processors, for nonmatching meshes.
 
virtual void SetContactResistance (su2double val_contact_resistance)
 Set the contact resistance value for the solid-to-solid heat transfer interface.
 
void SetInterfaceType (unsigned short interface_type)
 Set the type of an interface.
 
unsigned short GetInterfaceType (void) const
 Get the type of an interface.
 

Public Attributes

ENUM_TRANSFER NextInterfaceType = ENUM_TRANSFER::NO_TRANSFER
 These can be used to chain interfaces between the same zones but for other variables, without having to mix physics in the interface classes. Currently this is used for FSI+CHT.
 
CInterface * NextInterface = nullptr
 

Protected Member Functions

virtual void GetPhysical_Constants (CSolver *donor_solution, CSolver *target_solution, CGeometry *donor_geometry, CGeometry *target_geometry, const CConfig *donor_config, const CConfig *target_config)
 A virtual member.
 
virtual void GetDonor_Variable (CSolver *donor_solution, CGeometry *donor_geometry, const CConfig *donor_config, unsigned long Marker_Donor, unsigned long Vertex_Donor, unsigned long Point_Donor)=0
 A virtual member.
 
virtual void GetDonor_Velocity_RotatingFrame (const CConfig *donor_config, CGeometry *donor_geometry, const CConfig *target_config, CGeometry *target_geometry)
 A virtual member.
 
virtual void InitializeTarget_Variable (CSolver *target_solution, unsigned long Marker_Target, unsigned long Vertex_Target, unsigned short nDonorPoints)
 Initializes the target variable.
 
virtual void RecoverTarget_Variable (const su2double *bcastVariable, su2double donorCoeff)
 Recovers the target variable from the buffer of su2doubles that was broadcast.
 
virtual void RecoverTarget_SpanEndwall (const su2activevector &bcastVariable, unsigned long idx)
 Recovers the target variable at the endwall from the buffer of su2doubles that was broadcast for mixing plane interfaces.
 
virtual void RecoverTarget_Span (const su2activevector &bcastVariable, unsigned long idx, su2double donorCoeff)
 Recovers the target variable at the span from the buffer of su2doubles that was broadcast for mixing plane interfaces.
 
virtual void SetTarget_Variable (CSolver *target_solution, CGeometry *target_geometry, const CConfig *target_config, unsigned long Marker_Target, unsigned long Vertex_Target, unsigned long Point_Target)=0
 A virtual member.
 
virtual void SetAverageTurboGeoValues (CGeometry *donor_geometry, CGeometry *target_geometry, unsigned short donorZone)
 A virtual member.
 

Protected Attributes

const int rank
 MPI Rank.
 
const int size
 MPI Size.
 
su2double * Physical_Constants = nullptr
 
su2double * Donor_Variable = nullptr
 
su2double * Target_Variable = nullptr
 
bool valAggregated = false
 
unsigned short InterfaceType
 The type of interface.
 
su2double * SpanValueCoeffTarget = nullptr
 
unsigned short * SpanLevelDonor = nullptr
 
unsigned short nSpanMaxAllZones = 0
 
unsigned short nVar = 0
 

Static Protected Attributes

static constexpr size_t MAXNDIM = 3
 Max number of space dimensions, used in some static arrays.
 

Detailed Description

Main class for defining the physical transfer of information.

Author
R. Sanchez
Version
8.5.0 "Harrier"

Constructor & Destructor Documentation

◆ CInterface() [1/2]

CInterface::CInterface ( )

Constructor of the class.

◆ CInterface() [2/2]

CInterface::CInterface ( unsigned short  val_nVar,
unsigned short  val_nConst 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
[in]val_nVar- Number of variables that need to be transferred.
[in]val_nConst- Number of physical constants that need to be taken into account.

◆ ~CInterface()

CInterface::~CInterface ( )
virtual

Destructor of the class.

Member Function Documentation

◆ BroadcastData()

void CInterface::BroadcastData ( const CInterpolator &  interpolator,
CSolver *  donor_solution,
CSolver *  target_solution,
CGeometry *  donor_geometry,
CGeometry *  target_geometry,
const CConfig *  donor_config,
const CConfig *  target_config 
)

Interpolate data and broadcast it into all processors, for nonmatching meshes.

Parameters
[in]interpolator- Object defining the interpolation.
[in]donor_solution- Solution from the donor mesh.
[in]target_solution- Solution from the target mesh.
[in]donor_geometry- Geometry of the donor mesh.
[in]target_geometry- Geometry of the target mesh.
[in]donor_config- Definition of the problem at the donor mesh.
[in]target_config- Definition of the problem at the target mesh.

◆ BroadcastData_MixingPlane()

virtual void CInterface::BroadcastData_MixingPlane ( const CInterpolator &  interpolator,
CSolver *  donor_solution,
CSolver *  target_solution,
CGeometry *  donor_geometry,
CGeometry *  target_geometry,
const CConfig *  donor_config,
const CConfig *  target_config 
)
inlinevirtual

Interpolate data and broadcast it into all processors, for nonmatching meshes.

Parameters
[in]interpolator- Object defining the interpolation.
[in]donor_solution- Solution from the donor mesh.
[in]target_solution- Solution from the target mesh.
[in]donor_geometry- Geometry of the donor mesh.
[in]target_geometry- Geometry of the target mesh.
[in]donor_config- Definition of the problem at the donor mesh.
[in]target_config- Definition of the problem at the target mesh.

Reimplemented in CMixingPlaneInterface.

◆ GetDonor_Variable()

virtual void CInterface::GetDonor_Variable ( CSolver *  donor_solution,
CGeometry *  donor_geometry,
const CConfig *  donor_config,
unsigned long  Marker_Donor,
unsigned long  Vertex_Donor,
unsigned long  Point_Donor 
)
protectedpure virtual

A virtual member.

Parameters
[in]donor_solution- Solution from the donor mesh.
[in]donor_geometry- Geometry of the donor mesh.
[in]donor_config- Definition of the problem at the donor mesh.
[in]Marker_Donor- Index of the donor marker.
[in]Vertex_Donor- Index of the donor vertex.

Implemented in CMixingPlaneInterface, CConservativeVarsInterface, CSlidingInterface, CConjugateHeatInterface, CFlowTractionInterface, and CDisplacementsInterface.

◆ GetDonor_Velocity_RotatingFrame()

virtual void CInterface::GetDonor_Velocity_RotatingFrame ( const CConfig *  donor_config,
CGeometry *  donor_geometry,
const CConfig *  target_config,
CGeometry *  target_geometry 
)
inlineprotectedvirtual

A virtual member.

Parameters
[in]donor_config- Definition of the problem at the donor mesh.
[in]donor_geometry- Geometry of the donor mesh.
[in]target_config- Definition of the problem at the target mesh.
[in]target_geometry- Geometry of the target mesh.

Reimplemented in CSlidingInterface.

◆ GetInterfaceType()

unsigned short CInterface::GetInterfaceType ( void  ) const
inline

Get the type of an interface.

◆ GetPhysical_Constants()

virtual void CInterface::GetPhysical_Constants ( CSolver *  donor_solution,
CSolver *  target_solution,
CGeometry *  donor_geometry,
CGeometry *  target_geometry,
const CConfig *  donor_config,
const CConfig *  target_config 
)
inlineprotectedvirtual

A virtual member.

Reimplemented in CDiscAdjFlowTractionInterface, and CFlowTractionInterface.

◆ InitializeTarget_Variable()

virtual void CInterface::InitializeTarget_Variable ( CSolver *  target_solution,
unsigned long  Marker_Target,
unsigned long  Vertex_Target,
unsigned short  nDonorPoints 
)
inlineprotectedvirtual

Initializes the target variable.

Parameters
[in]target_solution- Solution from the target mesh.
[in]Marker_Target- Index of the target marker.
[in]Vertex_Target- Index of the target vertex.
[in]nDonorPoints- Number of donor points.

Reimplemented in CSlidingInterface.

◆ RecoverTarget_Span()

virtual void CInterface::RecoverTarget_Span ( const su2activevector &  bcastVariable,
unsigned long  idx,
su2double  donorCoeff 
)
inlineprotectedvirtual

Recovers the target variable at the span from the buffer of su2doubles that was broadcast for mixing plane interfaces.

Parameters
[in]bcastVariable- Broadcast variable.
[in]idx- Index of the target point.
[in]donorCoeff- value of the donor coefficient.

Reimplemented in CMixingPlaneInterface.

◆ RecoverTarget_SpanEndwall()

virtual void CInterface::RecoverTarget_SpanEndwall ( const su2activevector &  bcastVariable,
unsigned long  idx 
)
inlineprotectedvirtual

Recovers the target variable at the endwall from the buffer of su2doubles that was broadcast for mixing plane interfaces.

Parameters
[in]bcastVariable- Broadcast variable.
[in]idx- Index of the target point.

Reimplemented in CMixingPlaneInterface.

◆ RecoverTarget_Variable()

virtual void CInterface::RecoverTarget_Variable ( const su2double *  bcastVariable,
su2double  donorCoeff 
)
inlineprotectedvirtual

Recovers the target variable from the buffer of su2doubles that was broadcast.

Parameters
[in]bcastVariable- Broadcast variable.
[in]donorCoeff- value of the donor coefficient.

Reimplemented in CSlidingInterface.

◆ SetAverageTurboGeoValues()

virtual void CInterface::SetAverageTurboGeoValues ( CGeometry *  donor_geometry,
CGeometry *  target_geometry,
unsigned short  donorZone 
)
inlineprotectedvirtual

A virtual member.

Parameters
[in]donor_geometry- Geometry of the target mesh.
[in]target_geometry- Geometry of the target mesh.
[in]donor_zone- Index of the donorZone.

◆ SetContactResistance()

virtual void CInterface::SetContactResistance ( su2double  val_contact_resistance)
inlinevirtual

Set the contact resistance value for the solid-to-solid heat transfer interface.

Parameters
[in]val_contact_resistance- Contact resistance value in m^2/W

Reimplemented in CConjugateHeatInterface.

◆ SetInterfaceType()

void CInterface::SetInterfaceType ( unsigned short  interface_type)
inline

Set the type of an interface.

Parameters
[in]interface_type- The type of interface

◆ SetSpanWiseLevels()

virtual void CInterface::SetSpanWiseLevels ( const CConfig *  donor_config,
const CConfig *  target_config 
)
inlinevirtual

A virtual member.

Parameters
[in]donor_config- Definition of the problem at the donor mesh.
[in]target_config- Definition of the problem at the target mesh.

Reimplemented in CMixingPlaneInterface.

◆ SetTarget_Variable()

virtual void CInterface::SetTarget_Variable ( CSolver *  target_solution,
CGeometry *  target_geometry,
const CConfig *  target_config,
unsigned long  Marker_Target,
unsigned long  Vertex_Target,
unsigned long  Point_Target 
)
protectedpure virtual

A virtual member.

Parameters
[in]target_solution- Solution from the target mesh.
[in]target_geometry- Geometry of the target mesh.
[in]target_config- Definition of the problem at the target mesh.
[in]Marker_Target- Index of the target marker.
[in]Vertex_Target- Index of the target vertex.
[in]Point_Target- Index of the target point.

Implemented in CFlowTractionInterface, CDisplacementsInterface, CMixingPlaneInterface, CConservativeVarsInterface, CSlidingInterface, and CConjugateHeatInterface.

Member Data Documentation

◆ Donor_Variable

su2double* CInterface::Donor_Variable = nullptr
protected

◆ InterfaceType

unsigned short CInterface::InterfaceType
protected

The type of interface.

◆ MAXNDIM

constexpr size_t CInterface::MAXNDIM = 3
staticconstexprprotected

Max number of space dimensions, used in some static arrays.

◆ NextInterface

CInterface* CInterface::NextInterface = nullptr

◆ NextInterfaceType

ENUM_TRANSFER CInterface::NextInterfaceType = ENUM_TRANSFER::NO_TRANSFER

These can be used to chain interfaces between the same zones but for other variables, without having to mix physics in the interface classes. Currently this is used for FSI+CHT.

◆ nSpanMaxAllZones

unsigned short CInterface::nSpanMaxAllZones = 0
protected

◆ nVar

unsigned short CInterface::nVar = 0
protected

◆ Physical_Constants

su2double* CInterface::Physical_Constants = nullptr
protected

◆ rank

const int CInterface::rank
protected

MPI Rank.

◆ size

const int CInterface::size
protected

MPI Size.

◆ SpanLevelDonor

unsigned short* CInterface::SpanLevelDonor = nullptr
protected

◆ SpanValueCoeffTarget

su2double* CInterface::SpanValueCoeffTarget = nullptr
protected

◆ Target_Variable

su2double* CInterface::Target_Variable = nullptr
protected

◆ valAggregated

bool CInterface::valAggregated = false
protected

The documentation for this class was generated from the following files: